commit:     089297e7fc12562886e29253add293cd71df5bf7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  7 17:50:46 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug  7 17:53:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=089297e7

sys-libs/compiler-rt: Revert runtimes build for 15+

Revert to the regular compiler-rt build since the runtimes build
did not solve the bootstrap problems as I anticipated.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-libs/compiler-rt/compiler-rt-15.0.0.9999.ebuild | 15 ++++++++++-----
 sys-libs/compiler-rt/compiler-rt-16.0.0.9999.ebuild | 15 ++++++++++-----
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/sys-libs/compiler-rt/compiler-rt-15.0.0.9999.ebuild 
b/sys-libs/compiler-rt/compiler-rt-15.0.0.9999.ebuild
index 8ef4aebf481d..8af221eaa8ad 100644
--- a/sys-libs/compiler-rt/compiler-rt-15.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-15.0.0.9999.ebuild
@@ -32,7 +32,7 @@ BDEPEND="
        )
 "
 
-LLVM_COMPONENTS=( runtimes compiler-rt cmake llvm/cmake )
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
 LLVM_PATCHSET=9999-1
 llvm.org_set_globals
 
@@ -70,6 +70,7 @@ src_configure() {
        # pre-set since we need to pass it to cmake
        BUILD_DIR=${WORKDIR}/${P}_build
 
+       local nolib_flags=( -nodefaultlibs -nostartfiles -lc )
        if use clang; then
                # Only do this conditionally to allow overriding with
                # e.g. CC=clang-13 in case of breakage
@@ -78,14 +79,18 @@ src_configure() {
                        local -x CXX=${CHOST}-clang++
                fi
                strip-unsupported-flags
+               # ensure we can use clang before installing compiler-rt
+               local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+       elif ! test_compiler; then
+               if test_compiler "${nolib_flags[@]}"; then
+                       local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+                       ewarn "${CC} seems to lack runtime, trying with 
${nolib_flags[*]}"
+               fi
        fi
 
        local mycmakeargs=(
-               -DLLVM_ENABLE_RUNTIMES=compiler-rt
-               # this only adds unnecessary req on llvm-lit directory
-               -DLLVM_INCLUDE_TESTS=OFF
-
                -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
+
                -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
                -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
                -DCOMPILER_RT_BUILD_MEMPROF=OFF

diff --git a/sys-libs/compiler-rt/compiler-rt-16.0.0.9999.ebuild 
b/sys-libs/compiler-rt/compiler-rt-16.0.0.9999.ebuild
index 8ef4aebf481d..8af221eaa8ad 100644
--- a/sys-libs/compiler-rt/compiler-rt-16.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-16.0.0.9999.ebuild
@@ -32,7 +32,7 @@ BDEPEND="
        )
 "
 
-LLVM_COMPONENTS=( runtimes compiler-rt cmake llvm/cmake )
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
 LLVM_PATCHSET=9999-1
 llvm.org_set_globals
 
@@ -70,6 +70,7 @@ src_configure() {
        # pre-set since we need to pass it to cmake
        BUILD_DIR=${WORKDIR}/${P}_build
 
+       local nolib_flags=( -nodefaultlibs -nostartfiles -lc )
        if use clang; then
                # Only do this conditionally to allow overriding with
                # e.g. CC=clang-13 in case of breakage
@@ -78,14 +79,18 @@ src_configure() {
                        local -x CXX=${CHOST}-clang++
                fi
                strip-unsupported-flags
+               # ensure we can use clang before installing compiler-rt
+               local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+       elif ! test_compiler; then
+               if test_compiler "${nolib_flags[@]}"; then
+                       local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+                       ewarn "${CC} seems to lack runtime, trying with 
${nolib_flags[*]}"
+               fi
        fi
 
        local mycmakeargs=(
-               -DLLVM_ENABLE_RUNTIMES=compiler-rt
-               # this only adds unnecessary req on llvm-lit directory
-               -DLLVM_INCLUDE_TESTS=OFF
-
                -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
+
                -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
                -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
                -DCOMPILER_RT_BUILD_MEMPROF=OFF

Reply via email to