summaryrefslogtreecommitdiff
blob: 6e9e670ba8daab65d8f5d6a9e453abd185ebe170 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
linkers_detect: detect xtools (Apple ld64 derivative)

xtools is in use on x86_64 and ppc based darwin Prefix installs.  Pick
it up as a valid linker.

Meson is the only thing known at this point to try and figure out what
linker is in use exactly, so instead of changing the linker (xtools),
just teach Meson about xtools.

Author: Fabian Groffen <grobian@gentoo.org>
Bug: https://bugs.gentoo.org/868516

--- a/mesonbuild/linkers/detect.py
+++ b/mesonbuild/linkers/detect.py
@@ -185,6 +185,11 @@
             v = search_version(o)
 
         linker = linkers.LLVMDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v)
+    # detect xtools first, bug #868516
+    elif 'xtools-' in o.split('\n')[0]:
+        xtools = o.split(' ')[0]
+        v = xtools.split('-')[1]
+        linker = AppleDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v)
     # First might be apple clang, second is for real gcc, the third is icc.
     # Note that "ld: unknown option: " sometimes instead is "ld: unknown options:".
     elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e or 'ld: unknown option' in e: