@@ -153,6 +153,12 @@ def cap_max_workers_in_pool(max_workers):
153153 return max_workers
154154
155155
156+ def escape_for_cmd_exe (arg ):
157+ arg = arg .replace ('<' , '\\ <' )
158+ arg = arg .replace ('>' , '\\ >' )
159+ return arg
160+
161+
156162def run_multiple_processes (commands ,
157163 env = None ,
158164 route_stdout_to_temp_files_suffix = None ,
@@ -205,10 +211,15 @@ def get_finished_process():
205211 stdout = temp_files .get (route_stdout_to_temp_files_suffix )
206212 else :
207213 stdout = None
214+ cmd = commands [i ]
215+ print_compiler_stage (cmd )
208216 if DEBUG :
209- logger .debug ('Running subprocess %d/%d: %s' % (i + 1 , len (commands ), ' ' .join (commands [i ])))
210- print_compiler_stage (commands [i ])
211- proc = subprocess .Popen (commands [i ], stdout = stdout , stderr = None , env = env , cwd = cwd )
217+ logger .debug ('Running subprocess %d/%d: %s' % (i + 1 , len (commands ), ' ' .join (cmd )))
218+ if utils .WINDOWS :
219+ cmd = subprocess .list2cmdline (cmd )
220+ cmd = escape_for_cmd_exe (cmd )
221+ print (cmd )
222+ proc = subprocess .Popen (cmd , stdout = stdout , stderr = None , env = env , cwd = cwd )
212223 processes [i ] = proc
213224 if route_stdout_to_temp_files_suffix :
214225 std_outs .append ((i , stdout .name ))
0 commit comments