Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2003-03-14 09:24:52


Jürgen Hunold <hunold+lists.Boost_at_[hidden]> writes:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi !
>
> I've tried to test the new <dependency> feature on Win32.
> It seems that V2 has some problems due to win32 drive letters.
> My own sources (and test case) are located on drive f:
> boost lives happily amongs other libraries on E:\Libraries\boost.
>
> When I try to use
> use-project /boost : E:\Libraries\boost ;
>
> and issue
> bjam --v2 msvc in my cygwin bash I get the message:
>
> e:\libraries\boost/tools/build/new\project.jam:284: in load-jamfile
> from module project
> error: Unable to load Jamfile.
> Could not find a Jamfile in directory
> '../../e:\libraries\boost../boost-v2'.
> Attempted to find it with pattern '[Jj]amfile [Jj]amfile.jam'.
> Please consult the documentation at 'http://www.boost.org'.
>
> I'm using Vladimirs "boost-v2" in order to avoid clashes with V1
> Jamfiles.
>
> The problem seems to be that V2 fails to recognise the absolute Path
> "E:\" on Windows. It tries to cd ../../, and then down relatively.
> This would work on single rooted unix, but not on win32.

At least part of the problem is that it isn't looking for
Jamfile.v2. That will only happen if you use -sJAMFILE=[Jj]amfile.v2
on the command-line OR pass --v2 and use a version of the
$BOOST_ROOT/boost-build.jam in your project's root directory.

The rooting problem I think can be solved this way. Try changing:

project.use $(id) : [ path.root $(where) [ $(attributes).get location ] ] ;

to

project.use $(id) : [ path.root [ path.make $(where) ] [ $(attributes).get location ] ] ;
in $BOOST_ROOT/tools/build/new/project.jam

Please let us know if that works.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com
 

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