mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 14:38:51 +02:00
63 lines
2.3 KiB
Plaintext
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
|
|
|