Hello all,
Instead of offering a new revision of my previous patches on DOS-style
absolute paths and trying to get everything right, perhaps it would better to
just offer suggestions on how to treat DOS-style absolute paths as absolute
and leave the fixes to the Autoconf experts.
DOS style paths can have drive letters and they can have slashes or
backslashes. I use the term "DOS-style" to refer to DOS, Windows, and OS/2
because they all use this style. So the typical pattern that detects
absolute paths should be changed from:
/*)
to
[/\\*] | [A-z]:[/\\*]
This covers:
/bin
\bin
c:/bin
c:\bin
The range [A-z] is used and not ? as in my patches because it is enough to
cover the usual drive letters [A-Za-z] and certain unusual cases with DOS
network drives. Plus it's a little clearer that DOS style drive letters are
being matched.
DOS style relative paths are another matter. These take the form:
x:foo/bar
or of course x:foo\bar. These should be turned into absolute paths because
it's possible the cwd of the drive could change while Autoconf is running. To
do this, you need the cooperation of shell that knows each drive has it's own
cwd:
cd x:foo/bar
absolute_path=$PWD/file
Mark