Commit d6a5c57727643fc7a0d30e10776edf9c2c5956ae

Eli Schwartz 2021-12-13T23:40:16

* 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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/meson.build b/meson.build
index 6ea4bfa..5e8d8ef 100644
--- a/meson.build
+++ b/meson.build
@@ -36,8 +36,7 @@ project('freetype2', 'c',
 # 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'),