[vlc-devel] [PATCH] contrib/harfbuzz: fix OSAtomic calls for AArch64
Felix Paul Kühne
fkuehne at videolan.org
Wed Jan 22 15:02:59 CET 2014
---
contrib/src/harfbuzz/harfbuzz-aarch64.patch | 27 +++++++++++++++++++++++++++
contrib/src/harfbuzz/rules.mak | 3 +++
2 files changed, 30 insertions(+)
create mode 100644 contrib/src/harfbuzz/harfbuzz-aarch64.patch
diff --git a/contrib/src/harfbuzz/harfbuzz-aarch64.patch b/contrib/src/harfbuzz/harfbuzz-aarch64.patch
new file mode 100644
index 0000000..39c7dde
--- /dev/null
+++ b/contrib/src/harfbuzz/harfbuzz-aarch64.patch
@@ -0,0 +1,27 @@
+diff -ru harfbuzz/src/hb-atomic-private.hh harfbuzz-fied/src/hb-atomic-private.hh
+--- harfbuzz/src/hb-atomic-private.hh 2013-04-04 21:01:42.000000000 +0200
++++ harfbuzz-fied/src/hb-atomic-private.hh 2014-01-22 14:57:21.000000000 +0100
+@@ -65,10 +65,8 @@
+ #elif !defined(HB_NO_MT) && defined(__APPLE__)
+
+ #include <libkern/OSAtomic.h>
+-#ifdef __MAC_OS_X_MIN_REQUIRED
++#ifdef __APPLE__
+ #include <AvailabilityMacros.h>
+-#elif defined(__IPHONE_OS_MIN_REQUIRED)
+-#include <Availability.h>
+ #endif
+
+ typedef int32_t hb_atomic_int_t;
+@@ -76,7 +74,11 @@
+
+ #define hb_atomic_ptr_get(P) (OSMemoryBarrier (), (void *) *(P))
+ #if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100)
++#if __aarch64__
++#define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
++#else
+ #define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
++#endif
+ #else
+ #if __ppc64__ || __x86_64__
+ #define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
diff --git a/contrib/src/harfbuzz/rules.mak b/contrib/src/harfbuzz/rules.mak
index 1c76764..6c6dd3e 100644
--- a/contrib/src/harfbuzz/rules.mak
+++ b/contrib/src/harfbuzz/rules.mak
@@ -15,6 +15,9 @@ $(TARBALLS)/harfbuzz-$(HARFBUZZ_VERSION).tar.bz2:
harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 .sum-harfbuzz
$(UNPACK)
$(UPDATE_AUTOCONFIG)
+ifdef HAVE_IOS
+ $(APPLY) $(SRC)/harfbuzz/harfbuzz-aarch64.patch
+endif
$(MOVE)
DEPS_harfbuzz = freetype2 $(DEPS_freetype2)
--
1.8.3.4 (Apple Git-47)
More information about the vlc-devel
mailing list