Upgrade autoconf to 1.73 amd automake to 1.19.

The last patch " Add fix for Autoconf 2.73 bug" can be folded into the upgrade 
one.

---
Changes since v1: Removed changes to generated files to make the diff small 
enough to successfully send to gcc-patches.
Changes since v2: Moved the fix for the autoconf 2.73 bug to config/override.m4 
from it's own file and fixed soe changelog entries.
Changes since v3: Included config/override.m4 on the configure.ac of 
directories that were not loading that file before. Updated the 
contrib/ci-containers/autoregen files to use the new versions. Updated the 
install doc to refer to the new versions.


---
This is a forge pull request published on the gcc-patches mailing list mailing 
list
as requested by pietro via Sourceware Forge 
<[email protected]>.
Forge discussion: https://forge.sourceware.org/gcc/gcc/pulls/272

Get it locally using:
```
git fetch forge-upstream "+refs/versioned_pull/272/*:refs/versioned_pull/272/*"
git switch -c "pr-272-v4" "refs/versioned_pull/272/4/head"
```
Or, download the patch at: https://forge.sourceware.org/gcc/gcc/pulls/272.diff
Created on: 2026-11-10 01:14:10+00:00
Latest update: 2026-11-11 23:11:13+00:00
Changes: 64 changed files, 89 additions, 300 deletions
Head revision: pietro/gcc ref upgrade-autotools commit 
52edb151188b7665da69e6582f7a6b7d77a37c19
Base revision: gcc/gcc ref trunk commit 
2104f1a937eb8c7a701fb7338bee9bfb5f72f902 r17-6145-g2104f1a937eb8c
Merge base: 2104f1a937eb8c7a701fb7338bee9bfb5f72f902
Requested Reviewers:

Changed files:
- D: libga68/acinclude.m4
- D: libga68/m4/autoconf.m4
- D: libgrust/acinclude.m4
- D: libssp/acinclude.m4
- M: c++tools/configure.ac
- M: config/mmap.m4
- M: config/no-executables.m4
- M: config/override.m4
- M: contrib/ci-containers/autoregen/Containerfile
- M: contrib/ci-containers/autoregen/autoregen.py
- M: gcc/doc/install.texi
- M: gcc/m2/configure.ac
- M: libcody/configure.ac
- M: libdecnumber/configure.ac
- M: libga68/Makefile.am
- M: libga68/Makefile.in
- M: libgcc/configure.ac
- M: libgcobol/Makefile.in
- M: libgcobol/acinclude.m4
- M: libgfortran/Makefile.in
- M: libgfortran/acinclude.m4
- M: libgm2/Makefile.in
- M: libgm2/acinclude.m4
- M: libgm2/libm2cor/Makefile.in
- M: libgm2/libm2iso/Makefile.in
- M: libgm2/libm2log/Makefile.in
- M: libgm2/libm2min/Makefile.in
- M: libgm2/libm2pim/Makefile.in
- M: libgrust/Makefile.in
- M: libgrust/aclocal.m4
- M: libgrust/libformat_parser/Makefile.in
- M: libgrust/libproc_macro_internal/Makefile.in
- M: libiberty/Makefile.in
- M: libiberty/acinclude.m4
- M: libiberty/aclocal.m4
- M: libiberty/configure
- M: libobjc/Makefile.in
- M: libobjc/acinclude.m4
- M: libquadmath/Makefile.in
- M: libquadmath/acinclude.m4
- M: libssp/Makefile.in
- M: libssp/aclocal.m4
- M: libstdc++-v3/Makefile.in
- M: libstdc++-v3/acinclude.m4
- M: libstdc++-v3/doc/Makefile.in
- M: libstdc++-v3/include/Makefile.in
- M: libstdc++-v3/libsupc++/Makefile.in
- M: libstdc++-v3/po/Makefile.in
- M: libstdc++-v3/python/Makefile.in
- M: libstdc++-v3/src/Makefile.in
- M: libstdc++-v3/src/c++11/Makefile.in
- M: libstdc++-v3/src/c++17/Makefile.in
- M: libstdc++-v3/src/c++20/Makefile.in
- M: libstdc++-v3/src/c++23/Makefile.in
- M: libstdc++-v3/src/c++26/Makefile.in
- M: libstdc++-v3/src/c++98/Makefile.in
- M: libstdc++-v3/src/experimental/Makefile.in
- M: libstdc++-v3/src/filesystem/Makefile.in
- M: libstdc++-v3/src/libbacktrace/Makefile.in
- M: libstdc++-v3/testsuite/Makefile.in
- M: zlib/Makefile.in
- M: zlib/acinclude.m4
- M: zlib/configure
- M: zlib/configure.ac

