--- a/wutils.py Thu Dec 18 22:33:33 2008 -0800
+++ b/wutils.py Mon Dec 29 13:28:54 2008 +0000
@@ -1,15 +1,22 @@
import os
import os.path
-import Params
-import Object
import sys
import pproc as subprocess
import shlex
+
+# WAF modules
import ccroot
+import Options
+import Utils
+import Logs
+import TaskGen
+import Build
+
# these are set from the main wscript file
APPNAME=None
VERSION=None
+
#
# The last part of the path name to use to find the regression traces tarball.
# path will be APPNAME + '-' + VERSION + REGRESSION_SUFFIX + TRACEBALL_SUFFIX,
@@ -20,12 +27,12 @@
def get_command_template(*arguments):
- if Params.g_options.valgrind:
- if Params.g_options.command_template:
- Params.fatal("Options --command-template and --valgrind are conflicting")
+ if Options.options.valgrind:
+ if Options.options.command_template:
+ raise Utils.WafError("Options --command-template and --valgrind are conflicting")
cmd = "valgrind --leak-check=full %s"
else:
- cmd = Params.g_options.command_template or '%s'
+ cmd = Options.options.command_template or '%s'
for arg in arguments:
cmd = cmd + " " + arg
return cmd
@@ -33,9 +40,9 @@
def find_program(program_name, env):
- launch_dir = os.path.abspath(Params.g_cwd_launch)
+ launch_dir = os.path.abspath(Options.cwd_launch)
found_programs = []
- for obj in Object.g_allobjs:
+ for obj in Build.bld.all_task_gen:
if not getattr(obj, 'is_ns3_program', False):
continue
@@ -51,7 +58,7 @@
% (program_name, found_programs))
def get_proc_env(os_env=None):
- env = Params.g_build.env_of_name('default')
+ env = Build.bld.env
if sys.platform == 'linux2':
pathvar = 'LD_LIBRARY_PATH'
elif sys.platform == 'darwin':
@@ -63,7 +70,7 @@
elif sys.platform.startswith('freebsd'):
pathvar = 'LD_LIBRARY_PATH'
else:
- Params.warning(("Don't know how to configure "
+ Logs.warn(("Don't know how to configure "
"dynamic library path for the platform %r;"
" assuming it's LD_LIBRARY_PATH.") % (sys.platform,))
pathvar = 'LD_LIBRARY_PATH'
@@ -78,7 +85,7 @@
else:
proc_env[pathvar] = os.pathsep.join(list(env['NS3_MODULE_PATH']))
- pymoddir = Params.g_build.m_curdirnode.find_dir('bindings/python').abspath(env)
+ pymoddir = Build.bld.path.find_dir('bindings/python').abspath(env)
if 'PYTHONPATH' in proc_env:
proc_env['PYTHONPATH'] = os.pathsep.join([pymoddir] + [proc_env['PYTHONPATH']])
else:
@@ -88,10 +95,10 @@
def run_argv(argv, os_env=None):
proc_env = get_proc_env(os_env)
- #env = Params.g_build.env_of_name('default')
+ #env = Build.bld.env
retval = subprocess.Popen(argv, env=proc_env).wait()
if retval:
- Params.fatal("Command %s exited with code %i" % (argv, retval))
+ raise Utils.WafError("Command %s exited with code %i" % (argv, retval))
return retval
def get_run_program(program_string, command_template=None):
@@ -100,7 +107,7 @@
run_program(program_string, command_template).
"""
#print "get_run_program_argv(program_string=%r, command_template=%r)" % (program_string, command_template)
- env = Params.g_build.env_of_name('default')
+ env = Build.bld.env
if command_template in (None, '%s'):
argv = shlex.split(program_string)
@@ -109,12 +116,13 @@
try:
program_obj = find_program(program_name, env)
except ValueError, ex:
- Params.fatal(str(ex))
+ raise Utils.WafError(str(ex))
- try:
- program_node = program_obj.path.find_build(ccroot.get_target_name(program_obj))
- except AttributeError:
- Params.fatal("%s does not appear to be a program" % (program_name,))
+ program_node = program_obj.path.find_or_declare(ccroot.get_target_name(program_obj))
+ #try:
+ # program_node = program_obj.path.find_build(ccroot.get_target_name(program_obj))
+ #except AttributeError:
+ # raise Utils.WafError("%s does not appear to be a program" % (program_name,))
execvec = [program_node.abspath(env)] + argv[1:]
@@ -124,11 +132,13 @@
try:
program_obj = find_program(program_name, env)
except ValueError, ex:
- Params.fatal(str(ex))
- try:
- program_node = program_obj.path.find_build(ccroot.get_target_name(program_obj))
- except AttributeError:
- Params.fatal("%s does not appear to be a program" % (program_name,))
+ raise Utils.WafError(str(ex))
+
+ program_node = program_obj.path.find_or_declare(ccroot.get_target_name(program_obj))
+ #try:
+ # program_node = program_obj.path.find_build(ccroot.get_target_name(program_obj))
+ #except AttributeError:
+ # raise Utils.WafError("%s does not appear to be a program" % (program_name,))
execvec = shlex.split(command_template % (program_node.abspath(env),))
return program_name, execvec
@@ -142,10 +152,10 @@
"""
dummy_program_name, execvec = get_run_program(program_string, command_template)
former_cwd = os.getcwd()
- if (Params.g_options.cwd_launch):
- os.chdir(Params.g_options.cwd_launch)
+ if (Options.options.cwd_launch):
+ os.chdir(Options.options.cwd_launch)
else:
- os.chdir(Params.g_cwd_launch)
+ os.chdir(Options.cwd_launch)
try:
retval = run_argv(execvec)
finally:
@@ -156,14 +166,14 @@
def run_python_program(program_string):
- env = Params.g_build.env_of_name('default')
+ env = Build.bld.env
execvec = shlex.split(program_string)
former_cwd = os.getcwd()
- if (Params.g_options.cwd_launch):
- os.chdir(Params.g_options.cwd_launch)
+ if (Options.options.cwd_launch):
+ os.chdir(Options.options.cwd_launch)
else:
- os.chdir(Params.g_cwd_launch)
+ os.chdir(Options.cwd_launch)
try:
retval = run_argv([env['PYTHON']] + execvec)
finally: