X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour.sh.in;h=56555293a9e85f3a203d51a7880eb7c6a10d6568;hb=1df47e9fb4c4561cc67e860c8b1ceec9bf0314da;hp=beed436cbe4108d30fc5038b333930be07a7f733;hpb=64b3e3be80700af86014fb0ad501e380171ba8cd;p=ardour.git diff --git a/gtk2_ardour/ardour.sh.in b/gtk2_ardour/ardour.sh.in index beed436cbe..56555293a9 100644 --- a/gtk2_ardour/ardour.sh.in +++ b/gtk2_ardour/ardour.sh.in @@ -1,20 +1,68 @@ #!/bin/sh -export GTK_PATH=%INSTALL_PREFIX%/%LIBDIR%/ardour2:$GTK_PATH +# +# This script runs an installed version of Ardour. It sets a few environment variables +# and does a few checks before exec'ing the real executable. +# -export LD_LIBRARY_PATH=%INSTALL_PREFIX%/%LIBDIR%/ardour2:$LD_LIBRARY_PATH -# DYLD_LIBRARY_PATH is for Darwin -export DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH +export GTK_PATH=@CONFDIR@:@LIBDIR@${GTK_PATH:+:$GTK_PATH} + +export LD_LIBRARY_PATH=@LIBDIR@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} + +## Memlock check MLOCK_LIMIT=$(ulimit -l) if [ "$MLOCK_LIMIT" != "unlimited" ]; then echo "WARNING: Your system has a limit for maximum amount of locked memory!" - echo "This might cause Ardour to run out of memory before your system runs out of memory. You can view the memory limit with 'ulimit -l', and it is normally controlled by /etc/security/limits.conf" + echo " This might cause Ardour to run out of memory before your system runs" + echo " out of memory. You can view the memory limit with 'ulimit -l', and it" + echo " is normally controlled by /etc/security/limits.conf" + echo "" + +fi + +## Glib atomic test + +GLIB=$(ldd @LIBDIR@/ardour-@VERSION@ 2> /dev/null | grep glib-2.0 | sed 's/.*=> \([^ ]*\)/\1/;s/ .*//') +if ! type nm >/dev/null 2>&1 || [ "$GLIB" = "" ]; then + echo "WARNING: Could not check your glib-2.0 for mutex locking atomic operations." + echo "" +elif [ $(nm -D --radix=dec --defined-only -S $GLIB | grep -w g_atomic_int_add | cut -d ' ' -f 2) -gt 32 ]; then + echo "WARNING: Your system contains a suspect libglib-2.0. Your version might be built" + echo " to use mutex locking atomic operations. This is a fallback solution to" + echo " a more robust hardware supported atomicity. It might cause reduced " + echo " performance and/or deadlocks. Please contact your distribution support" + echo " about this issue." + echo " Unfortunately this check is not 100% accurate, so this might not be" + echo " the case with your system." + echo "" fi -ulimit -c unlimited +# +# Running Ardour requires these 3 variables to be set +# -exec %INSTALL_PREFIX%/%LIBDIR%/ardour2/ardour-%VERSION% $* +export ARDOUR_DATA_PATH=@DATADIR@ +export ARDOUR_CONFIG_PATH=@CONFDIR@ +export ARDOUR_DLL_PATH=@LIBDIR@ +# +# NSM needs a path to this script +# + +export ARDOUR_SELF=$(basename "$0") + +# +# VAMP has its own lookup path +# + +export VAMP_PATH=@LIBDIR@/vamp${VAMP_PATH:+:$VAMP_PATH} + +if [ $# -gt 0 ] ; then + case $1 in + -g|--gdb) GDB=gdb; shift ;; + esac +fi +exec $GDB @LIBDIR@/ardour-@VERSION@ "$@"