[Scons-users] Builder execution order?
William Deegan
bill at baddogconsulting.com
Fri Jan 17 00:03:48 EST 2014
Delbert,
On Jan 16, 2014, at 4:21 PM, delbert dev <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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20140116/0051d3c0/attachment.html
More information about the Scons-users
mailing list