* [gentoo-dev] [PATCH v2] llvm.eclass: add tuple -> LLVM_TARGETS translate function
@ 2023-11-26 17:42 matoro
0 siblings, 0 replies; only message in thread
From: matoro @ 2023-11-26 17:42 UTC (permalink / raw)
To: Gentoo Dev
https://github.com/gentoo/gentoo/pull/33996
To be used in support of dev-lang/rust under crossdev. Cross-compiled
rust needs LLVM with support for both host and destination targets.
Bug: https://bugs.gentoo.org/680652
Signed-off-by: Matoro Mahri <matoro_gentoo@matoro.tk>
---
eclass/llvm.eclass | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index 57faa48819db..1f3ff1f61c2d 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -174,6 +174,37 @@ get_llvm_prefix() {
echo "${prefix}/usr/lib/llvm/$(get_llvm_slot "${@}")"
}
+# @FUNCTION: llvm_tuple_to_target
+# @USAGE: [<tuple>]
+# @DESCRIPTION:
+# Translate a tuple into a target suitable for LLVM_TARGETS.
+# Defaults to ${CHOST} if not specified.
+llvm_tuple_to_target() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ case ${1:-${CHOST}} in
+ aarch64*) echo "AArch64";;
+ amdgcn*) echo "AMDGPU";;
+ arc*) echo "ARC";;
+ arm*) echo "ARM";;
+ avr*) echo "AVR";;
+ bpf*) echo "BPF";;
+ csky*) echo "CSKY";;
+ loong*) echo "LoongArch";;
+ m68k*) echo "M68k";;
+ mips*) echo "Mips";;
+ msp430*) echo "MSP430";;
+ nvptx*) echo "NVPTX";;
+ powerpc*) echo "PowerPC";;
+ riscv*) echo "RISCV";;
+ sparc*) echo "Sparc";;
+ s390*) echo "SystemZ";;
+ x86_64*|i?86*) echo "X86";;
+ xtensa*) echo "Xtensa";;
+ *) die "Unknown LLVM target for tuple ${1:-${CHOST}}"
+ esac
+}
+
# @FUNCTION: llvm_fix_clang_version
# @USAGE: <variable-name>...
# @DESCRIPTION:
--
2.42.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2023-11-26 17:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-26 17:42 [gentoo-dev] [PATCH v2] llvm.eclass: add tuple -> LLVM_TARGETS translate function matoro
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox