Subject: Re: [Boost-build] Finding the Boost root directory in sandbox libraries and within a Boost tree
From: Edward Diener (eldiener_at_[hidden])
Date: 2010-11-29 09:20:50
On 11/29/2010 3:02 AM, Vladimir Prus wrote:
> On Monday, November 29, 2010 05:06:46 Edward Diener wrote:
>> Is there any easier way that a sandbox directory can find the Boost root
>> without either of these machinations, so that when the end-user tries to
>> use the jamfiles of a sandbox library from within its sandbox directory,
>> or moves it under a Boost tree, it sets a bjam local variable to the
>> Boost tree root correctly in either case ?
> In case of libraries inside Boost trunk, the variable that gives root location
> inside Jamfiles is called BOOST_ROOT. I suppose it's reasonable to make
> the variable be called the same inside sandbox. In fact, it appears to be
> already the case. When I get myself a sandbox checkout, go to
> 'example' subdirectory and go:
> bjam --boost=/home/ghost/Work/Boost/boost-svn
If I understand what you are saying, using the --boost command line
option sets the BOOST_ROOT variable. In that case I can use BOOST_ROOT,
which is fine with me. Now when someone moves my library under a Boost
tree and just executes 'bjam' I am assuming that BOOST_ROOT
automatically gets set to the root of the Boost tree without anyone
having to specify the --boost command line option.
If all this is correct, then I can use the way the 'example' sandbox is
set and Daniel James' method works fine.
> I see that BOOST_ROOT is indeed set to boost root.
> Therefore, what questions remain?
> 1. Do you want to be able to set an environment variable, say BOOST_ROOT,
> and avoid that --boost option?
No, using the --boost option, as long as that sets BOOST_ROOT, is much
> 2. Do you want to be able to detect where Boost root is, without either option
> or an environment variable (this is not possible in all cases).
As long as BOOST_ROOT is set, either through the --boost option or
automatically when 'bjam' is executed within a Boost tree, then using
BOOST_ROOT in either case is fine.
> 3. Something else?
I am fine now as long as my assumptions above are correct.
My only gripe is that the directions in the README.TXT in the root
directory of the sandbox appears to use a different scheme and I think
that a single scheme and directions would be best as two different
methods are confusing.
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