Files
haikuports/media-libs/alembic/patches/alembic-1.7.4.patchset
2017-12-08 23:03:41 +03:00

63 lines
2.3 KiB
Plaintext

From 10b2076de96a69df6cf55c27feaeaeaf6e14b9a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Thu, 7 Dec 2017 19:03:18 +0100
Subject: [PATCH] Haiku build fix
---
cmake/Modules/FindIlmBase.cmake | 4 ++++
lib/Alembic/AbcCoreOgawa/StreamManager.cpp | 8 ++++++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake
index dac8659..3712e84 100644
--- a/cmake/Modules/FindIlmBase.cmake
+++ b/cmake/Modules/FindIlmBase.cmake
@@ -85,6 +85,7 @@ SET(_ilmbase_SEARCH_DIRS
/opt/csw
/opt
/usr/freeware
+ /boot/system
)
FIND_PATH(ILMBASE_INCLUDE_DIR
@@ -95,6 +96,9 @@ FIND_PATH(ILMBASE_INCLUDE_DIR
PATH_SUFFIXES
include
include/OpenEXR
+ develop/headers/OpenEXR
+ develop/headers/x86/OpenEXR
+
)
# If the headers were found, get the version from config file, if not already set.
diff --git a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp
index f163173..c2d8fcc 100644
--- a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp
+++ b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp
@@ -46,8 +46,12 @@ namespace ALEMBIC_VERSION_NS {
#if !defined( ALEMBIC_LIB_USES_TR1 ) && __cplusplus >= 201103L
#define COMPARE_EXCHANGE( V, COMP, EXCH ) V.compare_exchange_weak( COMP, EXCH, std::memory_order_seq_cst, std::memory_order_seq_cst )
// Windows
-#elif defined( _MSC_VER )
+#elif defined( _MSC_VER ) || defined(__HAIKU__)
+#ifndef __HAIKU__
#define COMPARE_EXCHANGE( V, COMP, EXCH ) (InterlockedCompareExchange64( &V, EXCH, COMP ) == COMP)
+#else
+#define COMPARE_EXCHANGE( V, COMP, EXCH ) __atomic_compare_exchange_n( &V, &COMP, EXCH, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST )
+#endif
Alembic::Util::int64_t ffsll( Alembic::Util::int64_t iValue )
{
@@ -69,7 +73,7 @@ Alembic::Util::int64_t ffsll( Alembic::Util::int64_t iValue )
// gcc 4.8 and above not using C++11
-#elif defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8
+#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8)
#define COMPARE_EXCHANGE( V, COMP, EXCH ) __atomic_compare_exchange_n( &V, &COMP, EXCH, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST )
// gcc 4.1 and above not using C++11
#elif defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 1
--
2.15.0