[vlc-commits] contrib: orc: fix android build
Rafaël Carré
git at videolan.org
Thu Jan 5 02:27:32 CET 2012
vlc | branch: master | Rafaël Carré <funman at videolan.org> | Wed Jan 4 20:03:59 2012 -0500| [702502969a8af0c166e6a6ee0af5063d8e742e28] | committer: Rafaël Carré
contrib: orc: fix android build
google's gcc doesn't understand 'restrict'. Use __restrict__
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=702502969a8af0c166e6a6ee0af5063d8e742e28
---
contrib/src/orc/android.patch | 49 +++++++++++++++++++++++++++++++++++++++++
contrib/src/orc/rules.mak | 2 +
2 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/contrib/src/orc/android.patch b/contrib/src/orc/android.patch
new file mode 100644
index 0000000..4c30a4e
--- /dev/null
+++ b/contrib/src/orc/android.patch
@@ -0,0 +1,49 @@
+diff -ur orc.orig/configure.ac orc/configure.ac
+--- orc.orig/configure.ac 2011-12-28 10:09:52.724224002 -0500
++++ orc/configure.ac 2011-12-28 10:14:06.056224002 -0500
+@@ -67,6 +67,21 @@
+ )
+ AC_SUBST(LIBRT)
+
++HAVE_ANDROID=0
++AC_MSG_CHECKING([for an Android system])
++ AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
++ [[#ifndef __ANDROID__
++# error Not Android
++#endif
++ ]],[[;]])
++ ],[
++ HAVE_ANDROID="1"
++ AC_MSG_RESULT([yes])
++ ],[
++ AC_MSG_RESULT([no])
++ ])
++test "${HAVE_ANDROID}" = "1" && AC_DEFINE([ORC_RESTRICT],[__restrict__], [restrict keyword])
++
+ AC_CACHE_CHECK(for monotonic clocks,
+ orc_cv_monotonic_clock,AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ #include <time.h>
+diff -ur orc.orig/orc/orcfunctions.h orc/orc/orcfunctions.h
+--- orc.orig/orc/orcfunctions.h 2011-12-28 10:09:52.736224002 -0500
++++ orc/orc/orcfunctions.h 2011-12-28 10:15:01.216224002 -0500
+@@ -58,7 +58,7 @@
+ typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
+ #endif
+ #ifndef ORC_RESTRICT
+-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
++#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && !defined(__ANDROID__)
+ #define ORC_RESTRICT restrict
+ #elif defined(__GNUC__) && __GNUC__ >= 4
+ #define ORC_RESTRICT __restrict__
+diff -ru orc.orig/orc/orcprogram-c.c orc/orc/orcprogram-c.c
+--- orc.orig/orc/orcprogram-c.c 2011-12-28 10:18:36.624224002 -0500
++++ orc/orc/orcprogram-c.c 2011-12-28 10:19:12.232224002 -0500
+@@ -76,7 +76,7 @@
+ "typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;\n"
+ "#endif\n"
+ "#ifndef ORC_RESTRICT\n"
+- "#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L\n"
++ "#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && !defined(__ANDROID__)\n"
+ "#define ORC_RESTRICT restrict\n"
+ "#elif defined(__GNUC__) && __GNUC__ >= 4\n"
+ "#define ORC_RESTRICT __restrict__\n"
diff --git a/contrib/src/orc/rules.mak b/contrib/src/orc/rules.mak
index 52347d7..13007e2 100644
--- a/contrib/src/orc/rules.mak
+++ b/contrib/src/orc/rules.mak
@@ -16,10 +16,12 @@ $(TARBALLS)/orc-$(ORC_VERSION).tar.gz:
orc: orc-$(ORC_VERSION).tar.gz .sum-orc
$(UNPACK)
$(APPLY) $(SRC)/orc/orc-stdint.patch
+ $(APPLY) $(SRC)/orc/android.patch
$(UPDATE_AUTOCONFIG)
$(MOVE)
.orc: orc
+ $(RECONF)
cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
cd $< && $(MAKE) install
touch $@
More information about the vlc-commits
mailing list