summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorNathan Binkert <nate@binkert.org>2007-07-25 18:21:11 -0700
committerNathan Binkert <nate@binkert.org>2007-07-25 18:21:11 -0700
commit19c01e82b113db636bbac34f77a0f5f4a7525088 (patch)
tree13ce2fe70f5499f08759cbf0d9418292a850426f /SConstruct
parent26b1c455e0aed69eda0cc165b5084edb1b557c38 (diff)
downloadgem5-19c01e82b113db636bbac34f77a0f5f4a7525088.tar.xz
Add a new SCons option called EXTRAS that allows you to include stuff in
the build process that is outside of the main M5 tree. --HG-- extra : convert_revision : 6edc4fbc58240f83b59c7b5707c0390cdb85d9ec
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct13
1 files changed, 12 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct
index ec60964e4..1f3dfb5bb 100644
--- a/SConstruct
+++ b/SConstruct
@@ -435,6 +435,13 @@ all_isa_list.sort()
all_cpu_list.sort()
default_cpus.sort()
+def ExtraPathValidator(key, val, env):
+ paths = val.split(':')
+ for path in paths:
+ path = os.path.expanduser(path)
+ if not isdir(path):
+ raise AttributeError, "Invalid path: '%s'" % path
+
sticky_opts.AddOptions(
EnumOption('TARGET_ISA', 'Target ISA', 'alpha', all_isa_list),
BoolOption('FULL_SYSTEM', 'Full-system support', False),
@@ -461,7 +468,9 @@ sticky_opts.AddOptions(
('BATCH_CMD', 'Batch pool submission command name', 'qdo'),
('PYTHONHOME',
'Override the default PYTHONHOME for this system (use with caution)',
- '%s:%s' % (sys.prefix, sys.exec_prefix))
+ '%s:%s' % (sys.prefix, sys.exec_prefix)),
+ ('EXTRAS', 'Add Extra directories to the compilation', '',
+ ExtraPathValidator)
)
nonsticky_opts.AddOptions(
@@ -613,6 +622,8 @@ base_env = env
for build_path in build_paths:
print "Building in", build_path
+ env['BUILDDIR'] = build_path
+
# build_dir is the tail component of build path, and is used to
# determine the build parameters (e.g., 'ALPHA_SE')
(build_root, build_dir) = os.path.split(build_path)