diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-03-11 21:37:40 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-08-06 00:11:38 +0300 |
commit | 647e871484eb2d8b5ce695c2ff97c9cbd9fd6d5d (patch) | |
tree | d5fed1555235c1d256e45bfa327c365e4da42a4c /mesonbuild/build.py | |
parent | c9aea4e11c648f1051454132626bcb4aef976d6d (diff) | |
download | meson-crossargfix.tar.gz |
Store global and project arguments separately for cross and native compilation.crossargfix
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r-- | mesonbuild/build.py | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index a3cd9933d..54bb050f4 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -104,9 +104,13 @@ class Build: self.compilers = OrderedDict() self.cross_compilers = OrderedDict() self.global_args = {} + self.global_cross_args = {} self.projects_args = {} + self.projects_cross_args = {} self.global_link_args = {} + self.global_cross_link_args = {} self.projects_link_args = {} + self.projects_cross_link_args = {} self.tests = [] self.benchmarks = [] self.headers = [] @@ -167,20 +171,30 @@ class Build: def get_install_subdirs(self): return self.install_dirs - def get_global_args(self, compiler): + def get_global_args(self, compiler, is_cross): + if is_cross: + return self.global_cross_args.get(compiler.get_language(), []) return self.global_args.get(compiler.get_language(), []) - def get_project_args(self, compiler, project): - args = self.projects_args.get(project) + def get_project_args(self, compiler, project, is_cross): + if is_cross: + args = self.projects_cross_args.get(project) + else: + args = self.projects_args.get(project) if not args: return [] return args.get(compiler.get_language(), []) - def get_global_link_args(self, compiler): + def get_global_link_args(self, compiler, is_cross): + if is_cross: + return self.global_cross_link_args.get(compiler.get_language(), []) return self.global_link_args.get(compiler.get_language(), []) - def get_project_link_args(self, compiler, project): - link_args = self.projects_link_args.get(project) + def get_project_link_args(self, compiler, project, is_cross): + if is_cross: + link_args = self.projects_cross_link_args.get(project) + else: + link_args = self.projects_link_args.get(project) if not link_args: return [] |