Subject: Re: [Boost-build] <install-source-root> in Windows doesn't work with case-insensitive matching
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2014-03-21 21:39:12
On 03/21/2014 05:45 PM, Jose . wrote:
> /C:/Jam/aaaa/b/c/file.txt (see that "aaaa" is lower-case but "Jam" is not)
> I would understand that all characters are converted to lower-case for case
> insensitive matching, but some of them don't, which is weird. As I say, in
> small programs it seems to work ok, I only found it in bigger ones.
In theory, the underlying Jam functions normalize
paths to match the actual names in the filesystem.
> 2) This is probably worse: <install-source-root> doesn't seem to down-case
> before trying to match. Hence, the install rule results in this:
> common.copy C:\Jam\z\..\AaAa\b\c\file.txt
> when in fact it should look like this:
> common.copy C:\Jam\z\b\c\file.txt
> Any clue what happened and how to solve it? (at least problem 2)
You can hack it in path.relative-to (in util/path.jam)
by changing the comparison to $(split1:L) = $(split2:L).
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk