From af5ee95a5b4a98458a1b3a460947102875769a1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Mon, 10 Apr 2017 00:35:18 +0100 Subject: [PATCH] Prefer MESONINTROSPECT env var to find mesonintrospect if set This is new in meson 0.40. Makes sure we find and use the mesonintrospect from the same location as our meson, and not some other meson version that just happens to be in the path. We might be using meson directly from a checkout, for example. https://bugzilla.gnome.org/show_bug.cgi?id=781110 --- common.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/common.py b/common.py index 8c8b55dfb6..d795bf3962 100644 --- a/common.py +++ b/common.py @@ -60,5 +60,18 @@ def get_meson(): mesonintrospect = os.path.join(ROOTDIR, 'meson', 'mesonintrospect.py') return meson, mesonconf, mesonintrospect - return accept_command(["meson.py", "meson"]), accept_command(["mesonconf.py", "mesonconf"]), \ - accept_command(["mesonintrospect.py", "mesonintrospect"]) + mesonintrospect = os.environ.get('MESONINTROSPECT', None) + if mesonintrospect and os.path.exists(mesonintrospect): + mesondir = os.path.dirname(mesonintrospect) + if mesonintrospect.endswith('.py'): + meson = os.path.join(mesondir, 'meson.py') + mesonconf = os.path.join(mesondir, 'mesonconf.py') + else: + meson = os.path.join(mesondir, 'meson') + mesonconf = os.path.join(mesondir, 'mesonconf') + else: + meson = accept_command(["meson.py", "meson"]) + mesonconf = accept_command(["mesonconf.py", "mesonconf"]) + mesonintrospect = accept_command(["mesonintrospect.py", "mesonintrospect"]) + + return meson, mesonconf, mesonintrospect