summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Yang <geraint0923@gmail.com>2019-11-23 21:07:44 -0800
committerMichał Górny <mgorny@gentoo.org>2019-11-27 09:58:41 +0100
commit708fe7d2e647a6cf6257e04ed6c99639a1444e18 (patch)
tree3c0ba91940cf9a55038f1b3e626ff0100c29a622 /sys-libs/libcxx
parentsys-libs/libcxxabi-9.0.0: add USE to explicitly link compiler-rt (diff)
downloadgentoo-708fe7d2e647a6cf6257e04ed6c99639a1444e18.tar.gz
gentoo-708fe7d2e647a6cf6257e04ed6c99639a1444e18.tar.bz2
gentoo-708fe7d2e647a6cf6257e04ed6c99639a1444e18.zip
sys-libs/libcxx-9.0.0: add USE to explicitly link compiler-rt
According to https://clang.llvm.org/docs/Toolchain.html#compiler-rt-llvm, `-DLIBCXX_USE_COMPILER_RT=YES` is needed to linked to compiler-rt. Otherwise building libcxx using clang+compiler-rt will fail. Signed-off-by: Yang Yang <geraint0923@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/13748 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'sys-libs/libcxx')
-rw-r--r--sys-libs/libcxx/libcxx-10.0.0.9999.ebuild4
-rw-r--r--sys-libs/libcxx/libcxx-9.0.0.ebuild4
-rw-r--r--sys-libs/libcxx/libcxx-9.0.1.9999.ebuild4
-rw-r--r--sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild4
4 files changed, 12 insertions, 4 deletions
diff --git a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index f5f67053d776..db9250d5440b 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -93,7 +93,7 @@ src_configure() {
multilib_src_configure() {
# 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
+ local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
if use libunwind; then
# work-around missing -lunwind upstream
extra_libs+=( -lunwind )
@@ -104,6 +104,7 @@ multilib_src_configure() {
${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
@@ -130,6 +131,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
)
diff --git a/sys-libs/libcxx/libcxx-9.0.0.ebuild b/sys-libs/libcxx/libcxx-9.0.0.ebuild
index 76ae63ba35ad..41c96a83d618 100644
--- a/sys-libs/libcxx/libcxx-9.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.ebuild
@@ -93,7 +93,7 @@ src_configure() {
multilib_src_configure() {
# 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
+ local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
if use libunwind; then
# work-around missing -lunwind upstream
extra_libs+=( -lunwind )
@@ -104,6 +104,7 @@ multilib_src_configure() {
${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
@@ -130,6 +131,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
)
diff --git a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
index f5f67053d776..db9250d5440b 100644
--- a/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1.9999.ebuild
@@ -93,7 +93,7 @@ src_configure() {
multilib_src_configure() {
# 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
+ local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
if use libunwind; then
# work-around missing -lunwind upstream
extra_libs+=( -lunwind )
@@ -104,6 +104,7 @@ multilib_src_configure() {
${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
@@ -130,6 +131,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
)
diff --git a/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild b/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
index f5f67053d776..db9250d5440b 100644
--- a/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild
@@ -93,7 +93,7 @@ src_configure() {
multilib_src_configure() {
# 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
+ local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
if use libunwind; then
# work-around missing -lunwind upstream
extra_libs+=( -lunwind )
@@ -104,6 +104,7 @@ multilib_src_configure() {
${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
@@ -130,6 +131,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
-DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
)