wscript
changeset 3282 5e57c2f1cfb7
parent 3281 bc61af712d6e
child 3283 9dd59253d39d
child 3284 510fed881852
--- a/wscript	Tue Jun 17 13:37:04 2008 -0700
+++ b/wscript	Wed Jun 18 15:21:08 2008 +0100
@@ -244,6 +244,22 @@
             obj.source = "scratch/%s" % filename
             obj.target = "scratch/%s" % name
 
+
+##
+## This replacement spawn function increases the maximum command line length to 32k
+##
+def _exec_command_interact_win32(s):
+    if Params.g_verbose:
+        print s
+    startupinfo = subprocess.STARTUPINFO()
+    startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
+    proc = subprocess.Popen(s, shell=False, startupinfo=startupinfo)
+    stat = proc.wait()
+    if stat & 0xff:
+        return stat | 0x80
+    return stat >> 8
+
+
 def build(bld):
     if Params.g_options.no_task_lines:
         import Runner
@@ -251,6 +267,10 @@
             pass
         Runner.printout = null_printout
 
+    if sys.platform == 'win32':
+        import Runner
+        Runner.exec_command = _exec_command_interact_win32
+
     Params.g_cwd_launch = Params.g_build.m_curdirnode.abspath()
     bld.create_ns3_program = types.MethodType(create_ns3_program, bld)
     variant_name = bld.env_of_name('default')['NS3_ACTIVE_VARIANT']