diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2020-12-07 17:50:48 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-07 17:50:48 (GMT) |
commit | ca52aa3ddd949ce2d259b4263344339b56db00b7 (patch) | |
tree | 8d06c1e6317ccbb8cc575b0421d05b4126430ff5 | |
parent | a4e7d5f750e06e31a80a83c2af02b1a40cecd0ff (diff) | |
download | cpython-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.py | 3 | ||||
-rw-r--r-- | Lib/test/test_sysconfig.py | 4 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2020-10-20-08-28-26.bpo-39825.n6KnG0.rst | 5 |
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. |