Pietro Monteiro (2):
  Upgrade autoconf and automake
  Add fix for Autoconf 2.73 bug

 c++tools/configure.ac                         |   4 +-
 config/mmap.m4                                |  22 ---
 config/no-executables.m4                      |   4 +-
 config/override.m4                            |  37 ++++-
 contrib/ci-containers/autoregen/Containerfile |   4 +-
 contrib/ci-containers/autoregen/autoregen.py  |  10 +-
 gcc/doc/install.texi                          |  11 +-
 gcc/m2/configure.ac                           |   1 +
 libcody/configure.ac                          |   1 +
 libdecnumber/configure.ac                     |   1 +
 libga68/Makefile.am                           |   4 +-
 libga68/Makefile.in                           |   7 +-
 libga68/acinclude.m4                          |  12 --
 libga68/m4/autoconf.m4                        | 133 ------------------
 libgcc/configure.ac                           |   1 -
 libgcobol/Makefile.in                         |   1 -
 libgcobol/acinclude.m4                        |   1 -
 libgfortran/Makefile.in                       |   1 -
 libgfortran/acinclude.m4                      |   1 -
 libgm2/Makefile.in                            |   3 +-
 libgm2/acinclude.m4                           |   2 +-
 libgm2/libm2cor/Makefile.in                   |   3 +-
 libgm2/libm2iso/Makefile.in                   |   3 +-
 libgm2/libm2log/Makefile.in                   |   3 +-
 libgm2/libm2min/Makefile.in                   |   3 +-
 libgm2/libm2pim/Makefile.in                   |   3 +-
 libgrust/Makefile.in                          |   3 +-
 libgrust/acinclude.m4                         |  11 --
 libgrust/aclocal.m4                           |   1 -
 libgrust/libformat_parser/Makefile.in         |   3 +-
 libgrust/libproc_macro_internal/Makefile.in   |   3 +-
 libiberty/Makefile.in                         |   1 -
 libiberty/acinclude.m4                        |   2 +-
 libiberty/aclocal.m4                          |   1 -
 libiberty/configure                           |   5 -
 libobjc/Makefile.in                           |   1 -
 libobjc/acinclude.m4                          |   1 -
 libquadmath/Makefile.in                       |   3 +-
 libquadmath/acinclude.m4                      |   1 -
 libssp/Makefile.in                            |   3 +-
 libssp/acinclude.m4                           |  11 --
 libssp/aclocal.m4                             |   1 -
 libstdc++-v3/Makefile.in                      |   3 +-
 libstdc++-v3/acinclude.m4                     |   1 -
 libstdc++-v3/doc/Makefile.in                  |   3 +-
 libstdc++-v3/include/Makefile.in              |   3 +-
 libstdc++-v3/libsupc++/Makefile.in            |   3 +-
 libstdc++-v3/po/Makefile.in                   |   3 +-
 libstdc++-v3/python/Makefile.in               |   3 +-
 libstdc++-v3/src/Makefile.in                  |   3 +-
 libstdc++-v3/src/c++11/Makefile.in            |   3 +-
 libstdc++-v3/src/c++17/Makefile.in            |   3 +-
 libstdc++-v3/src/c++20/Makefile.in            |   3 +-
 libstdc++-v3/src/c++23/Makefile.in            |   3 +-
 libstdc++-v3/src/c++26/Makefile.in            |   3 +-
 libstdc++-v3/src/c++98/Makefile.in            |   3 +-
 libstdc++-v3/src/experimental/Makefile.in     |   3 +-
 libstdc++-v3/src/filesystem/Makefile.in       |   3 +-
 libstdc++-v3/src/libbacktrace/Makefile.in     |   3 +-
 libstdc++-v3/testsuite/Makefile.in            |   3 +-
 zlib/Makefile.in                              |   2 +-
 zlib/acinclude.m4                             |   1 -
 zlib/configure                                |   5 -
 zlib/configure.ac                             |   2 +-
 64 files changed, 89 insertions(+), 300 deletions(-)
 delete mode 100644 libga68/acinclude.m4
 delete mode 100644 libga68/m4/autoconf.m4
 delete mode 100644 libgrust/acinclude.m4
 delete mode 100644 libssp/acinclude.m4

