summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/toolchain.eclass9
-rw-r--r--sys-devel/gcc/metadata.xml1
2 files changed, 9 insertions, 1 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 66cf8e88f9b2..ba83cad72cb2 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -280,7 +280,8 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
tc_version_is_at_least 12 && IUSE+=" ieee-long-double"
tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-znow"
tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-stack-clash-protection"
- tc_version_is_at_least 13.0.0_pre20221211 ${PV} && IUSE+=" rust"
+ tc_version_is_at_least 13.0.0_pre20221218 ${PV} && IUSE+=" modula2"
+ tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust"
fi
if tc_version_is_at_least 10; then
@@ -1045,6 +1046,7 @@ toolchain_src_configure() {
is_f77 && GCC_LANG+=",f77"
is_f95 && GCC_LANG+=",f95"
is_ada && GCC_LANG+=",ada"
+ is_modula2 && GCC_LANG+=",m2"
is_rust && GCC_LANG+=",rust"
confgcc+=( --enable-languages=${GCC_LANG} )
@@ -2744,6 +2746,11 @@ is_objcxx() {
_tc_use_if_iuse cxx && _tc_use_if_iuse objc++
}
+is_modula2() {
+ gcc-lang-supported m2 || return 1
+ _tc_use_if_iuse cxx && _tc_use_if_iuse modula2
+}
+
is_rust() {
gcc-lang-supported rust || return 1
_tc_use_if_iuse rust
diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index da28d6809a07..a0aff53697da 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -74,6 +74,7 @@
other programs with LTO. This USE flag is for whether
GCC itself is built and optimized with LTO.
</flag>
+ <flag name="modula2">Build the GCC Modula-2 language frontend.</flag>
<flag name="mpx">Enable support for Intel Memory Protection Extensions (MPX)</flag>
<flag name="nptl">Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)</flag>
<flag name="objc">Build support for the Objective C code language</flag>