Opened 3 weeks ago

Closed 12 days ago

#5897 closed enhancement (fixed)

autoconf-2.73

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 13.1
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (3)

comment:1 by Bruce Dubbs, 2 weeks ago

Owner: changed from lfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 13 days ago

GNU Autoconf NEWS - User visible changes.

  • Noteworthy changes in release 2.73 (2026-03-20) [release]

New features

* autoreconf has a new option to exclude certain steps

autoreconf --exclude <tool>[,<tool>[,…]] tells autoreconf not to run any of the listed tools, even if it appears to be necessary. This is useful, for example, in situations where autoreconf’s heuristics for when to run each tool are incorrect. (All such situations are considered bugs; please report them.) It may also be useful in “bootstrap” scripts that can use autoreconf for most of the work but need to take manual control over execution of some of the tools.

In older versions of Autoconf, it is possible to get the same effect by setting TOOL=true in the environment for each tool that should not be run.

Patch originally developed by the OpenEmbedded project.

Notable bug fixes

* AC_PROG_GO and AC_PROG_A68 now honor GOFLAGS and A68FLAGS set by the user

* AC_C_FLEXIBLE_ARRAY_MEMBER and AC_PROG_LEX handle Solaris 10 better

* autoheader takes more care not to overwrite hand-written config.h.in

Before overwriting an existing config.h.in, autoheader now checks for the marker comment on the first line that indicates it was generated by autoheader. It can be forced to overwrite a config.h.in that doesn’t have that marker by using the new option --replace-handwritten.

* AC_OUTPUT issues an error if called with more than three arguments

All prior versions of GNU autoconf ignore extra arguments to AC_OUTPUT. However, some software’s configure scripts expect a modified version of autoconf in which a fourth argument does something useful. The error is intended to stop redistributors of those programs from regenerating the configure script with a version of autoconf that does not have those modifications, as this is likely to produce a broken configure script.

  • Noteworthy changes in release 2.72.90 (2026-02-03) [beta]

Backward incompatibilities

* AC_PROG_CC now prefers C23 if available.

Older code may need to be updated, as C23 has removed old-style (K&R) function definitions and declarations, now uses type-generic functions for strchr and similar functions, and has new keywords alignas, alignof, bool, constexpr, false, nullptr, static_assert, thread_local, true, typeof, typeof_unqual.

The shell variable $ac_prog_cc_stdc can now take the value ‘c23’. Configure scripts may need to be adjusted to handle this. It is likely to be more future-proof to check this variable for values that indicate the compiler is too *old*.

* AC_PROG_CC no longer checks STDC or variable length arrays (VLAs).

This ports better to MSVC, which does not define STDC and does not support VLAs. Although C99 requires VLAs, they are optional in C11 and later. Programs can use AC_C_VARARRAYS and STDC_NO_VLA to use VLAs if available.

* AC_PROG_CXX no longer attempts to switch to C++98 or C++11.

Instead, it uses the compiler's default, which you can override by configuring with something like CXX='g++ -std=gnu++11'. This reverts to Autoconf 2.69 behavior, and also fixes a bug where AC_PROG_CXX rejected C++20 compilers.

New features

* autoheader and autoreconf preserve hand-written template files

If ‘config.h.in’ (or whatever your primary configuration header template’s name is) already exists, and does not begin with a comment line indicating it was generated by autoheader, autoheader and autoreconf will now leave it alone instead of replacing it. You can force them to replace the template anyway with the new command line option, --replace-handwritten. (This is separate from --force because --force is specifically about updating files even if they don’t appear to be _out of date_.)

We invite feedback on whether the new option should also apply to other existing files that might or might not be machine-generated, most importantly aclocal.m4 and Makefile.in.

* Programs now recognize #elifdef and #elifndef.

The autom4te, autoscan and ifnames programs now recognize the two preprocessor directives, which were introduced in C23 and C++23.

* Support for the Algol 68 programming language has been added.

The new macro AC_LANG_A68 sets variables A68 and A68FLAGS.

* AC_PROG_AWK now also checks for busybox awk.

* AC_USE_SYSTEM_EXTENSIONS now defines _COSMO_SOURCE for Cosmopolitan Libc.

Notable bug fixes

* AC_CHECK_DECL and AC_CHECK_DECLS will, on macOS, now report "no" for

functions that are declared as existing in future macOS versions only.

* AC_DEFINE_UNQUOTED no longer mishandles double-quotes inside $(...)

and ${...}.

* AC_DEFINE and similar macros no longer emit trailing whitespace.

This pacifies the -Wtrailing-whitespace introduced in GCC 15.

* AC_FUNC_STRNLEN now detects Android 5.0's broken strnlen.

* AC_PROG_OBJC now finds the GNU Objective-C compiler, as packaged in

EPEL 9, by default, without the user having to set the OBJC variable.

* Autoconf no longer generates ${1+"$@"} in scripts, working around

a bug in AIX 7.2 ksh93.

* config.status now fails with a diagnostic if awk is missing,

rather than misbehaving.

* autoreconf handles projects using GNU Gettext and/or gtk-doc better.

A variety of situations where autoreconf would try to run the 'autopoint' and/or 'gtkdocize' tools when it shouldn't have, or *wouldn't* run them when it *should* have, have been corrected. See <https://savannah.gnu.org/support/index.php?111273>, <https://savannah.gnu.org/support/index.php?111272>, <https://savannah.gnu.org/support/index.php?111271>, <https://savannah.gnu.org/support/index.php?110503>.

* autoconf no longer installs a file named "version.m4".

This eliminates an annoying (but harmless) warning produced by Autoconf 2.72 when projects contain their own "version.m4".

comment:3 by Bruce Dubbs, 12 days ago

Resolution: fixed
Status: assignedclosed

Fixed at commit 2c1f428b94.

Update to vim-9.1.0272.
Update to systemd-260.1.
Update to mpc-1.4.0.
Update to meson-1.10.2.
Update to linux-6.19.10.
Update to iana-etc-20260327.
Update to groff-1.24.1.
Update to autoconf-2.73.
Note: See TracTickets for help on using tickets.