ardour/gtk2_ardour/ardour.sh.in

76 lines
2.2 KiB
Bash

#!/bin/sh
#
# 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 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"
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
#
# Running Ardour requires these 3 variables to be set
#
export ARDOUR_DATA_PATH=@DATADIR@
export ARDOUR_CONFIG_PATH=@CONFDIR@
export ARDOUR_DLL_PATH=@LIBDIR@
#
# disable ubuntu global menu, causes crash in libappmenu-gtk-module.so
#
export UBUNTU_MENUPROXY=""
#
# 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
--ddd) DEBUGGER=ddd; shift ;;
-g|--gdb) DEBUGGER=gdb; shift ;;
--lldb) DEBUGGER=lldb; shift ;;
esac
fi
exec $DEBUGGER @LIBDIR@/ardour-@VERSION@ "$@"