OSDN Git Service

fix ffmpeg build on osx i386
authorjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 27 Nov 2009 20:24:26 +0000 (20:24 +0000)
committerjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 27 Nov 2009 20:24:26 +0000 (20:24 +0000)
gcc 4.2 on osx defines the built-in macro __PIC__ which ffmpeg's configure
uses to determine if it should enable pic.  Enabling pic uses extra
registers which causes some inline asm to fail due to lack of available
registers.

I disabled the normal check and forced pic enabled for x86_64 since it
requires it.

git-svn-id: svn://localhost/HandBrake/trunk@2987 b64f7644-9d1e-0410-96f1-a4d463321fa5

contrib/ffmpeg/P02-darwin-pic.patch [new file with mode: 0644]

diff --git a/contrib/ffmpeg/P02-darwin-pic.patch b/contrib/ffmpeg/P02-darwin-pic.patch
new file mode 100644 (file)
index 0000000..3368da8
--- /dev/null
@@ -0,0 +1,20 @@
+diff -Naur ffmpeg-r20602.orig/configure ffmpeg-r20602/configure
+--- ffmpeg-r20602.orig/configure       2009-11-24 15:17:19.000000000 -0800
++++ ffmpeg-r20602/configure    2009-11-27 12:02:03.659012744 -0800
+@@ -1913,7 +1913,7 @@
+ enable $arch $subarch
+ enabled spic && enable pic
+-check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable pic
++#check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable pic
+ # OS specific
+ case $target_os in
+@@ -1982,6 +1982,7 @@
+         FFSERVERLDFLAGS=-Wl,-bind_at_load
+         objformat="macho"
+         enabled x86_64 && objformat="macho64"
++        enabled x86_64 && enable pic
+         enabled_any pic shared ||
+             { check_cflags -mdynamic-no-pic && add_asflags -mdynamic-no-pic; }
+         ;;