Merge master.
[dcpomatic.git] / platform / osx / make_dmg.sh
index d9e36c390d34e7e553521210f4b441fe0794cee7..debd4aaac5a5c4af41875739b365f3d5985dce08 100644 (file)
@@ -5,8 +5,8 @@ version=`cat wscript | egrep ^VERSION | awk '{print $3}' | sed -e "s/'//g"`
 # DMG size in megabytes
 DMG_SIZE=256
 WORK=build/platform/osx
-ENV=/Users/carl/Environments/osx/10.8
-DEPS=/Users/carl/cdist
+ENV=/Users/carl/Environments/osx
+ROOT=/Users/carl/cdist
 
 appdir="DVD-o-matic.app"
 approot=$appdir/Contents
@@ -19,46 +19,58 @@ mkdir -p $WORK/$macos
 mkdir -p $WORK/$libs
 mkdir -p $WORK/$resources
 
-cp build/src/tools/dvdomatic $WORK/$macos/
-cp build/src/lib/libdvdomatic.dylib $WORK/$libs/
-cp build/src/wx/libdvdomatic-wx.dylib $WORK/$libs/
-cp $DEPS/lib/libdcp.dylib $WORK/$libs/
-cp $DEPS/lib/libasdcp-libdcp.dylib $WORK/$libs/
-cp $DEPS/lib/libkumu-libdcp.dylib $WORK/$libs/
-cp $DEPS/lib/libopenjpeg*.dylib $WORK/$libs/
-cp $DEPS/lib/libavformat*.dylib $WORK/$libs/
-cp $DEPS/lib/libavfilter*.dylib $WORK/$libs/
-cp $DEPS/lib/libavutil*.dylib $WORK/$libs/
-cp $DEPS/lib/libavcodec*.dylib $WORK/$libs/
-cp $DEPS/lib/libswscale*.dylib $WORK/$libs/
-cp $DEPS/lib/libpostproc*.dylib $WORK/$libs/
-cp $DEPS/lib/libswresample*.dylib $WORK/$libs/
-cp $ENV/lib/libboost_system.dylib $WORK/$libs/
-cp $ENV/lib/libboost_filesystem.dylib $WORK/$libs/
-cp $ENV/lib/libboost_thread.dylib $WORK/$libs/
-cp $ENV/lib/libboost_date_time.dylib $WORK/$libs/
-cp $ENV/lib/libssl*.dylib $WORK/$libs/
-cp $ENV/lib/libcrypto*.dylib $WORK/$libs/
-cp $ENV/lib/libxml++-2.6*.dylib $WORK/$libs/
-cp $ENV/lib/libxml2*.dylib $WORK/$libs/
-cp $ENV/lib/libglibmm-2.4*.dylib $WORK/$libs/
-cp $ENV/lib/libgobject*.dylib $WORK/$libs/
-cp $ENV/lib/libgthread*.dylib $WORK/$libs/
-cp $ENV/lib/libgmodule*.dylib $WORK/$libs/
-cp $ENV/lib/libsigc*.dylib $WORK/$libs/
-cp $ENV/lib/libglib-2*.dylib $WORK/$libs/
-cp $ENV/lib/libintl*.dylib $WORK/$libs/
-cp $ENV/lib/libsndfile*.dylib $WORK/$libs/
-cp $ENV/lib/libMagick++*.dylib $WORK/$libs/
-cp $ENV/lib/libMagickCore*.dylib $WORK/$libs/
-cp $ENV/lib/libMagickWand*.dylib $WORK/$libs/
-cp $ENV/lib/libssh*.dylib $WORK/$libs/
-cp $ENV/lib/libwx*.dylib $WORK/$libs/
-cp $ENV/lib/libfontconfig*.dylib $WORK/$libs/
-cp $ENV/lib/libfreetype*.dylib $WORK/$libs/
-cp $ENV/lib/libexpat*.dylib $WORK/$libs/
-
-for obj in $WORK/$macos/dvdomatic $WORK/$libs/*.dylib; do
+function universal_copy {
+    echo $2
+    for f in $1/32/$2; do
+        if [ -h $f ]; then
+           ln -s $(readlink $f) $3/`basename $f`
+        else
+          g=`echo $f | sed -e "s/\/32\//\/64\//g"`
+         mkdir -p $3
+          lipo -create $f $g -output $3/`basename $f`
+        fi
+    done
+}
+
+universal_copy $ROOT src/dvdomatic/build/src/tools/dvdomatic $WORK/$macos
+universal_copy $ROOT src/dvdomatic/build/src/lib/libdvdomatic.dylib $WORK/$libs
+universal_copy $ROOT src/dvdomatic/build/src/wx/libdvdomatic-wx.dylib $WORK/$libs
+universal_copy $ROOT lib/libcxml.dylib $WORK/$libs
+universal_copy $ROOT lib/libdcp.dylib $WORK/$libs
+universal_copy $ROOT lib/libasdcp-libdcp.dylib $WORK/$libs
+universal_copy $ROOT lib/libkumu-libdcp.dylib $WORK/$libs
+universal_copy $ROOT lib/libopenjpeg*.dylib $WORK/$libs
+universal_copy $ROOT lib/libavformat*.dylib $WORK/$libs
+universal_copy $ROOT lib/libavfilter*.dylib $WORK/$libs
+universal_copy $ROOT lib/libavutil*.dylib $WORK/$libs
+universal_copy $ROOT lib/libavcodec*.dylib $WORK/$libs
+universal_copy $ROOT lib/libswscale*.dylib $WORK/$libs
+universal_copy $ROOT lib/libpostproc*.dylib $WORK/$libs
+universal_copy $ROOT lib/libswresample*.dylib $WORK/$libs
+universal_copy $ENV lib/libboost_system.dylib $WORK/$libs
+universal_copy $ENV lib/libboost_filesystem.dylib $WORK/$libs
+universal_copy $ENV lib/libboost_thread.dylib $WORK/$libs
+universal_copy $ENV lib/libboost_date_time.dylib $WORK/$libs
+universal_copy $ENV lib/libxml++-2.6*.dylib $WORK/$libs
+universal_copy $ENV lib/libxml2*.dylib $WORK/$libs
+universal_copy $ENV lib/libglibmm-2.4*.dylib $WORK/$libs
+universal_copy $ENV lib/libgobject*.dylib $WORK/$libs
+universal_copy $ENV lib/libgthread*.dylib $WORK/$libs
+universal_copy $ENV lib/libgmodule*.dylib $WORK/$libs
+universal_copy $ENV lib/libsigc*.dylib $WORK/$libs
+universal_copy $ENV lib/libglib-2*.dylib $WORK/$libs
+universal_copy $ENV lib/libintl*.dylib $WORK/$libs
+universal_copy $ENV lib/libsndfile*.dylib $WORK/$libs
+universal_copy $ENV lib/libMagick++*.dylib $WORK/$libs
+universal_copy $ENV lib/libMagickCore*.dylib $WORK/$libs
+universal_copy $ENV lib/libMagickWand*.dylib $WORK/$libs
+universal_copy $ENV lib/libssh*.dylib $WORK/$libs
+universal_copy $ENV lib/libwx*.dylib $WORK/$libs
+universal_copy $ENV lib/libfontconfig*.dylib $WORK/$libs
+universal_copy $ENV lib/libfreetype*.dylib $WORK/$libs
+universal_copy $ENV lib/libexpat*.dylib $WORK/$libs
+
+for obj in $WORK/$macos/dcpomatic $WORK/$libs/*.dylib; do
   deps=`otool -L $obj | awk '{print $1}' | egrep "(/Users/carl|libboost|libssh)"`
   changes=""
   for dep in $deps; do
@@ -70,13 +82,12 @@ for obj in $WORK/$macos/dvdomatic $WORK/$libs/*.dylib; do
   fi  
 done
 
-
 cp build/platform/osx/Info.plist $WORK/$approot
-cp icons/dvdomatic.icns $WORK/$resources/DVD-o-matic.icns
+cp icons/dcpomatic.icns $WORK/$resources/DVD-o-matic.icns
 
-tmp_dmg=$WORK/dvdomatic_tmp.dmg
-dmg="$WORK/DVD-o-matic $version.dmg"
-vol_name=DVD-o-matic-$version
+tmp_dmg=$WORK/dcpomatic_tmp.dmg
+dmg="$WORK/DCP-o-matic $version.dmg"
+vol_name=DCP-o-matic-$version
 
 mkdir -p $WORK/$vol_name
 
@@ -95,13 +106,13 @@ echo '
            set current view of container window to icon view
            set toolbar visible of container window to false
            set statusbar visible of container window to false
-           set the bounds of container window to {400, 200, 800, 440}
+           set the bounds of container window to {400, 200, 790, 410}
            set theViewOptions to the icon view options of container window
            set arrangement of theViewOptions to not arranged
            set icon size of theViewOptions to 64
            make new alias file at container window to POSIX file "/Applications" with properties {name:"Applications"}
-           set position of item "DVD-o-matic.app" of container window to {90, 100}
-           set position of item "Applications" of container window to {310, 100}
+           set position of item "DCP-o-matic.app" of container window to {90, 80}
+           set position of item "Applications" of container window to {310, 80}
            close
            open
            update without registering applications
@@ -117,8 +128,8 @@ sync
 umount $device
 hdiutil eject $device
 hdiutil convert -format UDZO $tmp_dmg -imagekey zlib-level=9 -o "$dmg"
-sips -i $WORK/$resources/DVD-o-matic.icns
-DeRez -only icns $WORK/$resources/DVD-o-matic.icns > $WORK/$resources/DVD-o-matic.rsrc
-Rez -append $WORK/$resources/DVD-o-matic.rsrc -o "$dmg"
+sips -i $WORK/$resources/DCP-o-matic.icns
+DeRez -only icns $WORK/$resources/DCP-o-matic.icns > $WORK/$resources/DCP-o-matic.rsrc
+Rez -append $WORK/$resources/DCP-o-matic.rsrc -o "$dmg"
 SetFile -a C "$dmg"