meson: Make detection of python more robust

Previously we errored out if no python installation could be found (but we did
handle not having enough of python installed to build plpython
against). Presumably nobody hit this so far, as python is likely installed due
to meson requiring python.

Author: Tristan Partin <tristan@neon.tech>
Discussion: https://postgr.es/m/CSPIJVUDZFKX.3KHMOAVGF94RV@c3po
Backpatch: 16-, where meson support was added
This commit is contained in:
Andres Freund 2023-10-20 11:11:31 -07:00
parent 52f22cd4e8
commit 41da94fd5c
1 changed files with 7 additions and 5 deletions

View File

@ -1056,15 +1056,17 @@ endif
###############################################################
pyopt = get_option('plpython')
python3_dep = not_found_dep
if not pyopt.disabled()
pm = import('python')
python3_inst = pm.find_installation(required: pyopt)
python3_dep = python3_inst.dependency(embed: true, required: pyopt)
if not cc.check_header('Python.h', dependencies: python3_dep, required: pyopt)
python3_dep = not_found_dep
if python3_inst.found()
python3_dep = python3_inst.dependency(embed: true, required: pyopt)
# Remove this check after we depend on Meson >= 1.1.0
if not cc.check_header('Python.h', dependencies: python3_dep, required: pyopt)
python3_dep = not_found_dep
endif
endif
else
python3_dep = not_found_dep
endif