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
