Hi,

this seems to be a bug that was not present in older versions of boost build. Consider the following folders structure:

/C:/Jam/AaAa/b/c/file.txt
/C:/Jam/Jamroot

In the BB bundled with boost 1.55 the following Jamroot doesn't work as expected in Windows:

import path ;
using msvc ;
path-constant TOP : . ;

install dist : [ path.glob-tree $(TOP)/AaAa : *.* ] : <location>$(TOP)/z <install-source-root>$(TOP)/AAAA ;
always dist ;

There seem to be 2 reasons:

1) path.glob-tree sometimes, at circumstances that I was not able to isolate in a small program, lower case some parts of a path but not all. I mean it could return something like:

/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.

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)

Regards.