commit: e968fbf5f2132f5ca82b5889f08bec6c2fb65082
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 10 20:46:03 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 10 20:52:39 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e968fbf5
sys-libs/libcxx: Use tc-get-c-rtlib
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-libs/libcxx/libcxx-13.0.1.ebuild | 12 ++++--------
sys-libs/libcxx/libcxx-14.0.6.ebuild | 12 ++++--------
sys-libs/libcxx/libcxx-15.0.2.ebuild | 14 ++++----------
sys-libs/libcxx/libcxx-15.0.3.9999.ebuild | 14 ++++----------
sys-libs/libcxx/libcxx-16.0.0.9999.ebuild | 14 ++++----------
sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild | 14 ++++----------
sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild | 14 ++++----------
7 files changed, 28 insertions(+), 66 deletions(-)
diff --git a/sys-libs/libcxx/libcxx-13.0.1.ebuild
b/sys-libs/libcxx/libcxx-13.0.1.ebuild
index f7db45b21571..3021d859b872 100644
--- a/sys-libs/libcxx/libcxx-13.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-13.0.1.ebuild
@@ -89,14 +89,10 @@ 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-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
+ if [[ $(tc-get-c-rtlib) == compiler-rt ]]; then
+ want_gcc_s=OFF
+ want_compiler_rt=ON
+ extra_libs+=( "${compiler_rt}" )
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 47501e5ea293..063546f816be 100644
--- a/sys-libs/libcxx/libcxx-14.0.6.ebuild
+++ b/sys-libs/libcxx/libcxx-14.0.6.ebuild
@@ -97,14 +97,10 @@ 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-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
+ if [[ $(tc-get-c-rtlib) == compiler-rt ]]; then
+ want_gcc_s=OFF
+ want_compiler_rt=ON
+ extra_libs+=( "${compiler_rt}" )
fi
elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then
# clang-based darwin prefix disables libunwind useflag during
diff --git a/sys-libs/libcxx/libcxx-15.0.2.ebuild
b/sys-libs/libcxx/libcxx-15.0.2.ebuild
index 79e6aec88593..275d229a612a 100644
--- a/sys-libs/libcxx/libcxx-15.0.2.ebuild
+++ b/sys-libs/libcxx/libcxx-15.0.2.ebuild
@@ -95,15 +95,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -131,7 +125,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then
diff --git a/sys-libs/libcxx/libcxx-15.0.3.9999.ebuild
b/sys-libs/libcxx/libcxx-15.0.3.9999.ebuild
index c28920c09043..6bcf1a20c831 100644
--- a/sys-libs/libcxx/libcxx-15.0.3.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-15.0.3.9999.ebuild
@@ -94,15 +94,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -130,7 +124,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then
diff --git a/sys-libs/libcxx/libcxx-16.0.0.9999.ebuild
b/sys-libs/libcxx/libcxx-16.0.0.9999.ebuild
index c28920c09043..6bcf1a20c831 100644
--- a/sys-libs/libcxx/libcxx-16.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-16.0.0.9999.ebuild
@@ -94,15 +94,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -130,7 +124,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then
diff --git a/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
b/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
index c28920c09043..6bcf1a20c831 100644
--- a/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
+++ b/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
@@ -94,15 +94,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -130,7 +124,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then
diff --git a/sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild
b/sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild
index c28920c09043..6bcf1a20c831 100644
--- a/sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild
+++ b/sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild
@@ -94,15 +94,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -130,7 +124,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then