Follow-up Comment #2, bug #12209 (project make): -- code snippet from function.c:1475++
/* make sure that CreateProcess() has Path it needs */ sync_Path_environment(); if (!process_begin(hProcess, command_argv, envp, command_argv[0], NULL)) { /* register process for wait */ The sync_Path_environment() sets PATH variable to environment, but the process_begin() is called with previously stored envp, so the PATH is set wrong for the first process_begin() call. I would suggest moving the call to sync_Path_environment() before storing the envp, see the patch attached. Easy way to demonstrate the difference is following Makefile with native-win32 version: export PATH=c:/tmp $(warning $(shell path)) $(warning $(shell path)) (file #11414) _______________________________________________________ Additional Item Attachment: File name: make_w32_path_change_fix.txt Size:0 KB _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?12209> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make