diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-07-31 19:33:06 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-31 19:33:06 +0300 |
commit | e75f6e43050594c77a09eb7b27ee3ec0b0d0898f (patch) | |
tree | e89968d5d63109721a11cb385b77d2f7d69a232c /mesonbuild/scripts | |
parent | a5d0a501fd27a7a68675f5ca6b371ee3c0234016 (diff) | |
parent | e8dae2b966498207867cb07d58f4404b76c087ce (diff) | |
download | meson-e75f6e43050594c77a09eb7b27ee3ec0b0d0898f.zip meson-e75f6e43050594c77a09eb7b27ee3ec0b0d0898f.tar.gz meson-e75f6e43050594c77a09eb7b27ee3ec0b0d0898f.tar.bz2 |
Merge pull request #3850 from mesonbuild/nirbheek/exe-wrapper-compiler-fallbacks
Be more permissive about not-found exe_wrapper
Diffstat (limited to 'mesonbuild/scripts')
-rw-r--r-- | mesonbuild/scripts/meson_exe.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/mesonbuild/scripts/meson_exe.py b/mesonbuild/scripts/meson_exe.py index a70acca..84abfc3 100644 --- a/mesonbuild/scripts/meson_exe.py +++ b/mesonbuild/scripts/meson_exe.py @@ -19,6 +19,8 @@ import pickle import platform import subprocess +from .. import mesonlib + options = None def buildparser(): @@ -47,9 +49,13 @@ def run_exe(exe): else: if exe.is_cross: if exe.exe_runner is None: - raise AssertionError('BUG: Trying to run cross-compiled exes with no wrapper') + raise AssertionError('BUG: Can\'t run cross-compiled exe {!r}' + 'with no wrapper'.format(exe.name)) + elif not exe.exe_runner.found(): + raise AssertionError('BUG: Can\'t run cross-compiled exe {!r} with not-found' + 'wrapper {!r}'.format(exe.name, exe.exe_runner.get_path())) else: - cmd = [exe.exe_runner] + exe.fname + cmd = exe.exe_runner.get_command() + exe.fname else: cmd = exe.fname child_env = os.environ.copy() @@ -57,7 +63,7 @@ def run_exe(exe): if len(exe.extra_paths) > 0: child_env['PATH'] = (os.pathsep.join(exe.extra_paths + ['']) + child_env['PATH']) - if exe.exe_runner and 'wine' in exe.exe_runner: + if exe.exe_runner and mesonlib.substring_is_in_list('wine', exe.exe_runner.get_command()): wine_paths = ['Z:' + p for p in exe.extra_paths] wine_path = ';'.join(wine_paths) # Don't accidentally end with an `;` because that will add the |