[Android] [PATCH 6/7] contrib: ffmpeg: Disable fPIC when compiling for Android x86
Edward Wang
edward.c.wang at compdigitec.com
Mon Jul 23 05:54:32 CEST 2012
Disable fPIC due to resolved problems in libav/ffmpeg suite.
---
contrib/src/ffmpeg/rules.mak | 16 +++++++++++++++-
contrib/src/postproc/rules.mak | 7 +++++++
2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
index ed6d8e8..c36bd7c 100644
--- a/contrib/src/ffmpeg/rules.mak
+++ b/contrib/src/ffmpeg/rules.mak
@@ -81,7 +81,21 @@ endif
# Linux
ifdef HAVE_LINUX
-FFMPEGCONF += --target-os=linux --enable-pic
+FFMPEGCONF += --target-os=linux
+
+ifeq ($(ANDROID_ABI), x86)
+ifdef HAVE_ANDROID
+# --disable-pic because Android-x86 fPIC isn't compatible with libav ASM:
+# libavcodec/x86/mpegaudiodec_mmx.c:73: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
+# libavcodec/x86/mpegaudiodec_mmx.c:73: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
+# libavcodec/x86/mpegaudiodec_mmx.c:73: error: 'asm' operand has impossible constraints
+FFMPEGCONF += --disable-pic
+FFMPEG_CFLAGS += -fno-PIC
+endif # HAVE_ANDROID
+else
+FFMPEGCONF += --enable-pic
+endif
+
endif
# Windows
diff --git a/contrib/src/postproc/rules.mak b/contrib/src/postproc/rules.mak
index 6271b50..518865d 100644
--- a/contrib/src/postproc/rules.mak
+++ b/contrib/src/postproc/rules.mak
@@ -47,6 +47,13 @@ endif
# Linux
ifdef HAVE_LINUX
POSTPROCCONF += --target-os=linux
+
+ifeq ($(ANDROID_ABI), x86)
+ifdef HAVE_ANDROID
+POSTPROC_CFLAGS += -fno-PIC
+endif # HAVE_ANDROID
+endif
+
# --enable-pic
endif
--
1.7.5.4
More information about the Android
mailing list