]> granicus.if.org Git - python/commitdiff
Fix get_python_inc() to work when building in a directory separate from
authorNeil Schemenauer <nascheme@enme.ucalgary.ca>
Thu, 5 Feb 2009 16:33:41 +0000 (16:33 +0000)
committerNeil Schemenauer <nascheme@enme.ucalgary.ca>
Thu, 5 Feb 2009 16:33:41 +0000 (16:33 +0000)
the source.  Also, define 'srcdir' on non-posix platforms.

Lib/distutils/sysconfig.py

index b17743a8651768cbbdc4b8c260a5747a6be458a2..de8c5fccd6c557a1d06e531e7b66e35ea456e5ec 100644 (file)
@@ -72,14 +72,17 @@ def get_python_inc(plat_specific=0, prefix=None):
         prefix = plat_specific and EXEC_PREFIX or PREFIX
     if os.name == "posix":
         if python_build:
+            # Assume the executable is in the build directory.  The
+            # pyconfig.h file should be in the same directory.  Since
+            # the build directory may not be the source directory, we
+            # must use "srcdir" from the makefile to find the "Include"
+            # directory.
             base = os.path.dirname(os.path.abspath(sys.executable))
             if plat_specific:
-                inc_dir = base
+                return base
             else:
-                inc_dir = os.path.join(base, "Include")
-                if not os.path.exists(inc_dir):
-                    inc_dir = os.path.join(os.path.dirname(base), "Include")
-            return inc_dir
+                incdir = os.path.join(get_config_var('srcdir'), 'Include')
+                return os.path.normpath(incdir)
         return os.path.join(prefix, "include", "python" + get_python_version())
     elif os.name == "nt":
         return os.path.join(prefix, "include")