]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake/modules: avoid using distutils
authorKefu Chai <tchaikov@gmail.com>
Fri, 25 Mar 2022 15:06:46 +0000 (23:06 +0800)
committerTim Serong <tserong@suse.com>
Fri, 19 Aug 2022 08:35:31 +0000 (18:35 +1000)
to address following warning from python 3.9:

<string>:1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
<string>:1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 637dd7b40404e644519b1fc3b5ef03f2d18def00)

cmake/modules/Distutils.cmake
src/pybind/CMakeLists.txt

index b1b99f371b8797a02ecd0eabd79d59fce1bc92af..fe3ca410e61ee1a597668b2b748cbffb88ab97b2 100644 (file)
@@ -71,7 +71,7 @@ function(distutils_add_cython_module target name src)
   set(PY_LDSHARED ${link_launcher} ${CMAKE_C_COMPILER} ${c_compiler_arg1} "-shared")
 
   execute_process(COMMAND "${Python3_EXECUTABLE}" -c
-    "from distutils import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))"
+    "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))"
     RESULT_VARIABLE result
     OUTPUT_VARIABLE ext_suffix
     ERROR_VARIABLE error
index 86fcc6becade7d3f2766bd0cf9b330b1882f7d5d..942af6e4966c2d4b91c491605c9552c2923ccdc6 100644 (file)
@@ -32,7 +32,14 @@ endif(CMAKE_INSTALL_PREFIX)
 
 execute_process(
   COMMAND
-  ${Python3_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_lib(prefix='${PYTHON_INSTALL_TEMPLATE}'))"
+  ${Python3_EXECUTABLE} -c
+    "import sysconfig;\
+     print(\
+     sysconfig.get_path(\
+     name='purelib',\
+     vars=\
+     {'base': '${PYTHON_INSTALL_TEMPLATE}',\
+      'py_version_short': sysconfig.get_config_var('py_version_short')}))"
   OUTPUT_VARIABLE "PYTHON3_INSTDIR"
   OUTPUT_STRIP_TRAILING_WHITESPACE)