ardour/tools/linux_packaging/ardour.sh.in

63 lines
1.7 KiB
Bash

#!/bin/sh
# This is Linux-specific startup script for a bundled version of Ardour
ARGS=""
while [ $# -gt 0 ] ; do
case $1 in
--debug)
DEBUG="T";
shift ;;
*)
ARGS=$ARGS$1" ";
shift; ;;
esac
done
# LD_LIBRARY_PATH needs to be set here so that epa can swap between the original and the bundled version
# (the original one will be stored in PREBUNDLE_ENV)
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export PREBUNDLE_ENV="$(env)"
BIN_DIR=$(dirname $(readlink -f $0))
INSTALL_DIR=$(dirname $BIN_DIR)
LIB_DIR=$INSTALL_DIR/lib
ETC_DIR=$INSTALL_DIR/etc
USER_ARDOUR_DIR=$HOME/.config/ardour3
if [ ! -d $USER_ARDOUR_DIR ] ; then
mkdir -p $USER_ARDOUR_DIR || exit 1
fi
# this triggers code in main() that will reset runtime environment variables
# to point to directories inside the ardour package
export ARDOUR_BUNDLED=true
# this is edited by the build script to include relevant environment variables
%ENV%
# Disable extra modules from being loaded by gtk (example, libcanberra-gtk-module.so)
export GTK_MODULES=""
# Set this so that the executable will find all the right libraries inside the bundle
export LD_LIBRARY_PATH=$INSTALL_DIR/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
# create install-location-dependent config files for Pango and GDK image loaders
# We have to do this every time because its possible that BIN_DIR has changed
sed "s?@ROOTDIR@/modules?$LIB_DIR/modules?" < $ETC_DIR/pango.modules.in > $USER_ARDOUR_DIR/pango.modules
sed "s?@ROOTDIR@/loaders?$LIB_DIR/loaders?" < $ETC_DIR/gdk-pixbuf.loaders.in > $USER_ARDOUR_DIR/gdk-pixbuf.loaders
if [ "T" = "$DEBUG" ]; then
export ARDOUR_INSIDE_GDB=1
exec gdb $INSTALL_DIR/bin/ardour-%VER%
else
exec $INSTALL_DIR/bin/ardour-%VER% $ARGS
fi