[gcc r17-2985] libga68: honour a preset A68FLAGS

"Jose E. Marchesi via Gcc-cvs" <[email protected]> Wed, 5 Aug 2026 15:19:12 +0000 (GMT)
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:52ec17656da6db86d52d6912ea17d8781cbac93a

commit r17-2985-g52ec17656da6db86d52d6912ea17d8781cbac93a
Author: Trevor Woerner <[email protected]>
Date:   Wed Aug 5 02:37:27 2026 -0400

    libga68: honour a preset A68FLAGS
    
    AC_PROG_A68 declares A68FLAGS as a user variable with AC_ARG_VAR, which
    promises that a value from the environment or the configure command line
    is used, and then assigns it unconditionally nine lines later. Any value
    the user supplied is discarded, so there is no way to control the flags
    the Algol 68 compiles in libga68 are built with.
    
    This matters when libga68 is built for a target whose objects have to be
    reproducible: the sources compiled by ga68 receive A68FLAGS rather than
    CFLAGS, so options such as -ffile-prefix-map never reach them and the
    build directory is recorded in the debug information.
    
    Default the variable only when it is unset, which is what libphobos
    already does for GDCFLAGS in its own configure.ac:
    
        if test -z "$GDCFLAGS"; then
            GDCFLAGS="-g -O2"
        fi
    
    Assisted by: Codex (Claude Opus 5)
    
    libga68/ChangeLog:
    
            * m4/autoconf.m4 (AC_PROG_A68): Only default A68FLAGS when it
            is unset.
            * configure: Regenerate.
    
    Signed-off-by: Trevor Woerner <[email protected]>

Diff:
---
 libga68/configure      | 4 +++-
 libga68/m4/autoconf.m4 | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/libga68/configure b/libga68/configure
index 731476fc9095..1208c3fa616d 100755
--- a/libga68/configure
+++ b/libga68/configure
@@ -5906,7 +5906,9 @@ $as_echo "$ac_try_echo"; } >&5
   rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
-A68FLAGS="-g -O2"
+if test -z "$A68FLAGS"; then
+  A68FLAGS="-g -O2"
+fi
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
diff --git a/libga68/m4/autoconf.m4 b/libga68/m4/autoconf.m4
index 7b85996265c0..daf67322f35e 100644
--- a/libga68/m4/autoconf.m4
+++ b/libga68/m4/autoconf.m4
@@ -126,6 +126,8 @@ ac_compiler=$[2]
 _AC_DO_LIMIT([$ac_compiler --version >&AS_MESSAGE_LOG_FD])
 m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
 m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
-A68FLAGS="-g -O2"
+if test -z "$A68FLAGS"; then
+  A68FLAGS="-g -O2"
+fi
 AC_LANG_POP(Algol 68)dnl
 ])# AC_PROG_A68