This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 <>.

> 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
toolset-selection decisions.
> 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:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]