This is the mail archive of the
mailing list for the Cygwin project.
RE: Why are Windows paths broken in make 3.81?
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: <cygwin at cygwin dot com>
- Date: Mon, 24 Jul 2006 19:13:49 +0100
- Subject: RE: Why are Windows paths broken in make 3.81?
On 22 July 2006 02:04, Joachim Achtzehnter wrote:
> mwoehlke wrote:
>> Michael Hirsch wrote:
>>> Here is a sample Makefile that breaks with Gnu Make 3.81-1 under
>>> Cygwin, but works fine with Gnu Make 3.80-1.
>>> [ ... snip ... ]
>>> Was this a deliberate break with backwards compatibility?
>> Yes. See <http://cygwin.com/ml/cygwin-announce/2006-07/msg00008.html>.
> Unfortunately, many of us deal with huge cross-platform 3rd-party makefile
> collections that are partially auto-generated, sometimes even on-the-fly,
> I just had to deal with such a messy system and the new Cygwin make doesn't
> work. Even though this collection of makefiles was initially written on a
> POSIX system it still got into trouble with DOS paths because some of the
> tools it calls to generate makefiles return platform-specific paths. So
> this works fine on a POSIX system, worked fine on Win2000 with the old
> make, but now I had to understand complicated sed programs to add extra
> platform-specific sed transformations to convert paths returned by other
> cross-platform tools to something the new make accepts.
> There was also some difference in newline handling which required another
> set of sed changes, arghh!
> All of this was definitely inconvenient! And it was not caused by somebody
> putting non-POSIX paths in a makefile.
Well, to be fair, it was caused by someone implementing a system that made
use of utilities that put non-POSIX paths in a makefile. It didn't 'just
happen', it was the consequence of a deliberate set of design and
> Of course, after fixing all this it still doesn't work, as mentioned in
> another post, make crashes with threadlist_ix -1, so I still have to go
> back to the older version, even after all the work. :-(
Which begs the question: given that you were working on such a large and
complex makefile system, and given that it had non-POSIX paths in a makefile,
and given that it wasn't broke and didn't need fixing ...
... why on EARTH did you deliberately go and upgrade to a new version of make
that doesn't support non-POSIX paths?
Can't think of a witty .sigline today....
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html