summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-08-06 05:10:28 (GMT)
committerSteven Knight <knight@baldmt.com>2002-08-06 05:10:28 (GMT)
commit57d9079227dbde7a6d8f29d03dd36a8d26b3850d (patch)
tree0343dbc1b37046bfabab4a8cab254f08646c0f17 /src/engine/SCons/Node
parent59ec4b2e4ca1579c703093d0f87a7c5ecde8633c (diff)
downloadSCons-57d9079227dbde7a6d8f29d03dd36a8d26b3850d.zip
SCons-57d9079227dbde7a6d8f29d03dd36a8d26b3850d.tar.gz
SCons-57d9079227dbde7a6d8f29d03dd36a8d26b3850d.tar.bz2
Add Local() functionality to Repository support.
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r--src/engine/SCons/Node/FS.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py
index 8bdfeb6..1433f20 100644
--- a/src/engine/SCons/Node/FS.py
+++ b/src/engine/SCons/Node/FS.py
@@ -388,6 +388,7 @@ class Entry(SCons.Node.Node):
self.__doSrcpath(self.duplicate)
self.srcpath_ = self.srcpath
self.cwd = None # will hold the SConscript directory for target nodes
+ self._local = None
def get_dir(self):
return self.dir
@@ -460,6 +461,9 @@ class Entry(SCons.Node.Node):
else:
return self.dir.is_under(dir)
+ def set_local(self):
+ self._local = 1
+
# XXX TODO?
@@ -606,7 +610,6 @@ class Dir(Entry):
# source_exists
# derived_exists
# is_on_rpath
-# local
# base_suf
# suffix
# addsuffix
@@ -758,8 +761,10 @@ class File(Entry):
if r != self:
# ...but there is one in a Repository...
if calc.current(r, bsig):
- # ...and it's even up-to-date.
- # XXX Future: copy locally if requested
+ # ...and it's even up-to-date...
+ if self._local:
+ # ...and they'd like a local copy.
+ file_link(r.path, self.path)
return 1
self._rfile = self
return None