[Scons-users] Builder execution order?

delbert dev delbertum at gmail.com
Fri Jan 17 10:32:03 EST 2014


Tried both combinations Depends(a,b) and Depends(b,a) and both gives the
same result. It seems that no matter what I do it insists on executing the
Unpack builder before anything else.


On Fri, Jan 17, 2014 at 4:21 PM, Leandro Moreno <
leandro.moreno at tallertechnologies.com> wrote:


>

>

>

> On Fri, Jan 17, 2014 at 12:19 PM, delbert dev <delbertum at gmail.com> wrote:

>

>> Same result:

>>

>> *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 have also tried with the Depends

>>

>> *http://www.scons.org/doc/0.96.1/HTML/scons-user/x959.html

>> <http://www.scons.org/doc/0.96.1/HTML/scons-user/x959.html> *

>>

>>

>> env = Environment()

>> * gtestUrl = buildUrl('com.google', 'gtest', '1.7.0', 'zip')*

>> gtestOutputFile = 'gtest-1.7.0.zip'

>> * 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 ))

>> *Depends(a,b)*

>>

> Depends(b, a)

> You need execute a first.

>

>>

>>

>> *user at ubuntu:~/tmp/af_test$ **scons*

>> *scons: Reading SConscript files ...*

>> *scons: *** source file [gtest-1.7.0.zip] must be exist Stop.*

>>

>> where Unpack is:

>>

>> https://raw.github.com/flashpixx/Storage/master/Scons/site_scons/site_tools/Unpack.py

>>

>>

>>

>>

>> On Fri, Jan 17, 2014 at 3:52 PM, Kenny, Jason L <jason.l.kenny at intel.com>wrote:

>>

>>> 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> wrote:

>>>

>>> 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#AEN3191would 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

>>> http://four.pairlist.net/mailman/listinfo/scons-users

>>>

>>>

>>>

>>> _______________________________________________

>>> Scons-users mailing list

>>> Scons-users at scons.org

>>> http://four.pairlist.net/mailman/listinfo/scons-users

>>>

>>>

>>

>> _______________________________________________

>> Scons-users mailing list

>> Scons-users at scons.org

>> http://four.pairlist.net/mailman/listinfo/scons-users

>>

>>

>

>

> --

> <http://www.tallertechnologies.com>

> Leandro Moreno

> Intern Engineer

>

> San Lorenzo 47, 3rd Floor, Office 5

> Córdoba, Argentina

>

> Phone: +54 351 4217888 / +54 351 4218211

> Skype: letossgm

>

>

> _______________________________________________

> Scons-users mailing list

> 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/effa767e/attachment.html


More information about the Scons-users mailing list