autotools-announce
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

autoconf-2.72d released [beta]


From: Zack Weinberg
Subject: autoconf-2.72d released [beta]
Date: Thu, 30 Nov 2023 16:51:35 -0500
User-agent: Cyrus-JMAP/3.9.0-alpha0-1238-g6cccb1fa34-fm-20231128.002-g6cccb1fa

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

We are pleased to announce beta release 2.72d of Autoconf.  (Versions
2.72a, 2.72b, and 2.72c were development snapshots, not official alpha
or beta releases.)

2.72 will be a minor bug-fix release.  The most significant changes
are support for the upcoming 2024 release of the C standard, and new
macros and configure command line options to facilitate the ongoing
transition to 64-bit time_t.  Regrettably, support for C 2024 requires
us to withdraw support for "traditional" (pre-1989) C compilers; if
this is a serious problem for your use of Autoconf, please let us know
*immediately*.  See the NEWS below for further summary of changes.

We intend to make the final release of 2.72 by the end of 2023,
so please test this release widely.  Send feedback to
bug-autoconf@gnu.org, or use the Savannah issue tracker
<https://savannah.gnu.org/support/?group=autoconf>.
We would prefer not to make many more changes before the release.
If you are aware of any existing bug reports that you believe
*cannot* wait for 2.73, please contact bug-autoconf@gnu.org.

Thanks to everyone who has contributed!
There have been 144 commits by 16 people in the 148 weeks since 2.71:

  Andreas K. Hüttel (1)
  Ben Elliston (1)
  Bruno Haible (7)
  Emanuele Giaquinta (2)
  Eric Blake (4)
  Gleb Fotengauer-Malinovskiy (1)
  Jim Meyering (5)
  KO Myung-Hun (1)
  Keno Fischer (1)
  Marshall Ward (1)
  Mike Frysinger (1)
  Paul Eggert (79)
  Sergei Trofimovich (1)
  Todd C. Miller (1)
  Xi Ruoyao (1)
  Zack Weinberg (37)

zw
 [on behalf of the autoconf maintainers]

==================================================================

Here is the GNU autoconf home page:
    http://gnu.org/s/autoconf/

For a summary of changes and contributors, see:
  http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=shortlog;h=v2.72d
or run this command from a git-cloned autoconf directory:
  git shortlog v2.71..v2.72d

Here are the compressed sources:
  https://alpha.gnu.org/gnu/autoconf/autoconf-2.72d.tar.gz   (2.1MB)
  https://alpha.gnu.org/gnu/autoconf/autoconf-2.72d.tar.xz   (1.4MB)

Here are the GPG detached signatures:
  https://alpha.gnu.org/gnu/autoconf/autoconf-2.72d.tar.gz.sig
  https://alpha.gnu.org/gnu/autoconf/autoconf-2.72d.tar.xz.sig

Use a mirror for higher download bandwidth:
  https://www.gnu.org/order/ftp.html

Here are the SHA1 and SHA256 checksums:

  bf5c5e98740721a2fc47cdebce3c8bb4cabb9925  autoconf-2.72d.tar.gz
  wJ3Lo9BRUHRZ3y/NWNbxnls0JWj6kQ47s6dLRALN46Y=  autoconf-2.72d.tar.gz
  1a81e4f12469c74e46d687748ad9ed86bb00d4b1  autoconf-2.72d.tar.xz
  zyaljbUfqtPpNnkkyhP+gNabNR4RmISN+yG5GHe+BAg=  autoconf-2.72d.tar.xz

Verify the base64 SHA256 checksum with cksum -a sha256 --check
from coreutils-9.2 or OpenBSD's cksum since 2007.

Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

  gpg --verify autoconf-2.72d.tar.gz.sig

The signature should match the fingerprint of the following key:

pub   rsa4096 2010-01-14 [SC]
      82F8 54F3 CE73 174B 8B63  1740 91FC C32B 6769 AA64
uid           [...] Zack Weinberg <zackw@panix.com>

If that command fails because you don't have the required public key,
or that public key has expired, try one of the following commands to
retrieve or refresh it, and then rerun the 'gpg --verify' command.

  gpg --recv-keys 82F854F3CE73174B8B63174091FCC32B6769AA64

  wget -q -O- 
'https://savannah.gnu.org/project/release-gpgkeys.php?group=autoconf&download=1'
 | gpg --import -

As a last resort to find the key, you can try the official GNU
keyring:

  wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
  gpg --keyring gnu-keyring.gpg --verify autoconf-2.72d.tar.gz.sig

This release was bootstrapped with the following tools:
  Automake 1.16.5

NEWS

* Noteworthy changes in release 2.72d (2023-11-30) [beta]

** Backward incompatibilities

