diff options
author | Yang Yang <geraint0923@gmail.com> | 2019-11-23 21:07:44 -0800 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2019-11-27 09:58:41 +0100 |
commit | 708fe7d2e647a6cf6257e04ed6c99639a1444e18 (patch) | |
tree | 3c0ba91940cf9a55038f1b3e626ff0100c29a622 | |
parent | sys-libs/libcxxabi-9.0.0: add USE to explicitly link compiler-rt (diff) | |
download | gentoo-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>
-rw-r--r-- | sys-libs/libcxx/libcxx-10.0.0.9999.ebuild | 4 | ||||
-rw-r--r-- | sys-libs/libcxx/libcxx-9.0.0.ebuild | 4 | ||||
-rw-r--r-- | sys-libs/libcxx/libcxx-9.0.1.9999.ebuild | 4 | ||||
-rw-r--r-- | 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 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}" ) |