-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 We are pleased to announce beta release 2.69d of GNU Autoconf. This release includes five weeks' worth of bug fixes since the previous beta release, 2.69c. We are closing in on a final release, but there are some known, important regressions from 2.69 that still need to be fixed before we can make a final release. See yesterday's release status update, https://lists.gnu.org/archive/html/autotools-announce/2020-11/msg00000.html for details. Please test this beta thoroughly and report bugs **to the Savannah bug tracker**: https://savannah.gnu.org/support/?func=additem&group=autoconf (Sending mail to bug-autoconf does not file the report in the bug tracker, unfortunately, and then it has a good chance of getting forgotten about.) Please be clear about whether each bug you report is a regression from 2.69 or not; at this stage, I will only be adding regressions to the release blocker list, not other bugs. I need to reiterate something I said in the status announcement yesterday: the funding I had to work on the 2.70 release has been completely used up. I will continue as volunteer release manager for 2.70, but I cannot promise to fix all of the regressions myself as an unpaid volunteer. If you have time to help by developing and testing patches for the release blockers, please do. zw Here are the compressed sources: https://alpha.gnu.org/gnu/autoconf/autoconf-2.69d.tar.gz (2.0MB) https://alpha.gnu.org/gnu/autoconf/autoconf-2.69d.tar.xz (1.3MB) Here are the GPG detached signatures[*]: https://alpha.gnu.org/gnu/autoconf/autoconf-2.69d.tar.gz.sig https://alpha.gnu.org/gnu/autoconf/autoconf-2.69d.tar.xz.sig Use a mirror for higher download bandwidth: https://www.gnu.org/order/ftp.html [*] 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.69d.tar.gz.sig If that command fails because you don't have the required public key, then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys 82F854F3CE73174B8B63174091FCC32B6769AA64 and rerun the 'gpg --verify' command. This release was bootstrapped with the following tools: Automake 1.16.2 NEWS * Noteworthy changes in release 2.69d (2020-11-03) [beta] ** Backward incompatibilities: *** Warnings about obsolete constructs are now on by default. These warnings can be turned off with â??-Wno-obsoleteâ??. Many of these warnings advise maintainers to run autoupdate. Be aware that autoupdate cannot solve all backward compatibility problems, and cannot completely solve all of the problems it does address. A configure script edited by autoupdate is likely to need further manual fix-ups. *** Many macros have become pickier about argument quotation. If you get a shell syntax error from your generated configure script, or seemingly impossible misbehavior (e.g. entire blocks of the configure script not getting executed), check first that all macro arguments are properly quoted. The â??M4 Quotationâ?? section of the manual explains how to quote macro arguments properly. It is unfortunately not possible for autoupdate to correct quotation errors. *** Many macros no longer AC_REQUIRE as many other macros as they used to. This can expose several classes of latent bugs. These are the ones we know about: - Make sure to explicitly invoke all of the macros that set result variables used later in the configure script, or in generated Makefiles. - Autoconf macros that use AC_REQUIRE are not safe to use in shell control-flow constructs that appear outside of macros defined by AC_DEFUN. Use AS_IF, AS_CASE, etc. instead. (See the â??Prerequisite Macrosâ?? section of the manual for details.) The set of macros that use AC_REQUIRE internally may change from release to release. The only macros that are guaranteed *not* to use AC_REQUIRE are the macros for acting on the results of a test: AC_DEFINE, AC_SUBST, AC_MSG_*, AC_CACHE_CHECK, etc. - AC_REQUIRE cannot be applied to macros that need to be used with arguments. Instead, invoke the macro normally, with its arguments. *** More macros use config.sub and config.guess internally. As a consequence of improved support for cross compilation (see below), more macros now use the auxiliary scripts â??config.subâ?? and â??config.guessâ??. If you use any of the affected macros, these scripts must be available when your configure script is run, even if you have no intention of ever cross-compiling your program. autoreconf will issue an error if any auxiliary scripts are needed but cannot be found. (It is not currently possible to make autoconf itself issue this error.) â??autoreconf --installâ?? will add â??config.subâ??, â??config.guessâ??, and â??install-shâ?? to your source tree if they are needed. If you are using Automake, scripts added to your tree by â??autoreconf --installâ?? will automatically be included in the tarball produced by â??make distâ??; otherwise, you will need to arrange for them to be distributed yourself. See the â??Inputâ?? section of the manual for more detail, including where to get the auxiliary scripts that may be needed by autoconf macros. *** Older versions of automake and aclocal (< 1.8) are no longer supported. *** AC_CONFIG_SUBDIRS no longer directly supports Cygnus configure. If you are still using an Autoconf script to drive configuration of a multi-package build tree where some subdirectories use Cygnus configure, copy or link $ac_aux_dir/configure into each subdirectory where it is needed. Please also contact us; we were under the impression nobody used this very old tool anymore. *** AC_CHECK_HEADER and AC_CHECK_HEADERS only do a compilation test. This completes the transition from preprocessor-based header tests begun in Autoconf 2.56. The double test that was the default since Autoconf 2.64 is no longer available. You can still request a preprocessor-only test by specifying [-] as the fourth argument to either macro, but this is now deprecated. If you really need that behavior use AC_PREPROC_IFELSE. *** AC_INCLUDES_DEFAULT assumes an ISO C90 compliant C implementation. Specifically, it assumes that the ISO C90 headers <stdlib.h> and <string.h> are available, without checking for them, and does not include the pre-standard header <memory.h> at all. If the POSIX header <strings.h> exists, it will be included, without testing whether it is safe to include both <string.h> and <strings.h> in the same source file. For compatibilityâ??s sake, the C preprocessor macros STDC_HEADERS, HAVE_STDLIB_H, and HAVE_STRING_H are defined unconditionally. These preprocessor macros should be considered obsolescent. Future releases of Autoconf may reduce the set of headers checked for by AC_INCLUDES_DEFAULT. *** AS_ECHO and AS_ECHO_N unconditionally use â??printfâ??. This is substantially simpler, more reliable, and, in most cases, faster than attempting to use â??echoâ?? at all. However, if â??printfâ?? is not a shell builtin, configure scripts will run noticeably slower, and if â??printfâ?? is not available at all, they will crash. The only systems where this is known to be a problem are extremely old, and unlikely to be able to handle modern C programs for other reasons (e.g. not having a C90-compliant compiler at all). *** AC_INIT now trims extra white space from its arguments. For instance, AC_INIT([ GNU Hello ], [1.0]) will set PACKAGE_NAME to â??GNU Helloâ??. *** Macros that take whitespace-separated lists as arguments now always expand macros within those arguments. Formerly, these macros would *usually* expand those arguments, but the behavior was not reliable nor was it consistent between autoconf and autoheader. Macro expansion within these arguments is deprecated; if expansion changes the list, a warning in the â??obsoleteâ?? category will be emitted. Note that â??dnlâ?? is a macro. Putting â??dnlâ?? comments inside any argument to an Autoconf macro is, in general, only supported when that argument takes more Autoconf code (e.g. the ACTION-IF-TRUE argument to AC_COMPILE_IFELSE). The affected macros are AC_CHECK_FILES, AC_CHECK_FUNCS, AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE, AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS, and AC_REPLACE_FUNCS. *** AC_FUNC_VFORK no longer ignores a signal-handling bug in Solaris 2.4. This bug was being ignored because Emacs wanted to use â??vforkâ?? on Solaris 2.4 anyway, but current versions of Emacs have dropped support for Solaris 2.4. Most programs will want to avoid â??vforkâ?? on this OS because of this bug. *** AC_FUNC_STRERROR_R assumes strerror_r is unavailable if itâ??s not declared. The fallback technique it used to probe strerror_râ??s return type when the function was present in the C library, but not declared by <string.h>, was fragile and did not work at all when cross-compiling. The systems where this fallback was necessary were all obsolete. Programs that use AC_FUNC_STRERROR_R should make sure to test the preprocessor macro HAVE_DECL_STRERROR_R before using strerror_r at all. *** AC_OPENMP canâ??t be used if you have files named â??mpâ?? or â??penmpâ??. Autoconf will now issue an error if AC_OPENMP is used in a configure script thatâ??s in the same directory as a file named â??mpâ?? or â??penmpâ??. Configure scripts that use AC_OPENMP will now error out upon encountering files with these names in their working directory (e.g. when the build directory is separate from the source directory). If you have files with these names at the top level of your source tree, we recommend either renaming them or moving them into a subdirectory. See the documentation of AC_OPENMP for further explanation. ** New features *** Configure scripts now support a â??--runstatedirâ?? option. This defaults to â??${localstatedir}/runâ??. It can be used, for instance, to place per-process temporary runtime files (such as pid files) into â??/runâ?? instead of â??/var/runâ??. *** autoreconf will now run gtkdocize and intltoolize when appropriate. *** autoheader handles secondary config headers better. It is no longer necessary to duplicate AC_DEFINE templates in the main configuration header for autoheader to notice them. *** AC_PROG_CC now enables C2011 mode if the compiler supports it. If not, it will fall back to C99 and C89, as before. Similarly, AC_PROG_CXX now enables C++2011 if available, falling back on C++98. *** New macro AC_C__GENERIC tests for C2011 _Generic support. *** AC_C_VARARRAYS has been aligned with C2011. It now defines __STDC_NO_VLA__ if variable-length arrays are not supported but the compiler does not define __STDC_NO_VLA__. For backward compatibility with Autoconf 2.61-2.69 AC_C_VARARRAYS still defines HAVE_C_VARARRAYS, but this result macro is obsolescent. *** New macro AC_CONFIG_MACRO_DIRS. This macro can be used more than once and accepts a list of directories to search for local M4 macros. With Automake 1.13 and later, use of this macro eliminates a reason to use ACLOCAL_AMFLAGS in Makefile.am. The older AC_CONFIG_MACRO_DIR, which could only be used once, is still supported but considered deprecated. *** AC_USE_SYSTEM_EXTENSIONS knows about more extensions to enable. System extensions will now be enabled on HP-UX, macOS, and MINIX. Optional ISO C library components (e.g. decimal floating point) will also be enabled. *** New compatibility macro AC_CHECK_INCLUDES_DEFAULT. This macro runs the checks normally performed as a side-effect by AC_INCLUDES_DEFAULT, if they havenâ??t already been done. Autoupdate will replace certain obsolete constructs, whose only remaining useful effect is to trigger those checks, with this macro. It is unlikely to be useful otherwise. *** AC_REQUIRE_AUX_FILE has been improved. Configure scripts now check, on startup, for the availability of all the aux files that were mentioned in an AC_REQUIRE_AUX_FILE invocation. This should help prevent certain classes of packaging errors. Also, it is no longer necessary for third-party macros that use AC_REQUIRE_AUX_FILE to mention AC_CONFIG_AUX_DIR_DEFAULT. However, if you are using AC_CONFIG_AUX_DIR_DEFAULT *without* also using AC_REQUIRE_AUX_FILE, please start using AC_REQUIRE_AUX_FILE to specify the aux files you actually need, so that the check can be effective. *** AC_PROG_LEX has an option to not look for yywrap. AC_PROG_LEX now takes one argument, which may be either â??yywrapâ?? or â??noyywrapâ??. If it is â??noyywrapâ??, AC_PROG_LEX will only set LEXLIB to â??-lflâ?? or â??-llâ?? if a scanner that defines both main and yywrap itself still needs something else from that library. On the other hand, if it is â??yywrapâ??, AC_PROG_LEX will fail (setting LEX to â??:â?? and LEXLIB to nothing) if it canâ??t find a library that defines yywrap. In the absence of arguments, AC_PROG_LEXâ??s behavior is bug-compatible with 2.69, which did neither of the above things (see the manual for details). This mode is deprecated. We encourage all programs that use AC_PROG_LEX to use the new â??noyywrapâ?? mode, and to define yywrap themselves, or use %noyywrap. The yywrap function in lib(f)l is trivial, and self-contained scanners are easier to work with. ** Obsolete features and new warnings *** Use of the long-deprecated name â??configure.inâ?? for the autoconf input file now elicits a warning in the â??obsoleteâ?? category. *** Use of the undocumented internal shell variables $as_echo and $as_echo_n now elicits a warning in the â??obsoleteâ?? category. The macros AS_ECHO and AS_ECHO_N should be used instead. *** autoconf will now issue warnings (in the â??syntaxâ?? category) if the input file is missing a call to AC_INIT and/or AC_OUTPUT. *** autoconf will now issue warnings (in the â??syntaxâ?? category) for a non-literal URL argument to AC_INIT, and for a TARNAME argument to AC_INIT which is either non-literal or contains characters that should not be used in file names (e.g. â??*â??). *** AC_PROG_CC_STDC, AC_PROG_CC_C89, AC_PROG_CC_C99 are now obsolete. Applications should use AC_PROG_CC. *** AC_HEADER_STDC and AC_HEADER_TIME are now stubs. They still define the C preprocessor macros STDC_HEADERS and TIME_WITH_SYS_TIME, respectively, but they no longer check for the ancient, non-ISO-C90 compliant systems where formerly those macros would not be defined. Autoupdate will remove them. These macros were already labeled obsolete in the manual. *** AC_DIAGNOSE, AC_FATAL, AC_WARNING, and _AC_COMPUTE_INT are now replaced with modern equivalents by autoupdate. These macros were already labeled obsolete in the manual. *** AC_CONFIG_HEADER is now diagnosed as obsolete, and replaced with AC_CONFIG_HEADERS by autoupdate. This macro has been considered obsolete for many years and was not documented at all. *** The macro AC_OBSOLETE is obsolete. Autoupdate will replace it with m4_warn([obsolete], [explanation]). If possible, macros using AC_OBSOLETE should be converted to use AU_DEFUN or AU_ALIAS instead, which enables autoupdate to replace them, but this has to be done by hand and is not always possible. This macro has been considered obsolete for many years, but was not officially declared as such. *** Man pages for config.guess and config.sub are no longer provided. They were moved to the master source tree for config.guess and config.sub. ** Notable bug fixes *** Compatible with current Automake, Libtool, Perl, Texinfo, and shells. All of autoconfâ??s tools and generated scripts, and the build process and testsuite for autoconf itself, have been tested to work correctly with current versions of Automake, Libtool, Perl, Texinfo, bash, ksh93, zsh, and FreeBSD and NetBSD /bin/sh. Generated configure scripts are expected to work reliably with an even wider variety of shells, including BusyBox sh and various proprietary Unixesâ?? /bin/sh, as long as they are minimally compliant with the Unix95 shell specification. Notably, support for shell-script functions and the â??printfâ?? builtin are required. *** Checks compatible with current language standards and compilers. Many individual macros have been improved to accommodate changes in recent versions of the C and C++ language standards, and new features and quirks of commonly used compilers (both free and proprietary). *** Improved support for cross compilation. Many individual macros have been improved to produce more accurate results when cross-compiling. *** Improved robustness against unusual build environments. Many bugs have been fixed where generated configure scripts would fail catastrophically under unusual conditions, such as stdout being closed, or $TMPDIR not being an absolute path, or the root directory being mentioned in $PATH. *** AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE now support multiple programming languages. They no longer perform all checks in the language active upon the first use of the macro. *** AC_CHECK_DECL and AC_CHECK_DECLS will now detect missing declarations for library functions that are also Clang compiler builtins. *** AC_PATH_X and AC_PATH_XTRA donâ??t search for X11 when cross-compiling. Libraries and headers found by running xmkmf or searching /usr/X11, /usr/X11R7, etc. are likely to belong to a native X11 installation for the build machine and to be inappropriate for cross compilation. To cross-compile programs that require X11, we recommend putting the headers and libraries for the host system in your cross-compilerâ??s default search paths. Alternatively, use configureâ??s --x-includes and --x-libraries command line options to tell it where they are. *** AC_PROG_CC is now defined via AC_DEFUN_ONCE. This means configure scripts will no longer check repeatedly for the C compiler under some combinations of macro use. *** AC_HEADER_MAJOR detects the location of the major, minor, and makedev macros correctly under glibc 2.25 and later. *** AC_FC_LINE_LENGTH now documents the maximum portable length of â??unlimitedâ?? Fortran source code lines to be 250 columns, not 254. *** AC_INIT and AS_INIT no longer embed (part of) the path to the source directory in generated files. We believe this was the only case where generated file contents could change depending on the environment outside the source tree itself. If you find any other cases please report them as bugs. *** config.log properly escapes arguments in the header comment. *** config.status --config output is now quoted in a more readable fashion. ** Autotest enhancements *** Autotest provides a new macro AT_DATA_UNQUOTED, similar to AT_DATA but processing variable substitutions, command substitutions and backslashes in the contents argument. *** AC_CONFIG_TESTDIR will automatically pass EXEEXT to a testsuite (via the atconfig file). *** AT_TESTED arguments can use variable or command substitutions, including in particular $EXEEXT -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEgvhU885zF0uLYxdAkfzDK2dpqmQFAl+hjLEACgkQkfzDK2dp qmQ32Q//TwTG6VVm5bT/MHPbT8Qnh6IoDWjHOmyN5Gcy0D04QB6rvm+0nIaSKtsK Uu3gk/xoPR0JQO5mmV9nvUqS3Ff7ffy3GX+WgI84mNSznMJyO8wewfmVWX+Z5UAy 7zQ65+Mr8miETKE1Yp8jKwnL9FLw4tBp/msnf8iaFsmgts6JBso5JGPJIbBzVEhT LoYWMf5n49286QwjYAW6MQuhFFRDAvUDM5iH/IQU1lrMmzNmaY7u6wj/mw+oq+Mx M3byNGQE5WMRr22zkIoJoZR0mD/sMjYtTtrx5cLVP9BQRRCyE8QvFgbk8FohZ4Hb LQa+m1i0e6TCuyUgp6rSMjRsNs23CeHud9plQ1PX6tuojQV394PizNTaKZdQr42c 7/3ufkC7WgVseoQSMEGacuffpS/DkBdXsvxYDyhK8Y9yIy1wZ38Gjz6IxPVk2hkV cbWgv9PMe39CYBr4vkuwXrJkrvI34del2QtVkQPa9ThFYv1HiU45Lv30XkXz4+R5 xY/lD8mgAEXWtrqJkPFk3MxejmDb2AbJ0uu6eKXv+ssptNpN6DM2V743itiFatkX /PJEp0noSKXYbuuCufxJYuPuANDgsyLUBka1FqACLRQ3CO7vq0xrQW13eNehqRO4 czeskyoY440nKPbNpuZjSTUeVQQJy2BUv4MmrB1ebN9vtz5kWJ0= =7F0+ -----END PGP SIGNATURE-----