Range-diff against v3:
1:  dc4788fdad267 ! 1:  be7c46e136f26 Upgrade autoconf and automake
    @@ Commit message
                 * mmap.m4 (GCC_AC_FUNC_MMAP): Remove.
                 * no-executables.m4 (GCC_NO_EXECUTABLES): Use AC_FUNC_MMAP
                 instead of GCC_AC_FUNC_MMAP.
    -            * override.m4 (_GCC_AUTOCONF_VERSION): Change to 2.73.
    +            * override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.69 to 2.73.
     
         ChangeLog:
     
    @@ Commit message
                 * libgo/configure: Regenerate.
                 * libgo/testsuite/Makefile.in: Regenerate.
     
    +    contrib/ChangeLog:
    +
    +            * ci-containers/autoregen/Containerfile: Install autoconf 2.73 
and
    +            automake 1.19
    +            * ci-containers/autoregen/autoregen.py: Sync from buider repo 
and use
    +            autoconf 2.73 and automake 1.19
    +
         fixincludes/ChangeLog:
     
                 * aclocal.m4: Regenerate.
    @@ Commit message
                 * aclocal.m4: Regenerate.
                 * config.in: Regenerate.
                 * configure: Regenerate.
    +            * doc/install.texi (Tools/packages necessary for modifying 
GCC): Update
    +            autoconf to 2.73 and automake to 1.19.
     
         gcc/m2/ChangeLog:
     
    @@ Commit message
     
         libga68/ChangeLog:
     
    +            * Makefile.am: Remove mention to autoreconf version
                 * Makefile.in: Regenerate.
                 * aclocal.m4: Regenerate.
                 * config.h.in: Regenerate.
    @@ config/override.m4: m4_copy_force([_AC_PREREQ], [AC_PREREQ])
      dnl Test for the exact version when AC_INIT is expanded.
      dnl This allows one to update the tree in steps (for testing)
     
    + ## contrib/ci-containers/autoregen/Containerfile ##
    +@@
    + FROM debian:stable-slim
    + 
    +-ARG AUTOCONF_VERSION=2.69
    +-ARG AUTOMAKE_VERSION=1.15.1
    ++ARG AUTOCONF_VERSION=2.73
    ++ARG AUTOMAKE_VERSION=1.19
    + 
    + # Run time deps
    + RUN set -eux; \
    +
    + ## contrib/ci-containers/autoregen/autoregen.py ##
    +@@ contrib/ci-containers/autoregen/autoregen.py: from pathlib import Path
    + 
    + # On Gentoo, vanilla unpatched autotools are packaged separately.
    + # We place the vanilla names first as we want to prefer those if both 
