Boost logo

Boost-Build :

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 ;

> Dmitry,
> 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, david.abrahams at, gregod at, cpdaniel at, john at