Revision: 29065 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29065 Author: nazgul Date: 2010-05-29 20:33:32 +0200 (Sat, 29 May 2010)
Log Message: ----------- OpenEXR library updated for MinGW Modified Paths: -------------- trunk/lib/windows/gcc/openexr/README.txt trunk/lib/windows/gcc/openexr/include/OpenEXR/Iex.h trunk/lib/windows/gcc/openexr/include/OpenEXR/IexBaseExc.h trunk/lib/windows/gcc/openexr/include/OpenEXR/IexErrnoExc.h trunk/lib/windows/gcc/openexr/include/OpenEXR/IexMathExc.h trunk/lib/windows/gcc/openexr/include/OpenEXR/IexThrowErrnoExc.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathBox.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathBoxAlgo.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathColor.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathColorAlgo.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathEuler.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathExc.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathFrustum.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathFun.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathGL.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathGLU.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathHalfLimits.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathInterval.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathLimits.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathLine.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathLineAlgo.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathMath.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathMatrix.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathMatrixAlgo.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathPlane.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathPlatform.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathQuat.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathRandom.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathRoots.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathShear.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathSphere.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathVec.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathVecAlgo.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfAttribute.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfBoxAttribute.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfCRgbaFile.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfChannelList.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfChromaticities.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfCompression.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfConvert.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfEnvmap.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfFrameBuffer.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfHeader.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfIO.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfInputFile.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfInt64.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfLut.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfMatrixAttribute.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfOutputFile.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfRgba.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfRgbaFile.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfStandardAttributes.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfTiledInputFile.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfTiledOutputFile.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfTiledRgbaFile.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfTimeCode.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfVecAttribute.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfXdr.h trunk/lib/windows/gcc/openexr/include/OpenEXR/half.h trunk/lib/windows/gcc/openexr/include/OpenEXR/halfFunction.h trunk/lib/windows/gcc/openexr/include/OpenEXR/halfLimits.h trunk/lib/windows/gcc/openexr/lib/libHalf.a trunk/lib/windows/gcc/openexr/lib/libIex.a trunk/lib/windows/gcc/openexr/lib/libIlmImf.a Added Paths: ----------- trunk/lib/windows/gcc/openexr/ilmbase.patch trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmBaseConfig.h trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmThread.h trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmThreadMutex.h trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmThreadPool.h trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmThreadSemaphore.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImathInt64.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfB44Compressor.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfFramesPerSecond.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfRational.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfRationalAttribute.h trunk/lib/windows/gcc/openexr/include/OpenEXR/ImfThreading.h trunk/lib/windows/gcc/openexr/include/OpenEXR/OpenEXRConfig.h trunk/lib/windows/gcc/openexr/lib/libIlmThread.a trunk/lib/windows/gcc/openexr/lib/libImath.a trunk/lib/windows/gcc/openexr/openexr.patch Modified: trunk/lib/windows/gcc/openexr/README.txt =================================================================== --- trunk/lib/windows/gcc/openexr/README.txt 2010-05-29 18:28:01 UTC (rev 29064) +++ trunk/lib/windows/gcc/openexr/README.txt 2010-05-29 18:33:32 UTC (rev 29065) @@ -1,5 +1,14 @@ -Compiled from OpenEXR-1.2.2.tar.gz with gcc using the configure options: +Compiled from ilmbase-1.0.1 and openexr-1.6.1.tar.gz under MSys -configure --prefix=/home/cwant/blender/openexr/openexr-inst \ - CXXFLAGS="-mno-cygwin -DPLATFORM_WINDOWS=1" \ - CPPFLAGS=-I/home/cwant/blender/lib-windows/zlib/include +Configuration line for ilmbase: +./configure --prefix=/home/nazgul/openexr-inst LDFLAGS= -mwindows + +Configuration line for openexr: +./configure --prefix=/home/nazgul/openexr-inst \ + CPPFLAGS= "-I/n/src/packages/blender/lib/windows/zlib/include \ + -I/home/nazgul/openexr-inst/include/ \ + -I/home/nazgul/openexr-inst/include/OpenEXR" \ + LDFLAGS= "-mwindows -L/n/src/packages/blender/lib/windows/zlib/lib \ + -L/home/nazgul/openexr-inst/lib" + +Changes, made to the source code, could be found in ilmbase.patch and openexr.patch \ No newline at end of file Added: trunk/lib/windows/gcc/openexr/ilmbase.patch =================================================================== --- trunk/lib/windows/gcc/openexr/ilmbase.patch (rev 0) +++ trunk/lib/windows/gcc/openexr/ilmbase.patch 2010-05-29 18:33:32 UTC (rev 29065) @@ -0,0 +1,137 @@ +diff --git a/config.h b/config.h +new file mode 100644 +index 0000000..e69de29 +diff --git a/IlmThread/IlmThread.h b/IlmThread/IlmThread.h +index e5ca595..a7f814b 100644 +--- a/IlmThread/IlmThread.h ++++ b/IlmThread/IlmThread.h +@@ -92,15 +92,15 @@ + + #include "IlmBaseConfig.h" + +-#if defined _WIN32 || defined _WIN64 ++#if HAVE_PTHREAD ++ #include <pthread.h> ++#elif defined _WIN32 || defined _WIN64 + #ifdef NOMINMAX + #undef NOMINMAX + #endif + #define NOMINMAX + #include <windows.h> + #include <process.h> +-#elif HAVE_PTHREAD +- #include <pthread.h> + #endif + + #if defined(OPENEXR_DLL) && !defined(ZENO_STATIC) +@@ -135,10 +135,10 @@ class ILMTHREAD_EXPORT Thread + + private: + +- #if defined _WIN32 || defined _WIN64 +- HANDLE _thread; +- #elif HAVE_PTHREAD ++ #if HAVE_PTHREAD + pthread_t _thread; ++ #elif defined _WIN32 || defined _WIN64 ++ HANDLE _thread; + #endif + + void operator = (const Thread& t); // not implemented +diff --git a/IlmThread/IlmThreadMutex.h b/IlmThread/IlmThreadMutex.h +index 354282b..8ee22b3 100644 +--- a/IlmThread/IlmThreadMutex.h ++++ b/IlmThread/IlmThreadMutex.h +@@ -68,14 +68,14 @@ + + #include "IlmBaseConfig.h" + +-#if defined _WIN32 || defined _WIN64 ++#if HAVE_PTHREAD ++ #include <pthread.h> ++#elif defined _WIN32 || defined _WIN64 + #ifdef NOMINMAX + #undef NOMINMAX + #endif + #define NOMINMAX + #include <windows.h> +-#elif HAVE_PTHREAD +- #include <pthread.h> + #endif + + namespace IlmThread { +@@ -95,10 +95,10 @@ class Mutex + void lock () const; + void unlock () const; + +- #if defined _WIN32 || defined _WIN64 +- mutable CRITICAL_SECTION _mutex; +- #elif HAVE_PTHREAD ++ #if HAVE_PTHREAD + mutable pthread_mutex_t _mutex; ++ #elif defined _WIN32 || defined _WIN64 ++ mutable CRITICAL_SECTION _mutex; + #endif + + void operator = (const Mutex& M); // not implemented +diff --git a/IlmThread/IlmThreadSemaphore.h b/IlmThread/IlmThreadSemaphore.h +index a9ba60a..45afcaf 100644 +--- a/IlmThread/IlmThreadSemaphore.h ++++ b/IlmThread/IlmThreadSemaphore.h +@@ -44,16 +44,16 @@ + + #include "IlmBaseConfig.h" + +-#if defined _WIN32 || defined _WIN64 ++#if HAVE_PTHREAD && !HAVE_POSIX_SEMAPHORES ++ #include <pthread.h> ++#elif HAVE_PTHREAD && HAVE_POSIX_SEMAPHORES ++ #include <semaphore.h> ++#elif defined _WIN32 || defined _WIN64 + #ifdef NOMINMAX + #undef NOMINMAX + #endif + #define NOMINMAX + #include <windows.h> +-#elif HAVE_PTHREAD && !HAVE_POSIX_SEMAPHORES +- #include <pthread.h> +-#elif HAVE_PTHREAD && HAVE_POSIX_SEMAPHORES +- #include <semaphore.h> + #endif + + namespace IlmThread { +@@ -73,11 +73,7 @@ class Semaphore + + private: + +- #if defined _WIN32 || defined _WIN64 +- +- mutable HANDLE _semaphore; +- +- #elif HAVE_PTHREAD && !HAVE_POSIX_SEMAPHORES ++ #if HAVE_PTHREAD && !HAVE_POSIX_SEMAPHORES + + // + // If the platform has Posix threads but no semapohores, +@@ -98,6 +94,10 @@ class Semaphore + + mutable sem_t _semaphore; + ++ #elif defined _WIN32 || defined _WIN64 ++ ++ mutable HANDLE _semaphore; ++ + #endif + + void operator = (const Semaphore& s); // not implemented +diff --git a/config/IlmBaseConfig.h b/config/IlmBaseConfig.h +index 3ab0479..98d4e55 100644 +--- a/config/IlmBaseConfig.h ++++ b/config/IlmBaseConfig.h +@@ -12,5 +12,5 @@ + // own semaphore implementation. + // + +-#define HAVE_POSIX_SEMAPHORES 1 ++/* #undef HAVE_POSIX_SEMAPHORES */ + Modified: trunk/lib/windows/gcc/openexr/include/OpenEXR/Iex.h =================================================================== --- trunk/lib/windows/gcc/openexr/include/OpenEXR/Iex.h 2010-05-29 18:28:01 UTC (rev 29064) +++ trunk/lib/windows/gcc/openexr/include/OpenEXR/Iex.h 2010-05-29 18:33:32 UTC (rev 29065) @@ -45,10 +45,10 @@ //-------------------------------- -#include <IexMacros.h> -#include <IexBaseExc.h> -#include <IexMathExc.h> -#include <IexThrowErrnoExc.h> +#include "IexMacros.h" +#include "IexBaseExc.h" +#include "IexMathExc.h" +#include "IexThrowErrnoExc.h" // Note that we do not include file IexErrnoExc.h here. That file // defines over 150 classes and significantly slows down compilation. Modified: trunk/lib/windows/gcc/openexr/include/OpenEXR/IexBaseExc.h =================================================================== --- trunk/lib/windows/gcc/openexr/include/OpenEXR/IexBaseExc.h 2010-05-29 18:28:01 UTC (rev 29064) +++ trunk/lib/windows/gcc/openexr/include/OpenEXR/IexBaseExc.h 2010-05-29 18:33:32 UTC (rev 29065) @@ -51,7 +51,7 @@ namespace Iex { -#if defined PLATFORM_WINDOWS && _MSC_VER +#if (defined _WIN32 || defined _WIN64) && defined _MSC_VER // Tell MS VC++ to suppress exception specification warnings #pragma warning(disable:4290) #endif @@ -257,7 +257,7 @@ return _stackTrace; } -#if defined PLATFORM_WINDOWS && _MSC_VER +#if (defined _WIN32 || defined _WIN64) && defined _MSC_VER #pragma warning(default:4290) #endif Modified: trunk/lib/windows/gcc/openexr/include/OpenEXR/IexErrnoExc.h =================================================================== --- trunk/lib/windows/gcc/openexr/include/OpenEXR/IexErrnoExc.h 2010-05-29 18:28:01 UTC (rev 29064) +++ trunk/lib/windows/gcc/openexr/include/OpenEXR/IexErrnoExc.h 2010-05-29 18:33:32 UTC (rev 29065) @@ -43,7 +43,7 @@ // //---------------------------------------------------------------- -#include <IexBaseExc.h> +#include "IexBaseExc.h" namespace Iex { Modified: trunk/lib/windows/gcc/openexr/include/OpenEXR/IexMathExc.h =================================================================== --- trunk/lib/windows/gcc/openexr/include/OpenEXR/IexMathExc.h 2010-05-29 18:28:01 UTC (rev 29064) +++ trunk/lib/windows/gcc/openexr/include/OpenEXR/IexMathExc.h 2010-05-29 18:33:32 UTC (rev 29065) @@ -37,7 +37,7 @@ #ifndef INCLUDED_IEXMATHEXC_H #define INCLUDED_IEXMATHEXC_H -#include <IexBaseExc.h> +#include "IexBaseExc.h" namespace Iex { Modified: trunk/lib/windows/gcc/openexr/include/OpenEXR/IexThrowErrnoExc.h =================================================================== --- trunk/lib/windows/gcc/openexr/include/OpenEXR/IexThrowErrnoExc.h 2010-05-29 18:28:01 UTC (rev 29064) +++ trunk/lib/windows/gcc/openexr/include/OpenEXR/IexThrowErrnoExc.h 2010-05-29 18:33:32 UTC (rev 29065) @@ -43,7 +43,7 @@ // //---------------------------------------------------------- -#include <IexBaseExc.h> +#include "IexBaseExc.h" namespace Iex { Added: trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmBaseConfig.h =================================================================== --- trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmBaseConfig.h (rev 0) +++ trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmBaseConfig.h 2010-05-29 18:33:32 UTC (rev 29065) @@ -0,0 +1,16 @@ +/* config/IlmBaseConfig.h. Generated by configure. */ +// +// Define and set to 1 if the target system has POSIX thread support +// and you want IlmBase to use it for multithreaded file I/O. +// + +#define HAVE_PTHREAD 1 + +// +// Define and set to 1 if the target system supports POSIX semaphores +// and you want OpenEXR to use them; otherwise, OpenEXR will use its +// own semaphore implementation. +// + +/* #undef HAVE_POSIX_SEMAPHORES */ + Added: trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmThread.h =================================================================== --- trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmThread.h (rev 0) +++ trunk/lib/windows/gcc/openexr/include/OpenEXR/IlmThread.h 2010-05-29 18:33:32 UTC (rev 29065) @@ -0,0 +1,151 @@ +/////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2005, Industrial Light & Magic, a division of Lucas +// Digital Ltd. LLC +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Industrial Light & Magic nor the names of +// its contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs