Run the program print-trace-sources to generate doc/trace-source-list.h when generating docs. As a side effect, --doxygen is now has to be processed at the end of the build.
--- a/wscript Fri Sep 28 17:13:20 2007 +0100
+++ b/wscript Tue Oct 02 11:10:31 2007 +0100
@@ -167,10 +167,6 @@
run_shell()
raise SystemExit(0)
- if Params.g_options.doxygen:
- doxygen()
- raise SystemExit(0)
-
check_shell()
# process subfolders from here
@@ -183,6 +179,7 @@
lib.target = 'ns3'
lib.add_objects = list(bld.env_of_name('default')['NS3_MODULES'])
+
def shutdown():
#import UnitTest
#ut = UnitTest.unit_test()
@@ -205,6 +202,11 @@
if Params.g_options.command_template:
Params.fatal("Option --command-template requires the option --run to be given")
+ if Params.g_options.doxygen:
+ doxygen()
+ raise SystemExit(0)
+
+
def _find_program(program_name, env):
launch_dir = os.path.abspath(Params.g_cwd_launch)
found_programs = []
@@ -223,7 +225,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'
@@ -247,7 +249,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))
@@ -332,11 +337,21 @@
def doxygen():
+ env = Params.g_build.env_of_name('default')
+
+ ## generate the trace sources list docs
+ 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 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']