commit:     708fe7d2e647a6cf6257e04ed6c99639a1444e18
Author:     Yang Yang <geraint0923 <AT> gmail <DOT> com>
AuthorDate: Sun Nov 24 05:07:44 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Nov 27 08:58:41 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=708fe7d2

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 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/13748
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/libcxx/libcxx-10.0.0.9999.ebuild | 4 +++-
 sys-libs/libcxx/libcxx-9.0.0.ebuild       | 4 +++-
 sys-libs/libcxx/libcxx-9.0.1.9999.ebuild  | 4 +++-
 sys-libs/libcxx/libcxx-9.0.1_rc1.ebuild   | 4 +++-
 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 f5f67053d77..db9250d5440 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 76ae63ba35a..41c96a83d61 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 f5f67053d77..db9250d5440 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 f5f67053d77..db9250d5440 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}"
        )
 

Reply via email to