X-Spam-Check-By: sourceware.org Date: Sat, 29 Jul 2006 11:24:36 +0300 Message-Id: From: Eli Zaretskii To: "Paul D. Smith" 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 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 Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , 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" > 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/