aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek.chauhan@gmail.com>2016-04-14 22:52:15 +0530
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2016-04-15 00:25:34 +0530
commitc0765b0e8da6ad699b02dcc19a6480b3e6f71655 (patch)
tree62efa4ee1aaffb03afcf5ab8c0f8bd55ccf265bc /mesonbuild/backend/backends.py
parenta76693f338fa55a1d914c331fdb954e539e4561b (diff)
downloadmeson-c0765b0e8da6ad699b02dcc19a6480b3e6f71655.zip
meson-c0765b0e8da6ad699b02dcc19a6480b3e6f71655.tar.gz
meson-c0765b0e8da6ad699b02dcc19a6480b3e6f71655.tar.bz2
Don't require an exe_wrapper when cross-compiling 32-bit on 64-bit
Almost all 64-bit x86 OSes can run 32-bit x86 binaries natively. Detect that case and don't require an exe wrapper.
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r--mesonbuild/backend/backends.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index ceb466b..b7a2c30 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -315,7 +315,9 @@ class Backend():
fname = exe.fullpath
else:
fname = [os.path.join(self.environment.get_build_dir(), self.get_target_filename(t.get_exe()))]
- is_cross = self.environment.is_cross_build() and self.environment.cross_info.need_cross_compiler()
+ is_cross = self.environment.is_cross_build() and \
+ self.environment.cross_info.need_cross_compiler() and \
+ self.environment.cross_info.need_exe_wrapper()
if is_cross:
exe_wrapper = self.environment.cross_info.config['binaries'].get('exe_wrapper', None)
else:
@@ -366,8 +368,9 @@ class Backend():
def exe_object_to_cmd_array(self, exe):
if self.environment.is_cross_build() and \
- isinstance(exe, build.BuildTarget) and exe.is_cross:
- if 'exe_wrapper' not in self.environment.cross_info:
+ self.environment.cross_info.need_exe_wrapper() and \
+ isinstance(exe, build.BuildTarget) and exe.is_cross:
+ if 'exe_wrapper' not in self.environment.cross_info.config:
s = 'Can not use target %s as a generator because it is cross-built\n'
s += 'and no exe wrapper is defined. You might want to set it to native instead.'
s = s % exe.name