[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45913] trunk/lib/mingw64: OpeiImageIO 1.0 .3 compiled for MinGW-w64
Antony Riakiotakis
kalast at gmail.com
Tue Apr 24 11:56:49 CEST 2012
Revision: 45913
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45913
Author: psy-fi
Date: 2012-04-24 09:56:49 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
OpeiImageIO 1.0.3 compiled for MinGW-w64
Added Paths:
-----------
trunk/lib/mingw64/openimageio/
trunk/lib/mingw64/openimageio/0001-Changes-to-make-the-library-compile-against-MinGW-w6.patch
trunk/lib/mingw64/openimageio/include/
trunk/lib/mingw64/openimageio/include/OpenImageIO/
trunk/lib/mingw64/openimageio/include/OpenImageIO/argparse.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/color.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/dassert.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/errorhandler.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/export.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/filesystem.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/filter.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/fmath.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/hash.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/imagebuf.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/imagebufalgo.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/imagecache.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/imageio.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/optparser.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/osdep.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/paramlist.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/plugin.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/pugiconfig.hpp
trunk/lib/mingw64/openimageio/include/OpenImageIO/pugixml.hpp
trunk/lib/mingw64/openimageio/include/OpenImageIO/refcnt.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/strutil.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/sysutil.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/texture.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/thread.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/timer.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/typedesc.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/ustring.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/varyingref.h
trunk/lib/mingw64/openimageio/include/OpenImageIO/version.h
trunk/lib/mingw64/openimageio/lib/
trunk/lib/mingw64/openimageio/lib/libOpenImageIO.a
trunk/lib/mingw64/openimageio/oiio-build.bat
Added: trunk/lib/mingw64/openimageio/0001-Changes-to-make-the-library-compile-against-MinGW-w6.patch
===================================================================
--- trunk/lib/mingw64/openimageio/0001-Changes-to-make-the-library-compile-against-MinGW-w6.patch (rev 0)
+++ trunk/lib/mingw64/openimageio/0001-Changes-to-make-the-library-compile-against-MinGW-w6.patch 2012-04-24 09:56:49 UTC (rev 45913)
@@ -0,0 +1,496 @@
+From 4548065b924b80021c4072325859e6532c2679ac Mon Sep 17 00:00:00 2001
+From: Antony Riakiotakis <kalast at gmail.com>
+Date: Tue, 24 Apr 2012 12:50:34 +0300
+Subject: [PATCH] Changes to make the library compile against MinGW-w64
+
+---
+ src/CMakeLists.txt | 83 +++++++++++++++++-----------------
+ src/cmake/externalpackages.cmake | 4 +-
+ src/include/fmath.h | 5 +-
+ src/include/thread.h | 41 +++++++++++++++--
+ src/libOpenImageIO/CMakeLists.txt | 58 ++++++++++++-----------
+ src/libOpenImageIO/exif.cpp | 1 +
+ src/libOpenImageIO/imagebufalgo.cpp | 1 +
+ src/libOpenImageIO/imageinput.cpp | 1 +
+ src/libtexture/imagecache.cpp | 1 +
+ src/libtexture/texoptions.cpp | 1 +
+ src/libutil/plugin.cpp | 3 +-
+ src/libutil/sysutil.cpp | 2 +-
+ src/ptex.imageio/ptex/PtexCache.cpp | 21 ++++++---
+ src/ptex.imageio/ptex/PtexPlatform.h | 8 +++
+ src/rla.imageio/rlaoutput.cpp | 1 +
+ 15 files changed, 147 insertions(+), 84 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 7dc6541..782d886 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -182,15 +182,16 @@ endif (MSVC)
+ # Tell CMake to process the sub-directories
+ add_subdirectory (libOpenImageIO)
+
+-add_subdirectory (iconvert)
+-add_subdirectory (idiff)
+-add_subdirectory (igrep)
+-add_subdirectory (iinfo)
+-add_subdirectory (iprocess)
+-add_subdirectory (maketx)
+-add_subdirectory (oiiotool)
+-add_subdirectory (testtex)
+-add_subdirectory (iv)
++#add_subdirectory (iconvert)
++#add_subdirectory (idiff)
++#add_subdirectory (igrep)
++#add_subdirectory (iinfo)
++#add_subdirectory (iprocess)
++#add_subdirectory (maketx)
++#add_subdirectory (oiiotool)
++#add_subdirectory (testtex)
++#add_subdirectory (iv)
++
+ # Add IO plugin directories
+ if (NOT EMBEDPLUGINS)
+ add_subdirectory (bmp.imageio)
+@@ -253,47 +254,47 @@ if (DEFINED CMAKE_VERSION AND NOT CMAKE_VERSION VERSION_LESS 2.8)
+ endif()
+
+ # List all the individual testsuite tests here:
+-oiio_add_tests (ico gpsread oiiotool oiiotool-fixnan
+- sgi rla psd dpx
+- texture-fill texture-gray texture-grid
+- texture-missing texture-overscan
+- texture-pointsample texture-res
+- texture-skinny texture-fat
+- texture-field3d
+- )
++#oiio_add_tests (ico gpsread oiiotool oiiotool-fixnan
++# sgi rla psd dpx
++# texture-fill texture-gray texture-grid
++# texture-missing texture-overscan
++# texture-pointsample texture-res
++# texture-skinny texture-fat
++# texture-field3d
++# )
+
+
+ # List testsuites which need special external reference images from the web
+ # here:
+-oiio_add_tests (bmp
+- IMAGEDIR bmpsuite
+- URL http://entropymine.com/jason/bmpsuite/bmpsuite.zip)
++#oiio_add_tests (bmp
++# IMAGEDIR bmpsuite
++# URL http://entropymine.com/jason/bmpsuite/bmpsuite.zip)
+
+-oiio_add_tests (tiff-suite tiff-depths
+- IMAGEDIR libtiffpic
+- URL http://www.remotesensing.org/libtiff/images.html)
++#oiio_add_tests (tiff-suite tiff-depths
++# IMAGEDIR libtiffpic
++# URL http://www.remotesensing.org/libtiff/images.html)
+
+-oiio_add_tests (openexr-suite openexr-multires openexr-chroma
+- IMAGEDIR openexr-images-1.5.0
+- URL http://www.openexr.com/downloads.html)
++#oiio_add_tests (openexr-suite openexr-multires openexr-chroma
++# IMAGEDIR openexr-images-1.5.0
++# URL http://www.openexr.com/downloads.html)
+
+-oiio_add_tests (jpeg2000
+- FOUNDVAR OPENJPEG_FOUND
+- IMAGEDIR j2kp4files_v1_5
+- URL http://www.itu.int/net/ITU-T/sigdb/speimage/ImageForm-s.aspx?val=10100803)
++#oiio_add_tests (jpeg2000
++# FOUNDVAR OPENJPEG_FOUND
++# IMAGEDIR j2kp4files_v1_5
++# URL http://www.itu.int/net/ITU-T/sigdb/speimage/ImageForm-s.aspx?val=10100803)
+
+-oiio_add_tests (targa-tgautils
+- IMAGEDIR TGAUTILS
+- URL http://tgautils.inequation.org/)
++#oiio_add_tests (targa-tgautils
++# IMAGEDIR TGAUTILS
++# URL http://tgautils.inequation.org/)
+
+-oiio_add_tests (fits
+- IMAGEDIR fits-images
+- URL http://www.cv.nrao.edu/fits/data/tests/)
++#oiio_add_tests (fits
++# IMAGEDIR fits-images
++# URL http://www.cv.nrao.edu/fits/data/tests/)
+
+-oiio_add_tests (webp
+- FOUNDVAR WEBP_FOUND
+- IMAGEDIR webp-images
+- URL http://code.google.com/speed/webp/gallery.html)
++#oiio_add_tests (webp
++# FOUNDVAR WEBP_FOUND
++# IMAGEDIR webp-images
++# URL http://code.google.com/speed/webp/gallery.html)
+
+
+ #########################################################################
+@@ -327,7 +328,7 @@ if (WIN32)
+ set(CPACK_PACKAGE_EXECUTABLES "iv" "iv - Image Viewer")
+ # set(CPACK_CREATE_DESCTOP_LINKS "iv" "iv - Image Viewer")
+ set(CPACK_NSIS_MODIFY_PATH ON)
+- add_dll_files ()
++ #add_dll_files ()
+ include (InstallRequiredSystemLibraries)
+ endif ()
+ set (CPACK_SOURCE_PACKAGE_FILE_NAME OpenImageIO-${OIIO_VERSION_MAJOR}.${OIIO_VERSION_MINOR}.${OIIO_VERSION_PATCH}-source)
+diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake
+index 124a848..94ef76a 100644
+--- a/src/cmake/externalpackages.cmake
++++ b/src/cmake/externalpackages.cmake
+@@ -82,7 +82,7 @@ endmacro ()
+
+ message (STATUS "BOOST_ROOT ${BOOST_ROOT}")
+
+-set (Boost_ADDITIONAL_VERSIONS "1.45" "1.44"
++set (Boost_ADDITIONAL_VERSIONS "1.49 1.48 1.47" "1_46_1" "1.45" "1.44" "1.45" "1.44"
+ "1.43" "1.43.0" "1.42" "1.42.0"
+ "1.41" "1.41.0" "1.40" "1.40.0"
+ "1.39" "1.39.0" "1.38" "1.38.0"
+@@ -142,6 +142,8 @@ else ()
+ endif ()
+ endif ()
+
++add_definitions("-DBOOST_ALL_NO_LIB -DBOOST_THREAD_USE_LIB")
++
+ message (STATUS "Boost found ${Boost_FOUND} ")
+ message (STATUS "Boost version ${Boost_VERSION}")
+ message (STATUS "Boost include dirs ${Boost_INCLUDE_DIRS}")
+diff --git a/src/include/fmath.h b/src/include/fmath.h
+index 9e784ba..a99bc67 100644
+--- a/src/include/fmath.h
++++ b/src/include/fmath.h
+@@ -46,6 +46,7 @@
+ #include <limits>
+ #include <typeinfo>
+ #include <algorithm>
++#include <float.h>
+
+ #if defined(_MSC_VER) && _MSC_VER < 1600
+ typedef __int8 int8_t;
+@@ -834,7 +835,7 @@ inline float degrees (float rad) { return rad * (float)(180.0 / M_PI); }
+
+
+
+-#ifdef _WIN32
++#if defined(_WIN32) && !defined(__GNUC__)
+ // Windows doesn't define these functions from math.h
+ #define hypotf _hypotf
+ #define copysign(x,y) _copysign(x,y)
+@@ -959,7 +960,7 @@ truncf(float val)
+
+
+ // Some systems have isnan, isinf and isfinite in the std namespace.
+-#ifndef WIN32
++#if defined(_WIN32)
+ using std::isnan;
+ using std::isinf;
+ using std::isfinite;
+diff --git a/src/include/thread.h b/src/include/thread.h
+index f651051..170bdf3 100644
+--- a/src/include/thread.h
++++ b/src/include/thread.h
+@@ -254,7 +254,33 @@ private:
+
+ #endif
+
+-
++inline LONGLONG _InterlockedCompareExchange64(LONGLONG volatile* Destination, LONGLONG Exchange, LONGLONG Comperand)
++{
++#ifndef __GNUC__
++ __asm {
++ mov esi, [Destination]
++ mov ebx, dword ptr [Exchange]
++ mov ecx, dword ptr [Exchange + 4]
++ mov eax, dword ptr [Comperand]
++ mov edx, dword ptr [Comperand + 4]
++ lock cmpxchg8b [esi]
++ }
++#else
++ LONGLONG *ep = &Exchange;
++ LONGLONG *cp = &Comperand;
++
++ asm("movl (%2), %%ebx\n\t"
++ "movl 4(%2), %%ecx\n\t"
++ "movl (%1), %%eax\n\t"
++ "movl 4(%1), %%edx\n\t"
++ "lock\n\t"
++ "cmpxchg8b (%0)\n\t"
++ : "=r" (Destination)
++ : "r" (cp), "r" (ep)
++ : "%edx", "%eax", "%ecx", "%ebx"
++ );
++#endif
++}
+
+ /// Atomic version of: r = *at, *at += x, return r
+ /// For each of several architectures.
+@@ -291,11 +317,18 @@ atomic_exchange_and_add (volatile long long *at, long long x)
+ // Apple, not inline for Intel (only PPC?)
+ return OSAtomicAdd64Barrier (x, at) - x;
+ #elif defined(_WIN32)
++# if !defined(__GNUC__)
+ // Windows
+-# if defined(_WIN64)
+- return _InterlockedExchangeAdd64 ((volatile LONGLONG *)at, x);
++# if defined(_WIN64)
++ return _InterlockedExchangeAdd64 ((volatile LONGLONG *)at, x);
++# else
++ return InterlockedExchangeAdd64 ((volatile LONGLONG *)at, x);
++# endif
+ # else
+- return InterlockedExchangeAdd64 ((volatile LONGLONG *)at, x);
++ LONGLONG Old;
++ do Old = *at;
++ while (_InterlockedCompareExchange64(at, Old + x, Old) != Old);
++ return Old;
+ # endif
+ #else
+ # error No atomics on this platform.
+diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt
+index ad3dfed..b94de21 100644
+--- a/src/libOpenImageIO/CMakeLists.txt
++++ b/src/libOpenImageIO/CMakeLists.txt
+@@ -248,42 +248,44 @@ oiio_install_targets (OpenImageIO)
+ if (NOT LINKSTATIC)
+ add_definitions (-DBOOST_TEST_DYN_LINK)
+ add_definitions (-DPTEX_EXPORTS)
++else ()
++ add_definitions (-DPTEX_STATIC)
+ endif ()
+
+-add_executable (imagebufalgo_test imagebufalgo_test.cpp)
+-link_ilmbase (imagebufalgo_test)
+-target_link_libraries (imagebufalgo_test OpenImageIO ${Boost_LIBRARIES} ${CMAKE_DL_LIBS})
+-add_test (imagebufalgo ${CMAKE_BINARY_DIR}/libOpenImageIO/imagebufalgo_test)
++#add_executable (imagebufalgo_test imagebufalgo_test.cpp)
++#link_ilmbase (imagebufalgo_test)
++#target_link_libraries (imagebufalgo_test OpenImageIO ${Boost_LIBRARIES} ${CMAKE_DL_LIBS})
++#add_test (imagebufalgo ${CMAKE_BINARY_DIR}/libOpenImageIO/imagebufalgo_test)
+
+
+-add_executable (atomic_test atomic_test.cpp)
+-target_link_libraries (atomic_test OpenImageIO ${Boost_LIBRARIES} ${CMAKE_DL_LIBS})
+-add_test (unit_atomic ${CMAKE_BINARY_DIR}/libOpenImageIO/atomic_test)
++#add_executable (atomic_test atomic_test.cpp)
++#target_link_libraries (atomic_test OpenImageIO ${Boost_LIBRARIES} ${CMAKE_DL_LIBS})
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list