Boost logo

Boost-Build :

Subject: Re: [Boost-build] BJam "Duplicate name of actual target" problem
From: Gevorg Voskanyan (v_gevorg_at_[hidden])
Date: 2011-07-18 23:26:58


Hite, Christopher wrote:

> How do I make it pass requirements?
>
> # This doesn't work since it passes the requirements to the rule
> definition properties:
> rule objgroup ( sources + : requirements + )

"requirements +" forces at least one requirement to be specified when objgroup
is called. If that isn't desirable, use "requirements *" instead.

> {
> local g = ;
> for s in $(sources) {
> local name = $(s:B) ;
> obj $(name) : $(s) : requirements ;

This should be:
obj $(name) : $(s) : $(requirements) ;

$(var) is the syntax you use to get a variable's value in Boost.Jam. In the same
fashion that you use $var to get a variable's value in bash, for example.

> g += $(name) ;
> }
> return $(g) ;
> }
>
> alias jaguar_shared : [ objgroup [ glob *.cpp ] : <define>SOMEMACRO1 ] ;
>
>
> Is there a doc for people trying to understand the bjam language?

http://www.boost.org/boost-build2/doc/html/bbv2/overview/jam_language.html
http://www.boost.org/boost-build2/doc/html/jam/language.html

Also I have found reading http://www.boost.org/boost-build2/doc/userman.pdf to
be very useful at getting a good grasp of Boost.Build as a whole.

> Is it derived from something else?

It is derived from Perforce Jam: http://en.wikipedia.org/wiki/Perforce_Jam

HTH,
Gevorg


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