[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