From: stevenknight Date: Sun, 21 Feb 2010 14:57:09 +0000 (+0000) Subject: Issue 2051: Support execution when installed via easy_install. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8842b67625a99bd0fb43c850b58e09e3c1a7b878;p=scons.git Issue 2051: Support execution when installed via easy_install. (Gottfried Ganssauge) git-svn-id: http://scons.tigris.org/svn/scons/trunk@4680 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- diff --git a/src/CHANGES.txt b/src/CHANGES.txt index ec6ea953..3a1b8e3d 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 fb4cf525..dec42229 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 c45f5873..40c5daff 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))