delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/07/29/04:24:58

X-Spam-Check-By: sourceware.org
Date: Sat, 29 Jul 2006 11:24:36 +0300
Message-Id: <ubqr8ddiz.fsf@gnu.org>
From: Eli Zaretskii <eliz AT gnu DOT org>
To: "Paul D. Smith" <psmith AT gnu DOT org>
CC: cygwin AT cygwin DOT com, bug-make AT gnu DOT org
In-reply-to: <17610.33331.648690.951567@lemming.engeast.baynetworks.com> (psmith@gnu.org)
Subject: Re: 3.81 and windows paths
Reply-to: Eli Zaretskii <eliz AT gnu DOT org>
References: <20060727195042 DOT GC27890 AT brasko DOT net> <44C92033 DOT A2978A8E AT dessent DOT net> <17609 DOT 11132 DOT 462789 DOT 443104 AT lemming DOT engeast DOT baynetworks DOT com> <20060727221136 DOT GD6653 AT trixie DOT casa DOT cgf DOT cx> <17610 DOT 6020 DOT 12729 DOT 506044 AT lemming DOT engeast DOT baynetworks DOT com> <20060728145013 DOT GC16728 AT trixie DOT casa DOT cgf DOT cx> <17610 DOT 33331 DOT 648690 DOT 951567 AT lemming DOT engeast DOT baynetworks DOT com>
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

> Date: Fri, 28 Jul 2006 17:31:31 -0400
> From: "Paul D. Smith" <psmith AT gnu DOT org>
> Cc: 
> 
> Hm.  I just can't think of any but the most obscure cases where this is
> true.  The DOS pathname handling in vanilla GNU make, as far as I know,
> is very specific: if and ONLY if the first character of a pathname is a
> letter and the second is a colon, then the path is considered a DOS
> path.  The only constructs where the meaning is ambiguous would be very
> rare; something like:
> 
>     foo : c:bar
> 
> should this be interpreted as a static pattern rule:
> 
>     foo : c : bar
> 
> or with the DOS path "c:bar"?  In this case it's obvious to us since the
> latter leads to a syntax error but of course make doesn't know that when
> it's parsing tokens.
> 
> 
> Any ambiguity is trivially solved by adding whitespace before and/or
> after the ":" in target rules.

Target rules is one case; another is values given to PATH and
VPATH/vpath/GPATH, where a colon is the separator on Posix platforms.

> I suppose there might be some backslash issues.  I really don't remember
> what HAVE_DOS_PATHS does with backslashes in target/prerequisite
> pathnames.

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

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