update osx DMG icon tool paths
[ardour.git] / tools / linux_packaging / build
index d24aec4f8efb87527e91b8fe48d158788037b9bd..7d80644ac783026002f49ba6cc139974ff154eb2 100755 (executable)
@@ -97,8 +97,12 @@ fi
 
 . ../define_versions.sh
 
-echo "Version is $version / $commit"
-info_string="$version ($commit) built on `hostname` by `whoami` on `date`"
+echo "Version is $release_version"
+if [ "x$commit" != "x" ] ; then
+    info_string="$release_version ($commit) built on `hostname` by `whoami` on `date`"
+else
+    info_string="$release_version built on `hostname` by `whoami` on `date`"
+fi
 echo "Info string is $info_string"
 
 # Figure out our CPU type
@@ -134,11 +138,11 @@ fi
 # setup directory structure
 
 if [ -z "${BUILDTYPE}" ]; then
-       APPDIR=${APPNAME}_${ARCH}-${version}
-       APP_VER_NAME=${APPNAME}-${version}
+       APPDIR=${APPNAME}_${ARCH}-${release_version}
+       APP_VER_NAME=${APPNAME}-${release_version}
 else
-       APPDIR=${APPNAME}_${ARCH}-${version}-${BUILDTYPE}
-       APP_VER_NAME=${APPNAME}-${version}-${BUILDTYPE}
+       APPDIR=${APPNAME}_${ARCH}-${release_version}-${BUILDTYPE}
+       APP_VER_NAME=${APPNAME}-${release_version}-${BUILDTYPE}
 fi
 
 APPBIN=$APPDIR/bin
@@ -161,6 +165,7 @@ Locale=$Shared/locale
 MidiMaps=$Shared/midi_maps
 PatchFiles=$Shared/patchfiles
 MackieControl=$Shared/mcp
+VFork=$Libraries/vfork
 
 if [ x$PRINT_SYSDEPS != x ] ; then
 #
@@ -201,6 +206,7 @@ mkdir -p $Panners
 mkdir -p $Backends
 mkdir -p $Templates
 mkdir -p $Shared/doc
+mkdir -p $VFork
 
 # maybe set variables
 ENVIRONMENT=environment
@@ -304,7 +310,7 @@ fi
 
 cp -R $GTKSTACK_ROOT/etc/* $Etc
 echo "Copying all Pango modules ..."
-cp -R $GTKSTACK_ROOT/lib/pango/1.6.0/modules/*.so $Modules
+cp -R $GTKSTACK_ROOT/lib/pango/1.8.0/modules/*.so $Modules
 echo "Copying all GDK Pixbuf loaders ..."
 cp -R $GTKSTACK_ROOT/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.so $Loaders
 
@@ -312,9 +318,9 @@ cp -R $GTKSTACK_ROOT/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.so $Loaders
 
 cat > pangorc <<EOF 
 [Pango]
-ModulesPath=$GTKSTACK_ROOT/lib/pango/1.6.0/modules
+ModulesPath=$GTKSTACK_ROOT/lib/pango/1.8.0/modules
 EOF
-env PANGO_RC_FILE=pangorc $GTKSTACK_ROOT/bin/pango-querymodules | sed "s?$GTKSTACK_ROOT/lib/pango/1.6.0/?@ROOTDIR@/?" > $Etc/pango.modules.in
+env PANGO_RC_FILE=pangorc $GTKSTACK_ROOT/bin/pango-querymodules | sed "s?$GTKSTACK_ROOT/lib/pango/1.8.0/?@ROOTDIR@/?" > $Etc/pango.modules.in
 rm pangorc
 
 # Ditto for gdk-pixbuf loaders
@@ -385,7 +391,9 @@ done
 cp $BUILD_ROOT/libs/panners/*/lib*.so* $Panners
 
 # Backends
