diff options
-rw-r--r-- | src/CHANGES.txt | 4 | ||||
-rw-r--r-- | src/script/scons.py | 13 | ||||
-rw-r--r-- | src/script/sconsign.py | 13 |
3 files changed, 30 insertions, 0 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index ec6ea95..3a1b8e3 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -14,6 +14,10 @@ RELEASE X.X.X - XXX - Fix typos in the man page. + From Gottfried Ganssauge: + + - Support execution when SCons is installed via easy_install. + From Steven Knight: - Make the messages for Configure checks of compilers consistent. diff --git a/src/script/scons.py b/src/script/scons.py index fb4cf52..dec4222 100644 --- a/src/script/scons.py +++ b/src/script/scons.py @@ -160,6 +160,19 @@ else: # Check /usr/libfoo/scons*. prefs.append(libpath) + try: + import pkg_resources + except ImportError: + pass + else: + # when running from an egg add the egg's directory + try: + d = pkg_resources.get_distribution('scons') + except pkg_resources.DistributionNotFound: + pass + else: + prefs.append(d.location) + # Look first for 'scons-__version__' in all of our preference libs, # then for 'scons'. libs.extend(map(lambda x: os.path.join(x, scons_version), prefs)) diff --git a/src/script/sconsign.py b/src/script/sconsign.py index c45f587..40c5daf 100644 --- a/src/script/sconsign.py +++ b/src/script/sconsign.py @@ -148,6 +148,19 @@ else: # Check /usr/libfoo/scons*. prefs.append(libpath) + try: + import pkg_resources + except ImportError: + pass + else: + # when running from an egg add the egg's directory + try: + d = pkg_resources.get_distribution('scons') + except pkg_resources.DistributionNotFound: + pass + else: + prefs.append(d.location) + # Look first for 'scons-__version__' in all of our preference libs, # then for 'scons'. libs.extend(map(lambda x: os.path.join(x, scons_version), prefs)) |