Boost logo

Boost-Build :

From: Graham Bennett (graham-boost_at_[hidden])
Date: 2007-10-22 11:59:49


Hi all,

I'm coming across Boost.Build V2 for the first time while working on
building Boost 1.34.1, upgrading from 1.33.1.

I currently build boost from a driver makefile that invokes bjam with
the correct options for each platform. I do this to make my life easier
since I have some easy ways to determine things like installation paths,
include paths, compiler flags and preprocessor defines from within my
driver makefile in a platform-independant way.

It seems as though in V2 there has been a move away from passing
configuration options via the command line, and the way that command
line arguments is parsed means that adding something like
"include=/foo/bar" (which was my initial guess) will end up as three
different properties since it's split on the slashes, leading to errors
about include having no value.

While in general I do think specifying options in files rather than on
the command line is to be encouraged in order to promote reproducible
builds, I do think it's important to have a way of overriding things on
a per-invocation basis. In my case I already have a way of achieving
reproducible builds via my driver makefile system, so having a way of
passing these options down to bjam at invocation is quite important.

So before I go any further I'd like to get confirmation that:

 - there's no way to pass this kind of option to bjam from the command
   line anymore

 - is there any way to pass this kind of information via the environment
   rather than the command line?

 - the recommended way for me to configure boost from my driver makefile
   would be to generate a separate jam file that bjam would then include
for each platform. Is this best done by generating site-config.jam?

cheers,

Graham

-- 
Graham Bennett

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