mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-08 00:05:33 +03:00
llvm-runtimes/clang-runtime: Add 21.1.7
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
parent
713a311435
commit
2c944e9b0e
127
llvm-runtimes/clang-runtime/clang-runtime-21.1.7.ebuild
Normal file
127
llvm-runtimes/clang-runtime/clang-runtime-21.1.7.ebuild
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
# Copyright 1999-2025 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit multilib multilib-build
|
||||||
|
|
||||||
|
DESCRIPTION="Meta-ebuild for clang runtime libraries"
|
||||||
|
HOMEPAGE="https://clang.llvm.org/"
|
||||||
|
S=${WORKDIR}
|
||||||
|
|
||||||
|
LICENSE="public-domain"
|
||||||
|
SLOT="${PV%%.*}"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
|
||||||
|
IUSE="
|
||||||
|
+compiler-rt libcxx offload openmp +sanitize
|
||||||
|
default-compiler-rt default-libcxx default-lld llvm-libunwind polly
|
||||||
|
"
|
||||||
|
REQUIRED_USE="
|
||||||
|
sanitize? ( compiler-rt )
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
compiler-rt? (
|
||||||
|
~llvm-runtimes/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
|
||||||
|
sanitize? (
|
||||||
|
~llvm-runtimes/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
libcxx? ( >=llvm-runtimes/libcxx-${PV}[${MULTILIB_USEDEP}] )
|
||||||
|
openmp? (
|
||||||
|
>=llvm-runtimes/openmp-${PV}[${MULTILIB_USEDEP}]
|
||||||
|
offload? (
|
||||||
|
>=llvm-runtimes/offload-${PV}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
llvm-core/clang-common
|
||||||
|
|
||||||
|
~llvm-core/clang-linker-config-${SLOT}[default-lld(-)?]
|
||||||
|
~llvm-runtimes/clang-rtlib-config-${SLOT}[default-compiler-rt(-)?]
|
||||||
|
~llvm-runtimes/clang-unwindlib-config-${SLOT}[default-compiler-rt(-)?,llvm-libunwind(-)?]
|
||||||
|
~llvm-runtimes/clang-stdlib-config-${SLOT}[default-libcxx(-)?]
|
||||||
|
|
||||||
|
polly? ( ~llvm-core/polly-${PV} )
|
||||||
|
"
|
||||||
|
|
||||||
|
_doclang_cfg() {
|
||||||
|
local triple="${1}"
|
||||||
|
|
||||||
|
local tool
|
||||||
|
for tool in ${triple}-clang{,++,-cpp}; do
|
||||||
|
newins - "${tool}.cfg" <<-EOF
|
||||||
|
# This configuration file is used by ${tool} driver.
|
||||||
|
@../${tool}.cfg
|
||||||
|
@gentoo-plugins.cfg
|
||||||
|
@gentoo-runtimes.cfg
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
|
||||||
|
# Install symlinks for triples with other vendor strings since some
|
||||||
|
# programs insist on mangling the triple.
|
||||||
|
local vendor
|
||||||
|
for vendor in gentoo pc unknown; do
|
||||||
|
local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
|
||||||
|
for tool in clang{,++,-cpp}; do
|
||||||
|
if [[ ! -f "${ED}/etc/clang/${SLOT}/${vendor_triple}-${tool}.cfg" ]]; then
|
||||||
|
dosym "${triple}-${tool}.cfg" "/etc/clang/${SLOT}/${vendor_triple}-${tool}.cfg"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
doclang_cfg() {
|
||||||
|
local triple=$(get_abi_CHOST "${abi}")
|
||||||
|
|
||||||
|
_doclang_cfg ${triple}
|
||||||
|
|
||||||
|
# LLVM may have different arch names in some cases. For example in x86
|
||||||
|
# profiles the triple uses i686, but llvm will prefer i386 if invoked
|
||||||
|
# with "clang" on x86 or "clang -m32" on x86_64. The gentoo triple will
|
||||||
|
# be used if invoked through ${CHOST}-clang{,++,-cpp} though.
|
||||||
|
#
|
||||||
|
# To make sure the correct triples are installed,
|
||||||
|
# see Triple::getArchTypeName() in llvm/lib/TargetParser/Triple.cpp
|
||||||
|
# and compare with CHOST values in profiles.
|
||||||
|
|
||||||
|
local abi=${triple%%-*}
|
||||||
|
case ${abi} in
|
||||||
|
armv4l|armv4t|armv5tel|armv6j|armv7a)
|
||||||
|
_doclang_cfg ${triple/${abi}/arm}
|
||||||
|
;;
|
||||||
|
i686)
|
||||||
|
_doclang_cfg ${triple/${abi}/i386}
|
||||||
|
;;
|
||||||
|
sparc)
|
||||||
|
_doclang_cfg ${triple/${abi}/sparcel}
|
||||||
|
;;
|
||||||
|
sparc64)
|
||||||
|
_doclang_cfg ${triple/${abi}/sparcv9}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto "/etc/clang/${SLOT}"
|
||||||
|
newins - gentoo-runtimes.cfg <<-EOF
|
||||||
|
# This file is initially generated by llvm-runtimes/clang-runtime.
|
||||||
|
# It is used to control the default runtimes using by clang.
|
||||||
|
|
||||||
|
@gentoo-rtlib.cfg
|
||||||
|
@gentoo-unwindlib.cfg
|
||||||
|
@gentoo-stdlib.cfg
|
||||||
|
@gentoo-linker.cfg
|
||||||
|
EOF
|
||||||
|
newins - gentoo-plugins.cfg <<-EOF
|
||||||
|
# This file is used to load optional LLVM plugins.
|
||||||
|
EOF
|
||||||
|
if use polly; then
|
||||||
|
cat >> "${ED}/etc/clang/${SLOT}/gentoo-plugins.cfg" <<-EOF || die
|
||||||
|
-fpass-plugin=LLVMPolly.so
|
||||||
|
-fplugin=LLVMPolly.so
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
multilib_foreach_abi doclang_cfg
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user