diff options
| author | Steven Knight <knight@baldmt.com> | 2004-05-14 03:08:46 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2004-05-14 03:08:46 (GMT) |
| commit | 86c11822b8f41dff8ec28e4ee8a8afeec9bfaa5f (patch) | |
| tree | f4e261a94be38bdc1beff13b857c54b169113baf /src/engine/SCons/Script/__init__.py | |
| parent | e2ed7aef1547812fa9ce49ae726ae1815158936d (diff) | |
| download | SCons-86c11822b8f41dff8ec28e4ee8a8afeec9bfaa5f.zip SCons-86c11822b8f41dff8ec28e4ee8a8afeec9bfaa5f.tar.gz SCons-86c11822b8f41dff8ec28e4ee8a8afeec9bfaa5f.tar.bz2 | |
Make the saved info opaque to the .sconsign subsystem. Lots of other cleanup.
Diffstat (limited to 'src/engine/SCons/Script/__init__.py')
| -rw-r--r-- | src/engine/SCons/Script/__init__.py | 50 |
1 files changed, 3 insertions, 47 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py index 7978629..ab76011 100644 --- a/src/engine/SCons/Script/__init__.py +++ b/src/engine/SCons/Script/__init__.py @@ -191,53 +191,9 @@ class BuildTask(SCons.Taskmaster.Task): """Make a task ready for execution""" SCons.Taskmaster.Task.make_ready(self) if self.out_of_date and print_explanations: - node = self.out_of_date[0] - if not node.exists(): - sys.stdout.write("scons: building `%s' because it doesn't exist\n" % node) - return - - oldbsig, oldkids, oldsigs, oldact, oldactsig = node.get_stored_binfo() - if oldkids is None: - return - - def dictify(kids, sigs): - result = {} - for k, s in zip(kids, sigs): - result[k] = s - return result - - osig = dictify(oldkids, oldsigs) - - newkids, newsigs = map(str, node.bkids), node.bkidsigs - nsig = dictify(newkids, newsigs) - - lines = map(lambda x: "`%s' is no longer a dependency\n" % x, - filter(lambda x, nk=newkids: not x in nk, oldkids)) - - for k in newkids: - if not k in oldkids: - lines.append("`%s' is a new dependency\n" % k) - elif osig[k] != nsig[k]: - lines.append("`%s' changed\n" % k) - - if len(lines) == 0: - newact, newactsig = node.bact, node.bactsig - if oldact != newact: - lines.append("the build action changed:\n" + - "%sold: %s\n" % (' '*15, oldact) + - "%snew: %s\n" % (' '*15, newact)) - - if len(lines) == 0: - lines.append("the dependency order changed:\n" + - "%sold: %s\n" % (' '*15, oldkids) + - "%snew: %s\n" % (' '*15, newkids)) - - preamble = "scons: rebuilding `%s' because" % node - if len(lines) == 1: - sys.stdout.write("%s %s" % (preamble, lines[0])) - else: - lines = ["%s:\n" % preamble] + lines - sys.stdout.write(string.join(lines, ' '*11)) + explanation = self.out_of_date[0].explain() + if explanation: + sys.stdout.write("scons: " + explanation) class CleanTask(SCons.Taskmaster.Task): """An SCons clean task.""" |
