aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
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
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')
-rw-r--r--mesonbuild/backend/backends.py3
-rw-r--r--mesonbuild/backend/ninjabackend.py12
2 files changed, 13 insertions, 2 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index d6f1c38..26052d3 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -33,10 +33,11 @@ class CleanTrees:
self.trees = trees
class InstallData:
- def __init__(self, source_dir, build_dir, prefix):
+ def __init__(self, source_dir, build_dir, prefix, strip_bin):
self.source_dir = source_dir
self.build_dir = build_dir
self.prefix = prefix
+ self.strip_bin = strip_bin
self.targets = []
self.headers = []
self.man = []
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.')