diff --git a/mesonbuild/scripts/python_info.py b/mesonbuild/scripts/python_info.py index cfa2b1dd86da..3fb07fb53cab 100755 --- a/mesonbuild/scripts/python_info.py +++ b/mesonbuild/scripts/python_info.py @@ -13,7 +13,6 @@ del sys.path[0] import json, os, sysconfig -import distutils.command.install def get_distutils_paths(scheme=None, prefix=None): import distutils.dist @@ -63,10 +62,15 @@ def get_install_paths(): return paths, install_paths def links_against_libpython(): - from distutils.core import Distribution, Extension - cmd = Distribution().get_command_obj('build_ext') - cmd.ensure_finalized() - return bool(cmd.get_libraries(Extension('dummy', []))) + # on versions supporting python-embed.pc, this is the non-embed lib + if sys.version_info >= (3, 12): + variables = sysconfig.get_config_vars() + return bool(variables.get('LIBPYTHON', True)) + else: + from distutils.core import Distribution, Extension + cmd = Distribution().get_command_obj('build_ext') + cmd.ensure_finalized() + return bool(cmd.get_libraries(Extension('dummy', []))) def main(): variables = sysconfig.get_config_vars()