From e9b82080065b151d6e42cc8acf1e369eba42e9e2 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 30 Nov 2025 01:24:03 +0000 Subject: [PATCH] toolchain.eclass: wire up algol68 Now in-tree! Signed-off-by: Sam James --- eclass/toolchain.eclass | 9 ++++++++- sys-devel/gcc/metadata.xml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 2661b89f188a4..6c9baba8fd7e8 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -346,6 +346,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then tc_version_is_at_least 13.3.1_p20250522 ${PV} && IUSE+=" time64" tc_version_is_at_least 15.1 ${PV} && IUSE+=" libgdiagnostics" tc_version_is_at_least 15.1 ${PV} && IUSE+=" cobol" TC_FEATURES+=( cobol ) + tc_version_is_at_least 16.0.0_p20251130 ${PV} && IUSE+=" algol68" fi if tc_version_is_at_least 10; then @@ -1301,6 +1302,7 @@ toolchain_src_configure() { is_f95 && GCC_LANG+=",f95" is_ada && GCC_LANG+=",ada" is_cobol && GCC_LANG+=",cobol" + is_algol68 && GCC_LANG+=",algol68" is_modula2 && GCC_LANG+=",m2" is_rust && GCC_LANG+=",rust" is_jit && GCC_LANG+=",jit" @@ -2593,7 +2595,7 @@ toolchain_src_install() { cd "${D}"${BINPATH} || die # Ugh: we really need to auto-detect this list. # It's constantly out of date. - for x in cpp gcc gccrs g++ c++ gcobol gcov gdc g77 gfortran gccgo gnat* ; do + for x in cpp gcc gccrs g++ c++ ga68 gcobol gcov gdc g77 gfortran gccgo gnat* ; do # For some reason, g77 gets made instead of ${CTARGET}-g77... # this should take care of that if [[ -f ${x} ]] ; then @@ -3154,6 +3156,11 @@ is_cobol() { _tc_use_if_iuse cobol } +is_algol68() { + gcc-lang-supported algol68 || return 1 + _tc_use_if_iuse algol68 +} + is_modula2() { gcc-lang-supported m2 || return 1 _tc_use_if_iuse cxx && _tc_use_if_iuse modula2 diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml index 3cad6f3061556..5397dbb3355c4 100644 --- a/sys-devel/gcc/metadata.xml +++ b/sys-devel/gcc/metadata.xml @@ -7,6 +7,7 @@ Build the Ada language (GNAT) frontend + Build the Algol 68 frontend Enable support for control flow hijacking protection.