From: Graham Bennett (graham-boost_at_[hidden])
Date: 2007-10-22 11:59:49
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
- 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?
-- 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