[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