Eli Zaretskii wrote:
I revisited the patch posted there to allow -j without sh.exe, and I'm afraid I
don't understand the patch.
I wrote it quite a while ago... I hope I still remember it right
It does this:
. add "^()" to sh_chars_dos[] in job.c
. use '^' to escape special characters such as \ and " in job.c
. removes the code fragment in main.c that forces job_slots = 1 if sh.exe is
not available
Can someone please explain which part(s) of this patch solve(s) the original
problem?
all of them, with the possible exclusion of the change to sh_chars_dos
(IIRC that controls which strings need to be quoted, but I'm not 100%
sure. If that's true, the change is correct and needed). Caret-escaping
solves the actual problem, it's equivalent to backslash-escaping for
sh.exe, and apparently the issue was that the DOS command.com wasn't
able of any sort of escaping. The change to main.c enables parallel
building with a cmd shell, rather than just with an UNIX shell, since
the escaping issue is "solved"
For that matter, what shell features are required to enable -j on Windows, and
why?
caret-escaping. Why I'm not sure, I just remember -j causes temporary
batch files to be generated and run, and to build the command lines in
them required escaping
_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32