]> granicus.if.org Git - python/commitdiff
- Issue #8447: Make distutils.sysconfig follow symlinks in the path to
authorMark Dickinson <dickinsm@gmail.com>
Tue, 3 Aug 2010 21:18:06 +0000 (21:18 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Tue, 3 Aug 2010 21:18:06 +0000 (21:18 +0000)
  the interpreter executable.  This fixes a failure of test_httpservers
  on OS X.

Lib/distutils/sysconfig.py
Misc/NEWS

index bb53315bcad7b46f0df33f6581e52c82058ba93b..46d23ecc781df5e3e350836b7110bc87810e3d41 100644 (file)
@@ -25,7 +25,7 @@ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
 # Path to the base directory of the project. On Windows the binary may
 # live in project/PCBuild9.  If we're dealing with an x64 Windows build,
 # it'll live in project/PCbuild/amd64.
-project_base = os.path.dirname(os.path.abspath(sys.executable))
+project_base = os.path.dirname(os.path.realpath(sys.executable))
 if os.name == "nt" and "pcbuild" in project_base[-8:].lower():
     project_base = os.path.abspath(os.path.join(project_base, os.path.pardir))
 # PC/VS7.1
@@ -74,7 +74,7 @@ def get_python_inc(plat_specific=0, prefix=None):
 
     if os.name == "posix":
         if python_build:
-            buildir = os.path.dirname(sys.executable)
+            buildir = os.path.dirname(os.path.realpath(sys.executable))
             if plat_specific:
                 # python.h is located in the buildir
                 inc_dir = buildir
@@ -222,7 +222,8 @@ def get_config_h_filename():
 def get_makefile_filename():
     """Return full pathname of installed Makefile from the Python build."""
     if python_build:
-        return os.path.join(os.path.dirname(sys.executable), "Makefile")
+        return os.path.join(os.path.dirname(os.path.realpath(sys.executable)),
+                            "Makefile")
     lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
     return os.path.join(lib_dir, "config", "Makefile")
 
@@ -459,7 +460,7 @@ def _init_nt():
     g['SO'] = '.pyd'
     g['EXE'] = ".exe"
     g['VERSION'] = get_python_version().replace(".", "")
-    g['BINDIR'] = os.path.dirname(os.path.abspath(sys.executable))
+    g['BINDIR'] = os.path.dirname(os.path.realpath(sys.executable))
 
     global _config_vars
     _config_vars = g
index 100854a7a3f93da6275cc2aba0e898622a49b102..7ebf46e236dc73c150783193587d55591e77311e 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -89,6 +89,10 @@ C-API
 Library
 -------
 
+- Issue #8447: Make distutils.sysconfig follow symlinks in the path to
+  the interpreter executable.  This fixes a failure of test_httpservers
+  on OS X.
+
 - Issue #7092: Fix the DeprecationWarnings emitted by the standard library
   when using the -3 flag.  Patch by Florent Xicluna.