ports@,

here the next diff which enables algol68 in gcc-16 which I plan go in in a
few days. It doesn't requries any bootstrap, so can be enabled globally.

Index: DESCR-algol
===================================================================
RCS file: DESCR-algol
diff -N DESCR-algol
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ DESCR-algol 19 Oct 2026 17:03:30 -0000
@@ -0,0 +1,12 @@
+The GNU Compiler Collection (GCC) includes front ends for C, C++,
+Objective-C, Fortran, Java, and Ada, as well as libraries for these
+languages (libstdc++, libgcj,...).
+
+GCC development is a part of the GNU Project and uses an open
+development environment. Its supports many other platforms in order to
+foster a world-class optimizing compiler, to attract a larger team of
+developers, to ensure that GCC and the GNU system work on multiple
+architectures and diverse environments, and to more thoroughly test and
+extend the features of GCC.
+
+This package contains the Algol68 compiler.
Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/lang/gcc/Makefile.inc,v
diff -u -p -r1.26 Makefile.inc
--- Makefile.inc        19 Oct 2026 16:48:06 -0000      1.26
+++ Makefile.inc        19 Oct 2026 17:03:30 -0000
@@ -18,6 +18,7 @@ COMMENT-f95 =         ${COM}: Fortran compiler
 COMMENT-modula2 =      ${COM}: Modula2 compiler
 COMMENT-objc =         ${COM}: obj C compiler
 COMMENT-ada =          ${COM}: Ada compiler
+COMMENT-algol =                ${COM}: Algol68 compiler
 COMMENT-go =           ${COM}: Go compiler
 COMMENT-dlang =                ${COM}: D compiler
 COMMENT-bootstrap =    ${COM}: binary bootstrap
