On Saturday 07 July 2007 00:41, Ray Lambert wrote:
(root)
/common
/tests
(root) has an empty Jamroot and 'common' and 'tests' each have a (very
simple) Jamfile. 'common' builds a static lib and the targets in 'tests'
try to link to it.
The Jamfile in 'common' looks like this:
lib common : [ glob *.cpp ] : <include>. <include>.. <link>static ;
The Jamfile in 'tests' looks like this:
exe xmltest : xmltest.cpp ..//common [ lib expat ] : <include>../.. ;
This "..//common", strictly speaking, refers to entire directory 'common', not
the target 'common' in directory common. You might want to try
../common//common
but I can't see why that can matter.
I've tried it a number of different ways but none of them worked.
'common' builds successfully. When I try to build the target 'xmltest' in
'tests' I get the following error:
error: Unable to find file or target named
error: '..//common'
error: referred from project at
error: '.'
Again, this all works perfectly on Linux. I've seached quite a bit but I
cannot find anything relating to bugs or alternative behaviour of the
'..//common' syntax on windows.
Are you sure there's no upper-case-vs-lower-case problem going on? Again,
bjam is supposed to ignore case on windows, completely.
I don't believe so. Everything is in lower case except for the
Jamfiles. The files were originally created that way on Linux and were
put into a Subversion repo, which I checked-out to Winblows. So
everything should be identical to the way it was on Linux (and, indeed,
it does appear to be so).