exist.
    +-AUTOCONF_NAMES = ["autoconf-vanilla-2.69", "autoconf-2.69", "autoconf"]
    +-AUTOMAKE_NAMES = ["automake-vanilla-1.15", "automake-1.15.1", "automake"]
    +-ACLOCAL_NAMES = ["aclocal-vanilla-1.15", "aclocal-1.15.1", "aclocal"]
    +-AUTOHEADER_NAMES = ["autoheader-vanilla-2.69", "autoheader-2.69", 
"autoheader"]
    +-AUTORECONF_NAMES = ["autoreconf-vanilla-2.69", "autoreconf-2.69", 
"autoreconf"]
    ++AUTOCONF_NAMES = ["autoconf-vanilla-2.73", "autoconf-2.73", "autoconf"]
    ++AUTOMAKE_NAMES = ["automake-vanilla-1.19", "automake-1.19", "automake"]
    ++ACLOCAL_NAMES = ["aclocal-vanilla-1.19", "aclocal-1.19", "aclocal"]
    ++AUTOHEADER_NAMES = ["autoheader-vanilla-2.73", "autoheader-2.73", 
"autoheader"]
    ++AUTORECONF_NAMES = ["autoreconf-vanilla-2.73", "autoreconf-2.73", 
"autoreconf"]
    + 
    + # Pick the first for each list that exists on this system.
    + AUTOCONF_BIN = next(name for name in AUTOCONF_NAMES if shutil.which(name))
    +
    + ## gcc/doc/install.texi ##
    +@@ gcc/doc/install.texi: The in-tree configuration requires GNU gettext 
version 0.22 or later.
    + 
    + @heading Tools/packages necessary for modifying GCC
    + @table @asis
    +-@item autoconf version 2.69
    ++@item autoconf version 2.73
    + @itemx GNU m4 version 1.4.6 (or later)
    + 
    + Necessary when modifying @file{configure.ac}, @file{aclocal.m4}, etc.@:
    + to regenerate @file{configure} and @file{config.in} files.
    + 
    +-@item automake version 1.15.1
    ++@item automake version 1.19
    + 
    + Necessary when modifying a @file{Makefile.am} file to regenerate its
    + associated @file{Makefile.in}.
    + 
    + Much of GCC does not use automake, so directly edit the @file{Makefile.in}
    +-file.  Specifically this applies to the @file{gcc}, @file{intl},
    ++file.  Specifically this applies to the @file{gcc},
    + @file{libcpp}, @file{libiberty}, @file{libobjc} directories as well
    + as any of their subdirectories.
    + 
    +-For directories that use automake, GCC requires the latest release in
    +-the 1.15 series, which is currently 1.15.1.  When regenerating a directory
    +-to a newer version, please update all the directories using an older 1.15
    +-to the latest released version.
    ++For directories that use automake, GCC requires the 1.19 release.
    + 
    + @item gettext version 0.14.5 (or later)
    + 
    +
    + ## libga68/Makefile.am ##
    +@@
    + # <http://www.gnu.org/licenses/>.
    + #
    + #
    +-# if this file is changed then you need to run
    +-#
    +-# autoreconf2.69
    ++# if this file is changed then you need to run autoreconf
    + 
    + AUTOMAKE_OPTIONS = 1.8 foreign
    + ACLOCAL_AMFLAGS = -I .. -I ../config
    +
      ## libga68/Makefile.in ##
    +@@
    + # <http://www.gnu.org/licenses/>.
    + #
    + #
    +-# if this file is changed then you need to run
    +-#
    +-# autoreconf2.69
    ++# if this file is changed then you need to run autoreconf
    + 
    + 
    + VPATH = @srcdir@
     @@ libga68/Makefile.in: am__aclocal_m4_deps = 
$(top_srcdir)/../config/acx.m4 \
        $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
        $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
2:  88e2cd9681ddb ! 2:  52edb151188b7 Add fix for Autoconf 2.73 bug
    @@ Commit message
         Fix for https://savannah.gnu.org/support/?111400
         From upstream commit f81112068475c15d9acd42c7a3716b98134d6e14
     
    +    Include config/override.m4 on configure.ac of directories that didn't
    +    inlcude it before so they get the fix and also can't be regenerated
    +    with the wrong version of autoconf.
    +
    +    c++tools/ChangeLog:
    +
    +            * configure: Regenerate.
    +            * configure.ac: Include config/override.m4.
    +
         config/ChangeLog:
     
                 * override.m4: Add _AC_PROG_CC_STDC_EDITION_TRY from upstream 
