--- a/wscript Wed Oct 03 17:29:27 2007 +0100
+++ b/wscript Wed Oct 03 17:33:45 2007 +0100
@@ -184,6 +184,7 @@
lib.target = 'ns3'
lib.add_objects = list(bld.env_of_name('default')['NS3_MODULES'])
+
def shutdown():
#import UnitTest
#ut = UnitTest.unit_test()
@@ -194,7 +195,7 @@
#ut.print_results()
if Params.g_commands['check']:
- run_program('run-tests')
+ _run_waf_check()
if Params.g_options.lcov_report:
lcov_report()
@@ -206,6 +207,19 @@
if Params.g_options.command_template:
Params.fatal("Option --command-template requires the option --run to be given")
+def _run_waf_check():
+ ## generate the trace sources list docs
+ env = Params.g_build.env_of_name('default')
+ proc_env = _get_proc_env()
+ prog = _find_program('print-trace-sources', env).m_linktask.m_outputs[0].abspath(env)
+ out = open('doc/trace-source-list.h', 'w')
+ if subprocess.Popen([prog], stdout=out, env=proc_env).wait():
+ raise SystemExit(1)
+ out.close()
+
+ run_program('run-tests')
+
+
def _find_program(program_name, env):
launch_dir = os.path.abspath(Params.g_cwd_launch)
found_programs = []
@@ -224,7 +238,7 @@
raise ValueError("program '%s' not found; available programs are: %r"
% (program_name, found_programs))
-def _run_argv(argv, os_env=None):
+def _get_proc_env(os_env=None):
env = Params.g_build.env_of_name('default')
if sys.platform == 'linux2':
pathvar = 'LD_LIBRARY_PATH'
@@ -248,7 +262,10 @@
proc_env[pathvar] = os.pathsep.join(list(env['NS3_MODULE_PATH']) + [proc_env[pathvar]])
else:
proc_env[pathvar] = os.pathsep.join(list(env['NS3_MODULE_PATH']))
+ return proc_env
+def _run_argv(argv, os_env=None):
+ proc_env = _get_proc_env(os_env)
retval = subprocess.Popen(argv, env=proc_env).wait()
if retval:
Params.fatal("Command %s exited with code %i" % (argv, retval))
@@ -333,11 +350,14 @@
def doxygen():
+ if not os.path.exists('doc/trace-source-list.h'):
+ Params.warning("doc/trace-source-list.h does not exist; run waf check to generate it.")
+
+ ## run doxygen
doxygen_config = os.path.join('doc', 'doxygen.conf')
if subprocess.Popen(['doxygen', doxygen_config]).wait():
raise SystemExit(1)
-
def lcov_report():
env = Params.g_build.env_of_name('default')
variant_name = env['NS3_ACTIVE_VARIANT']