Update of /cvsroot/fink/dists/10.4/stable/main/finkinfo/graphics
In directory vz-cvs-3.sog:/tmp/cvs-serv6116

Modified Files:
        ffmpeg.info libavcodec53-shlibs.info 
Log Message:
Fix ffmpeg & libavcodec53 compilation on 32bit systems with XCode 4.2

Specifically, try to use gcc-4.2; if that is not available, disable some
assembler code, falling back to a C version (which is also used in all our
64 bit builds anyway).
This patch should not affect systems where these packages already built fine,
hence I am not increasing the revision.


Index: ffmpeg.info
===================================================================
RCS file: /cvsroot/fink/dists/10.4/stable/main/finkinfo/graphics/ffmpeg.info,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- ffmpeg.info 7 Jan 2012 16:32:16 -0000       1.13
+++ ffmpeg.info 8 Jan 2012 16:36:08 -0000       1.14
@@ -76,7 +76,7 @@
   ### Fix for x264.h requiring stdint.h first
   perl -pi -e 's,^enabled libx264.*$,enabled libx264 \&\& require2 x264 
"stdint.h x264.h" x264_encoder_open -lx264,' configure
   ### look for gsm.h in upstream's (and Fink's) declared <gsm.h> rather than 
Debian's <gsm/gsm.h>
-  perl -pi -e 's,gsm\/gsm.h,gsm.h,g' configure libavcodec/libgsm.c
+  perl -pi -e 's,gsm/gsm.h,gsm.h,g' configure libavcodec/libgsm.c
   ### use API from <mach/semaphore.h> instead of <sys/semaphore.h> -- fangism
   ### this lets the jack indev build
   perl -pi -e 's,sem_timedwait,semaphore_timedwait,g' configure
@@ -94,6 +94,15 @@
        -e '/timedwait/s|\&self|self|' \
        -e '/timedwait/s|\&timeout|timeout|' \
        libavdevice/jack_audio.c
+  ### Disable some code that causes a compiler error in llvm-gcc, namely
+  ### "Ran out of registers during register allocation". Note that this
+  ### code is always disabled on x86_64 anyway.
+  ### We don't want to disable it for gcc-4.2, as doing that causes a
+  ### slowdown (which should be minor, but still, no need to punish
+  ### everybody for the flaws of llvm-gcc).
+  if ! [ -x /usr/bin/gcc-4.2 ]; then
+    perl -pi -e 's,if ARCH_X86 && HAVE_7REGS && 
!defined\(BROKEN_RELOCATIONS\),if 0,' libavcodec/x86/cabac.h
+  fi
 <<
 ###
 DocFiles: COPYING.GPLv3 COPYING.LGPLv3 CREDITS INSTALL README doc/TODO 
doc/*.txt build/doc/*.html
@@ -144,7 +153,12 @@
   /usr/bin/perl -pi -e 's,LIBSWSCALE_VERSION_MAJOR 0,LIBSWSCALE_VERSION_MAJOR 
1,g' libswscale/swscale.h
   mkdir build
   cd build
-    ../configure %c
+    # Prefer compilation with gcc-4.2 if available
+    if [ -x /usr/bin/gcc-4.2 ]; then
+      ../configure %c --cc=gcc-4.2 --cxx=g++-4.2
+    else
+      ../configure %c
+    fi
     make -w V=1
   ### The following set of commands are to fix the compat_name of libpostproc 
and libswscale which
   ### were downgraded (from 51.1.0 to 51.0.0 for libpostproc; from 51.1.0 to 
0.0.0 for libswscale)

Index: libavcodec53-shlibs.info
===================================================================
RCS file: 
/cvsroot/fink/dists/10.4/stable/main/finkinfo/graphics/libavcodec53-shlibs.info,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- libavcodec53-shlibs.info    7 Jan 2012 16:32:16 -0000       1.3
+++ libavcodec53-shlibs.info    8 Jan 2012 16:36:08 -0000       1.4
@@ -65,7 +65,7 @@
   ### Fix for x264.h requiring stdint.h first
   perl -pi -e 's,^enabled libx264.*$,enabled libx264 \&\& require2 x264 
"stdint.h x264.h" x264_encoder_open -lx264,' configure
   ### look for gsm.h in upstream's (and Fink's) declared <gsm.h> rather than 
Debian's <gsm/gsm.h>
-  perl -pi -e 's,gsm\/gsm.h,gsm.h,g' configure libavcodec/libgsm.c
+  perl -pi -e 's,gsm/gsm.h,gsm.h,g' configure libavcodec/libgsm.c
   ### use API from <mach/semaphore.h> instead of <sys/semaphore.h> -- fangism
   ### this lets the jack indev build
   perl -pi -e 's,sem_timedwait,semaphore_timedwait,g' configure
@@ -83,6 +83,15 @@
        -e '/timedwait/s|\&self|self|' \
        -e '/timedwait/s|\&timeout|timeout|' \
        libavdevice/jack_audio.c
+  ### Disable some code that causes a compiler error in llvm-gcc, namely
+  ### "Ran out of registers during register allocation". Note that this
+  ### code is always disabled on x86_64 anyway.
+  ### We don't want to disable it for gcc-4.2, as doing that causes a
+  ### slowdown (which should be minor, but still, no need to punish
+  ### everybody for the flaws of llvm-gcc).
+  if ! [ -x /usr/bin/gcc-4.2 ]; then
+    perl -pi -e 's,if ARCH_X86 && HAVE_7REGS && 
!defined\(BROKEN_RELOCATIONS\),if 0,' libavcodec/x86/cabac.h
+  fi
 <<
 ###
 Shlibs: <<
@@ -133,7 +142,12 @@
   #/usr/bin/perl -pi -e 's,LIBSWSCALE_VERSION_MAJOR 0,LIBSWSCALE_VERSION_MAJOR 
1,g' libswscale/swscale.h
   mkdir build
   cd build
-    ../configure %c
+    # Prefer compilation with gcc-4.2 if available
+    if [ -x /usr/bin/gcc-4.2 ]; then
+      ../configure %c --cc=gcc-4.2 --cxx=g++-4.2
+    else
+      ../configure %c
+    fi
     make -w V=1
   ### The following set of commands are to fix the compat_version of 
libpostproc which 
   ### was downgraded (from 51.1.0 to 51.0.0 for libpostproc)


------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.cvs

Reply via email to