From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 30A7E1584AD for ; Sat, 26 Apr 2025 16:00:23 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 1E5FC335CB4 for ; Sat, 26 Apr 2025 16:00:23 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id A41781104C9; Sat, 26 Apr 2025 15:59:46 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 90C821104C8 for ; Sat, 26 Apr 2025 15:59:46 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2C0B834309C for ; Sat, 26 Apr 2025 15:59:46 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id BD5B326AD for ; Sat, 26 Apr 2025 15:59:42 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1745683169.f85dd54159fa3d0dcf77e1b593123434adf569b5.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: llvm-core/clang-runtime/ X-VCS-Repository: repo/gentoo X-VCS-Files: llvm-core/clang-runtime/clang-runtime-21.0.0_pre20250426.ebuild X-VCS-Directories: llvm-core/clang-runtime/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: f85dd54159fa3d0dcf77e1b593123434adf569b5 X-VCS-Branch: master Date: Sat, 26 Apr 2025 15:59:42 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: ef3c5809-f637-4380-8da8-e56499f89497 X-Archives-Hash: 7ed3a43aca07402ab704fe76ed8ab80e commit: f85dd54159fa3d0dcf77e1b593123434adf569b5 Author: Michał Górny gentoo org> AuthorDate: Sat Apr 26 13:11:45 2025 +0000 Commit: Michał Górny gentoo org> CommitDate: Sat Apr 26 15:59:29 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f85dd541 llvm-core/clang-runtime: Add 21.0.0_pre20250426 snapshot Signed-off-by: Michał Górny gentoo.org> .../clang-runtime-21.0.0_pre20250426.ebuild | 130 +++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/llvm-core/clang-runtime/clang-runtime-21.0.0_pre20250426.ebuild b/llvm-core/clang-runtime/clang-runtime-21.0.0_pre20250426.ebuild new file mode 100644 index 000000000000..870cfbfed8fd --- /dev/null +++ b/llvm-core/clang-runtime/clang-runtime-21.0.0_pre20250426.ebuild @@ -0,0 +1,130 @@ +# 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="metapackage" +SLOT="${PV%%.*}" +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 + default-compiler-rt? ( + ~llvm-runtimes/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + llvm-libunwind? ( llvm-runtimes/libunwind[static-libs] ) + !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) + ) + !default-compiler-rt? ( sys-devel/gcc ) + default-libcxx? ( >=llvm-runtimes/libcxx-${PV}[static-libs] ) + !default-libcxx? ( sys-devel/gcc ) + default-lld? ( ~llvm-core/lld-${PV} ) + !default-lld? ( sys-devel/binutils ) + 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-core/clang-runtime. + # It is used to control the default runtimes using by clang. + + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) + 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 +}