diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CHANGES.txt | 3 | ||||
-rw-r--r-- | src/engine/SCons/Platform/__init__.py | 3 | ||||
-rw-r--r-- | src/engine/SCons/Tool/__init__.py | 3 | ||||
-rw-r--r-- | src/engine/SCons/Util.py | 4 |
4 files changed, 10 insertions, 3 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 6ae86ec..e519fd2 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -74,6 +74,9 @@ RELEASE 0.11 - XXX --standalone-lib, and --version-lib options for easier user control of where the libraries get installed. + - Fix the ability to directly import and use Platform and Tool modules + that have been implicitly imported into an Environment(). + From Steve Leblanc: - Fix the output of -c -n when directories are involved, so it diff --git a/src/engine/SCons/Platform/__init__.py b/src/engine/SCons/Platform/__init__.py index 90bb27c..565c2a0 100644 --- a/src/engine/SCons/Platform/__init__.py +++ b/src/engine/SCons/Platform/__init__.py @@ -88,7 +88,8 @@ def platform_module(name = platform_default()): try: file, path, desc = imp.find_module(name, sys.modules['SCons.Platform'].__path__) - imp.load_module(full_name, file, path, desc) + mod = imp.load_module(full_name, file, path, desc) + setattr(SCons.Platform, name, mod) except ImportError: raise SCons.Errors.UserError, "No platform named '%s'" % name if file: diff --git a/src/engine/SCons/Tool/__init__.py b/src/engine/SCons/Tool/__init__.py index 19a3cff..7002606 100644 --- a/src/engine/SCons/Tool/__init__.py +++ b/src/engine/SCons/Tool/__init__.py @@ -59,7 +59,8 @@ def Tool(name, platform = None): try: file, path, desc = imp.find_module(name, sys.modules['SCons.Tool'].__path__) - imp.load_module(full_name, file, path, desc) + mod = imp.load_module(full_name, file, path, desc) + setattr(SCons.Tool, name, mod) except ImportError: raise SCons.Errors.UserError, "No tool named '%s'" % name if file: diff --git a/src/engine/SCons/Util.py b/src/engine/SCons/Util.py index 4c80d19..0d64e03 100644 --- a/src/engine/SCons/Util.py +++ b/src/engine/SCons/Util.py @@ -621,7 +621,9 @@ except ImportError: RegError = win32api.error except ImportError: - pass + class _NoError(Exception): + pass + RegError = _NoError if can_read_reg: HKEY_CLASSES_ROOT = hkey_mod.HKEY_CLASSES_ROOT |