diff options
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | src/engine/SCons/Node/FS.py | 2 | ||||
-rw-r--r-- | test/Dir/Dir.py | 25 |
3 files changed, 28 insertions, 1 deletions
diff --git a/debian/control b/debian/control index afba6f6e..5fbf0eb1 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: scons Section: devel Priority: optional Maintainer: Moshe Zadka <moshez@debian.org> -Build-Depends-Indep: debhelper (>> 5.0.0), python-dev (>> 2.4) +Build-Depends-Indep: debhelper (>> 5.0.0), python-dev (>> 2.7) Standards-Version: 3.5.6 Package: scons diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index f455edba..d846b7c1 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -1872,6 +1872,8 @@ class Dir(Base): for kid in self.children(): if kid.get_state() > up_to_date: return 0 +# else if kid.changed_since_last_build_node(): +# return 0 return 1 def rdir(self): diff --git a/test/Dir/Dir.py b/test/Dir/Dir.py index 2e8204c3..88763a4e 100644 --- a/test/Dir/Dir.py +++ b/test/Dir/Dir.py @@ -71,6 +71,31 @@ env.MD(target='sub2', source=['SConstruct'], OVERRIDE='foo') test.run() +#The following test creates a builder with only a directory target, +#updates its source, and ensures that the directory target is +#considered out of date and rebuilt. + +test.write('foo-contents.txt', """Hello, """) +test.write('SConstruct', """\ +import os + +def mkdir_and_copy(target=None, source=None, env=None): + os.mkdir(str(target[0])) + os.copy(str(source[0]), str(target[0])) + +mac_builder = Builder(action=mkdir_and_copy) +env = Environment() +env.Append(BUILDERS = {'MAC': mac_builder} +env.MAC(target='foo', src='foo-contents.txt') +""") + +#Build foo +test.not_up_to_date('foo') +test.up_to) + +test.write('foo-contents.txt', """Hello, World!""") +test.not_up_to_date('foo') + test.pass_test() # Local Variables: |