meson.py: Always resolve full path to meson.py

There is no reason to not always do this. Without this, we end up with
a relative path to meson.py in build.ninja files when meson.py is
launched using subprocess.Popen and friends from the meson source root.

This was causing the unittests to intermittently fail when regen was
getting invoked by the pic test. Funnily enough, this only happened when
run via ./run_tests.py because __file__ was 'run_unittests.py' in that
(as opposed to './run_unittests.py') case which made
os.path.dirname(__file__) be '', and the os.path.split test in meson.py
thought that meson.py was invoked via PATH.
pull/897/head
Nirbheek Chauhan 9 years ago
parent a513bcfde6
commit 69ca8f5b54
  1. 6
      meson.py

@ -18,10 +18,8 @@ from mesonbuild import mesonmain
import sys, os
def main():
launcher = sys.argv[0]
# resolve the command path if not launched from $PATH
if os.path.split(launcher)[0]:
launcher = os.path.realpath(launcher)
# Always resolve the command path so Ninja can find it for regen, tests, etc.
launcher = os.path.realpath(sys.argv[0])
return mesonmain.run(launcher, sys.argv[1:])
if __name__ == '__main__':

Loading…
Cancel
Save