List Info

Thread: How can I pass the property-set as a parameter toa rule call from source section of target?




How can I pass the property-set as a parameter toa rule call from source section of target?
user name
2006-03-10 08:28:51
On Wednesday 01 March 2006 18:43, Daniel Einspanjer wrote:


> Why do some rules need ( properties * ) as a parameter
instead of (
> properties ) ?
> I assume that if the parameter is ( properties * ) then
the [
> feature.get-values <customer> : $(properties) ]
form must be used to
> extract something from it whereas if the parameter is
just ( properties )
> then [ $(properties).get <customer> ] is the
right way to extract a value. 
> Is this a correct understanding?

Yes, that's right.

> I wrote this rule to be used in a <tag> call and
I based it almost exactly
> off of the test in tag.py.
> rule make_customer_branded_name ( base_name : type ? :
properties )
> {
>     local cust_name = [ $(properties).get
<customer> ] ;
>         return [ virtual-target.add-prefix-and-suffix
> $(base_name)-$(cust_name) : $(type) : $(properties) ] ;
> }
>
> Both this rule and the conditional rule are invoked in
the same manner, in
> the same requirements section of a target.  What
controls the parameters
> passed in to them?

Unfortunately, there's no clear rule, and this depends more
on internal logic 
than any user-visible logic. 

I hope to get this cleared up, though, see:

    https:
//zigzag.cs.msu.su/boost.build/ticket/71

- Volodya
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )