From: David Abrahams (dave_at_[hidden])
Date: 2005-08-05 10:10:06
Vladimir Prus <ghost_at_[hidden]> writes:
> On Thursday 04 August 2005 20:12, David Abrahams wrote:
>> Vladimir Prus <ghost_at_[hidden]> writes:
>> > On Thursday 04 August 2005 12:06, Markus Schöpflin wrote:
>> >> David Abrahams wrote:
>> >> > Markus Schöpflin <markus.schoepflin_at_[hidden]> writes:
>> >> >>To my big surprise, I just discovered that defines are somehow not
>> >> >>propagated to dependencies, when using bbv1.
>> >> >
>> >> > Right. That's the way free features work.
>> >> > Feature, not bug ;-)
>> >> Thought so. But how am I supposed to build a full project where a define
>> >> is propagated to everything built? If you're asking for a use case:
>> >> build boost with -DBOOST_DETECT_OUTDATED_WORKAROUNDS.
>> > Excellent question ;-) Maybe building from top-level will help?
>> bjam define=BOOST_DETECT_OUTDATED_WORKAROUNDS
>> should work. That puts it in the global build request.
> Hmm... this is V2 syntax, and in V2 it doesn't.
I expected it to. I think it does in v1.
> All "directly requested
> targets", that is targets in the current Jamfile and in Jamfiles referred
> with "build-project" will be built with that define, but libraries indirectly
> used by those targets won't get the define.
Oh, well that might be better than the v1 behavior. Maybe:
bjam --global define=BOOST_DETECT_OUTDATED_WORKAROUNDS
bjam --propagate define=BOOST_DETECT_OUTDATED_WORKAROUNDS
-- 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