aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/linkers.py
diff options
context:
space:
mode:
authorPeter Harris <pharris@opentext.com>2020-08-12 19:49:35 -0400
committerPeter Harris <pharris@opentext.com>2020-08-12 21:13:07 -0400
commit0f90299b1c5ba98a685e6545fcc6eda5acbe996d (patch)
tree58c76111d253d27f25a05dc42d85332da9fac376 /mesonbuild/linkers.py
parentabe72d5c8415c83f268d01b266e2fa5f5892de46 (diff)
downloadmeson-0f90299b1c5ba98a685e6545fcc6eda5acbe996d.zip
meson-0f90299b1c5ba98a685e6545fcc6eda5acbe996d.tar.gz
meson-0f90299b1c5ba98a685e6545fcc6eda5acbe996d.tar.bz2
aix: allow both 32-bit and 64-bit objects in a static library
Without the -Xany flag, the ar command will complain when an .o file is compiled for the non-default bit width. This change is necessary to allow 64-bit builds via a native (or cross) file.
Diffstat (limited to 'mesonbuild/linkers.py')
-rw-r--r--mesonbuild/linkers.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/linkers.py b/mesonbuild/linkers.py
index 84c6538..535174d 100644
--- a/mesonbuild/linkers.py
+++ b/mesonbuild/linkers.py
@@ -247,6 +247,18 @@ class C2000Linker(StaticLinker):
return ['-r']
+class AIXArLinker(ArLinker):
+
+ def __init__(self, exelist: T.List[str]):
+ StaticLinker.__init__(self, exelist)
+ self.id = 'aixar'
+ self.std_args = ['-csr', '-Xany']
+
+ def can_linker_accept_rsp(self) -> bool:
+ # AIXAr can't accept arguments using the @rsp syntax
+ return False
+
+
def prepare_rpaths(raw_rpaths: str, build_dir: str, from_dir: str) -> T.List[str]:
# The rpaths we write must be relative if they point to the build dir,
# because otherwise they have different length depending on the build