make-w32
[Top][All Lists]
Advanced

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

Re: Windows make invoking cygwin sh bug


From: Eli Zaretskii
Subject: Re: Windows make invoking cygwin sh bug
Date: Fri, 18 Mar 2011 10:16:03 +0200

> Date: Thu, 17 Mar 2011 21:26:12 -0400
> From: Alex Khripin <address@hidden>
> 
> Short summary: there's a bug (I blame Cygwin, but want to fix make) in
> running commands that start with a drive letter when using Windows make and
> Cygwin sh

Why are you using a native build of Make with Cygwin tools?  Doing
that is asking for trouble due to subtle incompatibilities like this
one.  The Cygwin build of Make is a much better candidate for this
kind of job, and it does support DOS/Windows file names with drive
letters.  Can you use that instead?  If not, why not?

> When building the command line for cygwin (to be passed tinto
> CreateProcess), look for arguments that start with a drive letter, and
> escape them using a different method.

This is a no-starter.  Make has no knowledge about the semantics of
the arguments of the commands it invokes, so it can never be sure that
"d:/" is a drive letter of a file name.  It could be something
entirely different, like a Sed editing command, or part of a Grep
pattern, or even a quoted file name that should be passed verbatim to
the program to be used by it.  Adding something like that to Make will
introduce subtle bugs that would keep this list busy for the next 10
years.



reply via email to

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