Blob Blame History Raw
diff -rupN Python-2.7.13/Lib/distutils/sysconfig.py Python-2.7.13-new/Lib/distutils/sysconfig.py
--- Python-2.7.13/Lib/distutils/sysconfig.py	2017-01-21 01:46:06.279609979 +0100
+++ Python-2.7.13-new/Lib/distutils/sysconfig.py	2017-01-21 01:46:08.994580992 +0100
@@ -62,6 +62,16 @@ def get_python_version():
     """
     return sys.version[:3]
 
+def _posix_build():
+    # GCC[mingw*] use posix build system
+    # Check for cross builds explicitly
+    host_platform = os.environ.get("_PYTHON_HOST_PLATFORM")
+    if host_platform:
+        if host_platform.startswith('mingw'):
+            return True
+    return os.name == 'posix' or \
+        (os.name == "nt" and 'GCC' in sys.version)
+posix_build = _posix_build()
 
 def get_python_inc(plat_specific=0, prefix=None):
     """Return the directory containing installed Python header files.
@@ -77,7 +87,7 @@ def get_python_inc(plat_specific=0, pref
     if prefix is None:
         prefix = plat_specific and EXEC_PREFIX or PREFIX
 
-    if os.name == "posix":
+    if posix_build:
         if python_build:
             buildir = os.path.dirname(sys.executable)
             if plat_specific:
@@ -118,7 +128,7 @@ def get_python_lib(plat_specific=0, stan
     if prefix is None:
         prefix = plat_specific and EXEC_PREFIX or PREFIX
 
-    if os.name == "posix":
+    if posix_build:
         libpython = os.path.join(prefix,
                                  "lib", "python" + get_python_version())
         if standard_lib:
@@ -240,7 +250,7 @@ def customize_compiler(compiler):
 def get_config_h_filename():
     """Return full pathname of installed pyconfig.h file."""
     if python_build:
-        if os.name == "nt":
+        if os.name == "nt" and not posix_build:
             inc_dir = os.path.join(project_base, "PC")
         else:
             inc_dir = project_base
@@ -417,6 +427,9 @@ def _init_posix():
 
 
 def _init_nt():
+    if posix_build:
+        _init_posix()
+        return
     """Initialize the module as appropriate for NT"""
     g = {}
     # set basic install directories