-cp $BUILD_ROOT/libs/backends/*/lib*.so* $Backends
+for backend in jack wavesaudio ; do
+    cp $BUILD_ROOT/libs/backends/$backend/lib*.so* $Backends
+done
 
 # VAMP plugins that we use
 cp $BUILD_ROOT/libs/vamp-plugins/libardourvampplugins.so* $Libraries
@@ -393,8 +401,20 @@ cp $BUILD_ROOT/libs/vamp-plugins/libardourvampplugins.so* $Libraries
 # Suil modules
 cp $ARDOURSTACK_ROOT/lib/suil-0/lib* $Libraries
 
+# VST scanner app (both LXVST as well as WIN-VST, 2in1)
+# (if build with wine: ardour-vst-scanner is a wrapper
+#  script for ardour-vst-scanner.exe.so, if VST is disabled
+#  neither binary nor script exists)
+cp $BUILD_ROOT/libs/fst/ardour-vst-scanner* $APPLIB || true
+
+# vfork wrapper
+cp $BUILD_ROOT/libs/vfork/ardour-exec-wrapper $VFork
+
+# ALSA device reservation tool (if available)
+cp $BUILD_ROOT/libs/ardouralsautil/ardour-request-device $APPLIB/ || true
+
 OURLIBDIR=$BUILD_ROOT/libs
-OURLIBS=$OURLIBDIR/vamp-sdk:$OURLIBDIR/surfaces/control_protocol:$OURLIBDIR/ardour:$OURLIBDIR/midi++2:$OURLIBDIR/pbd:$OURLIBDIR/rubberband:$OURLIBDIR/soundtouch:$OURLIBDIR/gtkmm2ext:$OURLIBDIR/sigc++2:$OURLIBDIR/glibmm2:$OURLIBDIR/gtkmm2/atk:$OURLIBDIR/gtkmm2/pango:$OURLIBDIR/gtkmm2/gdk:$OURLIBDIR/gtkmm2/gtk:$OURLIBDIR/libgnomecanvasmm:$OURLIBDIR/libsndfile:$OURLIBDIR/evoral:$OURLIBDIR/evoral/src/libsmf:$OURLIBDIR/audiographer:$OURLIBDIR/timecode:$OURLIBDIR/taglib:$OURLIBDIR/libltc:$OURLIBDIR/qm-dsp
+OURLIBS=$OURLIBDIR/vamp-sdk:$OURLIBDIR/surfaces/control_protocol:$OURLIBDIR/ardour:$OURLIBDIR/midi++2:$OURLIBDIR/pbd:$OURLIBDIR/rubberband:$OURLIBDIR/soundtouch:$OURLIBDIR/gtkmm2ext:$OURLIBDIR/sigc++2:$OURLIBDIR/glibmm2:$OURLIBDIR/gtkmm2/atk:$OURLIBDIR/gtkmm2/pango:$OURLIBDIR/gtkmm2/gdk:$OURLIBDIR/gtkmm2/gtk:$OURLIBDIR/canvas:$OURLIBDIR/libsndfile:$OURLIBDIR/evoral:$OURLIBDIR/evoral/src/libsmf:$OURLIBDIR/audiographer:$OURLIBDIR/timecode:$OURLIBDIR/taglib:$OURLIBDIR/libltc:$OURLIBDIR/qm-dsp:$OURLIBDIR/ardouralsautil
 
 echo $OURLIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
 
@@ -453,6 +473,8 @@ while [ true ] ; do
                        if echo $dep | grep -qs 'libc\.' ; then continue; fi
                        # don't include libstdc++
                        if echo $dep | grep -qs libstdc++ ; then continue; fi
+                        # don't include libdbus
+                       if echo $dep | grep -qs libdbus ; then continue; fi
 
                        base=`basename $dep`
                        if ! test -f $Libraries/$base; then
@@ -506,13 +528,19 @@ echo "Copying other stuff to $APPDIR  ..."
 #cp $BUILD_ROOT/gtk2_ardour/ergonomic-us.bindings      $Etc
 cp $BUILD_ROOT/gtk2_ardour/mnemonic-us.bindings  $Etc
 cp $BUILD_ROOT/gtk2_ardour/ardour.menus $Etc
-cp ../../ardour_system.rc $Etc/ardour_system.rc
-cp $BUILD_ROOT/gtk2_ardour/ardour3_ui_*.rc $Etc
+cp ../../system_config $Etc/system_config
+cp $BUILD_ROOT/gtk2_ardour/ui_light.rc $Etc
+cp $BUILD_ROOT/gtk2_ardour/ui_light.rc $Etc
+cp $BUILD_ROOT/gtk2_ardour/light_fonts.rc $Etc
+cp $BUILD_ROOT/gtk2_ardour/dark_fonts.rc $Etc
+cp $BUILD_ROOT/gtk2_ardour/light_styles.rc $Etc
+cp $BUILD_ROOT/gtk2_ardour/dark_styles.rc $Etc
+cp $BUILD_ROOT/gtk2_ardour/widgets.rc $Etc
+cp $BUILD_ROOT/gtk2_ardour/ui_default.conf $Etc
+cp $BUILD_ROOT/gtk2_ardour/ui_default.conf $Etc/ardour3_ui.conf
 
 # these are copied straight from the source tree
 
-cp ../../gtk2_ardour/ardour3_ui_default.conf $Etc/ardour3_ui_default.conf
-cp ../../gtk2_ardour/ardour3_ui_default.conf $Etc/ardour3_ui.conf
 cp ../../instant.xml $Etc/instant.xml
 cp ../../gtk2_ardour/step_editing.bindings $Etc
 cp ../../gtk2_ardour/mixer.bindings $Etc
@@ -531,8 +559,12 @@ fi
 # share stuff
 
 cp -R ../../gtk2_ardour/splash.png $Shared
+cp -R ../../gtk2_ardour/small-splash.png $Shared
 cp -R ../../gtk2_ardour/ArdourMono.ttf $Shared
 
+# install bundled LV2s to <app>/lib/LV2/
+cp -R $BUILD_ROOT/libs/LV2 $APPLIB/
+
 # go through and recursively remove any .svn dirs in the bundle
 for svndir in `find $APPDIR -name .svn -type d`; do
        rm -rf $svndir
@@ -565,7 +597,7 @@ fi
 #
 # Add the uninstaller
 #
-sed -e "s/%REPLACE_PGM%/${APPNAME}/" -e "s/%REPLACE_VENDOR%/${VENDOR}/" -e "s/%REPLACE_VERSION%/${version}/" -e "s/%REPLACE_TYPE%/${BUILDTYPE}/" < uninstall.sh.in > $APPBIN/${APP_VER_NAME}.uninstall.sh
+sed -e "s/%REPLACE_PGM%/${APPNAME}/" -e "s/%REPLACE_VENDOR%/${VENDOR}/" -e "s/%REPLACE_VERSION%/${release_version}/" -e "s/%REPLACE_TYPE%/${BUILDTYPE}/" < uninstall.sh.in > $APPBIN/${APP_VER_NAME}.uninstall.sh
 chmod a+x $APPBIN/${APP_VER_NAME}.uninstall.sh
 
 #Sanity Check file