commit:     19084068791bbfae7f828b635ca96d347d27ac30
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 12 04:55:38 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 12 04:55:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19084068

llvm-core/clang-common: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-core/clang-common/Manifest                    |   5 -
 llvm-core/clang-common/clang-common-20.1.1.ebuild  | 315 ---------------------
 .../clang-common-21.0.0_pre20250317.ebuild         | 314 --------------------
 .../clang-common-21.0.0_pre20250322.ebuild         | 314 --------------------
 .../clang-common-21.0.0_pre20250329.ebuild         | 314 --------------------
 5 files changed, 1262 deletions(-)

diff --git a/llvm-core/clang-common/Manifest b/llvm-core/clang-common/Manifest
index 7e4f1f2606fb..006cf927cda5 100644
--- a/llvm-core/clang-common/Manifest
+++ b/llvm-core/clang-common/Manifest
@@ -10,11 +10,6 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B 
b99cd8a96e38dbcfb582ee5d22
 DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B 
b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e
 SHA512 
3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
 DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 
1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d
 SHA512 
c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 
4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd
 SHA512 
195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
-DIST llvm-project-1c3a9a853ce68c3c539e7cab21380b9d8b18f426.tar.gz 229448743 
BLAKE2B 
c1eacc2ed05c460f56cf83f16b982e3fa4ac530483d7cf003034239aff3b3dbffbdd3042a3f295a83ec94fcf32f802714e4937fd3761a5e03d4ed1b4093e81bf
 SHA512 
98b7e9fa330a6fce33ca9757caf5d2e41d0b73117cb24b2aed880274c2d6f8a8c1a0028dd0e773fa42deb61dbe3b9dd4fb2f44e50814b966fcdeae8e5b417e6d
-DIST llvm-project-1d133420dc512487e2be0e9d86755f2a7c3497a7.tar.gz 229268288 
BLAKE2B 
aca79bcca631deeab429a03cd2732d78d8ecf0c9615bce181445ed875436806609dc85a57d4f97109492833d620d060ea93fed450a4912c2d94597aeabf84974
 SHA512 
24ecadfccdf785bfbf27d5007afd2a4d5868493b2c5f48d6cf07c335bfbfef5cba4f12a639971e5f95877ae3b8c7b7fc0c210e404d21036af553de82a5059037
-DIST llvm-project-20.1.1.src.tar.xz 147215020 BLAKE2B 
d1774d060036b5340f765d68cc23cbd1e00730874cb3e65b7236303238d7922a7fa191b631c20c3bf17e54c933672a355d4424f2beea17cd25fcf9f5c4c625dd
 SHA512 
b851d3e24a2775f6e789720614a8192d72956f447a39d75e5160a8acf6bd3a3386fab2cca5590b7e020b65e408ccf32432f8dc03519fd4cf60b4b5674fe0547e
-DIST llvm-project-20.1.1.src.tar.xz.sig 566 BLAKE2B 
76c49401d9b8e283fc29586c32fc1b5205d76b3b83d0f99aa2ac09a63b058478e08588dcfbfc728110172b639eeaf04a884f4e6d707b94cad0dbf2d0dcb30a4f
 SHA512 
469b03f3ddbe56b074724375b09a45ee2730bee0ba4b25f64f93d93ef609c33d39136f051c216a74a35d98a70ffcd3d7507e38d19a20d5006c29a954ca32813b
 DIST llvm-project-20.1.2.src.tar.xz 147229028 BLAKE2B 
90be4c8b69d44bc3a295f3f63081f999cf35d05e9157ab104d403a5d5b6c3ff97b57a89598d2ec0413988f93a23f97f485b2216bbf0630cade754e9830246621
 SHA512 
c95e088e471d49c6692c8af1a7e40924467e4c269dada019c44455687c9f0e6a213b9b3ac8afa4e3d20cb3e757afc3400152e7cd06981aeebd61591cac15580d
 DIST llvm-project-20.1.2.src.tar.xz.sig 566 BLAKE2B 
fa4637cd41bddb0425567b17bcb0ba4800ec9a689897610febfba7f49f8218d6aff7bb8f7ecf6bb927397096ca49c0c1817b243e5ba7fc0ba51993ef532dadeb
 SHA512 
d3f6a350ebd9884878442ea202f58328f8e85c30cfb150371e4af7fa8dc560bb421cd0f49f49e6bc95f57de6c06543633f0b2799aab9590750f440e099424e01
-DIST llvm-project-21eeca3db0341fef4ab4a6464ffe38b2eba5810c.tar.gz 229546432 
BLAKE2B 
e783f08b93498b252741a07fd3aa3383ca93f66688f9bbdb2e11185c660dfff1020ab4a1ca803ab69ab28dc2fd8b5c3855f45c0b77851b8e6edeb0dc5bf6cbd4
 SHA512 
54420956b36f3bccabea2171a4103ca20d6b136e1d1f7f217e0ec735be4542bbd840ef228c55f3e9103ad2f9fb41393e611d5aaa1521d01fdd163b770b80ba0b
 DIST llvm-project-f3e6473df46fd920e09e06e57a5549eb8e3a8bd3.tar.gz 229893133 
BLAKE2B 
20a14a99fb55070c30b05298916875d7f7b5476bc47c72f675204adb62daf1126bc83f2e7e51867042cb0ea415f04ef32653118116d01f666a82dc888fb6e999
 SHA512 
