commit:     93a7dfc1e15d39ae382e56d6da1e775e08efbdd3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  1 18:58:18 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Oct  1 19:05:59 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93a7dfc1

sys-libs/compiler-rt: Support bootstrapping with runtime-less clang

 sys-libs/compiler-rt/compiler-rt-9999.ebuild | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/sys-libs/compiler-rt/compiler-rt-9999.ebuild 
b/sys-libs/compiler-rt/compiler-rt-9999.ebuild
index 751fac9..1f8d174 100644
--- a/sys-libs/compiler-rt/compiler-rt-9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-9999.ebuild
@@ -9,7 +9,7 @@ CMAKE_MIN_VERSION=3.4.3
 PYTHON_COMPAT=( python2_7 )
 
 # TODO: fix unnecessary dep on Python upstream
-inherit cmake-utils flag-o-matic git-r3 python-any-r1
+inherit cmake-utils flag-o-matic git-r3 python-any-r1 toolchain-funcs
 
 DESCRIPTION="Compiler runtime library for clang (built-in part)"
 HOMEPAGE="http://llvm.org/";
@@ -28,10 +28,23 @@ DEPEND="${RDEPEND}
        ~sys-devel/llvm-${PV}
        ${PYTHON_DEPS}"
 
+test_compiler() {
+       $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
+               <<<'int main() { return 0; }' &>/dev/null
+}
+
 src_configure() {
        # pre-set since we need to pass it to cmake
        BUILD_DIR=${WORKDIR}/${P}_build
 
+       if ! test_compiler; then
+               local extra_flags=( -nodefaultlibs -lc )
+               if test_compiler "${extra_flags[@]}"; then
+                       local -x LDFLAGS="${LDFLAGS} ${extra_flags[*]}"
+                       ewarn "${CC} seems to lack runtime, trying with 
${extra_flags[*]}"
+               fi
+       fi
+
        local clang_version=4.0.0
        local libdir=$(get_libdir)
        local mycmakeargs=(

Reply via email to