summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
Diffstat (limited to 'SConstruct')
-rwxr-xr-xSConstruct38
1 files changed, 25 insertions, 13 deletions
diff --git a/SConstruct b/SConstruct
index 98c3da568..f5a46286c 100755
--- a/SConstruct
+++ b/SConstruct
@@ -129,7 +129,19 @@ help_texts = {
Export("help_texts")
-def AddM5Option(*args, **kwargs):
+
+# There's a bug in scons in that (1) by default, the help texts from
+# AddOption() are supposed to be displayed when you type 'scons -h'
+# and (2) you can override the help displayed by 'scons -h' using the
+# Help() function, but these two features are incompatible: once
+# you've overridden the help text using Help(), there's no way to get
+# at the help texts from AddOptions. See:
+# http://scons.tigris.org/issues/show_bug.cgi?id=2356
+# http://scons.tigris.org/issues/show_bug.cgi?id=2611
+# This hack lets us extract the help text from AddOptions and
+# re-inject it via Help(). Ideally someday this bug will be fixed and
+# we can just use AddOption directly.
+def AddLocalOption(*args, **kwargs):
col_width = 30
help = " " + ", ".join(args)
@@ -144,18 +156,18 @@ def AddM5Option(*args, **kwargs):
AddOption(*args, **kwargs)
-AddM5Option('--colors', dest='use_colors', action='store_true',
- help="Add color to abbreviated scons output")
-AddM5Option('--no-colors', dest='use_colors', action='store_false',
- help="Don't add color to abbreviated scons output")
-AddM5Option('--default', dest='default', type='string', action='store',
- help='Override which build_opts file to use for defaults')
-AddM5Option('--ignore-style', dest='ignore_style', action='store_true',
- help='Disable style checking hooks')
-AddM5Option('--update-ref', dest='update_ref', action='store_true',
- help='Update test reference outputs')
-AddM5Option('--verbose', dest='verbose', action='store_true',
- help='Print full tool command lines')
+AddLocalOption('--colors', dest='use_colors', action='store_true',
+ help="Add color to abbreviated scons output")
+AddLocalOption('--no-colors', dest='use_colors', action='store_false',
+ help="Don't add color to abbreviated scons output")
+AddLocalOption('--default', dest='default', type='string', action='store',
+ help='Override which build_opts file to use for defaults')
+AddLocalOption('--ignore-style', dest='ignore_style', action='store_true',
+ help='Disable style checking hooks')
+AddLocalOption('--update-ref', dest='update_ref', action='store_true',
+ help='Update test reference outputs')
+AddLocalOption('--verbose', dest='verbose', action='store_true',
+ help='Print full tool command lines')
use_colors = GetOption('use_colors')
if use_colors: