sys-libs/compiler-rt-sanitizers: Add explicit flags for components
authorMichał Górny <mgorny@gentoo.org>
Thu, 6 Dec 2018 18:59:33 +0000 (19:59 +0100)
committerMichał Górny <mgorny@gentoo.org>
Thu, 6 Dec 2018 19:08:59 +0000 (20:08 +0100)
Bug: https://bugs.gentoo.org/672294
Signed-off-by: Michał Górny <mgorny@gentoo.org>
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.1.ebuild
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.0.ebuild
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.1_rc2.ebuild
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.9999.ebuild
sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
sys-libs/compiler-rt-sanitizers/metadata.xml

index ad5d4e7849727d65055bee120d832e20ef9080f7..6fc9d6443c531fc2e80106c6db0870d77079a7d7 100644 (file)
@@ -23,7 +23,9 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="${PV%_*}"
 KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang test elibc_glibc"
+IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
+# FIXME: libfuzzer does not enable all its necessary dependencies
+REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )"
 RESTRICT="!test? ( test ) !clang? ( test )"
 
 CLANG_SLOT=${SLOT%%.*}
@@ -110,10 +112,10 @@ src_configure() {
                -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
                # built-ins installed by sys-libs/compiler-rt
                -DCOMPILER_RT_BUILD_BUILTINS=OFF
-               -DCOMPILER_RT_BUILD_LIBFUZZER=ON
-               -DCOMPILER_RT_BUILD_PROFILE=ON
-               -DCOMPILER_RT_BUILD_SANITIZERS=ON
-               -DCOMPILER_RT_BUILD_XRAY=ON
+               -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+               -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+               -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
+               -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
        )
        if use test; then
                mycmakeargs+=(
index 305137d66d4b4811b58605628df0ee6ee59630e0..8d0f0255d2f2f9fced6c2b76702611cc8a3e7faf 100644 (file)
@@ -22,7 +22,9 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="${PV%_*}"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang test elibc_glibc"
+IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
+# FIXME: libfuzzer does not enable all its necessary dependencies
+REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )"
 RESTRICT="!test? ( test ) !clang? ( test )"
 
 CLANG_SLOT=${SLOT%%.*}
@@ -108,10 +110,10 @@ src_configure() {
                -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
                # built-ins installed by sys-libs/compiler-rt
                -DCOMPILER_RT_BUILD_BUILTINS=OFF
-               -DCOMPILER_RT_BUILD_LIBFUZZER=ON
-               -DCOMPILER_RT_BUILD_PROFILE=ON
-               -DCOMPILER_RT_BUILD_SANITIZERS=ON
-               -DCOMPILER_RT_BUILD_XRAY=ON
+               -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+               -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+               -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
+               -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
        )
        if use test; then
                mycmakeargs+=(
index 9d4ca8434d1f46b08004f80fd0827958ca5bd2ba..c5798146762839a2d1139d9358cb2df6d9d9c7bd 100644 (file)
@@ -22,7 +22,9 @@ SRC_URI="https://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz
 LICENSE="|| ( UoI-NCSA MIT )"
 SLOT="${PV%_*}"
 KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang test elibc_glibc"
+IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
+# FIXME: libfuzzer does not enable all its necessary dependencies
+REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )"
 RESTRICT="!test? ( test ) !clang? ( test )"
 
 CLANG_SLOT=${SLOT%%.*}
@@ -108,10 +110,10 @@ src_configure() {
                -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
                # built-ins installed by sys-libs/compiler-rt
                -DCOMPILER_RT_BUILD_BUILTINS=OFF
-               -DCOMPILER_RT_BUILD_LIBFUZZER=ON
-               -DCOMPILER_RT_BUILD_PROFILE=ON
-               -DCOMPILER_RT_BUILD_SANITIZERS=ON
-               -DCOMPILER_RT_BUILD_XRAY=ON
+               -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+               -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+               -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
+               -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
        )
        if use test; then
                mycmakeargs+=(
index 051afd44649f08a146f48e69b29821cddfa30ab4..b15b2a7a43a22e616a7837274cbf76080ac8f802 100644 (file)
@@ -22,7 +22,9 @@ LICENSE="|| ( UoI-NCSA MIT )"
 # Note: this needs to be updated to match version of clang-9999
 SLOT="7.0.1"
 KEYWORDS=""
-IUSE="+clang test elibc_glibc"
+IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
+# FIXME: libfuzzer does not enable all its necessary dependencies
+REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )"
 RESTRICT="!test? ( test ) !clang? ( test )"
 
 CLANG_SLOT=${SLOT%%.*}
@@ -109,10 +111,10 @@ src_configure() {
                -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
                # built-ins installed by sys-libs/compiler-rt
                -DCOMPILER_RT_BUILD_BUILTINS=OFF
-               -DCOMPILER_RT_BUILD_LIBFUZZER=ON
-               -DCOMPILER_RT_BUILD_PROFILE=ON
-               -DCOMPILER_RT_BUILD_SANITIZERS=ON
-               -DCOMPILER_RT_BUILD_XRAY=ON
+               -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+               -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+               -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
+               -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
        )
        if use test; then
                mycmakeargs+=(
index e39d274e7f1579f6a33a955cdb580d5312312a7a..78884e8f13dc243f79107da50931b3c81db7ffb9 100644 (file)
@@ -21,7 +21,9 @@ LICENSE="|| ( UoI-NCSA MIT )"
 # Note: this needs to be updated to match version of clang-9999
 SLOT="8.0.0"
 KEYWORDS=""
-IUSE="+clang test elibc_glibc"
+IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
+# FIXME: libfuzzer does not enable all its necessary dependencies
+REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )"
 RESTRICT="!test? ( test ) !clang? ( test )"
 
 CLANG_SLOT=${SLOT%%.*}
@@ -108,10 +110,10 @@ src_configure() {
                -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
                # built-ins installed by sys-libs/compiler-rt
                -DCOMPILER_RT_BUILD_BUILTINS=OFF
-               -DCOMPILER_RT_BUILD_LIBFUZZER=ON
-               -DCOMPILER_RT_BUILD_PROFILE=ON
-               -DCOMPILER_RT_BUILD_SANITIZERS=ON
-               -DCOMPILER_RT_BUILD_XRAY=ON
+               -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+               -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+               -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
+               -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
        )
        if use test; then
                mycmakeargs+=(
index 3b996021381aeba90da560b0db5e8c8f50fa0da4..8f5cbb8b29adbadf8bafab3666d3acd977fd728d 100644 (file)
@@ -7,5 +7,9 @@
        <use>
                <flag name='clang'>Force building using installed clang (rather
                        than the default CC/CXX).</flag>
+               <flag name='libfuzzer'>Build fuzzing runtime.</flag>
+               <flag name='profile'>Build profiling runtime.</flag>
+               <flag name='sanitize'>Build sanitizer runtimes.</flag>
+               <flag name='xray'>Build XRay runtime.</flag>
        </use>
 </pkgmetadata>