From 7ecb7287671547f607870da8b7585a916308f5b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= Date: Sat, 31 Mar 2018 08:49:25 +0200 Subject: Haiku build fixes diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake index dac8659..91b1135 100644 --- a/cmake/Modules/FindIlmBase.cmake +++ b/cmake/Modules/FindIlmBase.cmake @@ -92,6 +92,7 @@ FIND_PATH(ILMBASE_INCLUDE_DIR IlmBaseConfig.h HINTS ${_ilmbase_SEARCH_DIRS} + "$ENV{ILMBASE_INC_DIR}" PATH_SUFFIXES include include/OpenEXR diff --git a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp index f163173..c5a2a27 100644 --- a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp +++ b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp @@ -67,6 +67,9 @@ Alembic::Util::int64_t ffsll( Alembic::Util::int64_t iValue ) return 0; } +#elif defined( __HAIKU__ ) +#define COMPARE_EXCHANGE( V, COMP, EXCH ) __atomic_compare_exchange_n( &V, &COMP, EXCH, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) +#include // gcc 4.8 and above not using C++11 #elif defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8 @@ -107,6 +110,13 @@ StreamManager::~StreamManager() { } +#ifdef __HAIKU__ +int ffsll(long long i) +{ + return (__builtin_ffsll(i)); +} +#endif + StreamIDPtr StreamManager::get() { -- 2.16.4