2 messages in com.perforce.jamming[jamming] LOCATE bug in Jam 2.4?
FromSent OnAttachments
Chris Rumpf08 Jul 2002 17:13 
Ingo Weinhold09 Jul 2002 12:40 
Subject:[jamming] LOCATE bug in Jam 2.4?
From:Chris Rumpf (Chri@calix.com)
Date:07/08/2002 05:13:55 PM
List:com.perforce.jamming

===================================================

Does the LOCATE variable leak - or perhaps it's the "on" operator?

In the below example why does Jam add the binding of c.yy to a.x?

Let me explain: I simply want to set the LOCATE variable on c.yy ONLY.

I can't figure out how to do that. Jam is also putting the binding on a.x (see below)

I use the "LOCATE on" operator - then print out the values of the LOCATE variable for each target. It looks great UNTIL the action is executed when magically the binding has happened on a.x.

Can anyone explain to me what is going on here?

Am I doing something wrong here?

Thanks in advance for any help.....

===================================================

:-> cat Jamfile SubDir TOP a src ;

rule see { return $(1) ; }

rule r1 { LOCATE on c.yy = /home1/crumpf/abc ; }

actions r1 { /bin/cp $(2) $(1) }

a1 = [ on c.yy see $(LOCATE) ] ; a2 = [ on a.x see $(LOCATE) ] ;

Echo ====== a1 $(a1) ; Echo ====== a2 $(a2) ;

r1 c.yy : a.x ;

:-> :-> :-> :-> :-> jam c.yy Environment: gcc - solaris2 ====== a1 /home1/crumpf/abc ====== a2 ...found 1 target(s)... ...updating 1 target(s)... warning: using independent target a.x r1 /home1/crumpf/abc/c.yy cp: cannot access /home1/crumpf/abc/a.x

/bin/cp /home1/crumpf/abc/a.x /home1/crumpf/abc/c.yy

...failed r1 /home1/crumpf/abc/c.yy ... ...failed updating 1 target(s)... :->

I expect this action line to look like /bin/cp a.x /home1/crumpf/abc/c.yy

Am I wrong in my assumption?

/* --- Christopher M. Rumpf Cube #170 --- */