bug 1869: append local build directory before recursing into modules

This commit is contained in:
Tom Henderson
2014-03-13 06:37:04 -07:00
parent 19db0e31cb
commit 1b4424dbcc
2 changed files with 14 additions and 2 deletions

View File

@@ -59,11 +59,16 @@ def configure(conf):
if not conf.env['LIB_BOOST']:
conf.env['LIB_BOOST'] = []
# Append blddir to the module path before recursing into modules
blddir = os.path.abspath(os.path.join(conf.bldnode.abspath(), conf.variant))
conf.env.append_value('NS3_MODULE_PATH', blddir)
for module in all_modules:
conf.recurse(module, mandatory=False)
blddir = os.path.abspath(os.path.join(conf.bldnode.abspath(), conf.variant))
conf.env.append_value('NS3_MODULE_PATH', blddir)
# Remove duplicate path items
conf.env['NS3_MODULE_PATH'] = wutils.uniquify_list(conf.env['NS3_MODULE_PATH'])
if Options.options.enable_rpath:
conf.env.append_value('RPATH', '-Wl,-rpath,%s' % (os.path.join(blddir),))

View File

@@ -228,3 +228,10 @@ def run_python_program(program_string, env, visualize=False):
return run_argv([env['PYTHON'][0]] + execvec, env, cwd=cwd)
def uniquify_list(seq):
"""Remove duplicates while preserving order
From Dave Kirby http://www.peterbe.com/plog/uniqifiers-benchmark
"""
seen = set()
return [ x for x in seq if x not in seen and not seen.add(x)]