[Scons-users] Builder execution order?
Leandro Moreno
leandro.moreno at tallertechnologies.com
Fri Jan 17 12:20:46 EST 2014
what if you swap the tool creation? This sounds like one overwrite the
other.
On Fri, Jan 17, 2014 at 12:32 PM, delbert dev <delbertum at gmail.com> wrote:
> 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
>>
>>
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20140117/dfcb5aeb/attachment-0001.html
More information about the Scons-users
mailing list