*** Configure scripts no longer support pre-1989 C compilers.
  Specifically, compilers that *only* implement the original “K&R”
  function definition syntax, and not the newer “prototyped” syntax,
  will not be able to parse the test programs now emitted by
  AC_CHECK_FUNC, AC_LANG_CALL, and similar macros.  AC_PROG_CC still
  accepts such compilers, but this may change in the near future.

  This change was necessary in order to support the upcoming 2024
  edition of the C standard (often referred to as “C23”), which will
  officially remove the function declaration syntax used by
  AC_CHECK_FUNC in Autoconf 2.71 and earlier.  We feel that support
  for compilers that support only C 2024 is more useful, nowadays,
  than support for compilers that don’t implement a core feature of
  C 1989.

*** Autoconf developers now need Perl 5.10 (2007) or later.
  “Autoconf developers” means specifically people hacking on Autoconf
  itself.  Autoconf *users*, i.e. authors of configure.ac files and
  add-on M4 macros, still need only Perl 5.6 (2000) or later.

  We do recommend all Autoconf users upgrade to Perl 5.10 or later if
  possible, as this version significantly improves Perl’s ability to
  handle files with last-modification timestamps separated by less
  than a second.  (Note: even in the most recent release, Perl cannot
  always match the file system’s timestamp resolution.)

  Generated 'configure' scripts continue to run without Perl.

*** Autoconf users now need GNU M4 1.4.8 (2006) or later.
  Use of GNU M4 1.4.16 or later is recommended, as all earlier versions
  are known to have had serious bugs in the text-processing builtins
  on some, but not all, operating systems.  Autoconf’s own configure
  script will attempt to find a version of M4 that is not affected by
  these bugs.

  Note: Autoconf 2.70 and 2.71 include code that malfunctions with
  M4 1.4.6 or 1.4.7.  However, the only effect of the malfunction is
  that you will get a confusing error message if you run autoconf on
  a configure.ac that neglects to use AC_INIT or AC_OUTPUT.

  Generated 'configure' scripts continue to run without M4.

*** Some m4sh diversions have been renumbered.
  This will only affect macros that use m4_divert with numbered rather
  than named diversions, which has always been strongly discouraged
  both by the documentation and with warnings.

*** AC_FUNC_GETGROUPS and AC_TYPE_GETGROUPS no longer run test programs.
  These macros were testing for OS bugs that we believe are at least
  twenty years in the past.  Most operating systems are now trusted to
  provide an accurate prototype for getgroups in unistd.h, and to
  implement it as specified in POSIX.

  AC_FUNC_GETGROUPS still includes a short blacklist of OSes with
  known, severe bugs in getgroups.  It can be overridden using
  config.site.  If you encounter a mistake in this blacklist
  please report it to bug-autoconf.

*** All internal uses of AC_EGREP_CPP and AC_EGREP_HEADER have been removed.
  These macros look for text matching a regular expression in the
  output of the C preprocessor.  Their use has been discouraged for
  many years, as they tend to be unreliable; it is better to find a
  way to use AC_COMPILE_IFELSE or AC_PREPROC_IFELSE instead.  We have
  finally gotten around to taking our own advice.

  This change might break configure scripts that expected probes for
  ‘grep’ and/or the C preprocessor to happen as a side effect of an
  unrelated operation.  Such scripts can be fixed by adding
  AC_PROG_EGREP and/or AC_PROG_CPP in an appropriate place.

  The macros affected by this change are AC_C_STRINGIZE,
  AC_C_VARARRAYS, AC_FUNC_GETGROUPS, AC_FUNC_GETLOADAVG,
  AC_HEADER_TIOCGWINSZ, AC_PROG_GCC_TRADITIONAL, AC_TYPE_GETGROUPS,
  AC_TYPE_UID_T, and AC_XENIX_DIR. Many of these macros are themselves
  obsolete; if your configure script uses any of them, check whether
  it is actually needed.

** New features

*** Support for ensuring time_t is Y2038-safe
  'configure' can now ensure that time_t can represent moments in time
  after 18 January 2038, i.e. 2**31 - 1 seconds after the Unix epoch.
  On most “64-bit” systems this is true by default; the new feature
  is detection of systems where time_t is a 32-bit signed integer by
  default, *and* there is an alternative mode in which it is larger,
  in which case that mode will be enabled.

  In this release, all configure scripts that use AC_SYS_LARGEFILE
  gain a new command line option --enable-year2038.  When this option
  is used, the configure script will check for and enable support for
  a large time_t.

  This release also adds two new macros, AC_SYS_YEAR2038 and
  AC_SYS_YEAR2038_RECOMMENDED.  Both have all the effects of
  AC_SYS_LARGEFILE.  (This is because it is not possible to enlarge
  time_t without also enlarging off_t, on any system we are aware of.)

  AC_SYS_YEAR2038 additionally flips the default for --enable-year2038;
  a configure script that uses this macro will check for and enable
  support for a large time_t by default, but this can be turned off by
  using --disable-year2038.  AC_SYS_YEAR2038_RECOMMENDED goes even
  further, and makes the configure script fail on systems that do not
  seem to support timestamps after 18 January 2038 at all.  This
  failure can be suppressed by using --disable-year2038.

  Changing the size of time_t can change a library’s ABI.  Therefore,
  application and library builders should take care that all packages
  are configured with consistent use of --enable-year2038 or
  --disable-year2038, to ensure binary compatibility.  This is similar
  to longstanding consistency requirements with --enable-largefile and
  --disable-largefile.

  In this release, these macros only know how to enlarge time_t on two
  classes of systems: 32-bit MinGW, and any system where time_t can be
  enlarged by defining the preprocessor macro _TIME_BITS with the
  value 64.  At the time this NEWS entry was written, only GNU libc
  (version 2.34 and later) supported the latter macro.  Authors of
  other C libraries with a 32-bit time_t are encouraged to adopt
  _TIME_BITS, rather than inventing a different way to enlarge time_t.

