diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2022-11-05 18:20:44 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2022-12-07 11:58:36 -0500 |
commit | 302a29593a49c875adb5638375c1e5018efb7fb9 (patch) | |
tree | a81c25aadc0d8aade6470e3f06b143dee49ad52b | |
parent | f73970cc8f2599e41bac4e99de3a88ee7983a7ce (diff) | |
download | meson-302a29593a49c875adb5638375c1e5018efb7fb9.tar.gz |
devenv: Always include env for HOST machine
Cross compiled executables could still be run with an exe wrapper, or
with proper binfmt installed.
Fixes: #10999
-rw-r--r-- | mesonbuild/backend/backends.py | 4 | ||||
-rw-r--r-- | mesonbuild/mdevenv.py | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index eda6fb6d2..f5b09f356 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -1854,10 +1854,8 @@ class Backend: host_machine = self.environment.machines[MachineChoice.HOST] need_wine = not build_machine.is_windows() and host_machine.is_windows() for t in self.build.get_targets().values(): - cross_built = not self.environment.machines.matches_build_machine(t.for_machine) - can_run = not cross_built or not need_exe_wrapper or need_wine in_default_dir = t.should_install() and not t.get_install_dir()[2] - if not can_run or not in_default_dir: + if t.for_machine != MachineChoice.HOST or not in_default_dir: continue tdir = os.path.join(self.environment.get_build_dir(), self.get_target_dir(t)) if isinstance(t, build.Executable): diff --git a/mesonbuild/mdevenv.py b/mesonbuild/mdevenv.py index 57972ce5f..4b3d783a5 100644 --- a/mesonbuild/mdevenv.py +++ b/mesonbuild/mdevenv.py @@ -150,6 +150,14 @@ def run(options: argparse.Namespace) -> int: print(f'export {name}') return 0 + if b.environment.need_exe_wrapper(): + m = 'An executable wrapper could be required' + exe_wrapper = b.environment.get_exe_wrapper() + if exe_wrapper: + cmd = ' '.join(exe_wrapper.get_command()) + m += f': {cmd}' + mlog.log(m) + install_data = minstall.load_install_data(str(privatedir / 'install.dat')) write_gdb_script(privatedir, install_data, workdir) |