fix OSX/PPC bundled plugins
[ardour.git] / tools / osx_packaging / osx_build
index 9f35f138c110a44b2a008d76f62fb8fd94595b23..ca3db40ea3b78125e37bff4ad8d0c99152de5e1a 100755 (executable)
@@ -32,35 +32,34 @@ while [ $# -gt 0 ] ; do
        # top level build targets
        #
 
-       --sae) WITH_NLS= ; 
-               SAE=1 ; 
-              WITH_LADSPA=1; 
-               STRIP= ; 
-              PRODUCT_PKG_DIR=ArdourSAE ; 
-              APPNAME=Ardour ;
-              shift ;;
-       --mixbus) MIXBUS=1; 
-                 WITH_HARRISON_LV2=1 ;
-                 WITH_X42_LV2=1 ;
-                 WITH_NLS=1 ; 
-                  SAE= ; 
-                  WITH_LADSPA=; 
-                  STRIP= ; 
-                 PRODUCT_PKG_DIR=Mixbus;
-                 APPNAME=Mixbus ;
-                  shift ;;
-       --public) WITH_NLS= ; 
-                 SAE= ; 
-                  WITH_LADSPA=1; 
-                 PRODUCT_PKG_DIR=Ardour;
-                 APPNAME=Ardour ;
-                 shift ;;
-       --allinone) SAE= ; 
-                   WITH_NLS= ; 
-                   WITH_LADSPA=1; 
-                   STRIP= ; 
-                   PRODUCT_PKG_DIR=Ardour ;
-                   shift ;;
+       --sae)
+               SAE=1 ;
+               WITH_LADSPA=1;
+               STRIP= ;
+               PRODUCT_PKG_DIR=ArdourSAE ;
+               APPNAME=Ardour ;
+               shift ;;
+       --mixbus) MIXBUS=1;
+               WITH_HARRISON_LV2=1 ;
+               WITH_X42_LV2=1 ;
+               WITH_NLS=1 ;
+               SAE= ;
+               WITH_LADSPA=;
+               STRIP= ;
+               PRODUCT_PKG_DIR=Mixbus;
+               APPNAME=Mixbus ;
+               shift ;;
+       --public)
+               SAE= ;
+               WITH_LADSPA=1;
+               PRODUCT_PKG_DIR=Ardour;
+               APPNAME=Ardour ;
+               shift ;;
+       --allinone) SAE= ;
+               WITH_LADSPA=1;
+               STRIP= ;
+               PRODUCT_PKG_DIR=Ardour ;
+               shift ;;
        --test) SAE= ; WITH_LADSPA=; STRIP= ; shift ;;
 
        #
@@ -125,6 +124,7 @@ MidiMaps=$Shared/midi_maps
 ExportFormats=$Shared/export
 Templates=$Shared/templates
 PatchFiles=$Shared/patchfiles
+LuaScripts=$Shared/scripts
 MackieControl=$Shared/mcp
 
 if [ x$PRINT_SYSDEPS != x ] ; then
@@ -162,6 +162,7 @@ mkdir -p $Frameworks/modules
 mkdir -p $Etc
 mkdir -p $MackieControl
 mkdir -p $PatchFiles
+mkdir -p $LuaScripts
 
 # maybe set variables
 env=""
@@ -204,6 +205,7 @@ sed -e "s?@ENV@?$env?g" \
     -e "s?@VERSION@?$release_version?g" \
     -e "s?@INFOSTRING@?$info_string?g" \
     -e "s?@IDSUFFIX@?$EXECUTABLE?g" \
+    -e "s?@BUNDLENAME@?${APPNAME}${major_version}?g" \
     -e "s?@EXECUTABLE@?$EXECUTABLE?g" < Info.plist.in > Info.plist
 # and plist strings
 sed -e "s?@APPNAME@?$appname?" \
