Skip to content

Commit

Permalink
dev-build/meson: replace xtools patch with PR #12747
Browse files Browse the repository at this point in the history
Signed-off-by: Fabian Groffen <[email protected]>
  • Loading branch information
grobian committed Jan 18, 2024
1 parent c76c83d commit a086b6d
Showing 1 changed file with 22 additions and 12 deletions.
34 changes: 22 additions & 12 deletions dev-build/meson/files/meson-1.3.1-xtools-support.patch
Original file line number Diff line number Diff line change
@@ -1,26 +1,36 @@
linkers_detect: detect xtools (Apple ld64 derivative)
From 2725b6d7a35b3bbbadd65c0accd71a66ac70549d Mon Sep 17 00:00:00 2001
From: Fabian Groffen <[email protected]>
Date: Wed, 17 Jan 2024 17:04:45 +0100
Subject: [PATCH] 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.
xtools is in use on Gentoo Prefix x86_64 and ppc based Darwin 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.
Since xtools is answering with a version to --version, as opposed to
ld64, detection of xtools in the ld64 handling block is not possible,
since --version already succeeded.

Author: Fabian Groffen <[email protected]>
Bug: https://bugs.gentoo.org/868516
Bug: https://github.com/mesonbuild/meson/issues/10805
Signed-off-by: Fabian Groffen <[email protected]>
---
mesonbuild/linkers/detect.py | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/mesonbuild/linkers/detect.py b/mesonbuild/linkers/detect.py
index 918f2e63426b..1bce413f4f52 100644
--- a/mesonbuild/linkers/detect.py
+++ b/mesonbuild/linkers/detect.py
@@ -185,6 +185,11 @@
@@ -174,6 +174,11 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
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)
+ # detect xtools first, bug #10805
+ elif 'xtools-' in o.split('\n', maxsplit=1)[0]:
+ xtools = o.split(' ', maxsplit=1)[0]
+ v = xtools.split('-', maxsplit=2)[1]
+ linker = linkers.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:

0 comments on commit a086b6d

Please sign in to comment.