commit:     41778dfdd4e5e429b8e9caac8971d276e148acf0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 15 07:18:07 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 15 07:18:07 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41778dfd

llvm-core/clang-common: Remove old

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

 llvm-core/clang-common/Manifest                    |   5 -
 .../clang-common-20.0.0_pre20250125.ebuild         | 310 ---------------------
 .../clang-common/clang-common-20.1.0_rc1.ebuild    | 310 ---------------------
 .../clang-common-21.0.0_pre20250201.ebuild         | 310 ---------------------
 .../clang-common-21.0.0_pre20250208.ebuild         | 310 ---------------------
 5 files changed, 1245 deletions(-)

diff --git a/llvm-core/clang-common/Manifest b/llvm-core/clang-common/Manifest
index e2345ea11956..8af079707d77 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-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 
BLAKE2B 
642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed
 SHA512 
e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
-DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B 
ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b
 SHA512 
c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
-DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 
32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705
 SHA512 
d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
 DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 
6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3
 SHA512 
f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb
 DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B 
aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f
 SHA512 
e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce
 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 
BLAKE2B 
51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e
 SHA512 
a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
-DIST llvm-project-6f241e36831927e3aea113cfc017c34fdeda340a.tar.gz 227203285 
BLAKE2B 
8d5e424c1836acc82ea766cd2cef104593c44d197ebeb64f18dbe74b1b5baeb4bc84084f5b68bd87ac36f7df25689dd2522cb6674a97da4f96f4f10f7bae5b06
 SHA512 
2b6e4bd6445eabfa3ace9b45d20797c7afc23f4553a8938399aeba227e3b8ca6a53a7d7762925a845bfed031c37af692b9c08180fbab80db2f3166940e560077
-DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 
BLAKE2B 
165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476
 SHA512 
e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23

diff --git a/llvm-core/clang-common/clang-common-20.0.0_pre20250125.ebuild 
b/llvm-core/clang-common/clang-common-20.0.0_pre20250125.ebuild
deleted file mode 100644
index 1fde60b6b6de..000000000000
--- a/llvm-core/clang-common/clang-common-20.0.0_pre20250125.ebuild
+++ /dev/null
@@ -1,310 +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 )
-"
-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-20.1.0_rc1.ebuild 
b/llvm-core/clang-common/clang-common-20.1.0_rc1.ebuild
deleted file mode 100644
index 1fde60b6b6de..000000000000
--- a/llvm-core/clang-common/clang-common-20.1.0_rc1.ebuild
+++ /dev/null
@@ -1,310 +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 )
-"
-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_pre20250201.ebuild 
b/llvm-core/clang-common/clang-common-21.0.0_pre20250201.ebuild
deleted file mode 100644
index 1fde60b6b6de..000000000000
--- a/llvm-core/clang-common/clang-common-21.0.0_pre20250201.ebuild
+++ /dev/null
@@ -1,310 +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 )
-"
-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_pre20250208.ebuild 
b/llvm-core/clang-common/clang-common-21.0.0_pre20250208.ebuild
deleted file mode 100644
index 1fde60b6b6de..000000000000
--- a/llvm-core/clang-common/clang-common-21.0.0_pre20250208.ebuild
+++ /dev/null
@@ -1,310 +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 )
-"
-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