13
0

Consolidate headless startup scripts and make hardev work again

This fixes an issue with inconsistent startup scripts.
LD_LIBRARY_PATH was incomplete since at least 5.0 (5.12 is broken, too)
likewise ctrl surface path were outdated, etc.

Prefer to use `gtk2_ardour/ardev_common.sh.in` as the central
point to define environment variables for running Ardour from
the source-tree.
Other start scripts e.g. `vst/ardevst` already did this.
This commit is contained in:
Robin Gareus 2019-07-02 17:33:56 +02:00
parent 08f8b810d5
commit 1801c33ee4
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
5 changed files with 19 additions and 69 deletions

View File

@ -1,5 +1,12 @@
#!/bin/sh
. `dirname "$0"`/../build/headless/hardev_common_waf.sh
TOP=`dirname "$0"`/..
. $TOP/build/gtk2_ardour/ardev_common_waf.sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export ARDOUR_INSIDE_GDB=1
exec gdb --args $TOP/$EXECUTABLE $@
if test -n "`which gdb`"; then
exec gdb --args $TOP/build/headless/hardour-$ARDOURVERSION "$@"
fi
if test -n "`which lldb`"; then
exec lldb -- $TOP/build/headless/hardour-$ARDOURVERSION "$@"
fi
echo "neither gdb nor lldb was found."

View File

@ -1,4 +1,5 @@
#!/bin/sh
. `dirname "$0"`/../build/headless/hardev_common_waf.sh
TOP=`dirname "$0"`/..
. $TOP/build/gtk2_ardour/ardev_common_waf.sh
export UBUNTU_MENUPROXY=""
exec $TOP/$EXECUTABLE "$@"
exec $TOP/build/headless/hardour-$ARDOURVERSION "$@"

View File

@ -1,39 +0,0 @@
TOP=`dirname "$0"`/..
#export G_DEBUG=fatal_criticals
libs=$TOP/@LIBS@
#
# when running ardev, the various parts of Ardour have not been consolidated into the locations that they
# would normally end up after an install. We therefore need to set up environment variables so that we
# can find all the components.
#
export ARDOUR_PATH=$TOP/gtk2_ardour/icons:$TOP/gtk2_ardour/pixmaps:$TOP/build/gtk2_ardour:$TOP/gtk2_ardour:.
export ARDOUR_SURFACES_PATH=$libs/surfaces/osc:$libs/surfaces/generic_midi:$libs/surfaces/tranzport:$libs/surfaces/powermate:$libs/surfaces/mackie:$libs/surfaces/wiimote
export ARDOUR_PANNER_PATH=$libs/panners
export ARDOUR_DATA_PATH=$TOP:$TOP/build:$TOP/gtk2_ardour:$TOP/build/gtk2_ardour:.
export ARDOUR_MIDIMAPS_PATH=$TOP/midi_maps:.
export ARDOUR_MCP_PATH=$TOP/mcp:.
export ARDOUR_EXPORT_FORMATS_PATH=$TOP/export:.
export ARDOUR_BACKEND_PATH=$libs/backends/jack
#
# even though we set the above variables, ardour requires that these
# two also be set. the above settings will override them.
#
export ARDOUR_CONFIG_PATH=$TOP:$TOP/gtk2_ardour:$TOP/build:$TOP/build/gtk2_ardour
export ARDOUR_DLL_PATH=$libs
export GTK_PATH=~/.ardour3:$libs/clearlooks-newer
export VAMP_PATH=$libs/vamp-plugins${VAMP_PATH:+:$VAMP_PATH}
export LD_LIBRARY_PATH=$libs/qm-dsp:$libs/vamp-sdk:$libs/surfaces:$libs/surfaces/control_protocol:$libs/ardour:$libs/midi++2:$libs/pbd:$libs/rubberband:$libs/soundtouch:$libs/gtkmm2ext:$libs/gnomecanvas:$libs/libsndfile:$libs/appleutility:$libs/taglib:$libs/evoral:$libs/evoral/src/libsmf:$libs/audiographer:$libs/temporal:$libs/libltc:$libs/canvas:$libs/ardouralsautil${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
# DYLD_LIBRARY_PATH is for darwin.
export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH
ARDOURVERSION=@VERSION@
EXECUTABLE=@EXECUTABLE@

View File

@ -1,8 +1,12 @@
#!/bin/sh
. `dirname "$0"`/../build/headless/hardev_common_waf.sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH
VALGRIND_OPTIONS="$VALGRIND_OPTIONS --num-callers=50"
VALGRIND_OPTIONS="$VALGRIND_OPTIONS --error-limit=no"
#VALGRIND_OPTIONS="$VALGRIND_OPTIONS --leak-check=full --leak-resolution=high"
#VALGRIND_OPTIONS="$VALGRIND_OPTIONS --show-leak-kinds=all -v"
#VALGRIND_OPTIONS="$VALGRIND_OPTIONS --log-file=/tmp/hardour-%p.log"
TOP=`dirname "$0"`/..
. $TOP/build/gtk2_ardour/ardev_common_waf.sh
if uname | grep -q arwin; then
OBJSUPP="--suppressions=${TOP}/tools/objc.supp"
fi
@ -12,4 +16,4 @@ exec valgrind --tool=memcheck \
--track-origins=yes \
--suppressions=${TOP}/tools/valgrind.supp \
$OBJSUPP \
$TOP/$EXECUTABLE --novst "$@"
$TOP/build/headless/hardour-$ARDOURVERSION --novst "$@"

View File

@ -74,26 +74,3 @@ def build(bld):
if bld.is_defined('NEED_INTL'):
obj.linkflags = ' -lintl'
# Wrappers
wrapper_subst_dict = {
'INSTALL_PREFIX' : bld.env['PREFIX'],
'LIBDIR' : os.path.normpath(bld.env['LIBDIR']),
'DATADIR' : os.path.normpath(bld.env['DATADIR']),
'CONFDIR' : os.path.normpath(bld.env['CONFDIR']),
'LIBS' : 'build/libs',
'VERSION' : bld.env['VERSION'],
'EXECUTABLE' : 'build/headless/hardour-' + str(bld.env['VERSION'])
}
def set_subst_dict(obj, dict):
for i in dict:
setattr(obj, i, dict[i])
obj = bld(features = 'subst')
obj.source = 'hardev_common.sh.in'
obj.target = 'hardev_common_waf.sh'
obj.chmod = Utils.O755
obj.dict = wrapper_subst_dict
set_subst_dict(obj, wrapper_subst_dict)