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
This commit is contained in:
Tim-Philipp Müller 2017-04-10 00:35:18 +01:00
parent 12b1289519
commit af5ee95a5b

View file

@ -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