From: David Abrahams (gclbb-jamboost_at_[hidden])
Date: 2003-07-18 18:07:48
Vladimir Prus <ghost_at_[hidden]> writes:
> I'd like to tighten up the rules for conditional requirements.
> exe a : a.cpp :
> Now, someone just calls "bjam" and "a" will be built with default properties:
> "<variant>debug <optimization>off". Requirements are evaluated and the result
> is that <optimization>speed is used and <define>USE_SLOW_BUT_TESTED_ALGORITHM
> is added.
> And that's confusing! I'd expect the target to be build either with
> <optimization>speed or <optimization>off and <define> to appear only in
> second case. But the target is build with <optimization>off and <define>.
> IOW, one conditional requirements changes property used as condition for
This is just one example of why Ali and I wanted to define
conditional properties to be evaluated in order. It's really easy to
imagine other cases. For example,
on platforms X,Y, and Z use toolset A
and on toolset A define FOOBAR
> I think the simplest solution is to declare that in conditional
> property, part after ":" can be only free or incidental
Why would you want to impose that limitation?
> and that free/incidental features cannot be present before
> ":". Opinions? Anybody using non-free conditional properties?
I don't know; this sounds terribly limiting to me.
-- 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