summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2010-02-21 14:57:09 (GMT)
committerSteven Knight <knight@baldmt.com>2010-02-21 14:57:09 (GMT)
commitdf62cd97a67dd0a947105393e8d88166b9b2c656 (patch)
tree5083754cf611f3c5df23c1d3f42cde9af022644b
parentcc62454164849720eeffd08aea925f8d474b9d7c (diff)
downloadSCons-df62cd97a67dd0a947105393e8d88166b9b2c656.zip
SCons-df62cd97a67dd0a947105393e8d88166b9b2c656.tar.gz
SCons-df62cd97a67dd0a947105393e8d88166b9b2c656.tar.bz2
Issue 2051: Support execution when installed via easy_install.
(Gottfried Ganssauge)
-rw-r--r--src/CHANGES.txt4
-rw-r--r--src/script/scons.py13
-rw-r--r--src/script/sconsign.py13
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))