mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-21 19:20:08 +02:00
Alembic: build fix (#2937)
This commit is contained in:
@@ -22,7 +22,7 @@ COPYRIGHT="2009-2016 Sony Pictures Imageworks
|
||||
2016-2018 Blizzard Entertainment, Inc.
|
||||
2018 J Cube, Inc."
|
||||
LICENSE="ALEMBIC"
|
||||
REVISION="1"
|
||||
REVISION="2"
|
||||
SOURCE_URI="https://github.com/alembic/alembic/archive/$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256='119e2cbac2b862880018e756da2219171d1e9ae7aa0ef7dc7c216d678384808e'
|
||||
SOURCE_FILENAME="alembic-$portVersion.tar.gz"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e83fa44d31c15cbf9d3ea5081428ef92ee09bd00 Mon Sep 17 00:00:00 2001
|
||||
From 7ecb7287671547f607870da8b7585a916308f5b9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sat, 31 Mar 2018 08:49:25 +0200
|
||||
Subject: Haiku build fixes
|
||||
@@ -17,24 +17,33 @@ index dac8659..91b1135 100644
|
||||
include
|
||||
include/OpenEXR
|
||||
diff --git a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp
|
||||
index f163173..a5daa62 100644
|
||||
index f163173..c5a2a27 100644
|
||||
--- a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp
|
||||
+++ b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp
|
||||
@@ -46,9 +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
|
||||
@@ -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 )
|
||||
+#endif
|
||||
Alembic::Util::int64_t ffsll( Alembic::Util::int64_t iValue )
|
||||
+#include <strings.h>
|
||||
|
||||
// gcc 4.8 and above not using C++11
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8
|
||||
@@ -107,6 +110,13 @@ StreamManager::~StreamManager()
|
||||
{
|
||||
if ( !iValue )
|
||||
}
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+int ffsll(long long i)
|
||||
+{
|
||||
+ return (__builtin_ffsll(i));
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
StreamIDPtr StreamManager::get()
|
||||
{
|
||||
|
||||
--
|
||||
2.16.2
|
||||
2.16.4
|
||||
|
||||
|
||||
Reference in New Issue
Block a user