mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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>
This commit is contained in:
@@ -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}"
|
||||
)
|
||||
|
||||
|
||||
@@ -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}"
|
||||
)
|
||||
|
||||
|
||||
@@ -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}"
|
||||
)
|
||||
|
||||
|
||||
@@ -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}"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user