blob: 07dd2e3f79433cd426e1319b3ab6edac40756652 [file] [log] [blame]
From 0e71a45f5306c61085b972fb6799dad58cc51b83 Mon Sep 17 00:00:00 2001
From: Naveen M K <naveen521kk@gmail.com>
Date: Mon, 28 Jun 2021 17:31:35 +0530
Subject: [PATCH 099/N] Change the `get_platform()` method in sysconfig and
distutils
This would possibly fix building wheels when mingw python
is used and would be unique to each python same as EXT_SUFFIX.
Also, this modifies the `sys.version` argument to include UCRT
in it.
Signed-off-by: Naveen M K <naveen521kk@gmail.com>
---
Lib/distutils/util.py | 16 ++++++++++++++--
Lib/sysconfig.py | 16 ++++++++++++++--
Python/getcompiler.c | 4 ++++
3 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 75a369d..5b51c76 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -36,8 +36,20 @@ def get_host_platform():
"""
if os.name == 'nt':
- if 'GCC' in sys.version:
- return 'mingw'
+ if 'gcc' in sys.version.lower():
+ if 'ucrt' in sys.version.lower():
+ if 'amd64' in sys.version.lower():
+ return 'mingw_x86_64_ucrt'
+ return 'mingw_i686_ucrt'
+ if 'clang' in sys.version.lower():
+ if 'amd64' in sys.version.lower():
+ return 'mingw_x86_64_clang'
+ if 'arm64' in sys.version.lower():
+ return 'mingw_aarch64'
+ return 'mingw_i686_clang'
+ if 'amd64' in sys.version.lower():
+ return 'mingw_x86_64'
+ return 'mingw_i686'
if 'amd64' in sys.version.lower():
return 'win-amd64'
if '(arm)' in sys.version.lower():
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index c0695e2..854b382 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -667,8 +667,20 @@ def get_platform():
"""
if os.name == 'nt':
- if 'GCC' in sys.version:
- return 'mingw'
+ if 'gcc' in sys.version.lower():
+ if 'ucrt' in sys.version.lower():
+ if 'amd64' in sys.version.lower():
+ return 'mingw_x86_64_ucrt'
+ return 'mingw_i686_ucrt'
+ if 'clang' in sys.version.lower():
+ if 'amd64' in sys.version.lower():
+ return 'mingw_x86_64_clang'
+ if 'arm64' in sys.version.lower():
+ return 'mingw_aarch64'
+ return 'mingw_i686_clang'
+ if 'amd64' in sys.version.lower():
+ return 'mingw_x86_64'
+ return 'mingw_i686'
if 'amd64' in sys.version.lower():
return 'win-amd64'
if '(arm)' in sys.version.lower():
diff --git a/Python/getcompiler.c b/Python/getcompiler.c
index b529e29..2d935fe 100644
--- a/Python/getcompiler.c
+++ b/Python/getcompiler.c
@@ -33,8 +33,12 @@
#define COMPILER COMP_SEP "[GCC Clang " xstr(__clang_major__) "." \
xstr(__clang_minor__) "." xstr(__clang_patchlevel__) ARCH_SUFFIX "]"
#else
+#if defined(_UCRT)
+#define COMPILER COMP_SEP "[GCC UCRT " __VERSION__ ARCH_SUFFIX "]"
+#else
#define COMPILER COMP_SEP "[GCC " __VERSION__ ARCH_SUFFIX "]"
#endif
+#endif
// Generic fallbacks.
#elif defined(__cplusplus)
#define COMPILER "[C++]"
--
2.32.0