From ae8f10ae470fda24b1f024d6480cf761941a025b Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Sun, 15 Jul 2007 13:04:47 +0100 Subject: [PATCH] WAF: derive the variable NS3_MODULES from the 'all_modules' list in src/wscript, instead of requiring every module to define a configure function to register themselves. This way module registration is done in one place only: src/wscript. Requires module naming conventions, though. --- src/applications/wscript | 5 ----- src/common/wscript | 3 --- src/core/wscript | 2 -- src/devices/p2p/wscript | 4 ---- src/internet-node/wscript | 4 ---- src/node/wscript | 4 ---- src/simulator/wscript | 2 -- src/wscript | 4 +++- 8 files changed, 3 insertions(+), 25 deletions(-) diff --git a/src/applications/wscript b/src/applications/wscript index 85fa0513b..0874d58ab 100644 --- a/src/applications/wscript +++ b/src/applications/wscript @@ -1,10 +1,5 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- - -def configure(conf): - conf.env.append_value('NS3_MODULES', 'ns3-applications') - - def build(bld): obj = bld.create_obj('cpp', 'shlib') obj.name = 'ns3-applications' diff --git a/src/common/wscript b/src/common/wscript index c6f3be7f0..6efd5bfc9 100644 --- a/src/common/wscript +++ b/src/common/wscript @@ -1,8 +1,5 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- -def configure(conf): - conf.env.append_value('NS3_MODULES', 'ns3-common') - def build(bld): common = bld.create_obj('cpp', 'shlib') common.name = 'ns3-common' diff --git a/src/core/wscript b/src/core/wscript index ce9795c8e..222539171 100644 --- a/src/core/wscript +++ b/src/core/wscript @@ -3,8 +3,6 @@ import sys def configure(conf): - conf.env.append_value('NS3_MODULES', 'ns3-core') - e = conf.create_header_configurator() e.mandatory = False e.name = 'stdlib.h' diff --git a/src/devices/p2p/wscript b/src/devices/p2p/wscript index c4c0f7952..73b27d061 100644 --- a/src/devices/p2p/wscript +++ b/src/devices/p2p/wscript @@ -1,10 +1,6 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- -def configure(conf): - conf.env.append_value('NS3_MODULES', 'ns3-p2p') - - def build(bld): p2p = bld.create_obj('cpp', 'shlib') p2p.name = 'ns3-p2p' diff --git a/src/internet-node/wscript b/src/internet-node/wscript index 806861fd3..bf3236159 100644 --- a/src/internet-node/wscript +++ b/src/internet-node/wscript @@ -1,10 +1,6 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- -def configure(conf): - conf.env.append_value('NS3_MODULES', 'ns3-internet-node') - - def build(bld): obj = bld.create_obj('cpp', 'shlib') obj.name = 'ns3-internet-node' diff --git a/src/node/wscript b/src/node/wscript index c608945c7..18419e1df 100644 --- a/src/node/wscript +++ b/src/node/wscript @@ -1,9 +1,5 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- -def configure(conf): - conf.env.append_value('NS3_MODULES', 'ns3-node') - - def build(bld): node = bld.create_obj('cpp', 'shlib') node.name = 'ns3-node' diff --git a/src/simulator/wscript b/src/simulator/wscript index fec0412c0..a940cd25a 100644 --- a/src/simulator/wscript +++ b/src/simulator/wscript @@ -15,8 +15,6 @@ def set_options(opt): def configure(conf): - conf.env.append_value('NS3_MODULES', 'ns3-simulator') - if Params.g_options.high_precision_as_double: conf.add_define('USE_HIGH_PRECISION_DOUBLE', 1) conf.env['USE_HIGH_PRECISION_DOUBLE'] = 1 diff --git a/src/wscript b/src/wscript index 2e2349f10..bc0fb4ff8 100644 --- a/src/wscript +++ b/src/wscript @@ -29,9 +29,11 @@ def configure(conf): blddir = os.path.abspath(os.path.join(conf.m_blddir, conf.env.variant())) for module in all_modules: - conf.sub_config(module) conf.env.append_value('NS3_MODULE_PATH', os.path.join(blddir, 'src', module)) + ## Used to link the 'run-tests' program with all of ns-3 code + conf.env['NS3_MODULES'] = ['ns3-' + module.split('/')[-1] for module in all_modules] + def build(bld): Object.register('ns3header', Ns3Header)