commit:     e443751b81552e4262bdc615b3568206e33b15f6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 27 07:21:36 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 27 07:21:36 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e443751b

sys-libs/libcxx: Remove old

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

 sys-libs/libcxx/Manifest                         |   2 -
 sys-libs/libcxx/libcxx-19.0.0.9999.ebuild        | 201 -----------------------
 sys-libs/libcxx/libcxx-19.0.0_pre20240706.ebuild | 201 -----------------------
 sys-libs/libcxx/libcxx-19.0.0_pre20240712.ebuild | 201 -----------------------
 4 files changed, 605 deletions(-)

diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 4b8d0d26035e..6ee4f023222b 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,6 +1,5 @@
 DIST llvm-gentoo-patchset-15.0.7-r1.tar.xz 21400 BLAKE2B 
6b149cb721ac476b728bf9b0197f630d3db40622b85e3d099cdbc1d85ec14872d4e1eb0c94be6edc20fc6187da29b42f934dfb765f2077425a5b919900bb97c0
 SHA512 
d84d48caa3781633c7c6147e0b786417e93e4b5c9d1393809164e6d355a56673013ed0ea9bc3309488d7cfb794c1b336c888adc52dcd95e70c16d9208c36bd15
 DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 
37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3
 SHA512 
2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
-DIST llvm-project-0b9f2847da79298ed09c29493245113f02b32d9f.tar.gz 216399453 
BLAKE2B 
ed13e6639d40bdda6dbd09eba0cc8e4f82f4f53ce3cff9742e902af1c306c60dcb6d5fb008057829d46bbbde391697726cba2096c52cf1592c00faf1e37430e4
 SHA512 
a5b0bf59fa228a41f0c904a42b4b96740fc5e5caa63248c546eb4a810e86d5d8d1d8df663051ed4444cc0389ffa6ec12ee5dbf7d94d6211a253319550d7fac1c
 DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B 
f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5
 SHA512 
4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
 DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 
47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df
 SHA512 
fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
 DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 
95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d
 SHA512 
89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -11,5 +10,4 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B 
a950492f1dbfb874dff63b1ffe
 DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 
6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd
 SHA512 
ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
 DIST llvm-project-19.1.0-rc1.src.tar.xz 141259912 BLAKE2B 
e882ff54a96900b4948e572cf073c897df6b4ce159869a42c56a4c830187d83b8d9d9b3940dad22346f142f9674575191cc9d079312f0d9aa1105390c07f504f
 SHA512 
9f43dbe8d5f1322f73fb1c638ce4fc7a8179c9ca33fdbfbb6d72632a3d6bf4bc4993f8f5ec827510af55f4f013fba8fe3d7d9e45f262eec16ecf9ab39296b4b8
 DIST llvm-project-19.1.0-rc1.src.tar.xz.sig 438 BLAKE2B 
cc1acbd33440bb14f78c19cc3061a5c0cb3d9dbcd6f0d1516fe118ac02c500ba4df129f870ddf3fe1a52519feab4b631866413fce9c726272d52c3865a9eea27
 SHA512 
a3361992b55be13aeff5d91bb90a15e3a2ab89e486328fa4d9abc9efa3925aee70bea48449b003ae1926909d389bf71afcf6dc56d800ed2e0e3dbc65da6e4e92
-DIST llvm-project-1bad7024561bc64ed4bfda0772b16376b475eba5.tar.gz 216657623 
BLAKE2B 
99c48a95c427e8fae5568e5f59ab9bec8b2d8bec0c5d3cf453c261a738fe1c295b34e2e10e6b08d2b02cae43e3b0cd4c8eb025d19a83ee51f47a49afadd56d3f
 SHA512 
08fc904122ab346edbfc3903cafae4f50ba57e146b2d821a568f8378c0f3ab4d413e07c5df2bf061374f9db4634b5f6b27f204fc4f2f68984303ceec9c963c0c
 DIST llvm-project-72d8c2737bb557af9d0c735b9fa30b1b03485627.tar.gz 217324958 
BLAKE2B 
d43c161ac98860e2ce03e7e2474c55766e7496200b090ebb1cb6dcf0c2ad3a32bae76249feca53cd8b56c63806a740c280e6306890cd28429c4a7e84cae5eada
 SHA512 
