sys-devel/clang-runtime: Add USE=crt for (non-GCC) crt*.o files
authorMichał Górny <mgorny@gentoo.org>
Tue, 3 Apr 2018 19:00:51 +0000 (21:00 +0200)
committerMichał Górny <mgorny@gentoo.org>
Tue, 3 Apr 2018 19:39:17 +0000 (21:39 +0200)
sys-devel/clang-runtime/clang-runtime-4.0.1-r1.ebuild [new file with mode: 0644]
sys-devel/clang-runtime/clang-runtime-5.0.1-r1.ebuild [new file with mode: 0644]
sys-devel/clang-runtime/clang-runtime-6.0.0-r1.ebuild [moved from sys-devel/clang-runtime/clang-runtime-6.0.0.ebuild with 80% similarity]
sys-devel/clang-runtime/clang-runtime-6.0.9999.ebuild
sys-devel/clang-runtime/clang-runtime-9999.ebuild
sys-devel/clang-runtime/metadata.xml

diff --git a/sys-devel/clang-runtime/clang-runtime-4.0.1-r1.ebuild b/sys-devel/clang-runtime/clang-runtime-4.0.1-r1.ebuild
new file mode 100644 (file)
index 0000000..34393f3
--- /dev/null
@@ -0,0 +1,31 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib-build
+
+DESCRIPTION="Meta-ebuild for clang runtime libraries"
+HOMEPAGE="https://clang.llvm.org/"
+SRC_URI=""
+
+LICENSE="metapackage"
+SLOT="${PV%_*}"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+compiler-rt crt libcxx openmp +sanitize"
+
+RDEPEND="
+       compiler-rt? (
+               ~sys-libs/compiler-rt-${PV}:${SLOT}
+               sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
+       )
+       crt? (
+               || (
+                       sys-libs/netbsd-csu[${MULTILIB_USEDEP}]
+                       sys-freebsd/freebsd-lib[${MULTILIB_USEDEP}]
+               )
+       )
+       libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
+       openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
+
+REQUIRED_USE="sanitize? ( compiler-rt )"
diff --git a/sys-devel/clang-runtime/clang-runtime-5.0.1-r1.ebuild b/sys-devel/clang-runtime/clang-runtime-5.0.1-r1.ebuild
new file mode 100644 (file)
index 0000000..38aa2c0
--- /dev/null
@@ -0,0 +1,31 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib-build
+
+DESCRIPTION="Meta-ebuild for clang runtime libraries"
+HOMEPAGE="https://clang.llvm.org/"
+SRC_URI=""
+
+LICENSE="metapackage"
+SLOT="${PV%_*}"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="+compiler-rt crt libcxx openmp +sanitize"
+
+RDEPEND="
+       compiler-rt? (
+               ~sys-libs/compiler-rt-${PV}:${SLOT}
+               sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
+       )
+       crt? (
+               || (
+                       sys-libs/netbsd-csu[${MULTILIB_USEDEP}]
+                       sys-freebsd/freebsd-lib[${MULTILIB_USEDEP}]
+               )
+       )
+       libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
+       openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
+
+REQUIRED_USE="sanitize? ( compiler-rt )"
similarity index 80%
rename from sys-devel/clang-runtime/clang-runtime-6.0.0.ebuild
rename to sys-devel/clang-runtime/clang-runtime-6.0.0-r1.ebuild
index da0933c9b990b4c54792c8451eed96431ce25164..5fdd2d6b0a90880dd1e27483657acc95ddde8526 100644 (file)
@@ -12,13 +12,19 @@ SRC_URI=""
 LICENSE="metapackage"
 SLOT="${PV%_*}"
 KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+compiler-rt libcxx openmp +sanitize"
+IUSE="+compiler-rt crt libcxx openmp +sanitize"
 
 RDEPEND="
        compiler-rt? (
                ~sys-libs/compiler-rt-${PV}:${SLOT}
                sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
        )
+       crt? (
+               || (
+                       sys-libs/netbsd-csu[${MULTILIB_USEDEP}]
+                       sys-freebsd/freebsd-lib[${MULTILIB_USEDEP}]
+               )
+       )
        libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
        openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
 
index 333b352d98bd61cbc53bbac91227bc4deb068bb0..65baa4349d60f6fe7e76d88c1a84a436c78a9c5e 100644 (file)
@@ -13,13 +13,19 @@ LICENSE="metapackage"
 # Note: keep it matching clang-9999 version
 SLOT="6.0.0"
 KEYWORDS=""
-IUSE="+compiler-rt libcxx openmp +sanitize"
+IUSE="+compiler-rt crt libcxx openmp +sanitize"
 
 RDEPEND="
        compiler-rt? (
                ~sys-libs/compiler-rt-${PV}:${SLOT}
                sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
        )
+       crt? (
+               || (
+                       sys-libs/netbsd-csu[${MULTILIB_USEDEP}]
+                       sys-freebsd/freebsd-lib[${MULTILIB_USEDEP}]
+               )
+       )
        libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
        openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
 
index 5586ba0ef77f2196239031cd20a38be76e7ba080..dcd22734f007c90366d0db900d7748cde3e43ecb 100644 (file)
@@ -13,13 +13,19 @@ LICENSE="metapackage"
 # Note: keep it matching clang-9999 version
 SLOT="7.0.0"
 KEYWORDS=""
-IUSE="+compiler-rt libcxx openmp +sanitize"
+IUSE="+compiler-rt crt libcxx openmp +sanitize"
 
 RDEPEND="
        compiler-rt? (
                ~sys-libs/compiler-rt-${PV}:${SLOT}
                sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
        )
+       crt? (
+               || (
+                       sys-libs/netbsd-csu[${MULTILIB_USEDEP}]
+                       sys-freebsd/freebsd-lib[${MULTILIB_USEDEP}]
+               )
+       )
        libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
        openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
 
index f761b620168e8d024ded566245bf3feb0ebb81b6..bf616d36427c1d6447cac1688229d709cca35a74 100644 (file)
@@ -6,6 +6,8 @@
        </maintainer>
        <use>
                <flag name="compiler-rt">Install <pkg>sys-libs/compiler-rt</pkg> for -rtlib=compiler-rt</flag>
+               <flag name="crt">Require a package providing crt*.o files to make it possible to build
+                       software without GCC installed</flag>
                <flag name="libcxx">Install <pkg>sys-libs/libcxx</pkg> for -stdlib=libc++</flag>
                <flag name="openmp">Install <pkg>sys-libs/libomp</pkg> for -fopenmp support</flag>
                <flag name="sanitize">Enable compiler-rt sanitizer (-fsanitize*) support</flag>