f11eac15fc1d96232267d588fa1c41ebbff3367b1fccf1cfd43f3290f682b73ffa78f2336a2a155c41ef67cf4e6f43019b152996d790f03acf4b9b732a3cf4b7

diff --git a/llvm-core/clang-common/clang-common-20.1.1.ebuild 
b/llvm-core/clang-common/clang-common-20.1.1.ebuild
deleted file mode 100644
index 00fc8b0e151f..000000000000
--- a/llvm-core/clang-common/clang-common-20.1.1.ebuild
+++ /dev/null
@@ -1,315 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 llvm.org multilib
-
-DESCRIPTION="Common files shared between multiple slots of clang"
-HOMEPAGE="https://llvm.org/";
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 
~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="
-       default-compiler-rt default-libcxx default-lld
-       bootstrap-prefix cet hardened llvm-libunwind
-"
-
-PDEPEND="
-       default-compiler-rt? (
-               llvm-core/clang-runtime:${LLVM_MAJOR}[compiler-rt]
-               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 )
-"
-# enforce flags on clang-runtime as well to aid transition
-PDEPEND+="
-       
llvm-core/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?]
-"
-IDEPEND="
-       !default-compiler-rt? ( sys-devel/gcc-config )
-       !default-libcxx? ( sys-devel/gcc-config )
-"
-
-LLVM_COMPONENTS=( clang/utils )
-llvm.org_set_globals
-
-pkg_pretend() {
-       [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
-
-       local flag missing_flags=()
-       for flag in default-{compiler-rt,libcxx,lld}; do
-               if ! use "${flag}" && has_version "llvm-core/clang[${flag}]"; 
then
-                       missing_flags+=( "${flag}" )
-               fi
-       done
-
-       if [[ ${missing_flags[@]} ]]; then
-               eerror "It seems that you have the following flags set on 
llvm-core/clang:"
-               eerror
-               eerror "  ${missing_flags[*]}"
-               eerror
-               eerror "The default runtimes are now set via flags on 
llvm-core/clang-common."
-               eerror "The build is being aborted to prevent breakage.  Please 
either set"
-               eerror "the respective flags on this ebuild, e.g.:"
-               eerror
-               eerror "  llvm-core/clang-common ${missing_flags[*]}"
-               eerror
-               eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
-               die "Mismatched defaults detected between llvm-core/clang and 
llvm-core/clang-common"
-       fi
-}
-
-_doclang_cfg() {
-       local triple="${1}"
-
-       local tool
-       for tool in ${triple}-clang{,++}; do
-               newins - "${tool}.cfg" <<-EOF
-                       # This configuration file is used by ${tool} driver.
-                       @gentoo-common.cfg
-                       @gentoo-common-ld.cfg
-               EOF
-               if [[ ${triple} == x86_64* ]]; then
-                       cat >> "${ED}/etc/clang/${tool}.cfg" <<-EOF || die
-                               @gentoo-cet.cfg
-                       EOF
-               fi
-       done
-
-       if use kernel_Darwin; then
-               cat >> "${ED}/etc/clang/${triple}-clang++.cfg" <<-EOF || die
-                       -lc++abi
-               EOF
-       fi
-
-       newins - "${triple}-clang-cpp.cfg" <<-EOF
-               # This configuration file is used by the ${triple}-clang-cpp 
driver.
-               @gentoo-common.cfg
-       EOF
-       if [[ ${triple} == x86_64* ]]; then
-               cat >> "${ED}/etc/clang/${triple}-clang-cpp.cfg" <<-EOF || die
-                       @gentoo-cet.cfg
-               EOF
-       fi
-
-       # 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/${vendor_triple}-${tool}.cfg" ]]; then
-                               dosym "${triple}-${tool}.cfg" 
"/etc/clang/${vendor_triple}-${tool}.cfg"
-                       fi
-               done
-       done
-}
-
-doclang_cfg() {
-       local triple="${1}"
-
-       _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() {
-       newbashcomp bash-autocomplete.sh clang
-
-       insinto /etc/clang
-       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-gcc-install.cfg <<-EOF
-               # This file is maintained by gcc-config.
-               # It is used to specify the selected GCC installation.
-       EOF
-
-       newins - gentoo-common.cfg <<-EOF
-               # This file contains flags common to clang, clang++ and 
clang-cpp.
-               @gentoo-runtimes.cfg
-               @gentoo-gcc-install.cfg
-               @gentoo-hardened.cfg
-               # bug #870001
-               -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
-       EOF
-
-       # clang-cpp does not like link args being passed to it when directly
-       # invoked, so use a separate configuration file.
-       newins - gentoo-common-ld.cfg <<-EOF
-               # This file contains flags common to clang and clang++
-               @gentoo-hardened-ld.cfg
-       EOF
-
-       # Baseline hardening (bug #851111)
-       newins - gentoo-hardened.cfg <<-EOF
-               # Some of these options are added unconditionally, regardless of
-               # USE=hardened, for parity with sys-devel/gcc.
-               -Xarch_host -fstack-clash-protection
-               -Xarch_host -fstack-protector-strong
-               -fPIE
-               -include "${EPREFIX}/usr/include/gentoo/fortify.h"
-       EOF
-
-       newins - gentoo-cet.cfg <<-EOF
-               -Xarch_host -fcf-protection=$(usex cet full none)
-       EOF
-
-       if use kernel_Darwin; then
-               newins - gentoo-hardened-ld.cfg <<-EOF
-                       # There was -Wl,-z,relro here, but it's not supported 
on Mac
-                       # TODO: investigate whether -bind_at_load or 
-read_only_stubs will do the job
-               EOF
-       else
-               newins - gentoo-hardened-ld.cfg <<-EOF
-                       # Some of these options are added unconditionally, 
regardless of
-                       # USE=hardened, for parity with sys-devel/gcc.
-                       -Wl,-z,relro
-                       -Wl,-z,now
-               EOF
-       fi
-
-       dodir /usr/include/gentoo
-
-       cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die
-       /* __has_include is an extension, but it's fine, because this is only
-       for Clang anyway. */
-       #if defined __has_include && __has_include (<stdc-predef.h>) && 
!defined(__GLIBC__)
-       # include <stdc-predef.h>
-       #endif
-       EOF
-
-       local fortify_level=$(usex hardened 3 2)
-       # We have to do this because glibc's headers warn if F_S is set
-       # without optimization and that would at the very least be very noisy
-       # during builds and at worst trigger many -Werror builds.
-       cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
-       #ifdef __clang__
-       # pragma clang system_header
-       #endif
-       #ifndef _FORTIFY_SOURCE
-       # if defined(__has_feature)
-       #  define __GENTOO_HAS_FEATURE(x) __has_feature(x)
-       # else
-       #  define __GENTOO_HAS_FEATURE(x) 0
-       # endif
-       #
-       # if !defined(__OPTIMIZE__) || __OPTIMIZE__ == 0
-       # elif !defined(__STDC_HOSTED__) || __STDC_HOSTED__ != 1
-       # elif defined(__SANITIZE_ADDRESS__)
-       # elif __GENTOO_HAS_FEATURE(address_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(hwaddress_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(memory_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(numerical_stability_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(realtime_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(thread_sanitizer)
-       # else
-       #  define _FORTIFY_SOURCE ${fortify_level}
-       # endif
-       #
-       # undef __GENTOO_HAS_FEATURE
-       #endif
-       EOF
-
-       # TODO: Maybe -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST for
-       # non-hardened?
-       if use hardened ; then
-               cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
-                       # Options below are conditional on USE=hardened.
-                       -Xarch_host -D_GLIBCXX_ASSERTIONS
-
-                       # Analogue to GLIBCXX_ASSERTIONS
-                       # 
https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
-                       # 
https://libcxx.llvm.org/Hardening.html#using-hardened-mode
-                       -Xarch_host 
-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE
-               EOF
-
-               cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
-                       # Options below are conditional on USE=hardened.
-               EOF
-       fi
-
-       # We only install config files for supported ABIs because unprefixed 
tools
-       # might be used for crosscompilation where e.g. PIE may not be 
supported.
-       # See bug #912237 and bug #901247. Just ${CHOST} won't do due to bug 
#912685.
-       local abi
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
-               doclang_cfg "${abi_chost}"
-       done
-
-       if use kernel_Darwin; then
-               cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                       # Gentoo Prefix on Darwin
-                       -Wl,-search_paths_first
-               EOF
-               if use bootstrap-prefix ; then
-                       # bootstrap-prefix is only set during stage2 of 
bootstrapping
-                       # Prefix, where EPREFIX is set to EPREFIX/tmp.
-                       # Here we need to point it at the future lib dir of the 
stage3's
-                       # EPREFIX.
-                       cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                               -Wl,-rpath,${EPREFIX}/../usr/lib
-                               -Wl,-L,${EPREFIX}/../usr/lib
-                               -isystem ${EPREFIX}/../usr/include
-                       EOF
-               fi
-               # Using -Wl,-L instead of -L to trick compiler driver to put it
-               # after -isysroot's internal -L
-               cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                       -Wl,-rpath,${EPREFIX}/usr/lib
-                       -Wl,-L,${EPREFIX}/usr/lib
-                       -isystem ${EPREFIX}/usr/include
-                       -isysroot ${EPREFIX}/MacOSX.sdk
-               EOF
-       fi
-}
-
-pkg_preinst() {
-       if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
-       then
-               local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
-               if [[ -n ${gcc_path} ]]; then
-                       cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
-                               --gcc-install-dir="${gcc_path%%:*}"
-                       EOF
-               fi
-       fi
-}

diff --git a/llvm-core/clang-common/clang-common-21.0.0_pre20250317.ebuild 
b/llvm-core/clang-common/clang-common-21.0.0_pre20250317.ebuild
deleted file mode 100644
index af6e46af4529..000000000000
--- a/llvm-core/clang-common/clang-common-21.0.0_pre20250317.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 llvm.org multilib
-
-DESCRIPTION="Common files shared between multiple slots of clang"
-HOMEPAGE="https://llvm.org/";
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="
-       default-compiler-rt default-libcxx default-lld
-       bootstrap-prefix cet hardened llvm-libunwind
-"
-
-PDEPEND="
-       default-compiler-rt? (
-               llvm-core/clang-runtime:${LLVM_MAJOR}[compiler-rt]
-               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 )
-"
-# enforce flags on clang-runtime as well to aid transition
-PDEPEND+="
-       
llvm-core/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?]
-"
-IDEPEND="
-       !default-compiler-rt? ( sys-devel/gcc-config )
-       !default-libcxx? ( sys-devel/gcc-config )
-"
-
-LLVM_COMPONENTS=( clang/utils )
-llvm.org_set_globals
-
-pkg_pretend() {
-       [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
-
-       local flag missing_flags=()
-       for flag in default-{compiler-rt,libcxx,lld}; do
-               if ! use "${flag}" && has_version "llvm-core/clang[${flag}]"; 
then
-                       missing_flags+=( "${flag}" )
-               fi
-       done
-
-       if [[ ${missing_flags[@]} ]]; then
-               eerror "It seems that you have the following flags set on 
llvm-core/clang:"
-               eerror
-               eerror "  ${missing_flags[*]}"
-               eerror
-               eerror "The default runtimes are now set via flags on 
llvm-core/clang-common."
-               eerror "The build is being aborted to prevent breakage.  Please 
either set"
-               eerror "the respective flags on this ebuild, e.g.:"
-               eerror
-               eerror "  llvm-core/clang-common ${missing_flags[*]}"
-               eerror
-               eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
-               die "Mismatched defaults detected between llvm-core/clang and 
llvm-core/clang-common"
-       fi
-}
-
-_doclang_cfg() {
-       local triple="${1}"
-
-       local tool
-       for tool in ${triple}-clang{,++}; do
-               newins - "${tool}.cfg" <<-EOF
-                       # This configuration file is used by ${tool} driver.
-                       @gentoo-common.cfg
-                       @gentoo-common-ld.cfg
-               EOF
-               if [[ ${triple} == x86_64* ]]; then
-                       cat >> "${ED}/etc/clang/${tool}.cfg" <<-EOF || die
-                               @gentoo-cet.cfg
-                       EOF
-               fi
-       done
-
-       if use kernel_Darwin; then
-               cat >> "${ED}/etc/clang/${triple}-clang++.cfg" <<-EOF || die
-                       -lc++abi
-               EOF
-       fi
-
-       newins - "${triple}-clang-cpp.cfg" <<-EOF
-               # This configuration file is used by the ${triple}-clang-cpp 
driver.
-               @gentoo-common.cfg
-       EOF
-       if [[ ${triple} == x86_64* ]]; then
-               cat >> "${ED}/etc/clang/${triple}-clang-cpp.cfg" <<-EOF || die
-                       @gentoo-cet.cfg
-               EOF
-       fi
-
-       # 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/${vendor_triple}-${tool}.cfg" ]]; then
-                               dosym "${triple}-${tool}.cfg" 
"/etc/clang/${vendor_triple}-${tool}.cfg"
-                       fi
-               done
-       done
-}
-
-doclang_cfg() {
-       local triple="${1}"
-
-       _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() {
-       newbashcomp bash-autocomplete.sh clang
-
-       insinto /etc/clang
-       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-gcc-install.cfg <<-EOF
-               # This file is maintained by gcc-config.
-               # It is used to specify the selected GCC installation.
-       EOF
-
-       newins - gentoo-common.cfg <<-EOF
-               # This file contains flags common to clang, clang++ and 
clang-cpp.
-               @gentoo-runtimes.cfg
-               @gentoo-gcc-install.cfg
-               @gentoo-hardened.cfg
-               # bug #870001
-               -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
-       EOF
-
-       # clang-cpp does not like link args being passed to it when directly
-       # invoked, so use a separate configuration file.
-       newins - gentoo-common-ld.cfg <<-EOF
-               # This file contains flags common to clang and clang++
-               @gentoo-hardened-ld.cfg
-       EOF
-
-       # Baseline hardening (bug #851111)
-       newins - gentoo-hardened.cfg <<-EOF
-               # Some of these options are added unconditionally, regardless of
-               # USE=hardened, for parity with sys-devel/gcc.
-               -Xarch_host -fstack-clash-protection
-               -Xarch_host -fstack-protector-strong
-               -fPIE
-               -include "${EPREFIX}/usr/include/gentoo/fortify.h"
-       EOF
-
-       newins - gentoo-cet.cfg <<-EOF
-               -Xarch_host -fcf-protection=$(usex cet full none)
-       EOF
-
-       if use kernel_Darwin; then
-               newins - gentoo-hardened-ld.cfg <<-EOF
-                       # There was -Wl,-z,relro here, but it's not supported 
on Mac
-                       # TODO: investigate whether -bind_at_load or 
-read_only_stubs will do the job
-               EOF
-       else
-               newins - gentoo-hardened-ld.cfg <<-EOF
-                       # Some of these options are added unconditionally, 
regardless of
-                       # USE=hardened, for parity with sys-devel/gcc.
-                       -Wl,-z,relro
-                       -Wl,-z,now
-               EOF
-       fi
-
-       dodir /usr/include/gentoo
-
-       cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die
-       /* __has_include is an extension, but it's fine, because this is only
-       for Clang anyway. */
-       #if defined __has_include && __has_include (<stdc-predef.h>) && 
!defined(__GLIBC__)
-       # include <stdc-predef.h>
-       #endif
-       EOF
-
-       local fortify_level=$(usex hardened 3 2)
-       # We have to do this because glibc's headers warn if F_S is set
-       # without optimization and that would at the very least be very noisy
-       # during builds and at worst trigger many -Werror builds.
-       cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
-       #ifdef __clang__
-       # pragma clang system_header
-       #endif
-       #ifndef _FORTIFY_SOURCE
-       # if defined(__has_feature)
-       #  define __GENTOO_HAS_FEATURE(x) __has_feature(x)
-       # else
-       #  define __GENTOO_HAS_FEATURE(x) 0
-       # endif
-       #
-       # if !defined(__OPTIMIZE__) || __OPTIMIZE__ == 0
-       # elif !defined(__STDC_HOSTED__) || __STDC_HOSTED__ != 1
-       # elif defined(__SANITIZE_ADDRESS__)
-       # elif __GENTOO_HAS_FEATURE(address_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(hwaddress_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(memory_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(numerical_stability_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(realtime_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(thread_sanitizer)
-       # else
-       #  define _FORTIFY_SOURCE ${fortify_level}
-       # endif
-       #
-       # undef __GENTOO_HAS_FEATURE
-       #endif
-       EOF
-
-       # TODO: Maybe -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST for
-       # non-hardened?
-       if use hardened ; then
-               cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
-                       # Options below are conditional on USE=hardened.
-                       -Xarch_host -D_GLIBCXX_ASSERTIONS
-
-                       # Analogue to GLIBCXX_ASSERTIONS
-                       # 
https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
-                       # 
https://libcxx.llvm.org/Hardening.html#using-hardened-mode
-                       -Xarch_host 
-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE
-               EOF
-
-               cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
-                       # Options below are conditional on USE=hardened.
-               EOF
-       fi
-
-       # We only install config files for supported ABIs because unprefixed 
tools
-       # might be used for crosscompilation where e.g. PIE may not be 
supported.
-       # See bug #912237 and bug #901247. Just ${CHOST} won't do due to bug 
#912685.
-       local abi
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
-               doclang_cfg "${abi_chost}"
-       done
-
-       if use kernel_Darwin; then
-               cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                       # Gentoo Prefix on Darwin
-                       -Wl,-search_paths_first
-               EOF
-               if use bootstrap-prefix ; then
-                       # bootstrap-prefix is only set during stage2 of 
bootstrapping
-                       # Prefix, where EPREFIX is set to EPREFIX/tmp.
-                       # Here we need to point it at the future lib dir of the 
stage3's
-                       # EPREFIX.
-                       cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                               -Wl,-rpath,${EPREFIX}/../usr/lib
-                               -Wl,-L,${EPREFIX}/../usr/lib
-                               -isystem ${EPREFIX}/../usr/include
-                       EOF
-               fi
-               # Using -Wl,-L instead of -L to trick compiler driver to put it
-               # after -isysroot's internal -L
-               cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                       -Wl,-rpath,${EPREFIX}/usr/lib
-                       -Wl,-L,${EPREFIX}/usr/lib
-                       -isystem ${EPREFIX}/usr/include
-                       -isysroot ${EPREFIX}/MacOSX.sdk
-               EOF
-       fi
-}
-
-pkg_preinst() {
-       if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
-       then
-               local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
-               if [[ -n ${gcc_path} ]]; then
-                       cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
-                               --gcc-install-dir="${gcc_path%%:*}"
-                       EOF
-               fi
-       fi
-}

diff --git a/llvm-core/clang-common/clang-common-21.0.0_pre20250322.ebuild 
b/llvm-core/clang-common/clang-common-21.0.0_pre20250322.ebuild
deleted file mode 100644
index af6e46af4529..000000000000
--- a/llvm-core/clang-common/clang-common-21.0.0_pre20250322.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 llvm.org multilib
-
-DESCRIPTION="Common files shared between multiple slots of clang"
-HOMEPAGE="https://llvm.org/";
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="
-       default-compiler-rt default-libcxx default-lld
-       bootstrap-prefix cet hardened llvm-libunwind
-"
-
-PDEPEND="
-       default-compiler-rt? (
-               llvm-core/clang-runtime:${LLVM_MAJOR}[compiler-rt]
-               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 )
-"
-# enforce flags on clang-runtime as well to aid transition
-PDEPEND+="
-       
llvm-core/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?]
-"
-IDEPEND="
-       !default-compiler-rt? ( sys-devel/gcc-config )
-       !default-libcxx? ( sys-devel/gcc-config )
-"
-
-LLVM_COMPONENTS=( clang/utils )
-llvm.org_set_globals
-
-pkg_pretend() {
-       [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
-
-       local flag missing_flags=()
-       for flag in default-{compiler-rt,libcxx,lld}; do
-               if ! use "${flag}" && has_version "llvm-core/clang[${flag}]"; 
then
-                       missing_flags+=( "${flag}" )
-               fi
-       done
-
-       if [[ ${missing_flags[@]} ]]; then
-               eerror "It seems that you have the following flags set on 
llvm-core/clang:"
-               eerror
-               eerror "  ${missing_flags[*]}"
-               eerror
-               eerror "The default runtimes are now set via flags on 
llvm-core/clang-common."
-               eerror "The build is being aborted to prevent breakage.  Please 
either set"
-               eerror "the respective flags on this ebuild, e.g.:"
-               eerror
-               eerror "  llvm-core/clang-common ${missing_flags[*]}"
-               eerror
-               eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
-               die "Mismatched defaults detected between llvm-core/clang and 
llvm-core/clang-common"
-       fi
-}
-
-_doclang_cfg() {
-       local triple="${1}"
-
-       local tool
-       for tool in ${triple}-clang{,++}; do
-               newins - "${tool}.cfg" <<-EOF
-                       # This configuration file is used by ${tool} driver.
-                       @gentoo-common.cfg
-                       @gentoo-common-ld.cfg
-               EOF
-               if [[ ${triple} == x86_64* ]]; then
-                       cat >> "${ED}/etc/clang/${tool}.cfg" <<-EOF || die
-                               @gentoo-cet.cfg
-                       EOF
-               fi
-       done
-
-       if use kernel_Darwin; then
-               cat >> "${ED}/etc/clang/${triple}-clang++.cfg" <<-EOF || die
-                       -lc++abi
-               EOF
-       fi
-
-       newins - "${triple}-clang-cpp.cfg" <<-EOF
-               # This configuration file is used by the ${triple}-clang-cpp 
driver.
-               @gentoo-common.cfg
-       EOF
-       if [[ ${triple} == x86_64* ]]; then
-               cat >> "${ED}/etc/clang/${triple}-clang-cpp.cfg" <<-EOF || die
-                       @gentoo-cet.cfg
-               EOF
-       fi
-
-       # 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/${vendor_triple}-${tool}.cfg" ]]; then
-                               dosym "${triple}-${tool}.cfg" 
"/etc/clang/${vendor_triple}-${tool}.cfg"
-                       fi
-               done
-       done
-}
-
-doclang_cfg() {
-       local triple="${1}"
-
-       _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() {
-       newbashcomp bash-autocomplete.sh clang
-
-       insinto /etc/clang
-       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-gcc-install.cfg <<-EOF
-               # This file is maintained by gcc-config.
-               # It is used to specify the selected GCC installation.
-       EOF
-
-       newins - gentoo-common.cfg <<-EOF
-               # This file contains flags common to clang, clang++ and 
clang-cpp.
-               @gentoo-runtimes.cfg
-               @gentoo-gcc-install.cfg
-               @gentoo-hardened.cfg
-               # bug #870001
-               -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
-       EOF
-
-       # clang-cpp does not like link args being passed to it when directly
-       # invoked, so use a separate configuration file.
-       newins - gentoo-common-ld.cfg <<-EOF
-               # This file contains flags common to clang and clang++
-               @gentoo-hardened-ld.cfg
-       EOF
-
-       # Baseline hardening (bug #851111)
-       newins - gentoo-hardened.cfg <<-EOF
-               # Some of these options are added unconditionally, regardless of
-               # USE=hardened, for parity with sys-devel/gcc.
-               -Xarch_host -fstack-clash-protection
-               -Xarch_host -fstack-protector-strong
-               -fPIE
-               -include "${EPREFIX}/usr/include/gentoo/fortify.h"
-       EOF
-
-       newins - gentoo-cet.cfg <<-EOF
-               -Xarch_host -fcf-protection=$(usex cet full none)
-       EOF
-
-       if use kernel_Darwin; then
-               newins - gentoo-hardened-ld.cfg <<-EOF
-                       # There was -Wl,-z,relro here, but it's not supported 
on Mac
-                       # TODO: investigate whether -bind_at_load or 
-read_only_stubs will do the job
-               EOF
-       else
-               newins - gentoo-hardened-ld.cfg <<-EOF
-                       # Some of these options are added unconditionally, 
regardless of
-                       # USE=hardened, for parity with sys-devel/gcc.
-                       -Wl,-z,relro
-                       -Wl,-z,now
-               EOF
-       fi
-
-       dodir /usr/include/gentoo
-
-       cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die
-       /* __has_include is an extension, but it's fine, because this is only
-       for Clang anyway. */
-       #if defined __has_include && __has_include (<stdc-predef.h>) && 
!defined(__GLIBC__)
-       # include <stdc-predef.h>
-       #endif
-       EOF
-
-       local fortify_level=$(usex hardened 3 2)
-       # We have to do this because glibc's headers warn if F_S is set
-       # without optimization and that would at the very least be very noisy
-       # during builds and at worst trigger many -Werror builds.
-       cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
-       #ifdef __clang__
-       # pragma clang system_header
-       #endif
-       #ifndef _FORTIFY_SOURCE
-       # if defined(__has_feature)
-       #  define __GENTOO_HAS_FEATURE(x) __has_feature(x)
-       # else
-       #  define __GENTOO_HAS_FEATURE(x) 0
-       # endif
-       #
-       # if !defined(__OPTIMIZE__) || __OPTIMIZE__ == 0
-       # elif !defined(__STDC_HOSTED__) || __STDC_HOSTED__ != 1
-       # elif defined(__SANITIZE_ADDRESS__)
-       # elif __GENTOO_HAS_FEATURE(address_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(hwaddress_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(memory_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(numerical_stability_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(realtime_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(thread_sanitizer)
-       # else
-       #  define _FORTIFY_SOURCE ${fortify_level}
-       # endif
-       #
-       # undef __GENTOO_HAS_FEATURE
-       #endif
-       EOF
-
-       # TODO: Maybe -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST for
-       # non-hardened?
-       if use hardened ; then
-               cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
-                       # Options below are conditional on USE=hardened.
-                       -Xarch_host -D_GLIBCXX_ASSERTIONS
-
-                       # Analogue to GLIBCXX_ASSERTIONS
-                       # 
https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
-                       # 
https://libcxx.llvm.org/Hardening.html#using-hardened-mode
-                       -Xarch_host 
-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE
-               EOF
-
-               cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
-                       # Options below are conditional on USE=hardened.
-               EOF
-       fi
-
-       # We only install config files for supported ABIs because unprefixed 
tools
-       # might be used for crosscompilation where e.g. PIE may not be 
supported.
-       # See bug #912237 and bug #901247. Just ${CHOST} won't do due to bug 
#912685.
-       local abi
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
-               doclang_cfg "${abi_chost}"
-       done
-
-       if use kernel_Darwin; then
-               cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                       # Gentoo Prefix on Darwin
-                       -Wl,-search_paths_first
-               EOF
-               if use bootstrap-prefix ; then
-                       # bootstrap-prefix is only set during stage2 of 
bootstrapping
-                       # Prefix, where EPREFIX is set to EPREFIX/tmp.
-                       # Here we need to point it at the future lib dir of the 
stage3's
-                       # EPREFIX.
-                       cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                               -Wl,-rpath,${EPREFIX}/../usr/lib
-                               -Wl,-L,${EPREFIX}/../usr/lib
-                               -isystem ${EPREFIX}/../usr/include
-                       EOF
-               fi
-               # Using -Wl,-L instead of -L to trick compiler driver to put it
-               # after -isysroot's internal -L
-               cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                       -Wl,-rpath,${EPREFIX}/usr/lib
-                       -Wl,-L,${EPREFIX}/usr/lib
-                       -isystem ${EPREFIX}/usr/include
-                       -isysroot ${EPREFIX}/MacOSX.sdk
-               EOF
-       fi
-}
-
-pkg_preinst() {
-       if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
-       then
-               local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
-               if [[ -n ${gcc_path} ]]; then
-                       cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
-                               --gcc-install-dir="${gcc_path%%:*}"
-                       EOF
-               fi
-       fi
-}

diff --git a/llvm-core/clang-common/clang-common-21.0.0_pre20250329.ebuild 
b/llvm-core/clang-common/clang-common-21.0.0_pre20250329.ebuild
deleted file mode 100644
index af6e46af4529..000000000000
--- a/llvm-core/clang-common/clang-common-21.0.0_pre20250329.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 llvm.org multilib
-
-DESCRIPTION="Common files shared between multiple slots of clang"
-HOMEPAGE="https://llvm.org/";
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="
-       default-compiler-rt default-libcxx default-lld
-       bootstrap-prefix cet hardened llvm-libunwind
-"
-
-PDEPEND="
-       default-compiler-rt? (
-               llvm-core/clang-runtime:${LLVM_MAJOR}[compiler-rt]
-               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 )
-"
-# enforce flags on clang-runtime as well to aid transition
-PDEPEND+="
-       
llvm-core/clang-runtime[default-compiler-rt(-)?,default-libcxx(-)?,default-lld(-)?,llvm-libunwind(-)?]
-"
-IDEPEND="
-       !default-compiler-rt? ( sys-devel/gcc-config )
-       !default-libcxx? ( sys-devel/gcc-config )
-"
-
-LLVM_COMPONENTS=( clang/utils )
-llvm.org_set_globals
-
-pkg_pretend() {
-       [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
-
-       local flag missing_flags=()
-       for flag in default-{compiler-rt,libcxx,lld}; do
-               if ! use "${flag}" && has_version "llvm-core/clang[${flag}]"; 
then
-                       missing_flags+=( "${flag}" )
-               fi
-       done
-
-       if [[ ${missing_flags[@]} ]]; then
-               eerror "It seems that you have the following flags set on 
llvm-core/clang:"
-               eerror
-               eerror "  ${missing_flags[*]}"
-               eerror
-               eerror "The default runtimes are now set via flags on 
llvm-core/clang-common."
-               eerror "The build is being aborted to prevent breakage.  Please 
either set"
-               eerror "the respective flags on this ebuild, e.g.:"
-               eerror
-               eerror "  llvm-core/clang-common ${missing_flags[*]}"
-               eerror
-               eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
-               die "Mismatched defaults detected between llvm-core/clang and 
llvm-core/clang-common"
-       fi
-}
-
-_doclang_cfg() {
-       local triple="${1}"
-
-       local tool
-       for tool in ${triple}-clang{,++}; do
-               newins - "${tool}.cfg" <<-EOF
-                       # This configuration file is used by ${tool} driver.
-                       @gentoo-common.cfg
-                       @gentoo-common-ld.cfg
-               EOF
-               if [[ ${triple} == x86_64* ]]; then
-                       cat >> "${ED}/etc/clang/${tool}.cfg" <<-EOF || die
-                               @gentoo-cet.cfg
-                       EOF
-               fi
-       done
-
-       if use kernel_Darwin; then
-               cat >> "${ED}/etc/clang/${triple}-clang++.cfg" <<-EOF || die
-                       -lc++abi
-               EOF
-       fi
-
-       newins - "${triple}-clang-cpp.cfg" <<-EOF
-               # This configuration file is used by the ${triple}-clang-cpp 
driver.
-               @gentoo-common.cfg
-       EOF
-       if [[ ${triple} == x86_64* ]]; then
-               cat >> "${ED}/etc/clang/${triple}-clang-cpp.cfg" <<-EOF || die
-                       @gentoo-cet.cfg
-               EOF
-       fi
-
-       # 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/${vendor_triple}-${tool}.cfg" ]]; then
-                               dosym "${triple}-${tool}.cfg" 
"/etc/clang/${vendor_triple}-${tool}.cfg"
-                       fi
-               done
-       done
-}
-
-doclang_cfg() {
-       local triple="${1}"
-
-       _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() {
-       newbashcomp bash-autocomplete.sh clang
-
-       insinto /etc/clang
-       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-gcc-install.cfg <<-EOF
-               # This file is maintained by gcc-config.
-               # It is used to specify the selected GCC installation.
-       EOF
-
-       newins - gentoo-common.cfg <<-EOF
-               # This file contains flags common to clang, clang++ and 
clang-cpp.
-               @gentoo-runtimes.cfg
-               @gentoo-gcc-install.cfg
-               @gentoo-hardened.cfg
-               # bug #870001
-               -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
-       EOF
-
-       # clang-cpp does not like link args being passed to it when directly
-       # invoked, so use a separate configuration file.
-       newins - gentoo-common-ld.cfg <<-EOF
-               # This file contains flags common to clang and clang++
-               @gentoo-hardened-ld.cfg
-       EOF
-
-       # Baseline hardening (bug #851111)
-       newins - gentoo-hardened.cfg <<-EOF
-               # Some of these options are added unconditionally, regardless of
-               # USE=hardened, for parity with sys-devel/gcc.
-               -Xarch_host -fstack-clash-protection
-               -Xarch_host -fstack-protector-strong
-               -fPIE
-               -include "${EPREFIX}/usr/include/gentoo/fortify.h"
-       EOF
-
-       newins - gentoo-cet.cfg <<-EOF
-               -Xarch_host -fcf-protection=$(usex cet full none)
-       EOF
-
-       if use kernel_Darwin; then
-               newins - gentoo-hardened-ld.cfg <<-EOF
-                       # There was -Wl,-z,relro here, but it's not supported 
on Mac
-                       # TODO: investigate whether -bind_at_load or 
-read_only_stubs will do the job
-               EOF
-       else
-               newins - gentoo-hardened-ld.cfg <<-EOF
-                       # Some of these options are added unconditionally, 
regardless of
-                       # USE=hardened, for parity with sys-devel/gcc.
-                       -Wl,-z,relro
-                       -Wl,-z,now
-               EOF
-       fi
-
-       dodir /usr/include/gentoo
-
-       cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die
-       /* __has_include is an extension, but it's fine, because this is only
-       for Clang anyway. */
-       #if defined __has_include && __has_include (<stdc-predef.h>) && 
!defined(__GLIBC__)
-       # include <stdc-predef.h>
-       #endif
-       EOF
-
-       local fortify_level=$(usex hardened 3 2)
-       # We have to do this because glibc's headers warn if F_S is set
-       # without optimization and that would at the very least be very noisy
-       # during builds and at worst trigger many -Werror builds.
-       cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
-       #ifdef __clang__
-       # pragma clang system_header
-       #endif
-       #ifndef _FORTIFY_SOURCE
-       # if defined(__has_feature)
-       #  define __GENTOO_HAS_FEATURE(x) __has_feature(x)
-       # else
-       #  define __GENTOO_HAS_FEATURE(x) 0
-       # endif
-       #
-       # if !defined(__OPTIMIZE__) || __OPTIMIZE__ == 0
-       # elif !defined(__STDC_HOSTED__) || __STDC_HOSTED__ != 1
-       # elif defined(__SANITIZE_ADDRESS__)
-       # elif __GENTOO_HAS_FEATURE(address_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(hwaddress_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(memory_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(numerical_stability_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(realtime_sanitizer)
-       # elif __GENTOO_HAS_FEATURE(thread_sanitizer)
-       # else
-       #  define _FORTIFY_SOURCE ${fortify_level}
-       # endif
-       #
-       # undef __GENTOO_HAS_FEATURE
-       #endif
-       EOF
-
-       # TODO: Maybe -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST for
-       # non-hardened?
-       if use hardened ; then
-               cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
-                       # Options below are conditional on USE=hardened.
-                       -Xarch_host -D_GLIBCXX_ASSERTIONS
-
-                       # Analogue to GLIBCXX_ASSERTIONS
-                       # 
https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
-                       # 
https://libcxx.llvm.org/Hardening.html#using-hardened-mode
-                       -Xarch_host 
-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE
-               EOF
-
-               cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
-                       # Options below are conditional on USE=hardened.
-               EOF
-       fi
-
-       # We only install config files for supported ABIs because unprefixed 
tools
-       # might be used for crosscompilation where e.g. PIE may not be 
supported.
-       # See bug #912237 and bug #901247. Just ${CHOST} won't do due to bug 
#912685.
-       local abi
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
-               doclang_cfg "${abi_chost}"
-       done
-
-       if use kernel_Darwin; then
-               cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                       # Gentoo Prefix on Darwin
-                       -Wl,-search_paths_first
-               EOF
-               if use bootstrap-prefix ; then
-                       # bootstrap-prefix is only set during stage2 of 
bootstrapping
-                       # Prefix, where EPREFIX is set to EPREFIX/tmp.
-                       # Here we need to point it at the future lib dir of the 
stage3's
-                       # EPREFIX.
-                       cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                               -Wl,-rpath,${EPREFIX}/../usr/lib
-                               -Wl,-L,${EPREFIX}/../usr/lib
-                               -isystem ${EPREFIX}/../usr/include
-                       EOF
-               fi
-               # Using -Wl,-L instead of -L to trick compiler driver to put it
-               # after -isysroot's internal -L
-               cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
-                       -Wl,-rpath,${EPREFIX}/usr/lib
-                       -Wl,-L,${EPREFIX}/usr/lib
-                       -isystem ${EPREFIX}/usr/include
-                       -isysroot ${EPREFIX}/MacOSX.sdk
-               EOF
-       fi
-}
-
-pkg_preinst() {
-       if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
-       then
-               local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
-               if [[ -n ${gcc_path} ]]; then
-                       cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
-                               --gcc-install-dir="${gcc_path%%:*}"
-                       EOF
-               fi
-       fi
-}


Reply via email to