On 3/09/2012 3:20 AM, Eli Zaretskii wrote:
Date: Sun, 02 Sep 2012 21:26:14 +1000
From: Jonathan Liu<net...@gmail.com>
CC: Joe Burmeister<joe.burmeis...@codethink.co.uk>, make-w32@gnu.org

A quick test with CreateProcess seams to show it's not necessary for
this to trigger an intermediate batch file.
Probably.  Can you try building make.exe with MinGW, after removing
the " character from sh_chars_dos[] defined on job.c under WINDOWS32?

(Building a MinGW Make requires to run the build_w32.bat batch file;
see the file README.W32 for instructions.)
I have removed the " character from sh_chars_dos and it works.
I can now build qt5 qtwebkit which has really long command lines (around
12000 characters long). Also, quoted filenames that have spaces still
work fine in Makefiles.

Could this be change applied to CVS?
I'll add this to my TODO.  Thanks for testing.
Patch attached for reference.
--- make-3.82.orig/job.c
+++ make-3.82/job.c
@@ -2367,7 +2367,7 @@
                             "unset", "unsetenv", "version",
                             0 };
 #elif defined (WINDOWS32)
-  static char sh_chars_dos[] = "\"|&<>";
+  static char sh_chars_dos[] = "|&<>";
   static char *sh_cmds_dos[] = { "assoc", "break", "call", "cd", "chcp",
                                 "chdir", "cls", "color", "copy", "ctty",
                                 "date", "del", "dir", "echo", "echo.",
_______________________________________________
Make-w32 mailing list
Make-w32@gnu.org
https://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to