summaryrefslogtreecommitdiff
path: root/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/libcxx/libcxx-15.0.0.9999.ebuild')
-rw-r--r--sys-libs/libcxx/libcxx-15.0.0.9999.ebuild26
1 files changed, 19 insertions, 7 deletions
diff --git a/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild
index dcdce79b90b2..25841a822b4c 100644
--- a/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild
@@ -13,9 +13,12 @@ HOMEPAGE="https://libcxx.llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="0"
KEYWORDS=""
-IUSE="+libcxxabi +libunwind static-libs test"
+IUSE="+clang +libcxxabi +libunwind static-libs test"
+REQUIRED_USE="
+ libunwind? ( libcxxabi )
+ test? ( clang )
+"
RESTRICT="!test? ( test )"
-REQUIRED_USE="libunwind? ( libcxxabi )"
RDEPEND="
libcxxabi? (
@@ -31,12 +34,14 @@ DEPEND="
>=sys-devel/llvm-6
"
BDEPEND="
+ clang? (
+ sys-devel/clang
+ )
!test? (
${PYTHON_DEPS}
)
test? (
>=dev-util/cmake-3.16
- >=sys-devel/clang-3.9.0
sys-devel/gdb[python]
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
)
@@ -79,7 +84,7 @@ src_configure() {
local cxxabi cxxabi_incs
if use libcxxabi; then
cxxabi=system-libcxxabi
- cxxabi_incs="${EPREFIX}/usr/include/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++
@@ -90,6 +95,14 @@ src_configure() {
}
multilib_src_configure() {
+ if use clang && ! tc-is-clang; then
+ # Only do this conditionally to allow overriding with
+ # e.g. CC=clang-13 in case of breakage
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
# we want -lgcc_s for unwinder, and for compiler runtime when using
# gcc, clang with gcc runtime (or any unknown compiler)
local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
@@ -129,6 +142,7 @@ multilib_src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
-DPython3_EXECUTABLE="${PYTHON}"
-DLLVM_ENABLE_RUNTIMES=libcxx
-DLLVM_INCLUDE_TESTS=OFF
@@ -146,7 +160,6 @@ multilib_src_configure() {
-DLIBCXX_INCLUDE_TESTS=$(usex test)
-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s}
- -DLIBCXX_TARGET_TRIPLE="${CHOST}"
-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
)
@@ -156,8 +169,7 @@ multilib_src_configure() {
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
- -DLIBCXX_LINK_TESTS_WITH_SHARED_LIBCXXABI=ON
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
-DPython3_EXECUTABLE="${PYTHON}"
)
fi