| 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