Fixed #8577. distutils.sysconfig.get_python_inc() now differenciates buildir and srcdir
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 54ccec4..bb53315 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -71,15 +71,19 @@
     """
     if prefix is None:
         prefix = plat_specific and EXEC_PREFIX or PREFIX
+
     if os.name == "posix":
         if python_build:
-            base = os.path.dirname(os.path.abspath(sys.executable))
+            buildir = os.path.dirname(sys.executable)
             if plat_specific:
-                inc_dir = base
+                # python.h is located in the buildir
+                inc_dir = buildir
             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")
+                # the source dir is relative to the buildir
+                srcdir = os.path.abspath(os.path.join(buildir,
+                                         get_config_var('srcdir')))
+                # Include is located in the srcdir
+                inc_dir = os.path.join(srcdir, "Include")
             return inc_dir
         return os.path.join(prefix, "include", "python" + get_python_version())
     elif os.name == "nt":
diff --git a/Misc/NEWS b/Misc/NEWS
index a43825c..b42665a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -31,6 +31,10 @@
 Library
 -------
 
+- Issue #8577: distutils.sysconfig.get_python_inc() now makes a difference 
+  between the build dir and the source dir when looking for "python.h" or
+  "Include".
+
 - Issue #8464: tarfile no longer creates files with execute permissions set
   when mode="w|" is used.