summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-06-12 13:06:15 +0100
committerSam James <sam@gentoo.org>2022-06-12 13:06:46 +0100
commita54d0b321b0b54288999261be06fe8edbcb87d0a (patch)
tree6ce68b4f28c293eca1c98b5741b707a66a020e4c
parentdev-lang/ispc: add 1.18.0 (diff)
downloadgentoo-a54d0b321b0b54288999261be06fe8edbcb87d0a.tar.gz
gentoo-a54d0b321b0b54288999261be06fe8edbcb87d0a.tar.bz2
gentoo-a54d0b321b0b54288999261be06fe8edbcb87d0a.zip
toolchain.eclass: BDEPEND on D for bootstrapping D
To build GCC 12+ w/ D, we need a D compiler. For now, depend on GCC with D enabled. And give a hint to the PM that an older GCC is likely to do the job to break the cycle, as those don't need D to build their D support. Just in newer versions. Closes: https://bugs.gentoo.org/840182 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--eclass/toolchain.eclass7
1 files changed, 7 insertions, 0 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9ae9e6e58a14..15487fc6e65d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -328,6 +328,13 @@ if tc_has_feature valgrind; then
BDEPEND+=" valgrind? ( dev-util/valgrind )"
fi
+if tc_version_is_at_least 12.0 ; then
+ # D in 12+ is self-hosting and needs D to bootstrap.
+ # TODO: package some binary we can use, like for Ada
+ # bug #840182
+ BDEPEND+=" d? ( || ( sys-devel/gcc[d] <sys-devel/gcc-12[d] ) )"
+fi
+
PDEPEND=">=sys-devel/gcc-config-2.3"
#---->> S + SRC_URI essentials <<----