diff options
-rw-r--r-- | mesonbuild/interpreter.py | 2 | ||||
-rw-r--r-- | mesonbuild/mesonlib.py | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index d4f02c0..cd38d40 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2388,6 +2388,8 @@ external dependencies (including libraries) must go to "dependencies".''') msg = 'Program {!r} was overridden with the compiled executable {!r}'\ ' and therefore cannot be used during configuration' raise InterpreterException(msg.format(progname, cmd.description())) + if not cmd.found(): + raise InterpreterException('command {!r} not found or not executable'.format(cmd)) elif isinstance(cmd, CompilerHolder): cmd = cmd.compiler.get_exelist()[0] prog = ExternalProgram(cmd, silent=True) diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index 1adc752..db7ac48 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -1389,13 +1389,13 @@ class BuildDirLock: msvcrt.locking(self.lockfile.fileno(), msvcrt.LK_UNLCK, 1) self.lockfile.close() -def relpath(path, start): +def relpath(path: str, start: str) -> str: # On Windows a relative path can't be evaluated for paths on two different # drives (i.e. c:\foo and f:\bar). The only thing left to do is to use the # original absolute path. try: return os.path.relpath(path, start) - except ValueError: + except (TypeError, ValueError): return path |