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
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make