Re: command line limit in mingw-make

Jonathan Liu <[email protected]> Wed, 07 Nov 2012 22:52:26 +1100
Newsgroups gmane.comp.gnu.make.windows
Message-ID <[email protected]>
On 19/10/2012 8:51 PM, Eli Zaretskii wrote:
>> Date: Fri, 19 Oct 2012 19:34:01 +1100
>> From: Jonathan Liu<[email protected]>
>> CC: [email protected], [email protected]
>>
>> On 13/10/2012 11:19 PM, Eli Zaretskii wrote:
>>> Sigh... nothing is ever as simple as it looks.  I needed the
>>> additional patch below to get Make to work correctly when " is removed
>>> from sh_chars_dos.  Without this, it would work incorrectly when the
>>> command line used escaped quotes inside quotes, like in "foo=\"bar\"".
>>>
>>> Please try using this change in your future tests.
>>>
>>> --- job.c~	2012-01-16 15:46:46.000000000 +0200
>>> +++ job.c	2012-10-13 13:56:37.708375000 +0200
>>> @@ -2660,6 +2667,10 @@ construct_command_argv_internal (char *l
>>>    	     quotes have the same effect.  */
>>>    	  else if (instring == '"'&&   strchr ("\\$`", *p) != 0&&   unixy_shell)
>>>    	    goto slow;
>>> +#ifdef WINDOWS32
>>> +	  else if (instring == '"'&&   strncmp (p, "\\\"", 2) == 0)
>>> +	    *ap++ = *++p;
>>> +#endif
>>>    	  else
>>>    	    *ap++ = *p;
>>>    	}
>> I have applied the change to my local copy. Seems to be working okay.
> Thanks.  Please report any findings.
>
>> I don't think the Makefiles that I use have \" inside quotes though.
> That's okay, I have plenty...
No problems yet so far. Using mingw32-make with these patches: 
https://github.com/niXman/mingw-builds/tree/master/patches/make

Regards,
Jonathan