13
0
livetrax/tools/linux_packaging/ardour.sh.in
Robin Gareus a44124937e
Allow to use ardour --gdb on modern systems
gdb indirectl tdepends on recent glib, so we have to set
LD_LIBRARY_PATH after gdb has started. This fixes:

```
gdb: symbol lookup error: /lib64/libbabeltrace.so.1: undefined symbol: g_string_free_and_steal
```
2024-02-14 15:29:22 +01:00

56 lines
1.5 KiB
Bash

#!/bin/sh
# This is Linux-specific startup script for a bundled version of Ardour
checkdebug(){
for arg in "$@"
do
case "$arg" in
--gdb )
DEBUG="T"
esac
done
}
checkdebug "$@"
# 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
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
# this triggers code in main() that will reset runtime environment variables
# to point to directories inside the ardour package
export UBUNTU_MENUPROXY=""
export ARDOUR_BUNDLED=true
# NSM needs a path to this script
export ARDOUR_SELF=`basename "$0"`
# 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}
if [ "T" = "$DEBUG" ]; then
export ARDOUR_INSIDE_GDB=1
exec gdb --args \
env LD_LIBRARY_PATH=$INSTALL_DIR/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \
$INSTALL_DIR/bin/%EXENAME%-%VER%
else
export LD_LIBRARY_PATH=$INSTALL_DIR/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
exec $INSTALL_DIR/bin/%EXENAME%-%VER% "$@"
fi