make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make'ing make-3.18beta4 under mingw/msys - "undefined referenceto `s


From: KJKHyperion
Subject: Re: make'ing make-3.18beta4 under mingw/msys - "undefined referenceto `sleep'"
Date: Sun, 01 Jan 2006 18:58:56 +0100
User-agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]