vlc/vlc-1.2 | branch: master | Rafaël Carré <fun...@videolan.org> | Wed Jan  4 
20:03:59 2012 -0500| [2df61dd9c0e674c54b505449bb77d4126f839bed] | committer: 
Jean-Baptiste Kempf

contrib: orc: fix android build

google's gcc doesn't understand 'restrict'. Use __restrict__
(cherry picked from commit 702502969a8af0c166e6a6ee0af5063d8e742e28)

Signed-off-by: Jean-Baptiste Kempf <j...@videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.2.git/?a=commit;h=2df61dd9c0e674c54b505449bb77d4126f839bed
---

 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 $@

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to