[Scons-users] clarification on Depends()

Jason Kenny dragon512 at live.com
Tue Jun 5 15:09:24 EDT 2018


In my example fake.txt is nothing more than something to show a behavior independent of the scanner. The point of Depends is to make a mapping that we did not scan for some reason. The question I get a lot is why Depends did nothing. It seems to be because one has to make a depends mapping on the target node not the source node. However for certain complex builders chains this "middle" targets are not known to the user.

Jason

________________________________
From: Scons-users <scons-users-bounces at scons.org> on behalf of Bill Deegan <bill at baddogconsulting.com>
Sent: Tuesday, June 5, 2018 1:16 PM
To: SCons users mailing list
Subject: Re: [Scons-users] clarification on Depends()

Jason,

In your example how does fake.txt invalidate the C file?
Is the C file being generated?

-Bill

On Tue, Jun 5, 2018 at 10:10 AM, Jason Kenny <dragon512 at live.com<mailto:dragon512 at live.com>> wrote:
I wanted to clarify this.. as I think it sort of broken. builders like SharedLibrary() that chain different builder sets make it hard to know what the internal target is to map the Depends() to.

Jason

________________________________
From: Jason Kenny
Sent: Tuesday, June 5, 2018 9:44 AM
To: SCons users mailing list
Subject: RE: [Scons-users] clarification on Depends()


Opps.. Yes that is correct,



The second example should be



Depends(["hello.o")],["fake.txt"])

Program("hello","hello.c")



Jason





From: Scons-users <scons-users-bounces at scons.org<mailto:scons-users-bounces at scons.org>> On Behalf Of Bill Deegan
Sent: Monday, June 4, 2018 11:28 PM
To: SCons users mailing list <scons-users at scons.org<mailto:scons-users at scons.org>>
Subject: Re: [Scons-users] clarification on Depends()



I think you mistyped your second Depend example?

Shouldn't it be this?

Depends('hello.o',['fake.txt'])



On Mon, Jun 4, 2018 at 9:05 PM, Jason Kenny <dragon512 at live.com<mailto:dragon512 at live.com>> wrote:

HI,



I just want to clarify behavior of Depends() in SCons.



I have a small sample:



Depends(["hello.c")],["fake.txt"])

Program("hello","hello.c")





If I run this sample “hello” will build. If I change fake.txt, nothing will rebuild.



I have a tree like this:



+-hello

  | +-hello.o

  | | +-hello.c

  | | +-fake.txt

  | | +-/usr/bin/gcc

  | +-/usr/bin/gcc



If I change the sample to this ( depends() is not hello.o vs hello.c)



Depends(["hello.c")],["fake.txt"])

Program("hello","hello.c")



Now when I change fake.txt hello.o will rebuild. The tree here looks like:



+-hello

  | +-hello.o

  | | +-hello.c

  | | +-fake.txt

  | | +-/usr/bin/gcc

  | +-/usr/bin/gcc



Is this right… I have to know the target of a builder to use? I cannot use the source of a builder?



Jason



_______________________________________________
Scons-users mailing list
Scons-users at scons.org<mailto:Scons-users at scons.org>
https://pairlist4.pair.net/mailman/listinfo/scons-users<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist4.pair.net%2Fmailman%2Flistinfo%2Fscons-users&data=02%7C01%7C%7C348497e92d47473ecc2508d5ca9ccc53%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636637697138253587&sdata=aWPtqrgr6pb%2FpCBMdzZ%2B%2F%2BCPFtJAK%2B8BZNr00gX0MX0%3D&reserved=0>



_______________________________________________
Scons-users mailing list
Scons-users at scons.org<mailto:Scons-users at scons.org>
https://pairlist4.pair.net/mailman/listinfo/scons-users<https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist4.pair.net%2Fmailman%2Flistinfo%2Fscons-users&data=02%7C01%7C%7C9e970bac7e574714f79608d5cb10805b%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636638194081737688&sdata=cH8x5eU5isozHTqCJx4HG5fCTtlfmZhKCoDVMAstyZY%3D&reserved=0>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20180605/7a8c716f/attachment-0001.html>


More information about the Scons-users mailing list