diff options
author | Steven Knight <knight@baldmt.com> | 2010-04-09 18:39:21 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2010-04-09 18:39:21 (GMT) |
commit | 766675b428700a8f73e92f7e3de6d8d456fc2b99 (patch) | |
tree | 34ec773572713ff2f125ba74023b7466e6c4436a /src/engine/SCons/compat | |
parent | 608d04e42b0de175c29b806517d4a32a594fa493 (diff) | |
download | SCons-766675b428700a8f73e92f7e3de6d8d456fc2b99.zip SCons-766675b428700a8f73e92f7e3de6d8d456fc2b99.tar.gz SCons-766675b428700a8f73e92f7e3de6d8d456fc2b99.tar.bz2 |
Issue 2331: For forward compatibility, use "import pickle" and have
the SCons.compat layer import cPickle as pickle when it's available.
Diffstat (limited to 'src/engine/SCons/compat')
-rw-r--r-- | src/engine/SCons/compat/__init__.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/engine/SCons/compat/__init__.py b/src/engine/SCons/compat/__init__.py index 4553d21..f220c32 100644 --- a/src/engine/SCons/compat/__init__.py +++ b/src/engine/SCons/compat/__init__.py @@ -196,6 +196,20 @@ except AttributeError: try: # Use the "imp" module to protect the import from fixers. import imp + cPickle = imp.load_module('cPickle', *imp.find_module('cPickle')) +except ImportError, e: + # The "cPickle" module has already been eliminated in favor of + # having "import pickle" import the fast version when available. + pass +else: + import sys + sys.modules['pickle'] = cPickle + del cPickle + + +try: + # Use the "imp" module to protect the import from fixers. + import imp cProfile = imp.load_module('cProfile', *imp.find_module('cProfile')) except ImportError: # The "cProfile" module has already been eliminated in favor of |