@@ -30,6 +31,7 @@ PKGNAME-f95 =         gfortran-${FULL_PKGVERSIO
 PKGNAME-modula2 =      gmodula2-${FULL_PKGVERSION}
 PKGNAME-objc =         gobjc-${FULL_PKGVERSION}
 PKGNAME-ada =          gnat-${FULL_PKGVERSION}
+PKGNAME-algol =                galgol-${FULL_PKGVERSION}
 PKGNAME-go =           gccgo-${FULL_PKGVERSION}
 PKGNAME-dlang =                gdc-${FULL_PKGVERSION}
 PKGNAME-bootstrap =    gcc-bootstrap-${FULL_PKGVERSION}
@@ -43,6 +45,7 @@ PKGSPEC-f95 =         gfortran-${GCC_PKGSPEC}
 PKGSPEC-modula2 =      gmodula2-${GCC_PKGSPEC}
 PKGSPEC-objc =         gobjc-${GCC_PKGSPEC}
 PKGSPEC-ada =          gnat-${GCC_PKGSPEC}
+PKGSPEC-algol =                galgol-${GCC_PKGSPEC}
 PKGSPEC-dlang =                gdc-${GCC_PKGSPEC}
 PKGSPEC-bootstrap =    gcc-bootstrap-${GCC_PKGSPEC}
 
@@ -54,6 +57,7 @@ DESCR-f95 =           ${PORTSDIR}/lang/gcc/DESCR-
 DESCR-modula2 =                ${PORTSDIR}/lang/gcc/DESCR-modula2
 DESCR-objc =           ${PORTSDIR}/lang/gcc/DESCR-objc
 DESCR-ada =            ${PORTSDIR}/lang/gcc/DESCR-ada
+DESCR-algol =          ${PORTSDIR}/lang/gcc/DESCR-algol
 DESCR-go =             ${PORTSDIR}/lang/gcc/DESCR-go
 DESCR-dlang =          ${PORTSDIR}/lang/gcc/DESCR-dlang
 DESCR-bootstrap =      ${PORTSDIR}/lang/gcc/DESCR-bootstrap
Index: 16/Makefile
===================================================================
RCS file: /cvs/ports/lang/gcc/16/Makefile,v
diff -u -p -r1.30 Makefile
--- 16/Makefile 19 Oct 2026 16:48:06 -0000      1.30
+++ 16/Makefile 19 Oct 2026 17:03:30 -0000
@@ -15,7 +15,7 @@ USE_NOEXECONLY = Yes
 # - turn -Wimplicit-function-declaration and -Wincompatible-pointer-types
 #   into simple warnings.
 V = 16.2.0
-REVISION = 1
+REVISION = 2
 GCC_PKGSPEC = >=16,<17
 
 # aarch64, powerpc64 and sparc64 bootstrap contain only gdc
@@ -46,13 +46,14 @@ SHARED_LIBS =       estdc++         22.1 \
                m2iso           0.0 \
                m2log           0.0 \
                m2min           0.0 \
-               m2pim           0.0
+               m2pim           0.0 \
+               ga68            0.0
 
 PSEUDO_FLAVORS = full
 FLAVOR ?=
 
 MULTI_PACKAGES = -main -libs -f95 -objc -c++ -ada -dlang -bootstrap \
-       -modula2
+       -modula2 -algol
 
 .include <bsd.port.arch.mk>
 
@@ -84,7 +85,7 @@ TEST_DEPENDS += devel/dejagnu \
                devel/autogen \
                ${BUILD_PKGPATH},-libs>=16,<17
 
-LANGS = c,c++,fortran,m2,objc,obj-c++
+LANGS = algol68,c,c++,fortran,m2,objc,obj-c++
 .if ${BUILD_PACKAGES:M-ada} || ${BUILD_PACKAGES:M-dlang}
 DISTFILES.strap += ${BOOTSTRAP-${MACHINE_ARCH}}
 EXTRACT_ONLY += ${BOOTSTRAP-${MACHINE_ARCH}}
Index: 16/patches/patch-gcc_algol68_a68-lang_cc
===================================================================
RCS file: 16/patches/patch-gcc_algol68_a68-lang_cc
diff -N 16/patches/patch-gcc_algol68_a68-lang_cc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 16/patches/patch-gcc_algol68_a68-lang_cc    19 Oct 2026 17:03:30 -0000
@@ -0,0 +1,16 @@
+Index: gcc/algol68/a68-lang.cc
+--- gcc/algol68/a68-lang.cc.orig
++++ gcc/algol68/a68-lang.cc
+@@ -209,6 +209,12 @@ a68_build_a68_type_nodes (void)
+   a68_long_long_real_type = long_double_type_node;
+ }
+ 
++extern "C" const char *
++fname_as_string(int pretty_p __attribute__((__unused__)))
++{
++      return NULL;
++}
++
+ /* Language hooks data structures.  This is the main interface between
+    the GCC front-end and the GCC middle-end/back-end.  A list of
+    language hooks can be found in langhooks.h.  */
Index: 16/patches/patch-libga68_Makefile_in
===================================================================
RCS file: 16/patches/patch-libga68_Makefile_in
diff -N 16/patches/patch-libga68_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 16/patches/patch-libga68_Makefile_in        19 Oct 2026 17:03:30 -0000
@@ -0,0 +1,13 @@
+Index: libga68/Makefile.in
+--- libga68/Makefile.in.orig
++++ libga68/Makefile.in
+@@ -473,7 +473,8 @@ libga68_la_SOURCES = libga68.c \
+ 
+ libga68_la_LIBTOOLFLAGS = 
+ libga68_la_CFLAGS = $(LIBGA68_GCFLAGS) $(LIBGA68_BOEHM_GC_INCLUDES)
+-libga68_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
++include $(top_srcdir)/../libversions
++libga68_la_LDFLAGS = $(LIBga68_VERSION) \
+                    $(version_arg) $(lt_host_flags) 
$(extra_darwin_ldflags_libga68)
+ 
+ libga68_la_DEPENDENCIES = libga68.spec $(version_dep) standard.lo posix.lo
Index: 16/pkg/PLIST-algol
===================================================================
RCS file: 16/pkg/PLIST-algol
diff -N 16/pkg/PLIST-algol
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 16/pkg/PLIST-algol  19 Oct 2026 17:03:30 -0000
@@ -0,0 +1,12 @@
+@option is-branch
+@bin bin/ega68
+@bin bin/${CONFIG}-ega68
+@info info/ga68-coding-guidelines.info
+@info info/ga68-internals.info
+@info info/ga68.info
+@static-lib lib/libga68.a
+lib/libga68.la
+@lib lib/libga68.so.${LIBga68_VERSION}
+lib/libga68.spec
+@bin libexec/gcc/${CONFIG}/${V}/a681
+@man man/man1/ega68.1


-- 
wbr, Kirill

Reply via email to