summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2020-12-07 17:50:48 (GMT)
committerGitHub <noreply@github.com>2020-12-07 17:50:48 (GMT)
commitca52aa3ddd949ce2d259b4263344339b56db00b7 (patch)
tree8d06c1e6317ccbb8cc575b0421d05b4126430ff5
parenta4e7d5f750e06e31a80a83c2af02b1a40cecd0ff (diff)
downloadcpython-ca52aa3ddd949ce2d259b4263344339b56db00b7.zip
cpython-ca52aa3ddd949ce2d259b4263344339b56db00b7.tar.gz
cpython-ca52aa3ddd949ce2d259b4263344339b56db00b7.tar.bz2
bpo-39825: Fixes sysconfig.get_config_var('EXT_SUFFIX') on Windows to match distutils (GH-22088)
(cherry picked from commit c0afb7fa0ebd1c0e95c0760bbe75a99a8dd12ea6) Co-authored-by: Matti Picus <matti.picus@gmail.com>
-rw-r--r--Lib/sysconfig.py3
-rw-r--r--Lib/test/test_sysconfig.py4
-rw-r--r--Misc/NEWS.d/next/Library/2020-10-20-08-28-26.bpo-39825.n6KnG0.rst5
3 files changed, 10 insertions, 2 deletions
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index b9e2faf..9caf158 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -426,10 +426,11 @@ def _init_posix(vars):
def _init_non_posix(vars):
"""Initialize the module as appropriate for NT"""
# set basic install directories
+ import _imp
vars['LIBDEST'] = get_path('stdlib')
vars['BINLIBDEST'] = get_path('platstdlib')
vars['INCLUDEPY'] = get_path('include')
- vars['EXT_SUFFIX'] = '.pyd'
+ vars['EXT_SUFFIX'] = _imp.extension_suffixes()[0]
vars['EXE'] = '.exe'
vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT
vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable))
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index 44e44bf..0ca5c93 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -358,10 +358,12 @@ class TestSysConfig(unittest.TestCase):
@unittest.skipIf(sysconfig.get_config_var('EXT_SUFFIX') is None,
'EXT_SUFFIX required for this test')
- def test_SO_in_vars(self):
+ def test_EXT_SUFFIX_in_vars(self):
+ import _imp
vars = sysconfig.get_config_vars()
self.assertIsNotNone(vars['SO'])
self.assertEqual(vars['SO'], vars['EXT_SUFFIX'])
+ self.assertEqual(vars['EXT_SUFFIX'], _imp.extension_suffixes()[0])
@unittest.skipUnless(sys.platform == 'linux' and
hasattr(sys.implementation, '_multiarch'),
diff --git a/Misc/NEWS.d/next/Library/2020-10-20-08-28-26.bpo-39825.n6KnG0.rst b/Misc/NEWS.d/next/Library/2020-10-20-08-28-26.bpo-39825.n6KnG0.rst
new file mode 100644
index 0000000..c337731
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-10-20-08-28-26.bpo-39825.n6KnG0.rst
@@ -0,0 +1,5 @@
+Windows: Change ``sysconfig.get_config_var('EXT_SUFFIX')`` to the expected
+full ``platform_tag.extension`` format. Previously it was hard-coded to
+``.pyd``, now it is compatible with ``distutils.sysconfig`` and will result
+in something like ``.cp38-win_amd64.pyd``. This brings windows into
+conformance with the other platforms.