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}" )