patch.
     
    +    ChangeLog:
    +
    +            * configure: Regenerate.
    +            * libgo/configure: Regenerate.
    +
    +    fixincludes/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    gcc/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    gcc/m2/ChangeLog:
    +
    +            * configure: Regenerate.
    +            * configure.ac: Include config/override.m4.
    +
    +    gnattools/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    gotools/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libada/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libatomic/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libbacktrace/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libcc1/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libcody/ChangeLog:
    +
    +            * configure: Regenerate.
    +            * configure.ac: Include config/override.m4.
    +
    +    libcpp/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libdecnumber/ChangeLog:
    +
    +            * configure: Regenerate.
    +            * configure.ac: Include config/override.m4.
    +
    +    libffi/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libga68/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libgcc/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libgcobol/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libgfortran/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libgm2/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libgomp/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libgrust/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libiberty/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libitm/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libobjc/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libphobos/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libquadmath/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libsanitizer/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libssp/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libstdc++-v3/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    libvtv/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    lto-plugin/ChangeLog:
    +
    +            * configure: Regenerate.
    +
    +    zlib/ChangeLog:
    +
    +            * configure: Regenerate.
    +
         Signed-off-by: Pietro Monteiro <[email protected]>
     
    + ## c++tools/configure.ac ##
    +@@
    + # shows how the protocol introduced by wg21.link/p1184 may be used.
    + # By default g++ uses an in-process mapper.
    + 
    +-sinclude(../config/acx.m4)
    +-
    ++m4_include([../config/override.m4])
    ++m4_include([../config/acx.m4])
    + AC_INIT(c++tools)
    + 
    + AC_CONFIG_SRCDIR([server.cc])
    +
      ## config/override.m4 ##
     @@ config/override.m4: m4_if(m4_index([..wi.d.], [.d.]), [-1],
        [m4_fatal(m4_do([m4 with buggy strstr detected.  Please install
    @@ config/override.m4: m4_if(m4_index([..wi.d.], [.d.]), [-1],
      
     +dnl Patch for https://savannah.gnu.org/support/?111400
     +dnl From upstream commit f81112068475c15d9acd42c7a3716b98134d6e14
    -+m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.73],
    ++m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.73], [
     +# _AC_PROG_CC_STDC_EDITION_TRY(EDITION)
     +# -------------------------------------
     +# Subroutine of _AC_PROG_CC_STDC_EDITION.  Not to be called directly.
    @@ config/override.m4: m4_if(m4_index([..wi.d.], [.d.]), [-1],
     +  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c$1
     +  ac_prog_cc_stdc=c$1])])
     +]) # _AC_PROG_CC_STDC_EDITION_TRY
    -+)
    ++])
      
      dnl Fix 2.64 cross compile detection for AVR and RTEMS
      dnl by not trying to compile fopen.
    +
    + ## gcc/m2/configure.ac ##
    +@@
    + # along with GCC; see the file COPYING3.  If not see
    + # <http://www.gnu.org/licenses/>.
    + 
    ++m4_include([../../config/override.m4])
    + AC_INIT(m2, [ ])
    + 
    + # Determine the host, build, and target systems
    +
    + ## libcody/configure.ac ##
    +@@
    + # Copyright (C) 2020 Nathan Sidwell, [email protected]
    + # License: Apache v2.0
    + 
    ++m4_include([../config/override.m4])
    + AC_INIT([codylib],[0.0],[github.com/urnathan/libcody])
    + AC_CONFIG_SRCDIR(cody.hh)
    + m4_include(config.m4)
    +
    + ## libdecnumber/configure.ac ##
    +@@
    + # along with GCC; see the file COPYING3.  If not see
    + # <http://www.gnu.org/licenses/>.
    + 
    ++m4_include([../config/override.m4])
    + AC_INIT(libdecnumber, [ ], https://gcc.gnu.org/bugs/, libdecnumber)
    + AC_CONFIG_SRCDIR(decNumber.h)
    + AC_CONFIG_MACRO_DIR(../config)
-- 
2.56.0

Reply via email to