[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make check under Cygwin
From: |
Pavel Fedin |
Subject: |
Re: make check under Cygwin |
Date: |
Thu, 26 Sep 2013 21:47:22 +0400 |
Hello, Denis.
Thursday, September 26, 2013, 13:39:02 you wrote:
> The most needed thing to fix is
> ${abspath /foo}
> that currently returns "/cy/foo"
Yes, this is exactly that problem.
abspath first detects whether it is given an absolute path. If not,
it prepends current working directory (result of getcwd()). Then it
squashes down all .'s and ..'s.
The problem happens because currently with DOS paths enabled make
expects all absolute paths to begin with 'X:/'. With '/foo' it's not
the case. According to DOS semantics, this means 'foo subdirectory of
root directory of current drive. So, make tries to prepend the first
three characters from getcwd() result, which it assumes also to be
DOS-style and start with 'X:/'. But Cygwin isn't real DOS/Windows, so
getcwd() really returns POSIX-style path. Hence you get '/cy', which
is obviously first three characters from '/cygdrive/x/something'.
--
С уважением,
Pavel mailto:address@hidden