delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/08/16/15:53:13

X-Spam-Check-By: sourceware.org
Date: Wed, 16 Aug 2006 15:52:59 -0400 (EDT)
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: "William A. Hoffman" <billlist AT nycap DOT rr DOT com>
cc: cygwin AT cygwin DOT com
Subject: Re: change in behavior of make from 3.80 to 3.81
In-Reply-To: <6.2.3.4.2.20060816144036.09695af0@pop.nycap.rr.com>
Message-ID: <Pine.GSO.4.63.0608161543520.14156@access1.cims.nyu.edu>
References: <6 DOT 2 DOT 3 DOT 4 DOT 2 DOT 20060815151104 DOT 0b40e260 AT pop DOT nycap DOT rr DOT com> <01b901c6c116$21259430$a501a8c0 AT CAM DOT ARTIMI DOT COM> <6 DOT 2 DOT 3 DOT 4 DOT 2 DOT 20060816091525 DOT 0ab90af0 AT pop DOT nycap DOT rr DOT com> <20060816144110 DOT GX20467 AT calimero DOT vinschen DOT de> <6 DOT 2 DOT 3 DOT 4 DOT 2 DOT 20060816111421 DOT 0b446b60 AT pop DOT nycap DOT rr DOT com> <20060816155054 DOT GY20467 AT calimero DOT vinschen DOT de> <Pine DOT GSO DOT 4 DOT 63 DOT 0608161418370 DOT 9095 AT access1 DOT cims DOT nyu DOT edu> <6 DOT 2 DOT 3 DOT 4 DOT 2 DOT 20060816144036 DOT 09695af0 AT pop DOT nycap DOT rr DOT com>
MIME-Version: 1.0
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 Wed, 16 Aug 2006, William A. Hoffman wrote:

> At 02:20 PM 8/16/2006, Igor Peshansky wrote:
> >On Wed, 16 Aug 2006, Corinna Vinschen wrote:
> >
> >Not only that, but the upstream maintainer actually suggested a couple of
> >avenues of investigation to make the patch smaller by using functionality
> >already built into the upstream make.  All that remains is for someone to
> >actually "do the work" (tm).
>
> Paul suggested adding the define
> HAVE_DOS_PATHS to the cygwin build of gnu make:
>
> http://cygwin.com/ml/cygwin/2006-07/msg00882.html
>
> Christopher countered with,
>
> "There is no advantage using cygwin if you want to use a Makefile which
> contains MS-DOS paths. Using MinGW makes perfect sense in that case.
> Despite having suggested this repeatedly, it seems some users are still
> not clear on this concept."

You've already mentioned a situation where MinGW does not do the right
thing (albeit on the wrong list).  So, you have something that would
justify a second look at this once you have something working in the
Cygwin version of make.

> http://cygwin.com/ml/cygwin/2006-07/msg00886.html
>
> Latter in the thread, Paul said this:
>
> "Regardless, I still wonder whether my idea of building make for a POSIX
> environment with Cygwin, but setting HAVE_DOS_PATHS explicitly, would
> work."
> http://cygwin.com/ml/cygwin/2006-07/msg00910.html
>
> Eli  then replied with this:
>
> "When HAVE_DOS_PATHS is defined, Make tries very hard to treat
> backslashes and forward slashes in file names in the same manner.  The
> only case I remember where we intentionally do NOT treat backslashes
> as forward slashes is in the $wildcard function (and in fact in any
> other situation that calls `glob' or `fnmatch').
> http://cygwin.com/ml/cygwin/2006-07/msg00938.html
>
> So, it sounds like from the thread Paul suggested
> setting HAVE_DOS_PATHS to true for the cygwin build,
> but Christopher does not think that MS-DOS paths have
> a place in a cygwin version of make.

Alternatively, you can try to implement a $(cygpath ...) function in make
and submit *that* to the upstream maintainers.  That way, the Cygwin make
will not have to invoke a separate process to convert the paths that it
(as a program linked to cygwin1.dll) already knows how to do.

Although, with make using spaces to separate everything, I still don't see
how this would work with absolute win32 paths in the general case.

> I would be willing to try compiling the upstream make
> with HAVE_DOS_PATHS to see if it works for me.  However,
> if I report back that it works great, then what?
> Christopher would you change the build for cygwin make
> to have this option?

Let's not second-guess this.  Why don't you first report that it works,
and then see if you can patch the build to always turn it on for Cygwin,
and submit this patch to the upstream make maintainers.  I'm sure that if
the upstream make package built OOTB on Cygwin with this functionality
turned on, the Cygwin make maintainer would not go out of his way to rip
it out just to be evil and hear the users groan...

OTOH, that may be exactly what he'd do when he is sufficiently annoyed by
this never-ending thread.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_	    pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com
ZZZzz /,`.-'`'    -.  ;-;;,_		Igor Peshansky, Ph.D. (name changed!)
     |,4-  ) )-,_. ,\ (  `'-'		old name: Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"

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