src/wscript
author Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
Sun, 13 May 2007 17:37:30 +0100
changeset 603 f607815f38f9
parent 600 fd944dbf33c6
child 648 0d190fe2b5ea
permissions -rw-r--r--
Fix a small waf script bug, in the rpath code, that only appears when compiling for the first time.

## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-

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)
            env.append_value('RPATH', '-Wl,--rpath=%s' % (node.abspath(env),))
    
    bld.add_subdirs(all_modules)