Re: Windows make invoking cygwin sh bug

Eli Zaretskii <[email protected]>
Newsgroups gmane.comp.gnu.make.windows
Message-ID <[email protected]>
> Date: Thu, 17 Mar 2011 21:26:12 -0400
> From: Alex Khripin <[email protected]>
> 
> 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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.