Another clue about the bogus rebuilds:

http://scons.tigris.org/ds/viewMessage.do?dsForumId=1268&dsMessageId=2832172

Seems like we should sort everything we magically decide to add to the sources 
like:
 return (target, sorted(set(out_sources), key=lambda entry : str(entry)))

Apparently just sorted() isn't enough because because FS.Entry (and Base nodes 
in general) do not
provide a __cmp__.

Seem plausible? Anyone want to give it a try?


Ali

On Mar 24, 2011, at 1:22 PM, Steve Reinhardt wrote:

> I just tried both 1.3.1 and 2.0.1 and the same thing happens in both.
> 
> Steve
> 
> On Wed, Mar 23, 2011 at 11:20 PM, Ali Saidi <[email protected]> wrote:
>> I just did some searching and found this.
>> http://comments.gmane.org/gmane.comp.programming.tools.scons.user/20816
>> 
>> Have you tried scons 1.3?  Maybe it's fixed.
>> 
>> Ali
>> 
>> 
>> Sent from my ARM powered device
>> 
>> On Mar 23, 2011, at 11:39 PM, Steve Reinhardt <[email protected]> wrote:
>> 
>>> I think many of us have noticed that scons sometimes rebuilds things
>>> when it's not necessary.  Here's one clue:
>>> 
>>> % scons build/ALPHA_SE/m5.debug
>>> scons: Reading SConscript files ...
>>> [...]
>>> scons: done building targets.
>>> % scons --debug=explain build/ALPHA_SE/m5.debug
>>> scons: Reading SConscript files ...
>>> [...]
>>> [    SWIG] ALPHA_SE/python/swig/core.i -> _wrap.cc, .py
>>> scons: rebuilding
>>> `build/ALPHA_SE/python/m5/internal/vptype_AddrRange.py' because the
>>> dependency order changed:
>>>               old:
>>> ['build/ALPHA_SE/python/m5/internal/vptype_AddrRange.i',
>>> '/usr/bin/swig', 'build/ALPHA_SE/base/range.hh',
>>> 'build/ALPHA_SE/base/types.hh', 'build/ALPHA_SE/python/swig/range.i']
>>>               new:
>>> ['build/ALPHA_SE/python/m5/internal/vptype_AddrRange.i',
>>> 'build/ALPHA_SE/base/range.hh', 'build/ALPHA_SE/base/types.hh',
>>> 'build/ALPHA_SE/python/swig/range.i', '/usr/bin/swig']
>>> [...]
>>> 
>>> 
>>> This is just one of many swig files that get regenerated... most of
>>> the dependency lists are much longer, but in all of the ones I looked
>>> at, /usr/bin/swig had moved from the second spot to the last spot on
>>> the list.
>>> 
>>> Subsequent rebuilds say that " `build/ALPHA_SE/m5.debug' is up to
>>> date", but if I delete build/ALPHA_SE/python/m5/internal then it takes
>>> *two* builds to get it back to that state again.
>>> 
>>> Any ideas, Nate?
>>> 
>>> Steve
>>> _______________________________________________
>>> m5-dev mailing list
>>> [email protected]
>>> http://m5sim.org/mailman/listinfo/m5-dev
>>> 
>> _______________________________________________
>> m5-dev mailing list
>> [email protected]
>> http://m5sim.org/mailman/listinfo/m5-dev
>> 
> _______________________________________________
> m5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/m5-dev
> 

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to