Subject: Re: [Boost-build] Confused with conditional rule
From: Dmitry Timoshenko (dimentiy2k_at_[hidden])
Date: 2011-09-23 07:02:20
Thank you for the answer and your time.
So, as I realized the right solution may look like this?
rule use-complex-xml-properties ( properties * )
if --use-complex-xml in [ modules.peek : ARGV ] ||
<define>UNICOMM_USE_COMPLEX_XML in $(properties)
return <library>/smart//smart_data <define>UNICOMM_USE_COMPLEX_XML ;
> The evaluation of conditional requirements is done iteratively, until
> nothing changes. On the first pass, your rule returns<define>UNICOMM_USE_COMPLEX_XML.
> On the second pass, it sees the define is already there and does not add such
> define. Boost.Build interprets it as if the rule has changed it's mind, and the
> define should not really be there and makes another path, until it hits a limit
> on the number of passes. Can you try to removing:
> if !<define>UNICOMM_USE_COMPLEX_XML in $(properties)
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