diff options
author | Steven Knight <knight@baldmt.com> | 2002-01-18 00:53:15 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-01-18 00:53:15 (GMT) |
commit | d24ad27cfaf6c60ab9bec33c7c67bde2a5f9c03a (patch) | |
tree | 957af0a8e854cfff07a1fdee740f635926b25b86 /src/engine | |
parent | 05c010c35119bd839db29b682f7a44f5c4e5eac3 (diff) | |
download | SCons-d24ad27cfaf6c60ab9bec33c7c67bde2a5f9c03a.zip SCons-d24ad27cfaf6c60ab9bec33c7c67bde2a5f9c03a.tar.gz SCons-d24ad27cfaf6c60ab9bec33c7c67bde2a5f9c03a.tar.bz2 |
Task 45350 - Add passing of custom command-line arguments.
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/SCons/Script/SConscript.py | 10 | ||||
-rw-r--r-- | src/engine/SCons/Script/__init__.py | 9 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py index 8ba64d1..bb1064a 100644 --- a/src/engine/SCons/Script/SConscript.py +++ b/src/engine/SCons/Script/SConscript.py @@ -36,17 +36,22 @@ import SCons.Defaults import SCons.Node import SCons.Node.FS import SCons.Environment -import SCons.Scanner -import SCons.Action import string import sys default_targets = [] print_help = 0 +arguments = {} # global exports set by Export(): global_exports = {} +def _scons_add_args(alist): + global arguments + for arg in alist: + a, b = string.split(arg, '=', 2) + arguments[a] = b + class Frame: """A frame on the SConstruct/SConscript call stack""" def __init__(self, exports): @@ -163,6 +168,7 @@ def BuildDefaultGlobals(): globals = {} globals['Action'] = SCons.Action.Action + globals['ARGUMENTS'] = arguments globals['BuildDir'] = BuildDir globals['Builder'] = SCons.Builder.Builder globals['CScan'] = SCons.Defaults.CScan diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py index 1711f7a..1788fab 100644 --- a/src/engine/SCons/Script/__init__.py +++ b/src/engine/SCons/Script/__init__.py @@ -584,12 +584,19 @@ def _main(): opt_func[opt](opt, arg) try: - cmd_opts, targets = getopt.getopt(sys.argv[1:], short_opts, long_opts) + cmd_opts, args = getopt.getopt(sys.argv[1:], short_opts, long_opts) except getopt_err, x: _scons_user_error(x) else: for opt, arg in cmd_opts: opt_func[opt](opt, arg) + xmit_args = [] + for a in args: + if '=' in a: + xmit_args.append(a) + else: + targets.append(a) + SCons.Script.SConscript._scons_add_args(xmit_args) if not scripts: for file in ['SConstruct', 'Sconstruct', 'sconstruct']: |