From 302a29593a49c875adb5638375c1e5018efb7fb9 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Sat, 5 Nov 2022 18:20:44 -0400 Subject: [PATCH] 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 --- mesonbuild/backend/backends.py | 4 +--- 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)