aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/environment.py
diff options
context:
space:
mode:
authorPeter Harris <pharris@opentext.com>2020-08-10 19:03:09 -0400
committerPeter Harris <pharris@opentext.com>2020-08-12 21:13:07 -0400
commitabe72d5c8415c83f268d01b266e2fa5f5892de46 (patch)
tree8585e31d8a26dab72c8b10a78237be165de16c63 /mesonbuild/environment.py
parent45a12d28b9e6c9df454611e7286e06d91ec7617f (diff)
downloadmeson-abe72d5c8415c83f268d01b266e2fa5f5892de46.zip
meson-abe72d5c8415c83f268d01b266e2fa5f5892de46.tar.gz
meson-abe72d5c8415c83f268d01b266e2fa5f5892de46.tar.bz2
aix: detect and support the AIX dynamic linker
Diffstat (limited to 'mesonbuild/environment.py')
-rw-r--r--mesonbuild/environment.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index 315f6c5..bf49de9 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -61,6 +61,7 @@ from .linkers import (
PGIDynamicLinker,
PGIStaticLinker,
SolarisDynamicLinker,
+ AIXDynamicLinker,
XilinkDynamicLinker,
CudaLinker,
VisualStudioLikeLinkerMixin,
@@ -1092,6 +1093,14 @@ class Environment:
linker = SolarisDynamicLinker(
compiler, for_machine, comp_class.LINKER_PREFIX, override,
version=v)
+ elif 'ld: 0706-012 The -- flag is not recognized' in e:
+ if isinstance(comp_class.LINKER_PREFIX, str):
+ _, _, e = Popen_safe(compiler + [comp_class.LINKER_PREFIX + '-V'] + extra_args)
+ else:
+ _, _, e = Popen_safe(compiler + comp_class.LINKER_PREFIX + ['-V'] + extra_args)
+ linker = AIXDynamicLinker(
+ compiler, for_machine, comp_class.LINKER_PREFIX, override,
+ version=search_version(e))
else:
raise EnvironmentException('Unable to determine dynamic linker')
return linker