diff --git a/src/openexr-1-fix-aligned-alloc.patch b/src/openexr-1-fix-aligned-alloc.patch new file mode 100644 index 00000000..131d2a1f --- /dev/null +++ b/src/openexr-1-fix-aligned-alloc.patch @@ -0,0 +1,38 @@ +diff -uNr openexr-2.1.0.orig/IlmImf/ImfSystemSpecific.h openexr-2.1.0/IlmImf/ImfSystemSpecific.h +--- openexr-2.1.0.orig/IlmImf/ImfSystemSpecific.h 2013-10-21 21:02:22.000000000 +0200 ++++ openexr-2.1.0/IlmImf/ImfSystemSpecific.h 2015-01-07 15:31:25.851288890 +0100 +@@ -58,6 +58,20 @@ + #define EXR_FORCEINLINE inline + #define EXR_RESTRICT __restrict + ++#ifdef __MINGW32__ ++ ++static void* EXRAllocAligned(size_t size, size_t alignment) ++{ ++ return _aligned_malloc(size, alignment); ++} ++ ++static void EXRFreeAligned(void* ptr) ++{ ++ return _aligned_free(ptr); ++} ++ ++#else ++ + static void* EXRAllocAligned(size_t size, size_t alignment) + { + void* ptr = 0; +@@ -65,12 +79,12 @@ + return ptr; + } + +- + static void EXRFreeAligned(void* ptr) + { + free(ptr); + } + ++#endif + #elif defined _MSC_VER + + #define EXR_FORCEINLINE __forceinline diff --git a/src/openexr.mk b/src/openexr.mk index e37100de..a371b81d 100644 --- a/src/openexr.mk +++ b/src/openexr.mk @@ -38,7 +38,8 @@ define $(PKG)_BUILD --disable-threading \ --disable-posix-sem \ --disable-ilmbasetest \ - PKG_CONFIG='$(PREFIX)/bin/$(TARGET)-pkg-config' + PKG_CONFIG='$(PREFIX)/bin/$(TARGET)-pkg-config' \ + CXXFLAGS="-fpermissive" # build the code generator manually cd '$(1)/IlmImf' && g++ \ -I'$(1)/ilmbase/include/OpenEXR' \ @@ -54,5 +55,3 @@ define $(PKG)_BUILD '$(2).cpp' -o '$(PREFIX)/$(TARGET)/bin/test-openexr.exe' \ `'$(TARGET)-pkg-config' OpenEXR --cflags --libs` endef - -$(PKG)_BUILD_x86_64-w64-mingw32 =