@@ -373,6 +375,12 @@ for x in $BUILD_ROOT/../patchfiles/*.midnam ; do
     cp "$x" $PatchFiles
 done
 
+# Lua Script Files
+# got to be careful with names here
+for x in $BUILD_ROOT/../scripts/*.lua ; do
+    cp "$x" $LuaScripts
+done
+
 # MackieControl data
 # got to be careful with names here
 for x in $BUILD_ROOT/../mcp/*.device $BUILD_ROOT/../mcp/*.profile ; do
@@ -403,6 +411,12 @@ if test -f $BUILD_ROOT/libs/vfork/ardour-exec-wrapper ; then
     cp $BUILD_ROOT/libs/vfork/ardour-exec-wrapper $Frameworks/
 fi
 
+# TODO check if this is still needed, even when building on 10.5
+if file $BUILD_ROOT/gtk2_ardour/ardour-$release_version | grep -q ppc; then
+STDCPP='|libstdc\+\+'
+else
+STDCPP=
+fi
 
 while [ true ] ; do 
     missing=false
@@ -419,7 +433,7 @@ while [ true ] ; do
                strip -u -r -arch all $file &>/dev/null
        fi
 
-       deps=`otool -L $file | awk '{print $1}' | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/|libstdc\+\+)" | grep -v 'libjack\.' | grep -v "$(basename $file)"`
+       deps=`otool -L $file | awk '{print $1}' | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/$STDCPP)" | grep -v 'libjack\.' | grep -v "$(basename $file)"`
        # echo -n "."
        for dep in $deps ; do
            base=`basename $dep`
@@ -442,9 +456,7 @@ echo
 
 echo "Copying other stuff to $APPDIR  ..."
 
-#cp $BUILD_ROOT/gtk2_ardour/ergonomic-us.bindings  $Resources
-
-cp $BUILD_ROOT/gtk2_ardour/mnemonic-us.bindings  $Resources
+cp $BUILD_ROOT/gtk2_ardour/ardour.keys  $Resources
 cp $BUILD_ROOT/gtk2_ardour/ardour.menus $Resources
 cp $BUILD_ROOT/gtk2_ardour/default_ui_config $Resources
 cp $BUILD_ROOT/gtk2_ardour/clearlooks.rc $Resources
@@ -453,8 +465,6 @@ cp $BUILD_ROOT/gtk2_ardour/clearlooks.rc $Resources
 
 cp ../../system_config $Resources/system_config
 cp ../../instant.xml $Resources/instant.xml
-cp ../../gtk2_ardour/step_editing.bindings $Resources
-cp ../../gtk2_ardour/mixer.bindings $Resources
 cp -r ../../gtk2_ardour/icons $Resources
 cp -r ../../gtk2_ardour/pixmaps $Resources
 cp ../../gtk2_ardour/dark.colors $Resources
@@ -488,7 +498,7 @@ fi
 for exe in $executables; do
     EXE=$APPROOT/MacOS/$exe
     changes=""
-    for lib in `otool -L $EXE | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/|libstdc\+\+)" | awk '{print $1}' | grep -v 'libjack\.'` ; do
+    for lib in `otool -L $EXE | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/$STDCPP)" | awk '{print $1}' | grep -v 'libjack\.'` ; do
       base=`basename $lib`
       changes="$changes -change $lib @executable_path/../lib/$base"
     done
@@ -514,7 +524,7 @@ for libdir in $Frameworks $Frameworks/modules $Surfaces $Panners $Backends ; do
         # change all the dependencies
        
        changes=""
-       for lib in `otool -L $dylib | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/|libstdc\+\+)" | awk '{print $1}' | grep -v 'libjack\.'` ; do
+       for lib in `otool -L $dylib | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/$STDCPP)" | awk '{print $1}' | grep -v 'libjack\.'` ; do
            base=`basename $lib`
            if echo $lib | grep -s libbase; then
                changes="$changes -change $lib @executable_path/../$libbase/$base"
@@ -577,7 +587,7 @@ if file ${PRODUCT_PKG_DIR}/$APPROOT/MacOS/$MAIN_EXECUTABLE | grep -q x86_64; the
        OSX_BENSID=osx64
 elif file ${PRODUCT_PKG_DIR}/$APPROOT/MacOS/$MAIN_EXECUTABLE | grep -q ppc; then
        OSX_ARCH=ppc
-       OSX_BENSID=ppc
+       OSX_BENSID=osxppc
 else
        OSX_ARCH=i386
        OSX_BENSID=osx32
@@ -587,7 +597,7 @@ if test x$WITH_HARRISON_LV2 != x ; then
        curl -s -S --fail -#  \
                -z "${CACHEDIR}/harrison_lv2s.${OSX_BENSID}.zip" \
                -o "${CACHEDIR}/harrison_lv2s.${OSX_BENSID}.zip" \
-               http://www.harrisonconsoles.com/mixbus/mb3/${OSX_BENSID}/harrison_lv2s.zip
+               "http://www.harrisonconsoles.com/mixbus/mb3/beta/harrison-dsp/harrison_lv2s.${OSX_BENSID}.zip"
 
        mkdir -p "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2"
        bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
@@ -645,6 +655,13 @@ if test x$WITH_X42_LV2 != x ; then
        bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
                "$CACHEDIR/x42-meters-lv2-osx-${METERS_VERSION}.zip"
 
+       EQ_VERSION=$(curl -s -S http://x42-plugins.com/x42/osx/x42-eq.latest.txt)
+       rsync -a -q --partial \
+               rsync://x42-plugins.com/x42/osx/x42-eq-lv2-osx-${EQ_VERSION}.zip \
+               "$CACHEDIR/x42-eq-lv2-osx-${EQ_VERSION}.zip"
+       bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
+               "$CACHEDIR/x42-eq-lv2-osx-${EQ_VERSION}.zip"
+
        SETBFREE_VERSION=$(curl -s -S http://x42-plugins.com/x42/osx/setBfree.latest.txt)
        rsync -a -q --partial \
                rsync://x42-plugins.com/x42/osx/setBfree-lv2-osx-${SETBFREE_VERSION}.zip \
@@ -660,7 +677,7 @@ if test x$WITH_X42_LV2 != x ; then
                "$CACHEDIR/x42-midifilter-lv2-osx-${MIDIFILTER_VERSION}.zip"
 
        for file in ${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/*/*.dylib ; do
-               lipo -thin ${OSX_ARCH} ${file} -output ${file}.thin
+               lipo -extract_family ${OSX_ARCH} ${file} -output ${file}.thin
                mv ${file}.thin ${file}
        done
 fi
@@ -673,7 +690,7 @@ if test -n "$MIXBUS"; then
        curl -s -S --fail -#  \
                -z "${CACHEDIR}/harrison_channelstrip.${OSX_BENSID}.so" \
                -o "${CACHEDIR}/harrison_channelstrip.${OSX_BENSID}.so" \
-               http://www.harrisonconsoles.com/mixbus/mb3/${OSX_BENSID}/harrison_channelstrip.so
+               "http://www.harrisonconsoles.com/mixbus/mb3/beta/harrison-dsp/harrison_channelstrip.${OSX_BENSID}.so"
 
        cp "${CACHEDIR}/harrison_channelstrip.${OSX_BENSID}.so" \
                "${PRODUCT_PKG_DIR}/${APPROOT}/lib/ladspa/strip/harrison_channelstrip.so"