delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/07/26/12:13:09

X-Spam-Check-By: sourceware.org
Message-ID: <9c2aabaf0607260912n4d17a340j533a049565234c00@mail.gmail.com>
Date: Wed, 26 Jul 2006 10:12:51 -0600
From: "Michael Hirsch" <mdhirsch AT gmail DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Why are Windows paths broken in make 3.81?
In-Reply-To: <e9rrqr$6ei$1@sea.gmane.org>
MIME-Version: 1.0
References: <9c2aabaf0607211629u4e29ffa1w5f09b3d8e5a923fc AT mail DOT gmail DOT com> <e9rrqr$6ei$1 AT sea DOT gmane DOT org>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 7/21/06, mwoehlke <mwoehlke AT tibco DOT com> 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.  We have been writing
> > these types of Makefiles for years, using both Windows and Cygwin
> > tools, and this is the first time Make has ever broken like this.
> >
> > I see in another thread that this is a known issue, though I don't see
> > it in the changelogs for make 3.81.
> >
> > Was this a deliberate break with backwards compatibility?  It means
> > that every single reference to a windows path needs to be wrapped in
> > cygpath, which is a huge inconvenience.
>
> Yes. See <http://cygwin.com/ml/cygwin-announce/2006-07/msg00008.html>.
> If you are using a POSIX-like "OS" (i.e. Cygwin), you should be using
> POSIX paths. That's not an inconvenience, that's called writing a bad
> makefile. If you aren't using Cygwin for the POSIX environment, you
> should be using MinGW.

I see.  Unfortunately, I am trying to use cygwin to make my life
easier on Windows, but I am still constrained to use windows programs.
 Many of them cannot use the cygwin paths, but require a path like
"c:/my/path.exe".  It will be very difficult to switch back and forth
between path representations.  I guess I do need to look into MinGW.

> > Is it broken only on Windows?
>
> That sounds like a silly question... 'are Windows paths only broken on
> Windows?'

It sounds like a silly question, but it isn't.  I tested, and yes, if
you have a directory named "c:" in Linux, make is broken on that
directory, too.  Since "c:" is a valid name in Linux (and POSIX, I
believe) I consider that a bug in make.  I'll have to report that to
GNU, as it is not a cygwin issue.  The error message on Linux is just
as incomprehensible as it is Cygwin, too, so at least I know who to
talk to about it.

> > Is this a cywin only bug?  What possible reason could there be to
> > introduce this deliberately?
>
> No, as it is not a "bug". However it is specific to Cygwin. See the
> aforementioned announcement. CGF would have to speak to "why" (and I
> would appreciate if he would, just because I am curious :-)), but I
> would guess it is to "encourage" people to use correct (i.e. POSIX) paths.

I guess that was the reason.  How disappointing.  I always thought
that cygwin provided a great service by allowing me to use both
windows and posix paths.  I'll miss that capability a lot.

Michael

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019