[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 3.81 and windows paths
From: |
Paul D. Smith |
Subject: |
Re: 3.81 and windows paths |
Date: |
Fri, 28 Jul 2006 17:31:31 -0400 |
%% Christopher Faylor <address@hidden> writes:
>> Or is there something special going on that means this won't work?
cf> I think this has been answered later in the thread, but the short answer
cf> is - the MinGW make won't recognize the cygwin mount table or symlinks,
cf> so you can't use cygwin paths in a MinGW makefile without resorting to
cf> something like "cygpath".
Aha. Gotcha. Yes that would be a problem.
>> Regardless, I still wonder whether my idea of building make for a POSIX
>> environment with Cygwin, but setting HAVE_DOS_PATHS explicitly, would
>> work.
cf> I briefly thought that this might be a possibility but I've since
cf> remembered cases where people complained about their linux
cf> makefiles not working correctly due to the colon handling in 3.80.
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.
To be clear: I'm certainly not suggesting that enabling HAVE_DOS_PATHS
will always behave correctly for any valid POSIX makefile, or even any
potentially valid Linux makefile. However, it seems quite rare to run
into a conflict, so much so that I'm not sure it's worth worrying about.
I suppose there might be some backslash issues. I really don't remember
what HAVE_DOS_PATHS does with backslashes in target/prerequisite
pathnames.
YM, of course, MV :-)
--
-------------------------------------------------------------------------------
Paul D. Smith <address@hidden> Find some GNU make tips at:
http://www.gnu.org http://make.paulandlesley.org
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist
- Re: 3.81 and windows paths, (continued)
- Re: 3.81 and windows paths, Brian Dessent, 2006/07/27
- Re: 3.81 and windows paths, Bob Rossi, 2006/07/27
- Re: 3.81 and windows paths, Paul D. Smith, 2006/07/27
- Re: 3.81 and windows paths, Paul D. Smith, 2006/07/27
- Re: 3.81 and windows paths, Eli Zaretskii, 2006/07/28
- Re: 3.81 and windows paths, Christopher Faylor, 2006/07/28
- Re: 3.81 and windows paths, Michael Eager, 2006/07/28
- Re: 3.81 and windows paths, mwoehlke, 2006/07/28
- Re: 3.81 and windows paths, Paul D. Smith, 2006/07/28
- Re: 3.81 and windows paths, Christopher Faylor, 2006/07/28
- Re: 3.81 and windows paths,
Paul D. Smith <=
- Re: 3.81 and windows paths, Eli Zaretskii, 2006/07/29
- Re: 3.81 and windows paths, John W. Eaton, 2006/07/28
- Re: 3.81 and windows paths, Paul D. Smith, 2006/07/28
- Re: 3.81 and windows paths, Chris Taylor, 2006/07/28
- Re: 3.81 and windows paths, John W. Eaton, 2006/07/28
- Re: 3.81 and windows paths, John W. Eaton, 2006/07/28
- Re: 3.81 and windows paths, Paul D. Smith, 2006/07/28
Re: 3.81 and windows paths, Jon Grant, 2006/07/27