ref: d6a5c57727643fc7a0d30e10776edf9c2c5956ae
parent: 57fd61805fcd13acfd59031fb1211cbfcbb81f51
author: Eli Schwartz <eschwartz@archlinux.org>
date: Mon Dec 13 18:40:16 EST 2021
* meson.build: Optimize lookup for `python3` program. The python module's `find_installation` method is intended to provide routines for compiling and installing python modules into the `site-packages` directory. It does a couple of slow things, including run an introspection command to scrape sysconfig info from the detected interpreter, which are not needed for the sole use case of invoking the found installation as an executable. Furthermore, when invoked without the name or path of a python binary, it is hardcoded to always look for `python3` corresponding to the interpreter meson itself uses to run. So using `find_installation` did not even allow detecting `python2` as a fallback. Instead, switch to a simple `find_program` lookup that finishes as soon as the program is found.
--- a/meson.build
+++ b/meson.build
@@ -36,8 +36,7 @@
# variable; we thus use an external command to have this functionality
# with older versions, too.
-python = import('python')
-python_exe = python.find_installation(required: true)
+python_exe = find_program('python3')
ft2_so_version = run_command(python_exe,
files('builds/meson/extract_libtool_version.py'),