]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39825: Fixes sysconfig.get_config_var('EXT_SUFFIX') on Windows to match distutils...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 7 Dec 2020 17:50:48 +0000 (09:50 -0800)
committerGitHub <noreply@github.com>
Mon, 7 Dec 2020 17:50:48 +0000 (09:50 -0800)
(cherry picked from commit c0afb7fa0ebd1c0e95c0760bbe75a99a8dd12ea6)

Co-authored-by: Matti Picus <matti.picus@gmail.com>
Lib/sysconfig.py
Lib/test/test_sysconfig.py
Misc/NEWS.d/next/Library/2020-10-20-08-28-26.bpo-39825.n6KnG0.rst [new file with mode: 0644]

index b9e2fafbc084a6bb79cda951d72c885047ecfb14..9caf158019a2eece4b8f36869bed7fb876aab3ea 100644 (file)
@@ -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))
index 44e44bf5ea995f0c601e21a96a3780cd44ee08c6..0ca5c9390dbb9a1aec47dce9ee5bbd5992e23d29 100644 (file)
@@ -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 (file)
index 0000000..c337731
--- /dev/null
@@ -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.