[Scons-users] Builder execution order?

Kenny, Jason L jason.l.kenny at intel.com
Fri Jan 17 09:52:57 EST 2014


Try
scons -tree=prune .

Notice the "."

Jason

From: scons-users-bounces at scons.org [mailto:scons-users-bounces at scons.org] On Behalf Of delbert dev
Sent: Friday, January 17, 2014 2:49 AM
To: SCons users mailing list
Subject: Re: [Scons-users] Builder execution order?

That gives nothing:

user at ubuntu:~/tmp/af_test$ scons --tree=prune
scons: Reading SConscript files ...
scons: *** source file [gtest-1.7.0.zip] must be exist Stop.


I am running SCons version 2.3:

$ scons --version
SCons by Steven Knight et al.:
script: v2.3.0, 2013/03/03 09:48:35, by garyo on reepicheep
engine: v2.3.0, 2013/03/03 09:48:35, by garyo on reepicheep
engine path: ['/usr/lib/scons/SCons']
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation





On Fri, Jan 17, 2014 at 6:03 AM, William Deegan <bill at baddogconsulting.com<mailto:bill at baddogconsulting.com>> wrote:
Delbert,

On Jan 16, 2014, at 4:21 PM, delbert dev <delbertum at gmail.com<mailto:delbertum at gmail.com>> wrote:


In the root of my git repo I have a SConstruct file that calls some subscripts (SConscript):

subscripts = [
['A/SConscript', 'testA'],
['B/SConscript', 'testB']
]
for c in subscripts:
odir = outputdir + '/' + c[1]
SConscript(c[0],
variant_dir = odir,
duplicate = 0,
exports = ['env', 'odir'])


As a result I can simply call 'scons' from the root and all the above projects will be build. If I only want to build B I simply type 'scons testB' (I guess this here: http://www.scons.org/doc/production/HTML/scons-user/c3186.html#AEN3191 would be a better approach?)

In project B I am using the two scripts defined here (which I have copied to site_scons/site_tools ):
http://www.scons.org/wiki/DownloadUnpack



env.Tool('URLDownload', '#site_scons/site_tools')
env.Tool('Unpack', '#site_scons/site_tools')

env.Replace(URLDOWNLOAD_USEURLFILENAME = False )
ouutdir = Entry('outdir')
a = env.Alias('abc', env.URLDownload(gtestOutputFile, gtestUrl))
b = env.Alias('xyz', env.Unpack( ouutdir, gtestOutputFile ))


but when I run 'scons abc' it appears that it runs xyz first (complain about the file not existing).

If I remove b a is executed just fine. And if I re-enable b it extract the file downloaded in a. Why is b run before a?

Try running:
scons --tree=prune
That should give a visual picture of the dependencies that SCons expects.

-Bill

_______________________________________________
Scons-users mailing list
Scons-users at scons.org<mailto:Scons-users at scons.org>
http://four.pairlist.net/mailman/listinfo/scons-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20140117/0a6936da/attachment.htm


More information about the Scons-users mailing list