## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- import os import sys import Params all_modules = [ 'core', 'common', 'simulator', 'node', 'internet-node', 'devices/p2p', 'applications', ] def set_options(opt): opt.sub_options('simulator') opt.add_option('--disable-rpath', help=("Don't link programs with rpath"), action="store_true", default=False, dest='disable_rpath') def configure(conf): conf.sub_config('core') conf.sub_config('simulator') conf.env['DISABLE_RPATH'] = Params.g_options.disable_rpath def build(bld): ## Add a global RPATH pointing to each module, so that programs can find the libs ## Note: this is slightly evil; we get away because our programs ## and libs are not supposed to be installed system wide. env = bld.env_of_name('default') if not env['DISABLE_RPATH']: for module in all_modules: node = bld.m_curdirnode.find_dir(module) if sys.platform == 'win32': os.environ["PATH"] = ';'.join([os.environ["PATH"], node.abspath(env)]) else: env.append_value('RPATH', '-Wl,-rpath=%s' % (node.abspath(env),)) bld.add_subdirs(all_modules)