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