af3b44ec3f96d636d919906cf20547eb91d0a83d07731c9db38f28311a52011d8ec66833422fad9bb89ca9ac546e308b02015a7b365086341bee1f3de1b6c5e2

diff --git a/sys-libs/libcxx/libcxx-19.0.0.9999.ebuild 
b/sys-libs/libcxx/libcxx-19.0.0.9999.ebuild
deleted file mode 100644
index a0d07e1507f4..000000000000
--- a/sys-libs/libcxx/libcxx-19.0.0.9999.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/";
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="+clang +libcxxabi +static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-       libcxxabi? (
-               ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
-       )
-       !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
-"
-DEPEND="
-       ${RDEPEND}
-       sys-devel/llvm:${LLVM_MAJOR}
-"
-BDEPEND="
-       clang? (
-               sys-devel/clang:${LLVM_MAJOR}
-       )
-       !test? (
-               ${PYTHON_DEPS}
-       )
-       test? (
-               dev-debug/gdb[python]
-               $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
-       )
-"
-
-LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake )
-llvm.org_set_globals
-
-python_check_deps() {
-       use test || return 0
-       python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       python-any-r1_pkg_setup
-
-       if ! use libcxxabi && ! tc-is-gcc ; then
-               eerror "To build ${PN} against libsupc++, you have to use gcc. 
Other"
-               eerror "compilers are not supported. Please set CC=gcc and 
CXX=g++"
-               eerror "and try again."
-               die
-       fi
-}
-
-test_compiler() {
-       $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-               <<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-       llvm_prepend_path "${LLVM_MAJOR}"
-
-       # note: we need to do this before multilib kicks in since it will
-       # alter the CHOST
-       local cxxabi cxxabi_incs
-       if use libcxxabi; then
-               cxxabi=system-libcxxabi
-               cxxabi_incs="${EPREFIX}/usr/include/c++/v1"
-       else
-               local 
gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-               cxxabi=libsupc++
-               cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-       fi
-
-       multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-       if use clang; then
-               local -x CC=${CHOST}-clang
-               local -x CXX=${CHOST}-clang++
-               strip-unsupported-flags
-       fi
-
-       # link to compiler-rt
-       local use_compiler_rt=OFF
-       [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
-
-       # bootstrap: cmake is unhappy if compiler can't link to stdlib
-       local nolib_flags=( -nodefaultlibs -lc )
-       if ! test_compiler; then
-               if test_compiler "${nolib_flags[@]}"; then
-                       local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-                       ewarn "${CXX} seems to lack runtime, trying with 
${nolib_flags[*]}"
-               fi
-       fi
-
-       local libdir=$(get_libdir)
-       local mycmakeargs=(
-               -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
-               -DPython3_EXECUTABLE="${PYTHON}"
-               -DLLVM_ENABLE_RUNTIMES=libcxx
-               -DLLVM_INCLUDE_TESTS=OFF
-               -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
-               -DLIBCXX_ENABLE_SHARED=ON
-               -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-               -DLIBCXX_CXX_ABI=${cxxabi}
-               -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-               # we're using our own mechanism for generating linker scripts
-               -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-               -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-               -DLIBCXX_INCLUDE_BENCHMARKS=OFF
-               -DLIBCXX_INCLUDE_TESTS=$(usex test)
-               -DLIBCXX_INSTALL_MODULES=ON
-               -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
-               # this is broken with standalone builds, and also meaningless
-               -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
-       )
-
-       if use test; then
-               mycmakeargs+=(
-                       -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-                       -DLLVM_LIT_ARGS="$(get_lit_flags)"
-                       -DPython3_EXECUTABLE="${PYTHON}"
-               )
-       fi
-       cmake_src_configure
-}
-
-multilib_src_compile() {
-       cmake_src_compile
-       if [[ ${CHOST} != *-darwin* ]] ; then
-               gen_shared_ldscript
-               use static-libs && gen_static_ldscript
-       fi
-}
-
-multilib_src_test() {
-       local -x LIT_PRESERVES_TMP=1
-       cmake_build check-cxx
-}
-
-multilib_src_install() {
-       cmake_src_install
-       # since we've replaced libc++.{a,so} with ldscripts, now we have to
-       # install the extra symlinks
-       if [[ ${CHOST} != *-darwin* ]] ; then
-               dolib.so lib/libc++_shared.so
-               use static-libs && dolib.a lib/libc++_static.a
-       fi
-}
-
-# Usage: deps
-gen_ldscript() {
-       local output_format
-       output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | 
sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-       [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( 
${output_format} )"
-
-       cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-       # Move it first.
-       mv lib/libc++{,_static}.a || die
-       # Generate libc++.a ldscript for inclusion of its dependencies so that
-       # clang++ -stdlib=libc++ -static works out of the box.
-       local deps=(
-               libc++_static.a
-               $(usex libcxxabi libc++abi.a libsupc++.a)
-       )
-       # On Linux/glibc it does not link without libpthread or libdl. It is
-       # fine on FreeBSD.
-       use elibc_glibc && deps+=( libpthread.a libdl.a )
-
-       gen_ldscript "${deps[*]}" > lib/libc++.a || die
-}
-
-gen_shared_ldscript() {
-       # Move it first.
-       mv lib/libc++{,_shared}.so || die
-       local deps=(
-               libc++_shared.so
-               # libsupc++ doesn't have a shared version
-               $(usex libcxxabi libc++abi.so libsupc++.a)
-       )
-
-       gen_ldscript "${deps[*]}" > lib/libc++.so || die
-}

diff --git a/sys-libs/libcxx/libcxx-19.0.0_pre20240706.ebuild 
b/sys-libs/libcxx/libcxx-19.0.0_pre20240706.ebuild
deleted file mode 100644
index a0d07e1507f4..000000000000
--- a/sys-libs/libcxx/libcxx-19.0.0_pre20240706.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/";
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="+clang +libcxxabi +static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-       libcxxabi? (
-               ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
-       )
-       !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
-"
-DEPEND="
-       ${RDEPEND}
-       sys-devel/llvm:${LLVM_MAJOR}
-"
-BDEPEND="
-       clang? (
-               sys-devel/clang:${LLVM_MAJOR}
-       )
-       !test? (
-               ${PYTHON_DEPS}
-       )
-       test? (
-               dev-debug/gdb[python]
-               $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
-       )
-"
-
-LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake )
-llvm.org_set_globals
-
-python_check_deps() {
-       use test || return 0
-       python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       python-any-r1_pkg_setup
-
-       if ! use libcxxabi && ! tc-is-gcc ; then
-               eerror "To build ${PN} against libsupc++, you have to use gcc. 
Other"
-               eerror "compilers are not supported. Please set CC=gcc and 
CXX=g++"
-               eerror "and try again."
-               die
-       fi
-}
-
-test_compiler() {
-       $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-               <<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-       llvm_prepend_path "${LLVM_MAJOR}"
-
-       # note: we need to do this before multilib kicks in since it will
-       # alter the CHOST
-       local cxxabi cxxabi_incs
-       if use libcxxabi; then
-               cxxabi=system-libcxxabi
-               cxxabi_incs="${EPREFIX}/usr/include/c++/v1"
-       else
-               local 
gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-               cxxabi=libsupc++
-               cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-       fi
-
-       multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-       if use clang; then
-               local -x CC=${CHOST}-clang
-               local -x CXX=${CHOST}-clang++
-               strip-unsupported-flags
-       fi
-
-       # link to compiler-rt
-       local use_compiler_rt=OFF
-       [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
-
-       # bootstrap: cmake is unhappy if compiler can't link to stdlib
-       local nolib_flags=( -nodefaultlibs -lc )
-       if ! test_compiler; then
-               if test_compiler "${nolib_flags[@]}"; then
-                       local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-                       ewarn "${CXX} seems to lack runtime, trying with 
${nolib_flags[*]}"
-               fi
-       fi
-
-       local libdir=$(get_libdir)
-       local mycmakeargs=(
-               -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
-               -DPython3_EXECUTABLE="${PYTHON}"
-               -DLLVM_ENABLE_RUNTIMES=libcxx
-               -DLLVM_INCLUDE_TESTS=OFF
-               -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
-               -DLIBCXX_ENABLE_SHARED=ON
-               -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-               -DLIBCXX_CXX_ABI=${cxxabi}
-               -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-               # we're using our own mechanism for generating linker scripts
-               -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-               -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-               -DLIBCXX_INCLUDE_BENCHMARKS=OFF
-               -DLIBCXX_INCLUDE_TESTS=$(usex test)
-               -DLIBCXX_INSTALL_MODULES=ON
-               -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
-               # this is broken with standalone builds, and also meaningless
-               -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
-       )
-
-       if use test; then
-               mycmakeargs+=(
-                       -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-                       -DLLVM_LIT_ARGS="$(get_lit_flags)"
-                       -DPython3_EXECUTABLE="${PYTHON}"
-               )
-       fi
-       cmake_src_configure
-}
-
-multilib_src_compile() {
-       cmake_src_compile
-       if [[ ${CHOST} != *-darwin* ]] ; then
-               gen_shared_ldscript
-               use static-libs && gen_static_ldscript
-       fi
-}
-
-multilib_src_test() {
-       local -x LIT_PRESERVES_TMP=1
-       cmake_build check-cxx
-}
-
-multilib_src_install() {
-       cmake_src_install
-       # since we've replaced libc++.{a,so} with ldscripts, now we have to
-       # install the extra symlinks
-       if [[ ${CHOST} != *-darwin* ]] ; then
-               dolib.so lib/libc++_shared.so
-               use static-libs && dolib.a lib/libc++_static.a
-       fi
-}
-
-# Usage: deps
-gen_ldscript() {
-       local output_format
-       output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | 
sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-       [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( 
${output_format} )"
-
-       cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-       # Move it first.
-       mv lib/libc++{,_static}.a || die
-       # Generate libc++.a ldscript for inclusion of its dependencies so that
-       # clang++ -stdlib=libc++ -static works out of the box.
-       local deps=(
-               libc++_static.a
-               $(usex libcxxabi libc++abi.a libsupc++.a)
-       )
-       # On Linux/glibc it does not link without libpthread or libdl. It is
-       # fine on FreeBSD.
-       use elibc_glibc && deps+=( libpthread.a libdl.a )
-
-       gen_ldscript "${deps[*]}" > lib/libc++.a || die
-}
-
-gen_shared_ldscript() {
-       # Move it first.
-       mv lib/libc++{,_shared}.so || die
-       local deps=(
-               libc++_shared.so
-               # libsupc++ doesn't have a shared version
-               $(usex libcxxabi libc++abi.so libsupc++.a)
-       )
-
-       gen_ldscript "${deps[*]}" > lib/libc++.so || die
-}

diff --git a/sys-libs/libcxx/libcxx-19.0.0_pre20240712.ebuild 
b/sys-libs/libcxx/libcxx-19.0.0_pre20240712.ebuild
deleted file mode 100644
index a0d07e1507f4..000000000000
--- a/sys-libs/libcxx/libcxx-19.0.0_pre20240712.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/";
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="+clang +libcxxabi +static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-       libcxxabi? (
-               ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
-       )
-       !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
-"
-DEPEND="
-       ${RDEPEND}
-       sys-devel/llvm:${LLVM_MAJOR}
-"
-BDEPEND="
-       clang? (
-               sys-devel/clang:${LLVM_MAJOR}
-       )
-       !test? (
-               ${PYTHON_DEPS}
-       )
-       test? (
-               dev-debug/gdb[python]
-               $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
-       )
-"
-
-LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake )
-llvm.org_set_globals
-
-python_check_deps() {
-       use test || return 0
-       python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-       python-any-r1_pkg_setup
-
-       if ! use libcxxabi && ! tc-is-gcc ; then
-               eerror "To build ${PN} against libsupc++, you have to use gcc. 
Other"
-               eerror "compilers are not supported. Please set CC=gcc and 
CXX=g++"
-               eerror "and try again."
-               die
-       fi
-}
-
-test_compiler() {
-       $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
-               <<<'int main() { return 0; }' &>/dev/null
-}
-
-src_configure() {
-       llvm_prepend_path "${LLVM_MAJOR}"
-
-       # note: we need to do this before multilib kicks in since it will
-       # alter the CHOST
-       local cxxabi cxxabi_incs
-       if use libcxxabi; then
-               cxxabi=system-libcxxabi
-               cxxabi_incs="${EPREFIX}/usr/include/c++/v1"
-       else
-               local 
gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
-               cxxabi=libsupc++
-               cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
-       fi
-
-       multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
-       if use clang; then
-               local -x CC=${CHOST}-clang
-               local -x CXX=${CHOST}-clang++
-               strip-unsupported-flags
-       fi
-
-       # link to compiler-rt
-       local use_compiler_rt=OFF
-       [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
-
-       # bootstrap: cmake is unhappy if compiler can't link to stdlib
-       local nolib_flags=( -nodefaultlibs -lc )
-       if ! test_compiler; then
-               if test_compiler "${nolib_flags[@]}"; then
-                       local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
-                       ewarn "${CXX} seems to lack runtime, trying with 
${nolib_flags[*]}"
-               fi
-       fi
-
-       local libdir=$(get_libdir)
-       local mycmakeargs=(
-               -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
-               -DPython3_EXECUTABLE="${PYTHON}"
-               -DLLVM_ENABLE_RUNTIMES=libcxx
-               -DLLVM_INCLUDE_TESTS=OFF
-               -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
-               -DLIBCXX_ENABLE_SHARED=ON
-               -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
-               -DLIBCXX_CXX_ABI=${cxxabi}
-               -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
-               # we're using our own mechanism for generating linker scripts
-               -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-               -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-               -DLIBCXX_INCLUDE_BENCHMARKS=OFF
-               -DLIBCXX_INCLUDE_TESTS=$(usex test)
-               -DLIBCXX_INSTALL_MODULES=ON
-               -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
-               # this is broken with standalone builds, and also meaningless
-               -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
-       )
-
-       if use test; then
-               mycmakeargs+=(
-                       -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-                       -DLLVM_LIT_ARGS="$(get_lit_flags)"
-                       -DPython3_EXECUTABLE="${PYTHON}"
-               )
-       fi
-       cmake_src_configure
-}
-
-multilib_src_compile() {
-       cmake_src_compile
-       if [[ ${CHOST} != *-darwin* ]] ; then
-               gen_shared_ldscript
-               use static-libs && gen_static_ldscript
-       fi
-}
-
-multilib_src_test() {
-       local -x LIT_PRESERVES_TMP=1
-       cmake_build check-cxx
-}
-
-multilib_src_install() {
-       cmake_src_install
-       # since we've replaced libc++.{a,so} with ldscripts, now we have to
-       # install the extra symlinks
-       if [[ ${CHOST} != *-darwin* ]] ; then
-               dolib.so lib/libc++_shared.so
-               use static-libs && dolib.a lib/libc++_static.a
-       fi
-}
-
-# Usage: deps
-gen_ldscript() {
-       local output_format
-       output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | 
sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
-       [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( 
${output_format} )"
-
-       cat <<-END_LDSCRIPT
-/* GNU ld script
-   Include missing dependencies
-*/
-${output_format}
-GROUP ( $@ )
-END_LDSCRIPT
-}
-
-gen_static_ldscript() {
-       # Move it first.
-       mv lib/libc++{,_static}.a || die
-       # Generate libc++.a ldscript for inclusion of its dependencies so that
-       # clang++ -stdlib=libc++ -static works out of the box.
-       local deps=(
-               libc++_static.a
-               $(usex libcxxabi libc++abi.a libsupc++.a)
-       )
-       # On Linux/glibc it does not link without libpthread or libdl. It is
-       # fine on FreeBSD.
-       use elibc_glibc && deps+=( libpthread.a libdl.a )
-
-       gen_ldscript "${deps[*]}" > lib/libc++.a || die
-}
-
-gen_shared_ldscript() {
-       # Move it first.
-       mv lib/libc++{,_shared}.so || die
-       local deps=(
-               libc++_shared.so
-               # libsupc++ doesn't have a shared version
-               $(usex libcxxabi libc++abi.so libsupc++.a)
-       )
-
-       gen_ldscript "${deps[*]}" > lib/libc++.so || die
-}

Reply via email to