def execute(self): # first we execute the build bld = Context.create_context("build") bld.options = Options.options # provided for convenience bld.cmd = "build" bld.execute() wutils.bld = bld wutils.run_python_program("test.py -n -c core", bld.env)
def shutdown(ctx): bld = wutils.bld if wutils.bld is None: return env = bld.env # Only print the lists if a build was done. if (env['PRINT_BUILT_MODULES_AT_END']): # Print the list of built modules. print print 'Modules built:' names_without_prefix = [] for name in env['NS3_ENABLED_MODULES']: name1 = name[len('ns3-'):] if name not in env.MODULAR_BINDINGS_MODULES: name1 += " (no Python)" names_without_prefix.append(name1) print_module_names(names_without_prefix) print # Print the list of enabled modules that were not built. if env['MODULES_NOT_BUILT']: print 'Modules not built (see ns-3 tutorial for explanation):' print_module_names(env['MODULES_NOT_BUILT']) print # Set this so that the lists won't be printed until the next # build is done. bld.env['PRINT_BUILT_MODULES_AT_END'] = False # Write the build status file. 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') out.write('# Programs that are runnable.\n') out.write('ns3_runnable_programs = ' + str(env['NS3_RUNNABLE_PROGRAMS']) + '\n') out.write('\n') out.write('# Scripts that are runnable.\n') out.write('ns3_runnable_scripts = ' + str(env['NS3_RUNNABLE_SCRIPTS']) + '\n') out.write('\n') out.close() if Options.options.lcov_report: lcov_report(bld) if Options.options.run: wutils.run_program(Options.options.run, env, wutils.get_command_template(env), visualize=Options.options.visualize) raise SystemExit(0) if Options.options.pyrun: wutils.run_python_program(Options.options.pyrun, env, visualize=Options.options.visualize) raise SystemExit(0) if Options.options.shell: raise WafError("Please run `./waf shell' now, instead of `./waf --shell'") if Options.options.check: raise WafError("Please run `./test.py' now, instead of `./waf --check'") check_shell(bld)