aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-09-28 12:56:40 -0700
committerGitHub <noreply@github.com>2018-09-28 12:56:40 -0700
commitca4c8de09fdf5081a9fbed8f9b128c569b5a9971 (patch)
tree9c45b67e15206aa16047ead7839fbc5630280878
parent4a8210e81c2651e1ee19041e3eabd3144d08c9f8 (diff)
parentfe981b0231e6ad26633277f2b656e886ffd1ea7a (diff)
downloadmeson-ca4c8de09fdf5081a9fbed8f9b128c569b5a9971.zip
meson-ca4c8de09fdf5081a9fbed8f9b128c569b5a9971.tar.gz
meson-ca4c8de09fdf5081a9fbed8f9b128c569b5a9971.tar.bz2
Merge pull request #4261 from rossburton/cross
WIP RFC gnome.py cross improvements
-rw-r--r--mesonbuild/modules/gnome.py14
-rw-r--r--mesonbuild/scripts/gtkdochelper.py2
2 files changed, 13 insertions, 3 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 5128de4..45b7eed 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -518,7 +518,12 @@ class GnomeModule(ExtensionModule):
ret = []
for lang in langs:
- for link_arg in state.environment.coredata.get_external_link_args(lang):
+ if state.environment.is_cross_build():
+ link_args = state.environment.cross_info.config["properties"].get(lang + '_link_args', "")
+ else:
+ link_args = state.environment.coredata.get_external_link_args(lang)
+
+ for link_arg in link_args:
if link_arg.startswith('-L'):
ret.append(link_arg)
@@ -691,7 +696,10 @@ class GnomeModule(ExtensionModule):
def _get_external_args_for_langs(self, state, langs):
ret = []
for lang in langs:
- ret += state.environment.coredata.get_external_args(lang)
+ if state.environment.is_cross_build():
+ ret += state.environment.cross_info.config["properties"].get(lang + '_args', "")
+ else:
+ ret += state.environment.coredata.get_external_args(lang)
return ret
@staticmethod
@@ -1012,6 +1020,8 @@ This will become a hard error in the future.''')
ldflags.update(external_ldflags)
if state.environment.is_cross_build():
+ cflags.update(state.environment.cross_info.config["properties"].get('c_args', ""))
+ ldflags.update(state.environment.cross_info.config["properties"].get('c_link_args', ""))
compiler = state.environment.coredata.cross_compilers.get('c')
else:
cflags.update(state.environment.coredata.get_external_args('c'))
diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
index 04b4deb..01ced5b 100644
--- a/mesonbuild/scripts/gtkdochelper.py
+++ b/mesonbuild/scripts/gtkdochelper.py
@@ -66,7 +66,7 @@ def gtkdoc_run_check(cmd, cwd, library_paths=None):
# This preserves the order of messages.
p, out = Popen_safe(cmd, cwd=cwd, env=env, stderr=subprocess.STDOUT)[0:2]
if p.returncode != 0:
- err_msg = ["{!r} failed with status {:d}".format(cmd[0], p.returncode)]
+ err_msg = ["{!r} failed with status {:d}".format(cmd, p.returncode)]
if out:
err_msg.append(out)
raise MesonException('\n'.join(err_msg))