summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script/__init__.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-07-17 23:12:12 (GMT)
committerSteven Knight <knight@baldmt.com>2002-07-17 23:12:12 (GMT)
commit64a0553a81deaa7cab0158d9f533a1f460ad2c8b (patch)
treef8aacc828f3c77f73d8bebf5b6c5ec78eacf05d5 /src/engine/SCons/Script/__init__.py
parent1c2adf628d15657cee31f82525493bd9ab84b369 (diff)
downloadSCons-64a0553a81deaa7cab0158d9f533a1f460ad2c8b.zip
SCons-64a0553a81deaa7cab0158d9f533a1f460ad2c8b.tar.gz
SCons-64a0553a81deaa7cab0158d9f533a1f460ad2c8b.tar.bz2
Repository support (first cut).
Diffstat (limited to 'src/engine/SCons/Script/__init__.py')
-rw-r--r--src/engine/SCons/Script/__init__.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index 66b4fd7..10794f5 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -185,6 +185,7 @@ target_top = None
exit_status = 0 # exit status, assume success by default
profiling = 0
max_drift = None
+repositories = []
# utility functions
@@ -792,7 +793,11 @@ def options_init():
# long = ['warn-undefined-variables'],
# help = "Warn when an undefined variable is referenced.")
- Option(func = opt_not_yet, future = 1,
+ def opt_Y(opt, arg):
+ global repositories
+ repositories.append(arg)
+
+ Option(func = opt_Y,
short = 'Y', long = ['repository'], arg = 'REPOSITORY',
help = "Search REPOSITORY for source and target files.")
@@ -825,10 +830,15 @@ def _SConstruct_exists(dirname=''):
If so, it returns the path of the file. By default, it checks the
current directory.
"""
+ global repositories
for file in ['SConstruct', 'Sconstruct', 'sconstruct']:
sfile = os.path.join(dirname, file)
if os.path.isfile(sfile):
return sfile
+ if not os.path.isabs(file):
+ for rep in repositories:
+ if os.path.isfile(os.path.join(rep, sfile)):
+ return sfile
return None
@@ -932,6 +942,10 @@ def _main():
sys.path = include_dirs + sys.path
+ global repositories
+ for rep in repositories:
+ SCons.Node.FS.default_fs.Repository(rep)
+
start_time = time.time()
for script in scripts:
SCons.Script.SConscript.SConscript(script)