summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Environment.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2008-09-14 16:16:12 (GMT)
committerSteven Knight <knight@baldmt.com>2008-09-14 16:16:12 (GMT)
commitdf1eb6e4b45b70ebf88105a880e2a166f3f04ff4 (patch)
tree3ff280008b6f7365ac0be26e737f087deb110cf4 /src/engine/SCons/Environment.py
parentcebf02ff2330cc6927db8fe0bb71429153db70d9 (diff)
downloadSCons-df1eb6e4b45b70ebf88105a880e2a166f3f04ff4.zip
SCons-df1eb6e4b45b70ebf88105a880e2a166f3f04ff4.tar.gz
SCons-df1eb6e4b45b70ebf88105a880e2a166f3f04ff4.tar.bz2
Issue 1693: make the subdirectory in which the .sconsign file will
appear (if it doesn't already exist. (Damyan Pepper, Jim Randall)
Diffstat (limited to 'src/engine/SCons/Environment.py')
-rw-r--r--src/engine/SCons/Environment.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py
index 9377610..40c92c7 100644
--- a/src/engine/SCons/Environment.py
+++ b/src/engine/SCons/Environment.py
@@ -1910,6 +1910,11 @@ class Base(SubstitutionEnvironment):
name = self.subst(name)
if not os.path.isabs(name):
name = os.path.join(str(self.fs.SConstruct_dir), name)
+ if name:
+ name = os.path.normpath(name)
+ sconsign_dir = os.path.dirname(name)
+ if sconsign_dir and not os.path.exists(sconsign_dir):
+ self.Execute(SCons.Defaults.Mkdir(sconsign_dir))
SCons.SConsign.File(name, dbm_module)
def SideEffect(self, side_effect, target):