diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-09-01 21:18:01 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2020-09-01 21:18:01 -0400 |
commit | 97a8f11a8a039fc0de04a31d281715f1ce6ea4bc (patch) | |
tree | 4487e9297d8b018fc49b120e2a9d26cd750e6958 /distutils/command/py37compat.py | |
parent | 5ab258b9a3609ebe3fbe7b4fca600b3f36e4de32 (diff) | |
download | python-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.py | 30 |
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 +) |