Re: [LFS Trac] #5897: autoconf-2.73

"LFS Trac" ([email protected] via lfs-book Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.book
Message-ID <[email protected]>
#5897: autoconf-2.73
-------------------------+--------------------------
 Reporter:  Bruce Dubbs  |       Owner:  Bruce Dubbs
     Type:  enhancement  |      Status:  assigned
 Priority:  normal       |   Milestone:  13.1
Component:  Book         |     Version:  git
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+--------------------------
Comment (by Bruce Dubbs):

 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".
-- 
Ticket URL: <https://wiki.linuxfromscratch.org/lfs/ticket/5897#comment:2>
LFS Trac <https://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.

-- 
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.