-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-build/meson: replace xtools patch with PR #12747
Signed-off-by: Fabian Groffen <[email protected]>
- Loading branch information
Showing
1 changed file
with
22 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: |