From 94fffe6305887d3dbd73b8ce30787f0456c53e9a Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Tue, 13 Sep 2011 17:21:44 +0100 Subject: [PATCH] waf1.6: remove code not needed, fix static build, cleanup --- wscript | 56 ++++++++++++-------------------------------------------- 1 file changed, 12 insertions(+), 44 deletions(-) diff --git a/wscript b/wscript index 29b3b5395..0e2778628 100644 --- a/wscript +++ b/wscript @@ -565,6 +565,13 @@ def create_ns3_program(bld, name, dependencies=('core',)): # Each of the modules this program depends on has its own library. program.ns3_module_dependencies = ['ns3-'+dep for dep in dependencies] program.includes = "# #/.." + program.use = program.ns3_module_dependencies + if program.env['ENABLE_STATIC_NS3']: + if sys.platform == 'darwin': + program.env.STLIB_MARKER = '-Wl,-all_load' + else: + program.env.STLIB_MARKER = '-Wl,--whole-archive,-Bstatic' + program.env.SHLIB_MARKER = '-Wl,-Bdynamic,--no-whole-archive' return program def register_ns3_script(bld, name, dependencies=('core',)): @@ -601,22 +608,6 @@ def add_scratch_programs(bld): obj.name = obj.target -def _add_ns3_program_missing_deps(bld, program): - deps_found = program.ns3_module_dependencies - program.use = getattr(program, "use", []) + [dep #+ "--lib" - for dep in deps_found] - if program.env['ENABLE_STATIC_NS3']: - if sys.platform == 'darwin': - program.env.append_value('LINKFLAGS', '-Wl,-all_load') - for dep in deps_found: - program.env.append_value('LINKFLAGS', '-l' + dep) - else: - program.env.append_value('LINKFLAGS', '-Wl,--whole-archive,-Bstatic') - for dep in deps_found: - program.env.append_value('LINKFLAGS', '-l' + dep) - program.env.append_value('LINKFLAGS', '-Wl,-Bdynamic,--no-whole-archive') - - def _get_all_task_gen(self): for group in self.groups: for taskgen in group: @@ -762,35 +753,10 @@ def build(bld): bld.add_subdirs('bindings/python') - ## do a topological sort on the modules graph - dep_graph = [] - for gen in bld.all_task_gen: - if type(gen).__name__ in ['ns3module_taskgen']: - for dep in gen.dependencies: - dep_graph.append(("ns3-"+dep, gen.name)) - dep_graph.sort() - sys.path.insert(0, "bindings/python") - from topsort import topsort - sorted_ns3_modules = topsort(dep_graph) - #print sorted_ns3_modules - - # we need to post() the ns3 modules, so they create libraries underneath, and programs can list them in uselib_local - for module in sorted_ns3_modules: - gen = bld.get_tgen_by_name(module) - if type(gen).__name__ in ['ns3module_taskgen']: - gen.post() - for lib in gen.libs: - lib.post() - # Process this subfolder here after the lists of enabled modules # and module test libraries have been set. bld.add_subdirs('utils') - for gen in bld.all_task_gen: - if not getattr(gen, "is_ns3_program", False) or not hasattr(gen, "ns3_module_dependencies"): - continue - _add_ns3_program_missing_deps(bld, gen) - if Options.options.run: # Check that the requested program name is valid program_name, dummy_program_argv = wutils.get_run_program(Options.options.run, wutils.get_command_template(env)) @@ -807,6 +773,8 @@ def build(bld): _doxygen(bld) raise SystemExit(0) + + def shutdown(ctx): bld = wutils.bld if wutils.bld is None: @@ -836,8 +804,7 @@ def shutdown(ctx): print # Write the build status file. - build_status_file = os.path.join(bld.out_dir, #env['NS3_ACTIVE_VARIANT'], - 'build-status.py') + build_status_file = os.path.join(bld.out_dir, 'build-status.py') out = open(build_status_file, 'w') out.write('#! /usr/bin/env python\n') out.write('\n') @@ -870,13 +837,14 @@ def shutdown(ctx): check_shell(bld) -check_context = Build.BuildContext +check_context = Build.BuildContext def check(bld): """run the equivalent of the old ns-3 unit tests using test.py""" env = wutils.bld.env wutils.run_python_program("test.py -n -c core", env) + class print_introspected_doxygen_task(Task.TaskBase): after = 'cc cxx link' color = 'BLUE'