From 6c3b69be9bdfc29ad0c0fa2c028fad0be193e042 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 25 Mar 2010 14:20:45 +1100 Subject: build: honor existing LD_LIBRARY_PATH settings when adding shared lib paths --- buildtools/wafsamba/samba_utils.py | 13 ++++++++++++- source4/selftest/wscript | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index b0a6b1c2a7..814a5771a4 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -60,6 +60,17 @@ def runonce(function): return wrapper +def ADD_LD_LIBRARY_PATH(path): + '''add something to LD_LIBRARY_PATH''' + if 'LD_LIBRARY_PATH' in os.environ: + oldpath = os.environ['LD_LIBRARY_PATH'] + else: + oldpath = '' + newpath = oldpath.split(':') + if not path in newpath: + newpath.append(path) + os.environ['LD_LIBRARY_PATH'] = ':'.join(newpath) + def install_rpath(bld): '''the rpath value for installation''' bld.env['RPATH'] = [] @@ -76,7 +87,7 @@ def build_rpath(bld): bld.env['RPATH_ST'] = [] if bld.env.RPATH_ON_BUILD: return ['-Wl,-rpath=%s' % rpath] - os.environ['LD_LIBRARY_PATH'] = rpath + ADD_LD_LIBRARY_PATH(rpath) return [] diff --git a/source4/selftest/wscript b/source4/selftest/wscript index 31a64cfe11..6c48b8f65b 100644 --- a/source4/selftest/wscript +++ b/source4/selftest/wscript @@ -1,7 +1,7 @@ # selftest main code. import Scripting, os, Options, Utils, Environment, optparse, sys -from samba_utils import RUN_COMMAND +from samba_utils import RUN_COMMAND, ADD_LD_LIBRARY_PATH def set_options(opt): opt.ADD_COMMAND('test', cmd_test) @@ -73,7 +73,7 @@ def cmd_testonly(opt): env.SELFTEST_PREFIX = Options.options.SELFTEST_PREFIX # this is needed for systems without rpath, or with rpath disabled - os.environ['LD_LIBRARY_PATH'] = 'bin/shared' + ADD_LD_LIBRARY_PATH('bin/shared') st_done = os.path.join(env.SELFTEST_PREFIX, 'st_done') if os.path.exists(st_done): -- cgit