summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-12-18 05:30:09 (GMT)
committerSteven Knight <knight@baldmt.com>2003-12-18 05:30:09 (GMT)
commit3dbcd90feabb2bc928373fe8618eb4453fcaa76e (patch)
tree97387ce3d10b56e1798638d0ebc212229c1a4215 /src/engine/SCons/Tool
parent571141b46b2f9ee0f7150bdb3aeee11e2d7bcd21 (diff)
downloadSCons-3dbcd90feabb2bc928373fe8618eb4453fcaa76e.zip
SCons-3dbcd90feabb2bc928373fe8618eb4453fcaa76e.tar.gz
SCons-3dbcd90feabb2bc928373fe8618eb4453fcaa76e.tar.bz2
Add support for a toolpath for Environments.
Diffstat (limited to 'src/engine/SCons/Tool')
-rw-r--r--src/engine/SCons/Tool/__init__.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/engine/SCons/Tool/__init__.py b/src/engine/SCons/Tool/__init__.py
index a58ac6d..34e9e0d 100644
--- a/src/engine/SCons/Tool/__init__.py
+++ b/src/engine/SCons/Tool/__init__.py
@@ -55,9 +55,23 @@ class ToolSpec:
def __str__(self):
return self.name
-def Tool(name):
- """Select a canned Tool specification.
- """
+def Tool(name, toolpath=[]):
+ "Select a canned Tool specification, optionally searching in toolpath."
+
+ try:
+ file, path, desc = imp.find_module(name, toolpath)
+ try:
+ module = imp.load_module(name, file, path, desc)
+ spec = ToolSpec(name)
+ spec.generate = module.generate
+ spec.exists = module.exists
+ return spec
+ finally:
+ if file:
+ file.close()
+ except ImportError, e:
+ pass
+
full_name = 'SCons.Tool.' + name
if not sys.modules.has_key(full_name):
try: