Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-03-07 01:43:57


David Abrahams wrote:

> That's line 583 in my copy, but there's definitely a bug in that line:
>
> c:/boost/tools/build/new/virtual-target.jam:583:
> toolset.set-target-variables $(self.action-name[1]) $(actual-targets[0]) :
>
> zero is not a valid index. Also:
>
> c:/boost/tools/build/new/property.jam:148: if $(x[0]) < $(y[0])

Guess we should fix it too? But I don't know what the code is supposed to
do.

> > 2. Adjust the parameter list for set-target-variables to accept several
> > targets.
>
> I made this change

OK.

> > I don't know what's up.... but seems like Jam mishandles the case where
> > variable is set on only one target, while action produces two.
>
> I ran some simple tests and it seemed to work out just fine: both
> of the targets' variables would be used to build the pair.

Please see the attached file. It causes settings only for one target to
be in effect.

- Volodya
 --------------Boundary-00=_9D9D8QQ6O3CL53VS7IL8 Content-Type: text/plain;
charset="iso-8859-1";
name="Jamfile1"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="Jamfile1"

# Shows a problem with on-target variables
# Run with "bjam -fJamfile1"

actions create
{
echo $(A) $(B)
touch $(<)
}

create a b ;

ALWAYS a b ;

A on a = *A* ;
B on b = *B* ;

# With this line, only "A" setting will be
# in effect when running action
DEPENDS all : a ;

# And with this line, it will the other way around
#DEPENDS all : b ;
 --------------Boundary-00=_9D9D8QQ6O3CL53VS7IL8--


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