summaryrefslogtreecommitdiff
path: root/sys-libs/libcxx
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-11 19:38:57 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-11 19:38:57 +0100
commitc650f7cf611feaa59620fd8626e78108fa3b5e51 (patch)
tree31eba3ef4db85c7cef7cfb89ee87c81e732928a9 /sys-libs/libcxx
parent59970d0b9cd0a564851f255aebb29a9f76e39c19 (diff)
gentoo auto-resync : 11:10:2022 - 19:38:57
Diffstat (limited to 'sys-libs/libcxx')
-rw-r--r--sys-libs/libcxx/Manifest6
-rw-r--r--sys-libs/libcxx/libcxx-13.0.1.ebuild12
-rw-r--r--sys-libs/libcxx/libcxx-14.0.6.ebuild12
-rw-r--r--sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild212
4 files changed, 18 insertions, 224 deletions
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index d5056543f862..819293a04ece 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -4,14 +4,12 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
-DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-EBUILD libcxx-13.0.1.ebuild 6635 BLAKE2B 4dec3470ede514c9587c1e68baf5d30dc0bf3757aeb11f2ecfcce78c78c33f28c9775647c7afe8a3826afebe055b03daf8c4a2c4a576b0c6c5689c4c1e3da57a SHA512 5e3d1bdd94d6e9b4f37f4ce3d09fc7649254ba52d9181acb6a76b570be3ebe53b1df68836268c366d57f1037b6f4a8c92fce82634b4fc735c38bed2cd5fd6ba4
-EBUILD libcxx-14.0.6.ebuild 6815 BLAKE2B ef602a03b2e1f42fc20f8a1f4d90cbf91a2b237b84d3a4149d123065682cd3fb54391ac9c2c4b52bdf712a84d5cfef03f0103e4b0b5c8376a1d0269b2bcf137d SHA512 73312e53336c8e42d88b4c6379ecb29db34672dbbcb1a2eeec2cbe4d9b7a8f5906b0ab599299cfe46bd5ed15d390641f993990dfa5f248e1168172bbeb832db1
+EBUILD libcxx-13.0.1.ebuild 6768 BLAKE2B 71b0f62e35538d718d99e3d43447f98752933868d999bf831969a6940d3a817452789c2044e9ca3bb4d5d1f0c2976fc276c4d10cb018c44e0cc6109095d9c6d6 SHA512 a12023fa135a7945e8088b34421f575cab32bb8ac53f1aeaa61bcf2a7b9fe045a6e21efba168056ef47b165ef3100e382100f910c84dee972017de6355d2e9c0
+EBUILD libcxx-14.0.6.ebuild 6948 BLAKE2B 203e04f4e2603ec0b8e3cd672ca2458c971e4ec3c1d24ea65f85db143561d349d9b7e4b4a58f7c57f5c0caa519e5a79f99f0a76c404aeba47b0bcc683adcb572 SHA512 c1a353dd558c68d439ab66e089e26993e66f1729f7879912413531bbd89318338649dccde1f84a32784de380997d2611d6b7cf86841feb47c3c0c8d67bfe28df
EBUILD libcxx-15.0.2.ebuild 5547 BLAKE2B 3d073fa67bff7613b745319377c0501d266d753b646fcd68796e7d5964948492265037769af8b038fbfa970b5ae15490ef29796fd3d155aa96aba6225d82a537 SHA512 4f935fb16074c3ab538fdeaa06af8d8d0683d6caf10d32568a73d560bbd798769f0985b98f4967a7c6a724b124a20ea8db39c7c2715543e54ebc6ed32e74c8cf
EBUILD libcxx-15.0.3.9999.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba
EBUILD libcxx-16.0.0.9999.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba
-EBUILD libcxx-16.0.0_pre20221006.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba
EBUILD libcxx-16.0.0_pre20221010.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba
MISC metadata.xml 828 BLAKE2B 40af456df8ac1cfdb66fd62a217abbb4ca837956529906118c35232000435d9e991d18dd0332b7b95eed70d4c7610c7a1aee80af8ba511763edc1423749a4aa4 SHA512 257f8fd05fcade26ca02305356b67c8e2d67a87b180e38a189a659212093b07b9a710b871fbaab894dba9eba5fe450b76c52cc82f6405c24cc1ab2df3abe8bfd
diff --git a/sys-libs/libcxx/libcxx-13.0.1.ebuild b/sys-libs/libcxx/libcxx-13.0.1.ebuild
index 3021d859b872..f7db45b21571 100644
--- a/sys-libs/libcxx/libcxx-13.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-13.0.1.ebuild
@@ -89,10 +89,14 @@ multilib_src_configure() {
extra_libs+=( -lunwind )
# if we're using libunwind and clang with compiler-rt, we want
# to link to compiler-rt instead of -lgcc_s
- if [[ $(tc-get-c-rtlib) == compiler-rt ]]; then
- want_gcc_s=OFF
- want_compiler_rt=ON
- extra_libs+=( "${compiler_rt}" )
+ if tc-is-clang; then
+ local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+ ${LDFLAGS} -print-libgcc-file-name)
+ if [[ ${compiler_rt} == *libclang_rt* ]]; then
+ want_gcc_s=OFF
+ want_compiler_rt=ON
+ extra_libs+=( "${compiler_rt}" )
+ fi
fi
elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then
# clang-based darwin prefix disables libunwind useflag during
diff --git a/sys-libs/libcxx/libcxx-14.0.6.ebuild b/sys-libs/libcxx/libcxx-14.0.6.ebuild
index 063546f816be..47501e5ea293 100644
--- a/sys-libs/libcxx/libcxx-14.0.6.ebuild
+++ b/sys-libs/libcxx/libcxx-14.0.6.ebuild
@@ -97,10 +97,14 @@ multilib_src_configure() {
extra_libs+=( -lunwind )
# if we're using libunwind and clang with compiler-rt, we want
# to link to compiler-rt instead of -lgcc_s
- if [[ $(tc-get-c-rtlib) == compiler-rt ]]; then
- want_gcc_s=OFF
- want_compiler_rt=ON
- extra_libs+=( "${compiler_rt}" )
+ if tc-is-clang; then
+ local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+ ${LDFLAGS} -print-libgcc-file-name)
+ if [[ ${compiler_rt} == *libclang_rt* ]]; then
+ want_gcc_s=OFF
+ want_compiler_rt=ON
+ extra_libs+=( "${compiler_rt}" )
+ fi
fi
elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then
# clang-based darwin prefix disables libunwind useflag during
diff --git a/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild b/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
deleted file mode 100644
index 6bcf1a20c831..000000000000
--- a/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
+++ /dev/null
@@ -1,212 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \
- 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"
-KEYWORDS=""
-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-util/cmake-3.16
- sys-devel/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() {
- # Darwin Prefix builds do not have llvm installed yet, so rely on
- # bootstrap-prefix to set the appropriate path vars to LLVM instead
- # of using llvm_pkg_setup.
- if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- fi
- 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() {
- # 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_USE_COMPILER_RT=${use_compiler_rt}
- )
-
- 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
-}
-
-pkg_postinst() {
- elog "This package (${PN}) is mainly intended as a replacement for the C++"
- elog "standard library when using clang."
- elog "To use it, instead of libstdc++, use:"
- elog " clang++ -stdlib=libc++"
- elog "to compile your C++ programs."
-}