On Sat, 10 Jul 2021, Matti Picus wrote:
The canonical way is to use sysconfig
pypy -c "import sysconfig;print(sysconfig.get_config_var('EXT_SUFFIX'))"
.pypy37-pp73-x86_64-linux-gnu.so
On python2.7 use 'SO'
~/oss/pypy2.7-HEAD/bin/pypy -c "import
sysconfig;print(sysconfig.get_config_var('SO'))"
.pypy-73.so
This is exactly what I have been looking for. Thenk you very much!
In case anyone is interested, here is my resulting autoconf macro:
https://gist.github.com/rlutz/334b995462e8d52ae2ae102334b45170
This is an extended version of the standard `AM_PATH_PYTHON' macro. It
takes two arguments: a minimum Python 2 version, and a minimum Python 3
version.
AM_PATH_PYTHON_EXT([2.7], [3.5])
In case your package supports either only Python 2 or only Python 3, leave
the other argument blank.
AM_PATH_PYTHON_EXT([2.7], [])
AM_PATH_PYTHON_EXT([], [3.5])
This macro chooses the newest available version of PyPy matching the
arguments, falling back to CPython if PyPy isn't available. It defines
the following output values:
PYTHON - the name of the Python executable
PYTHON_VERSION - the Python version in the form MAJOR.MINOR
PYTHON_PLATFORM - the value of sys.platform
PYTHON_EXT_SUFFIX - filename extension for extension modules
PYTHON_CFLAGS - CFLAGS for compiling extension modules
PYTHON_LDFLAGS - LDFLAGS for compiling extension modules
PYTHON_PREFIX, PYTHON_EXEC_PREFIX - the correct prefixes
pythondir, pkgpythondir - where to install pure-Python packages
pyexecdir, pkgpyexecdir - where to install packages that contain
extension modules
The macro can be used as a drop-in replacement for AM_PATH_PYTHON (but
beware of the changed arguments). If you are using Autotools for building
Python extensions, you are probably also calling PKG_CHECK_MODULES for
obtaining the PYTHON_CFLAGS; this call isn't necessary any more and should
be removed.
Roland
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev