Boost logo

Boost-Build :

Subject: Re: [Boost-build] conditional rules: arguments
From: Gaydov Victor (victor.gaydov_at_[hidden])
Date: 2009-09-10 12:56:20


> look at
> the Jamroot attached to:
>
> http://article.gmane.org/gmane.comp.lib.boost.build/21130

thanks, i've read, ..

> It will help if you provide an example explaining
> what you mean.

> You could define custom features for this purpose

yes, and i'm trying to do this:

 import feature ;
 feature.feature f1 : : free ;

 rule c1 ( p * ) { echo $(p) ; }
 lib a : : <f1>value <conditional>@c1 ; # no <f1> in $(p)

(it works only if <f1> is in default-build)

> What are "current properties"? During property resolution process the
> rule specified with the <conditional> is called with the current property
> set. The result is that added to that current property set and becomes
> build properties.

so, i found the place when i lost <f1>:

 build/targets.jam:common-properties()
 .....
 local non-free = [ property-set.create
        [ $(requirements).base ] [ $(requirements).incidental ] ] ;
 .....
 $(key) = [ common-properties2 $(build-request) $(non-free) ] ;
 .....

evaluate-requirements() is called in common-properties2(), without free
features. it works for non-free, i just didn't try before, sorry.

now my question is: why can't i pass free features to
conditionals and is it possible ? :)

thanks.

--
Gaydov Victor.
Genius doesn't work on an assembly line basis.  You can't simply say,
"Today I will be brilliant."
		-- Kirk, "The Ultimate Computer", stardate 4731.3

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