summaryrefslogtreecommitdiff
path: root/distutils/command/py37compat.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2020-09-01 21:18:01 -0400
committerJason R. Coombs <jaraco@jaraco.com>2020-09-01 21:18:01 -0400
commit97a8f11a8a039fc0de04a31d281715f1ce6ea4bc (patch)
tree4487e9297d8b018fc49b120e2a9d26cd750e6958 /distutils/command/py37compat.py
parent5ab258b9a3609ebe3fbe7b4fca600b3f36e4de32 (diff)
downloadpython-setuptools-git-97a8f11a8a039fc0de04a31d281715f1ce6ea4bc.tar.gz
Restore pythonlib support on older Pythons. Fixes pypa/distutils#9.
Diffstat (limited to 'distutils/command/py37compat.py')
-rw-r--r--distutils/command/py37compat.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/distutils/command/py37compat.py b/distutils/command/py37compat.py
new file mode 100644
index 00000000..754715a5
--- /dev/null
+++ b/distutils/command/py37compat.py
@@ -0,0 +1,30 @@
+import sys
+
+
+def _pythonlib_compat():
+ """
+ On Python 3.7 and earlier, distutils would include the Python
+ library. See pypa/distutils#9.
+ """
+ from distutils import sysconfig
+ if not sysconfig.get_config_var('Py_ENABLED_SHARED'):
+ return
+
+ yield 'python{}.{}{}'.format(
+ sys.hexversion >> 24,
+ (sys.hexversion >> 16) & 0xff,
+ sysconfig.get_config_var('ABIFLAGS'),
+ )
+
+
+def compose(f1, f2):
+ return lambda *args, **kwargs: f1(f2(*args, **kwargs))
+
+
+pythonlib = (
+ compose(list, _pythonlib_compat)
+ if sys.version_info < (3, 8)
+ and sys.platform != 'darwin'
+ and sys.platform[:3] != 'aix'
+ else list
+)