commit: 69f0549cf61cd3a3f1293565ad46698c81cd8802 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Tue Jan 9 20:38:34 2018 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Tue Jan 9 20:45:21 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69f0549c
sys-libs/compiler-rt-sanitizers: Default to building using clang Default to building using clang rather than gcc since the latter is starting to cause more issues, most notably GotsanRuntimeCheck segfaulting more commonly than it used to. Closes: https://bugs.gentoo.org/630958 .../compiler-rt-sanitizers-6.0.9999.ebuild | 11 +++++++++-- .../compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild | 11 +++++++++-- sys-libs/compiler-rt-sanitizers/metadata.xml | 4 ++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild index 879e08005bb..5e10ee47eeb 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.9999.ebuild @@ -21,13 +21,14 @@ LICENSE="|| ( UoI-NCSA MIT )" # Note: this needs to be updated to match version of clang-9999 SLOT="6.0.0" KEYWORDS="" -IUSE="test" -RESTRICT="!test? ( test )" +IUSE="+clang test" +RESTRICT="!test? ( test ) !clang? ( test )" LLVM_SLOT=${SLOT%%.*} # llvm-4 needed for --cmakedir DEPEND=" >=sys-devel/llvm-4 + clang? ( sys-devel/clang ) test? ( app-portage/unsandbox $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") @@ -74,6 +75,12 @@ src_configure() { # pre-set since we need to pass it to cmake BUILD_DIR=${WORKDIR}/${P}_build + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + local mycmakeargs=( -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" # use a build dir structure consistent with install diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild index 97b8b578d56..5821a6f3c0e 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild @@ -20,13 +20,14 @@ LICENSE="|| ( UoI-NCSA MIT )" # Note: this needs to be updated to match version of clang-9999 SLOT="7.0.0" KEYWORDS="" -IUSE="test" -RESTRICT="!test? ( test )" +IUSE="+clang test" +RESTRICT="!test? ( test ) !clang? ( test )" LLVM_SLOT=${SLOT%%.*} # llvm-4 needed for --cmakedir DEPEND=" >=sys-devel/llvm-4 + clang? ( sys-devel/clang ) test? ( app-portage/unsandbox $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") @@ -73,6 +74,12 @@ src_configure() { # pre-set since we need to pass it to cmake BUILD_DIR=${WORKDIR}/${P}_build + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + local mycmakeargs=( -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" # use a build dir structure consistent with install diff --git a/sys-libs/compiler-rt-sanitizers/metadata.xml b/sys-libs/compiler-rt-sanitizers/metadata.xml index 89c4bdb9604..3b996021381 100644 --- a/sys-libs/compiler-rt-sanitizers/metadata.xml +++ b/sys-libs/compiler-rt-sanitizers/metadata.xml @@ -4,4 +4,8 @@ <maintainer type="project"> <email>[email protected]</email> </maintainer> + <use> + <flag name='clang'>Force building using installed clang (rather + than the default CC/CXX).</flag> + </use> </pkgmetadata>
