SCons: Export export_vars so SConsopts files can add to them
authorNathan Binkert <nate@binkert.org>
Tue, 21 Apr 2009 15:17:36 +0000 (08:17 -0700)
committerNathan Binkert <nate@binkert.org>
Tue, 21 Apr 2009 15:17:36 +0000 (08:17 -0700)
SConstruct
src/SConscript

index 1c7f09515e77c97ed942bf43ece30310e02740da..baa4864a9eacd1b0bc4551e32c72ed6025fc5464 100644 (file)
@@ -654,6 +654,10 @@ Export('all_cpu_list', 'default_cpus')
 sticky_vars = Variables(args=ARGUMENTS)
 Export('sticky_vars')
 
+# Sticky variables that should be exported
+export_vars = []
+Export('export_vars')
+
 # Non-sticky variables only apply to the current build.
 nonsticky_vars = Variables(args=ARGUMENTS)
 Export('nonsticky_vars')
@@ -698,10 +702,9 @@ nonsticky_vars.AddVariables(
     )
 
 # These variables get exported to #defines in config/*.hh (see src/SConscript).
-env.ExportVariables = ['FULL_SYSTEM', 'USE_FENV', \
-                       'USE_MYSQL', 'NO_FAST_ALLOC', 'FAST_ALLOC_DEBUG', \
-                       'FAST_ALLOC_STATS', 'SS_COMPATIBLE_FP', \
-                       'USE_CHECKER', 'TARGET_ISA', 'CP_ANNOTATE']
+export_vars += ['FULL_SYSTEM', 'USE_FENV', 'USE_MYSQL',
+                'NO_FAST_ALLOC', 'FAST_ALLOC_DEBUG', 'FAST_ALLOC_STATS',
+                'SS_COMPATIBLE_FP', 'USE_CHECKER', 'TARGET_ISA', 'CP_ANNOTATE']
 
 ###################################################
 #
index c02bf239d27d684de602d6b1c1afb1bc68575088..20d454f03e34370c9d805977bbc94b32eb265498 100644 (file)
@@ -48,7 +48,7 @@ Import('*')
 # Children need to see the environment
 Export('env')
 
-build_env = dict([(opt, env[opt]) for opt in env.ExportVariables])
+build_env = dict([(opt, env[opt]) for opt in export_vars])
 
 def sort_list(_list):
     """return a sorted copy of '_list'"""
@@ -242,7 +242,7 @@ for extra_dir in extras_dir_list:
             build_dir = joinpath(env['BUILDDIR'], root[prefix_len:])
             SConscript(joinpath(root, 'SConscript'), build_dir=build_dir)
 
-for opt in env.ExportVariables:
+for opt in export_vars:
     env.ConfigFile(opt)
 
 ########################################################################