You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

174 lines
4.4 KiB

Index: CMakeLists.txt
--- CMakeLists.txt.orig 2014-08-10 06:23:56.000000000 +0200
+++ CMakeLists.txt 2016-01-14 20:59:12.519555500 +0100
@@ -160,30 +160,30 @@
SET_TARGET_PROPERTIES ( Half
PROPERTIES
- VERSION 12.0.0
+ VERSION 12
SOVERSION 12
)
SET_TARGET_PROPERTIES ( Iex
PROPERTIES
- VERSION 12.0.0
+ VERSION 12
SOVERSION 12
OUTPUT_NAME "Iex${ILMBASE_LIBSUFFIX}"
)
SET_TARGET_PROPERTIES ( Imath
PROPERTIES
- VERSION 12.0.0
+ VERSION 12
SOVERSION 12
OUTPUT_NAME "Imath${ILMBASE_LIBSUFFIX}"
)
SET_TARGET_PROPERTIES ( IlmThread
PROPERTIES
- VERSION 12.0.0
+ VERSION 12
SOVERSION 12
OUTPUT_NAME "IlmThread${ILMBASE_LIBSUFFIX}"
)
SET_TARGET_PROPERTIES ( IexMath
PROPERTIES
- VERSION 12.0.0
+ VERSION 12
SOVERSION 12
OUTPUT_NAME "IexMath${ILMBASE_LIBSUFFIX}"
)
@@ -227,5 +227,5 @@
INSTALL ( FILES
${CMAKE_BINARY_DIR}/IlmBase.pc
DESTINATION
- lib/pkgconfig
+ libdata/pkgconfig
)
Index: IexMath/IexMathFpu.cpp
--- IexMath/IexMathFpu.cpp.orig 2014-08-10 06:23:56.000000000 +0200
+++ IexMath/IexMathFpu.cpp 2016-01-14 21:23:18.060029150 +0100
@@ -273,15 +273,21 @@
// <asm/sigcontext.h>
//
+#ifdef __FreeBSD__
+#include <signal.h>
+#else
#include <asm/sigcontext.h>
+#endif
inline void
restoreControlRegs (const ucontext_t & ucon, bool clearExceptions)
{
+#ifndef __FreeBSD__
setCw ((ucon.uc_mcontext.fpregs->cw & cwRestoreMask) | cwRestoreVal);
_fpstate * kfp = reinterpret_cast<_fpstate *> (ucon.uc_mcontext.fpregs);
setMxcsr (kfp->magic == 0 ? kfp->mxcsr : 0, clearExceptions);
+#endif
}
#endif
@@ -461,9 +467,14 @@
{
struct sigaction action;
sigemptyset (&action.sa_mask);
+#ifndef SA_NOMASK
+#define SA_NOMASK 0
+#endif
action.sa_flags = SA_SIGINFO | SA_NOMASK;
action.sa_sigaction = (void (*) (int, siginfo_t *, void *)) catchSigFpe;
+#ifndef __FreeBSD__
action.sa_restorer = 0;
+#endif
sigaction (SIGFPE, &action, 0);
}
Index: IlmThread/CMakeLists.txt
--- IlmThread/CMakeLists.txt.orig 2014-08-10 04:03:38.000000000 +0200
+++ IlmThread/CMakeLists.txt 2016-01-14 20:59:12.519555500 +0100
@@ -18,6 +18,7 @@
)
ENDIF()
+FIND_PACKAGE(Threads)
IF(BUILD_SHARED_LIBS)
ADD_DEFINITIONS(-DILMTHREAD_EXPORTS)
@@ -26,7 +27,7 @@
ADD_LIBRARY ( IlmThread ${LIB_TYPE}
${ILMTHREAD_LIBRARY_SOURCES}
)
-TARGET_LINK_LIBRARIES(IlmThread Iex)
+TARGET_LINK_LIBRARIES(IlmThread Iex ${CMAKE_THREAD_LIBS_INIT})
INSTALL ( TARGETS
IlmThread
Index: Imath/ImathFun.cpp
--- Imath/ImathFun.cpp.orig 2014-08-10 04:03:39.000000000 +0200
+++ Imath/ImathFun.cpp 2016-01-14 20:59:12.519555500 +0100
@@ -33,6 +33,7 @@
///////////////////////////////////////////////////////////////////////////
+#include <inttypes.h>
#include "ImathFun.h"
IMATH_INTERNAL_NAMESPACE_SOURCE_ENTER
@@ -41,14 +42,14 @@
float
succf (float f)
{
- union {float f; int i;} u;
+ union {float f; int32_t i;} u;
u.f = f;
if ((u.i & 0x7f800000) == 0x7f800000)
{
// Nan or infinity; don't change value.
}
- else if (u.i == 0x00000000 || u.i == 0x80000000)
+ else if (u.i == (int32_t)0x00000000 || u.i == (int32_t)0x80000000)
{
// Plus or minus zero.
@@ -76,14 +77,14 @@
float
predf (float f)
{
- union {float f; int i;} u;
+ union {float f; int32_t i;} u;
u.f = f;
if ((u.i & 0x7f800000) == 0x7f800000)
{
// Nan or infinity; don't change value.
}
- else if (u.i == 0x00000000 || u.i == 0x80000000)
+ else if (u.i == (int32_t)0x00000000 || u.i == (int32_t)0x80000000)
{
// Plus or minus zero.
Index: ImathTest/testBoxAlgo.cpp
--- ImathTest/testBoxAlgo.cpp.orig 2014-08-10 04:03:40.000000000 +0200
+++ ImathTest/testBoxAlgo.cpp 2016-01-14 20:59:12.519555500 +0100
@@ -356,7 +356,7 @@
Box3f ()
};
- for (int i = 0; i < sizeof (boxes) / sizeof (boxes[0]); ++i)
+ for (unsigned int i = 0; i < sizeof (boxes) / sizeof (boxes[0]); ++i)
testEntryAndExitPoints (boxes[i]);
}
Index: ImathTest/testShear.cpp
--- ImathTest/testShear.cpp.orig 2014-08-10 04:03:41.000000000 +0200
+++ ImathTest/testShear.cpp 2016-01-14 20:59:12.519555500 +0100
@@ -54,7 +54,6 @@
const float epsilon = IMATH_INTERNAL_NAMESPACE::limits< float >::epsilon();
- float array[6] = { 1.0F, 2.0F, 3.0F, 4.0F, 5.0F, 6.0F };
IMATH_INTERNAL_NAMESPACE::Shear6f testConstructor1;
IMATH_INTERNAL_NAMESPACE::Shear6f testConstructor2( testConstructor1 );