summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour.sh.in
blob: 56555293a9e85f3a203d51a7880eb7c6a10d6568 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/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@

#
# 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@ "$@"