summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2022-03-27 14:44:20 -0400
committerJason R. Coombs <jaraco@jaraco.com>2022-03-27 14:45:40 -0400
commit74dc5363b3ef0c0d4f07d20e4d7d3aa91be159ae (patch)
treeebe50c39f1d5a07b5c25812374f272fd99908ee3
parente3de684f3e8b065c642f7f0a821d13c830b980f4 (diff)
downloadpython-setuptools-git-74dc5363b3ef0c0d4f07d20e4d7d3aa91be159ae.tar.gz
Move EXT_SUFFIX support to _py39compat, to be removed after support for Python 3.9 is dropped. Fall back to default behavior on Python 3.10. Remove functionality for SO, which has been long deprecated and is untested.
-rw-r--r--distutils/py39compat.py14
-rw-r--r--distutils/sysconfig.py12
2 files changed, 17 insertions, 9 deletions
diff --git a/distutils/py39compat.py b/distutils/py39compat.py
new file mode 100644
index 00000000..6771f0ff
--- /dev/null
+++ b/distutils/py39compat.py
@@ -0,0 +1,14 @@
+import sys
+import platform
+
+
+def ext_suffix(vars):
+ """
+ Ensure vars contains 'EXT_SUFFIX'. pypa/distutils#130
+ """
+ if sys.version_info < (3, 10):
+ return vars
+ if platform.system() != 'Windows':
+ return vars
+ import _imp
+ vars.update(EXT_SUFFIX=_imp.extension_suffixes()[0])
diff --git a/distutils/sysconfig.py b/distutils/sysconfig.py
index e2a395df..ef554768 100644
--- a/distutils/sysconfig.py
+++ b/distutils/sysconfig.py
@@ -16,6 +16,7 @@ import sys
import sysconfig
from .errors import DistutilsPlatformError
+from . import py39compat
IS_PYPY = '__pypy__' in sys.builtin_module_names
@@ -448,15 +449,8 @@ def get_config_vars(*args):
"""
global _config_vars
if _config_vars is None:
- _config_vars = sysconfig.get_config_vars().copy()
- if os.name == 'nt':
- # See https://github.com/pypa/distutils/issues/130
- _config_vars['EXT_SUFFIX'] = _imp.extension_suffixes()[0]
- if not IS_PYPY:
- # For backward compatibility, see issue19555
- SO = _config_vars.get('EXT_SUFFIX')
- if SO is not None:
- _config_vars['SO'] = SO
+ _config_vars = py39compat.ext_suffix(
+ sysconfig.get_config_vars().copy())
if args:
vals = []