[vlc-devel] commit: macosx: updated ub script for the really fat binary ( Felix Paul Kühne )

git version control git at videolan.org
Thu Sep 24 14:44:26 CEST 2009


vlc | branch: 1.0-bugfix | Felix Paul Kühne <fkuehne at videolan.org> | Tue Sep 22 00:52:36 2009 +0200| [977eb8214c295cba95104318149ddcacffb696c5] | committer: Felix Paul Kühne 

macosx: updated ub script for the really fat binary

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=977eb8214c295cba95104318149ddcacffb696c5
---

 extras/package/macosx/ub.sh |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/extras/package/macosx/ub.sh b/extras/package/macosx/ub.sh
index 4be57cb..a4ad009 100644
--- a/extras/package/macosx/ub.sh
+++ b/extras/package/macosx/ub.sh
@@ -1,39 +1,52 @@
 #!/bin/bash
 
 # This script allows you to create a Universal Binary of VLC.app. It requires 
-# pre-compiled binaries for Intel- and PowerPC-based Macs; no sources.
-# Exotic sub-platforms aka x86_64 or even ppc64 are not supported right now.
+# pre-compiled binaries for Intel-, Intel64- and PowerPC-based Macs; no sources.
+# PPC64 is not supported right now, but could be added with little effort.
 # Using different OS X SDKs for both platforms is absolutely fine of course.
 # All you need to do is CHANGE THE ROOTS and READ THE COMMENTS.
 # Happy releasing!
 
 # INTELROOT == path to VLC.app compiled on an Intel-based Mac (e.g. jones).
+# INTEL64ROOT == path to VLC.app compiled in 64bit mode (e.g. on jones with -m64).
 INTELROOT=/Applications/VLC.app
+INTEL64ROOT=/Users/fpk/VLC-release.app
 # PPCROOT   == path to VLC.app compiled on a PowerPC-based Mac (e.g. veda).
-PPCROOT=/Volumes/vlc-0.9.0-test3/VLC.app
-# Note that these 2 roots only require read-access and won't be changed at all.
+PPCROOT=/Volumes/vlc-1.0.2/VLC.app
+# Note that these roots only require read-access and won't be changed at all.
 
 # UBROOT    == path to a VLC.app bundle which will contain the Universal Binary.
 # Note that you should empty the following folders: lib, modules
-# and remove the VLC binary in MacOS (just for sanity reasons)
-UBROOT=/Users/fpk/VLC-release.app
+# and remove the VLC binary in MacOS
+UBROOT=/Users/fpk/VLC.app
 
 for i in `ls $INTELROOT/Contents/MacOS/lib/`
 do
         echo $i
-        lipo $INTELROOT/Contents/MacOS/lib/$i $PPCROOT/Contents/MacOS/lib/$i -create -output $UBROOT/Contents/MacOS/lib/$i
+        lipo $INTELROOT/Contents/MacOS/lib/$i $INTEL64ROOT/Contents/MacOS/lib/$i $PPCROOT/Contents/MacOS/lib/$i -create -output $UBROOT/Contents/MacOS/lib/$i
 done
 for i in `ls $INTELROOT/Contents/MacOS/modules/`
 do
         echo $i
-        lipo $INTELROOT/Contents/MacOS/modules/$i $PPCROOT/Contents/MacOS/modules/$i -create -output $UBROOT/Contents/MacOS/modules/$i
+        lipo $INTELROOT/Contents/MacOS/modules/$i $INTEL64ROOT/Contents/MacOS/modules/$i $PPCROOT/Contents/MacOS/modules/$i -create -output $UBROOT/Contents/MacOS/modules/$i
 done
-lipo $INTELROOT/Contents/MacOS/VLC $PPCROOT/Contents/MacOS/VLC -create -output $UBROOT/Contents/MacOS/VLC
+lipo $INTELROOT/Contents/MacOS/VLC $INTEL64ROOT/Contents/MacOS/VLC $PPCROOT/Contents/MacOS/VLC -create -output $UBROOT/Contents/MacOS/VLC
+
+# The following fixes modules, which aren't available on all platforms
+lipo $INTELROOT/Contents/MacOS/lib/libSDL_image.0.dylib $PPCROOT/Contents/MacOS/lib/libSDL_image.0.dylib -create -output $UBROOT/Contents/MacOS/lib/libSDL_image.0.dylib
+lipo $INTELROOT/Contents/MacOS/lib/libSDL-1.3.0.dylib $PPCROOT/Contents/MacOS/lib/libSDL-1.3.0.dylib -create -output $UBROOT/Contents/MacOS/lib/libSDL-1.3.0.dylib
+lipo $INTELROOT/Contents/MacOS/lib/libjpeg.7.dylib $PPCROOT/Contents/MacOS/lib/libjpeg.7.dylib -create -output $UBROOT/Contents/MacOS/lib/libjpeg.7.dylib
+lipo $INTELROOT/Contents/MacOS/lib/libtiff.3.dylib $PPCROOT/Contents/MacOS/lib/libtiff.3.dylib -create -output $UBROOT/Contents/MacOS/lib/libtiff.3.dylib
+lipo $INTELROOT/Contents/MacOS/modules/libsdl_image_plugin.dylib $PPCROOT/Contents/MacOS/modules/libsdl_image_plugin.dylib -create -output $UBROOT/Contents/MacOS/modules/libsdl_image_plugin.dylib
+lipo $INTELROOT/Contents/MacOS/modules/libquartztext_plugin.dylib $PPCROOT/Contents/MacOS/modules/libquartztext_plugin.dylib -create -output $UBROOT/Contents/MacOS/modules/libquartztext_plugin.dylib
+lipo $INTELROOT/Contents/MacOS/modules/libgoom_plugin.dylib $PPCROOT/Contents/MacOS/modules/libgoom_plugin.dylib -create -output $UBROOT/Contents/MacOS/modules/libgoom_plugin.dylib
 cp $INTELROOT/Contents/MacOS/modules/*mmx* $UBROOT/Contents/MacOS/modules/
 cp $INTELROOT/Contents/MacOS/modules/*sse* $UBROOT/Contents/MacOS/modules/
 cp $INTELROOT/Contents/MacOS/modules/*3dn* $UBROOT/Contents/MacOS/modules/
 cp $PPCROOT/Contents/MacOS/modules/*altivec* $UBROOT/Contents/MacOS/modules/
+cp $PPCROOT/Contents/MacOS/lib/libvlc.dylib $UBROOT/Contents/MacOS/lib/
+cp $PPCROOT/Contents/MacOS/lib/libvlccore.dylib $UBROOT/Contents/MacOS/lib/
 
-# Now, you need to copy the resulting UBROOT folder into VLC's build directory 
-# and make sure it is actually named "VLC-release.app".
+# Now, you need to copy the resulting UBROOT bundle into VLC's build directory 
+# and make sure it is named "VLC-release.app".
 # Afterwards, run 'make package-macosx' and follow release_howto.txt in /doc




More information about the vlc-devel mailing list