summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2022-09-11 17:08:10 +0200
committerFabian Groffen <grobian@gentoo.org>2022-09-11 17:09:34 +0200
commite87a1383004c856e74741f682c556bc3e8c67990 (patch)
treef11688295e2359f00ead0a609440ef7197ef9683 /dev-util/meson/files
parentsys-libs/ncurses: add 6.3_p20220910 (diff)
downloadgentoo-e87a1383004c856e74741f682c556bc3e8c67990.tar.gz
gentoo-e87a1383004c856e74741f682c556bc3e8c67990.tar.bz2
gentoo-e87a1383004c856e74741f682c556bc3e8c67990.zip
dev-util/meson-0.63.2-r1: teach meson to detect xtools linkers
Unbreak x86_64 and ppc based darwin targets. Closes: https://bugs.gentoo.org/868516 Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'dev-util/meson/files')
-rw-r--r--dev-util/meson/files/meson-0.63-xtools-support.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/dev-util/meson/files/meson-0.63-xtools-support.patch b/dev-util/meson/files/meson-0.63-xtools-support.patch
new file mode 100644
index 000000000000..ea1e8597b00a
--- /dev/null
+++ b/dev-util/meson/files/meson-0.63-xtools-support.patch
@@ -0,0 +1,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
+@@ -188,6 +188,11 @@
+ v = search_version(o)
+
+ linker = 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
+ elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e or 'ld: unknown option:' in e:
+ if isinstance(comp_class.LINKER_PREFIX, str):