aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-02-26 14:18:57 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-02-27 16:49:32 -0500
commitb9274681375b39d4b63f8ece1ced6dcf18789a4f (patch)
tree08eaaea7fd6c6409d8562e047a279de22416bc1b /mesonbuild/backend/ninjabackend.py
parent92d18b925679f2c889bf248fa23d6611968203f4 (diff)
downloadmeson-b9274681375b39d4b63f8ece1ced6dcf18789a4f.zip
meson-b9274681375b39d4b63f8ece1ced6dcf18789a4f.tar.gz
meson-b9274681375b39d4b63f8ece1ced6dcf18789a4f.tar.bz2
Use cross stripper when cross compiling and allow overriding native strip executable. Closes #1414.
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index ee2c40e..5e137ca 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -594,9 +594,19 @@ int dummy;
def generate_install(self, outfile):
install_data_file = os.path.join(self.environment.get_scratch_dir(), 'install.dat')
+ if self.environment.is_cross_build():
+ bins = self.environment.cross_info.config['binaries']
+ if 'strip' not in bins:
+ mlog.warning('Cross file does not specify strip binary, result will not be stripped.')
+ strip_bin = None
+ else:
+ strip_bin = mesonlib.stringlistify(bins['strip'])
+ else:
+ strip_bin = self.environment.native_strip_bin
d = InstallData(self.environment.get_source_dir(),
self.environment.get_build_dir(),
- self.environment.get_prefix())
+ self.environment.get_prefix(),
+ strip_bin)
elem = NinjaBuildElement(self.all_outputs, 'install', 'CUSTOM_COMMAND', 'PHONY')
elem.add_dep('all')
elem.add_item('DESC', 'Installing files.')