*** AC_USE_SYSTEM_EXTENSIONS now enables C23 Annex F extensions
  by defining __STDC_WANT_IEC_60559_EXT__.

** Obsolete features and new warnings

*** Autoconf now quotes 'like this' instead of `like this'.

  Autoconf’s diagnostics now follow current GNU coding standards,
  which say that diagnostics in the C locale should quote 'like this'
  with plain apostrophes instead of the older GNU style `like this'
  with grave accent and apostrophe.

*** AC_PROG_GCC_TRADITIONAL no longer does anything.

  This macro has had no useful effect since GCC dropped support for
  traditional-mode compilation in version 3.3 (released in 2003), and
  the systems that needed it are also long obsolete.  It is now a
  compatibility synonym for AC_PROG_CC.

** Notable bug fixes

*** Autoconf caches now use finer-grained timestamps.

  Autoconf now uses floating-point numbers rather than integers to
  represent cache file timestamps, thus avoiding some problems where
  automake incorrectly decides not to regenerate stale caches.

*** AC_HEADER_STDBOOL, AC_CHECK_HEADER_STDBOOL are obsolescent and less picky.

  These macros are now obsolescent, as programs can simply include
  stdbool.h unconditionally.  If you use these macros, they now accept
  a stdbool.h that exists but does nothing, so long as ‘bool’, ‘true’,
  and ‘false’ work anyway.  This is for compatibility with C23 and
  with C++.

*** AC_PROG_MKDIR_P now falls back on plain 'mkdir -p'.

  When AC_PROG_MKDIR_P cannot find a mkdir implementation that is
  known to lack race condition bugs, it now falls back on 'mkdir -p'
  instead of falling back on a relative path to install-sh, as the
  relative paths now seem to be a more important problem than the
  problems of ancient mkdir implementations with race condition bugs.
  See <https://savannah.gnu.org/support/?110740>.  The only ancient
  mkdir still supported is Solaris 10 /usr/bin/mkdir, and for that
  platform AC_PROG_MKDIR_P falls back on /opt/sfw/bin/mkdir which
  should work if it is installed; if not, you should avoid parallel
  'make' on that platform.

* Releases 2.72a,b,c were snapshots that did not get their own
  NEWS entries.

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEgvhU885zF0uLYxdAkfzDK2dpqmQFAmVpAq8ACgkQkfzDK2dp
qmQWOg//dMkIns3XlCsmWdmKHnBsSQKKJfro0PIsek+duM5gt75zpKVgv5rmB5hR
D4DmJD3llZShcXAPJEqw9T6fqncovKLnPZHIPb+y/+vvqE1EWWoQYl/RaPsNxZXG
1HUUt4ND5MUdrGzqzBMX/DthiN8xH9nuedTOegWwHk3oXrI13ehQ9qvSg703dlN7
mG7/KjdT0mssWgb6DN40ip1UEu2KewNZeaCZedYr5sxCqZh53xAyGXJzn3tnnFo5
0umkKphp3rBz7mLiFKmb4KxU0AEyzFS3E19YHLB66hTK1r/ErpLyLk4Q7zVFzsKC
Mb///qUmSRjWicDFFWiGQELRrW1futwlS46qwtF5S5WQm/wq/LVtUa5FRo4T+haB
rTyJkQ55dZnAgy5tfxK0/8h4ksxLial7fKTNJJ/nOS3LgeT118h+eeJQRYX8Diuz
omCGdlhEHVSJvD5w0AsV3fTQPzSKxQsgwvEXcJVj/OZx4cPOAS6Olm2+JqicxKIx
VzCEBIwGsdAt4pNYYY0ZjT7O+YzYDaea4inIsTfrZlaZU21qOOB24rZjTEUrGb9y
IXV8BTKGN2INXGmi8nwDyR61wLQQnDDNNlXTQi4rLSFnIbI0bz/ibJ3S/lHe09h+
zmlwGvm5yEfnf1fsGv2cN1tmBUZ2ZNkjU21O4g7NqBFF+wfpdwg=
=mnq+
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]