From fe13f923adc42824433213476f8f63a8e4a8d4bd Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 3 Nov 2020 11:29:24 -0500 Subject: [PATCH 1/2] fix: match new extension discovery with changes to classic discovery Followup to #2638 - this was fixed in 2.6.0, but only for classic Python --- tools/pybind11NewTools.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/pybind11NewTools.cmake b/tools/pybind11NewTools.cmake index 01b66535ab..37e0086cba 100644 --- a/tools/pybind11NewTools.cmake +++ b/tools/pybind11NewTools.cmake @@ -95,8 +95,9 @@ endif() # required for PyPy3 (as of 7.3.1) if(NOT DEFINED PYTHON_MODULE_EXTENSION) execute_process( - COMMAND "${${_Python}_EXECUTABLE}" "-c" - "from distutils import sysconfig; print(sysconfig.get_config_var('SO'))" + COMMAND + "${${_Python}_EXECUTABLE}" "-c" + "from distutils import sysconfig as s;print(s.get_config_var('SO') or s.get_config_var('EXT_SUFFIX'))" OUTPUT_VARIABLE _PYTHON_MODULE_EXTENSION ERROR_VARIABLE _PYTHON_MODULE_EXTENSION_ERR OUTPUT_STRIP_TRAILING_WHITESPACE) From 76781f3f8fa5be7992f2c6045fb6d165605ae240 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 5 Nov 2020 09:42:36 -0500 Subject: [PATCH 2/2] fix: followup to avoid warnings --- tools/FindPythonLibsNew.cmake | 2 +- tools/pybind11NewTools.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/FindPythonLibsNew.cmake b/tools/FindPythonLibsNew.cmake index 4f5cf00ae2..b7125912c8 100644 --- a/tools/FindPythonLibsNew.cmake +++ b/tools/FindPythonLibsNew.cmake @@ -115,7 +115,7 @@ print('.'.join(str(v) for v in sys.version_info)); print(sys.prefix); print(s.get_python_inc(plat_specific=True)); print(s.get_python_lib(plat_specific=True)); -print(s.get_config_var('SO') or s.get_config_var('EXT_SUFFIX')); +print(s.get_config_var('EXT_SUFFIX') or s.get_config_var('SO')); print(hasattr(sys, 'gettotalrefcount')+0); print(struct.calcsize('@P')); print(s.get_config_var('LDVERSION') or s.get_config_var('VERSION')); diff --git a/tools/pybind11NewTools.cmake b/tools/pybind11NewTools.cmake index 37e0086cba..357cc61c13 100644 --- a/tools/pybind11NewTools.cmake +++ b/tools/pybind11NewTools.cmake @@ -97,7 +97,7 @@ if(NOT DEFINED PYTHON_MODULE_EXTENSION) execute_process( COMMAND "${${_Python}_EXECUTABLE}" "-c" - "from distutils import sysconfig as s;print(s.get_config_var('SO') or s.get_config_var('EXT_SUFFIX'))" + "from distutils import sysconfig as s;print(s.get_config_var('EXT_SUFFIX') or s.get_config_var('SO'))" OUTPUT_VARIABLE _PYTHON_MODULE_EXTENSION ERROR_VARIABLE _PYTHON_MODULE_EXTENSION_ERR OUTPUT_STRIP_TRAILING_WHITESPACE)