We're overdue for a new release, so here's a snapshot in preparation
for that, which I want to call 2.73 (skipping 2.72).  There has never
been an autoconf-2.72 release, yet `git describe` now prints 2.72c and
has been printing strings like v2.72a-92-g8db00aa8 for years.

If you maintain a package that uses autoconf and can make a release soon,
please install this and use it to bootstrap its configs.  We'd love to
expose any issues before we make the release.  I've already done that
with grep-3.10, so far without incident.

Thanks to the many people who have contributed over the years, especially
to Paul Eggert and Zack Weinberg, who have done a disproportionate amount
of the work.

autoconf snapshot:
  https://meyering.net/ac/autoconf-ss.tar.xz      1.4 MB
  https://meyering.net/ac/autoconf-ss.tar.xz.sig
  https://meyering.net/ac/autoconf-2.72c.tar.xz

NEWS
=====================================
** Backward incompatibilities

*** Autoconf now requires perl 5.10 (2007) or later.
  Generated 'configure' scripts continue to run without perl.

*** Autoconf now requires GNU M4 1.4.8 (2006) or later.
  Generated 'configure' scripts continue to run without M4.

  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.

*** m4sh diversions like BINSH have been renumbered.
  This matters only for uses that, contrary to the documentation
  and despite warnings, use m4_divert with numbered diversions.

** New features

*** New macro AC_SYS_YEAR2038.
  This causes 'configure' to widen time_t if possible on systems where
  time_t by default cannot represent file and other timestamps after
  January 2038.  Widening is possible only on 32-bit GNU/Linux x86 and
  ARM systems with glibc 2.34 or later.  To prevent widening,
  configure with --disable-year2038.

  This macro also has the effects as AC_SYS_LARGEFILE, because in
  practice time_t cannot be widened without large-file sypport.

  Application and library builders should take care that packages
  configured with --enable-year2038 and --disable-year2038 options
  are configured consistently, to avoid breaking binary compatibility.
  This is similar to longstanding consistency requirements with
  --enable-largefile and --disable-largefile.

*** AC_SYS_LARGEFILE now optionally arranges to widen time_t.
  It now acts like AC_SYS_YEAR2038, except 'configure' defaults to
  --disable-year2038 unless AC_SYS_YEAR2038 is also present.
  As with AC_SYS_YEAR2038, application and library builders should
  configure consistently.

*** New macros AC_SYS_LARGEFILE_REQUIRED and AC_SYS_YEAR2038_REQUIRED.
  These act like AC_SYS_LARGEFILE and AC_SYS_YEAR2038 respectively,
  except that 'configure' fails if the target lacks support
  for large files and for post-2038 timestamps, respectively.
  As with AC_SYS_YEAR2038, application and library builders should
  configure consistently.

*** 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.

** 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.

=====================================
Changes in autoconf since v2.72b:

Andreas K. Hüttel (1):
      Fix bug when autom4te updates too quickly

Ben Elliston (1):
      update HACKING file

Bruno Haible (3):
      doc: Document another portability problem of 'od'.
      doc: Document how to deal with missing 'join'.
      Fix misspelled NEWS entry

Emanuele Giaquinta (2):
      _AC_PROG_CXX_STDCXX_EDITION_TRY: fix typo in variable name
      doc: fix typo in variable name

Eric Blake (4):
      maint: Add names to THANKS
      maint: ensure autoconf-latest.* links stay up-to-date
      maint: advertise GNU in README
      tests: typo fix

Jim Meyering (5):
      fix a typo
      tests: avoid test failures due to new EGREP_TRADITIONAL
      AC_FUNC_ALLOCA: fix a misplaced (now fatal) closing "fi"
      build: run "make fetch", which updated these:
      tests: avoid an unwarranted test failure

Keno Fischer (1):
      fortran.m4: Filter mingw intrinsic libraries

Marshall Ward (1):
      Fortran Cray pointer macro support

Mike Frysinger (1):
      add new AC_PROG_AR helper

