wscript
changeset 2158 1bae76be026d
parent 2132 b6599fb46d19
parent 1858 68e1964c19e8
child 2178 763aa96fffd4
equal deleted inserted replaced
2157:2e94b55900ab 2158:1bae76be026d
   148 def create_ns3_program(bld, name, dependencies=('simulator',)):
   148 def create_ns3_program(bld, name, dependencies=('simulator',)):
   149     program = bld.create_obj('cpp', 'program')
   149     program = bld.create_obj('cpp', 'program')
   150     program.name = name
   150     program.name = name
   151     program.target = program.name
   151     program.target = program.name
   152     program.uselib_local = 'ns3'
   152     program.uselib_local = 'ns3'
       
   153     program.ns3_module_dependencies = ['ns3-'+dep for dep in dependencies]
   153     return program
   154     return program
   154 
   155 
   155 
   156 
   156 def build(bld):
   157 def build(bld):
   157     print "Entering directory `%s/build'" % Params.g_build.m_curdirnode.abspath()
   158     print "Entering directory `%s/build'" % Params.g_build.m_curdirnode.abspath()
   176     if Params.g_options.doxygen:
   177     if Params.g_options.doxygen:
   177         doxygen()
   178         doxygen()
   178         raise SystemExit(0)
   179         raise SystemExit(0)
   179 
   180 
   180     # process subfolders from here
   181     # process subfolders from here
       
   182     bld.add_subdirs('lib') # first subdirs are processed last by WAF
   181     bld.add_subdirs('src')
   183     bld.add_subdirs('src')
   182     bld.add_subdirs('samples utils examples tutorial')
   184     bld.add_subdirs('samples utils examples tutorial')
   183 
   185 
   184     ## Create a single ns3 library containing all modules
       
   185     lib = bld.create_obj('cpp', 'shlib')
       
   186     lib.name = 'ns3'
       
   187     lib.target = 'ns3'
       
   188     lib.add_objects = list(bld.env_of_name('default')['NS3_MODULES'])
       
   189 
   186 
   190 
   187 
   191 def shutdown():
   188 def shutdown():
   192     #import UnitTest
   189     #import UnitTest
   193     #ut = UnitTest.unit_test()
   190     #ut = UnitTest.unit_test()
   212 
   209 
   213 def _run_waf_check():
   210 def _run_waf_check():
   214     ## generate the trace sources list docs
   211     ## generate the trace sources list docs
   215     env = Params.g_build.env_of_name('default')
   212     env = Params.g_build.env_of_name('default')
   216     proc_env = _get_proc_env()
   213     proc_env = _get_proc_env()
   217     prog = _find_program('print-introspected-doxygen', env).m_linktask.m_outputs[0].abspath(env)
   214     try:
   218     out = open('doc/introspected-doxygen.h', 'w')
   215         prog = _find_program('print-introspected-doxygen', env).m_linktask.m_outputs[0].abspath(env)
   219     if subprocess.Popen([prog], stdout=out, env=proc_env).wait():
   216     except ValueError: # could happen if print-introspected-doxygen is
   220         raise SystemExit(1)
   217                        # not built because of waf configure
   221     out.close()
   218                        # --enable-modules=xxx
       
   219         pass
       
   220     else:
       
   221         out = open('doc/introspected-doxygen.h', 'w')
       
   222         if subprocess.Popen([prog], stdout=out, env=proc_env).wait():
       
   223             raise SystemExit(1)
       
   224         out.close()
   222 
   225 
   223     run_program('run-tests')
   226     run_program('run-tests')
   224 
   227 
   225 
   228 
   226 def _find_program(program_name, env):
   229 def _find_program(program_name, env):