diff options
| author | Steven Knight <knight@baldmt.com> | 2005-03-18 22:40:53 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2005-03-18 22:40:53 (GMT) |
| commit | d808adfc6584904f2f4196ee20db27bc6e5d9f7a (patch) | |
| tree | d5aec630f03ce93b28cf05459b8b12fc887d3ef4 /src/engine/SCons/Script/Main.py | |
| parent | 5f15480b79a32100de386de7f573e41564c2ef27 (diff) | |
| download | SCons-d808adfc6584904f2f4196ee20db27bc6e5d9f7a.zip SCons-d808adfc6584904f2f4196ee20db27bc6e5d9f7a.tar.gz SCons-d808adfc6584904f2f4196ee20db27bc6e5d9f7a.tar.bz2 | |
Refactor Main.py's Alias lookup to allow customized Alias (sub-)classes. (Stanislav Baranov)
Diffstat (limited to 'src/engine/SCons/Script/Main.py')
| -rw-r--r-- | src/engine/SCons/Script/Main.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/engine/SCons/Script/Main.py b/src/engine/SCons/Script/Main.py index f66f214..494fbc9 100644 --- a/src/engine/SCons/Script/Main.py +++ b/src/engine/SCons/Script/Main.py @@ -1014,7 +1014,17 @@ def _main(args, parser): if isinstance(x, SCons.Node.Node): node = x else: - node = SCons.Node.Alias.default_ans.lookup(x) + node = None + # Why would ltop be None? Unfortunately this happens. + if ltop == None: ltop = '' + # Curdir becomes important when SCons is called with -u, -C, + # or similar option that changes directory, and so the paths + # of targets given on the command line need to be adjusted. + curdir = os.path.join(os.getcwd(), str(ltop)) + for lookup in SCons.Node.arg2nodes_lookups: + node = lookup(x, curdir=curdir) + if node != None: + break if node is None: node = fs.Entry(x, directory=ltop, create=1) if ttop and not node.is_under(ttop): @@ -1024,7 +1034,7 @@ def _main(args, parser): node = None return node - nodes = filter(lambda x: x is not None, map(Entry, targets)) + nodes = filter(None, map(Entry, targets)) task_class = BuildTask # default action is to build targets opening_message = "Building targets ..." |
