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.
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Tue, 02 Oct 2007 11:10:31 +0100
changeset 1536 23593050aa96
parent 1533 1e8249c58fda
child 1537 b6ee0d4793a4
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.
wscript
--- 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']