Print M5 build options for 'scons -h'.
authorSteve Reinhardt <stever@eecs.umich.edu>
Tue, 9 May 2006 16:43:01 +0000 (12:43 -0400)
committerSteve Reinhardt <stever@eecs.umich.edu>
Tue, 9 May 2006 16:43:01 +0000 (12:43 -0400)
--HG--
extra : convert_revision : 14ef62e513987b89e913e2bf9b8771ee086ed0a0

build/SConstruct

index e1854b1d3034424262b0e01197f05beab44393ca..28940fc5ad00fbe7189e50ce3885ae2757beecb4 100644 (file)
@@ -328,6 +328,11 @@ env.Append(BUILDERS = { 'ConfigFile' : config_builder })
 # rename base env
 base_env = env
 
+help_text = '''
+Usage: scons [scons options] [build options] [target(s)]
+
+'''
+
 for build_dir in build_dirs:
     # Make a copy of the default environment to use for this config.
     env = base_env.Copy()
@@ -361,6 +366,11 @@ for build_dir in build_dirs:
     sticky_opts.Update(env)
     nonsticky_opts.Update(env)
 
+    help_text += "Sticky options for %s:\n" % build_dir \
+                 + sticky_opts.GenerateHelpText(env) \
+                 + "\nNon-sticky options for %s:\n" % build_dir \
+                 + nonsticky_opts.GenerateHelpText(env)
+
     # Process option settings.
 
     if not have_fenv and env['USE_FENV']:
@@ -409,6 +419,8 @@ for build_dir in build_dirs:
                    build_dir = os.path.join(build_dir, 'test', e.Label),
                    exports = { 'env' : e }, duplicate = False)
 
+Help(help_text)
+
 ###################################################
 #
 # Let SCons do its thing.  At this point SCons will use the defined