Paul Eggert (57):
      doc: modernize grep discussion
      Document unquoted here-documents better
      Autoconf now quotes 'like this' instead of `like this'
      Port test to next m4 version
      Modernize discussion of integer overflow
      Port AC_LANG_CALL(C) to C++
      Add commentary for Time::HiRes patches
      fortran: *mingw* → mingw* in previous patch
      doc: update ‘find’ info
      doc: document BusyBox sed w bug
      Clarify documentation of number format
      Fix unwanted globbing of sed script
      doc: update Manthey name+email
      Fix bug with AS_IF and ‘set -e’
      Work around memory-leak false alarms
      Document AC_RUN_IFELSE([], ...) etc.
      Work around AT&T 3b1 bug
      make update-copyright
      Fix bug: AC_EGREP_CPP with leading '-' in pattern
      Improve regex documentation
      Refactor recent AC_FUNC_ALLOCA fix
      Avoid \] in BREs and EREs
      Port _AC_COMPILER_EXEEXT to IBM z/OS Unix
      Handle z/OS Unix ‘set’ output
      basename and dirname are portable now
      Port AC_C_BIGENDIAN to cross gcc -std=c11 -flto
      Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64
      AC_SYS_LARGEFILE now widens time_t if possible
      Port AC_CHECK_HEADER_STDBOOL to C23
      Improve doc for AC_SYS_LARGEFILE etc.
      Remove obsolete Solaris info from manual
      Port to compilers that moan about K&R func decls
      Port to GNU make 4.4
      Allow users to clear BINSH
      Improve comment in previous change
      Mention latest change in NEWS
      Update M4 version numbers in documentation
      MKDIR_P now falls back on mkdir -p
      Warn about TMPDIR
      Modernize and regularize doc for C89 etc.
      Cater better to underquoted callers
      AC_USE_SYSTEM_EXTENSIONS now enables C23 Annex F
      Use UTF-8 and spell "François" correctly
      Document C23 <stdckdint.h>
      Move NEWS entry to better location
      Omit just-added *_REQUIRED macros
      Restore *_REQUIRED macros
      Improve OS version commentary
      make fetch
      make update-copyright
      spelling fixes
      Restore lib/Autom4te/FileUtils.pm local fixes
      Improve year-2038 documentation
      make fetch
      Clarify NEWS
      Update doc slightly for C23.
      doc: improve AS_IF doc

Sergei Trofimovich (1):
      autoconf: store autom4te request keys in sorted order

Todd C. Miller (1):
      fix AC_CHECK_HEADER_STDBOOL regression

Xi Ruoyao (1):
      Fix testsuite failures with bash 5.2.

Zack Weinberg (27):
      maint: add outline for future NEWS
      _AC_PROG_CC_C99: fix typo (#110396)
      autom4te: correct error message when we can’t create autom4te.cache.
      Use -fno-builtin, not -Werror, in AC_CHECK_DECLS (#110400)
      Restore compatibility with older std-gnu11.m4.
      autom4te: always update the output file, even if it hasn’t changed
      autoreconf: don’t error out when AM_GNU_GETTEXT is used alone.
      make update-copyright
      make fetch
      trunk post-release administrivia
      Generate version.m4 from config.status, in lib/ not lib/m4sugar/.
      Rewrite bin/autoconf in Perl.
      Add a bootstrap script like Automake has.
      Update .gitignore for move of version.m4.
      testsuite: Handle `balanced ASCII quotes' correctly in m4 errors.
      Require GNU M4 1.4.8 or later.
      Require Perl 5.10.0 or later.
      make fetch
      Remove ancient backward compatibility code from m4/m4.m4.
      Make help-extract.pl work with Perl 5.10.x.
      Fix testsuite failures on Darwin (aka macOS).
      More fixes for compilers that reject K&R function definitions.
      AC_SYS_LARGEFILE: Don’t enlarge time_t by default
      Fix ‘make syntax-check’ complaints.
      Skip all Autotest parallelism tests if using Guix’s bash.
      bootstrap: Use an absolute path for ACBOOTDIR.
      Add experimental manifest.scm for testing Autoconf under guix shell.

Reply via email to