summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/compiler-rt/compiler-rt-9999.ebuild15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys-libs/compiler-rt/compiler-rt-9999.ebuild b/sys-libs/compiler-rt/compiler-rt-9999.ebuild
index 751fac90d8b0..1f8d17441573 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=(