GNU Autoconf 2.69b is available to test potentially breaking changes

After eight years since version 2.69 was published submitted the release of the GNU Autoconf 2.69b package, which comes with a set of M4 macros for creating autoconfiguration scripts for building applications on various Unix-like systems (based on the prepared template, the β€œconfigure” script is generated). The release is positioned as a beta version of the future version 2.70.

The significant time gap with the previous release and pre-publishing of the beta is due to the inclusion of changes in the 2.70 branch that could potentially break compatibility with existing Autoconf scripts. Users are encouraged to test their scripts with the suggested release and notify developers in case of problems.

Among the changes:

  • Provided escaping of config.log arguments in the header comment. Improved readability of "config.status --config" output;
  • Added '--runstatedir' option to configure script to specify path to /run directory with pid-files;
  • Autoreconf dropped support for pre-1.8 versions of automake and aclocal;
  • It is recommended to use printf instead of echo, AS_ECHO and AS_ECHO_N macros are now converted to
    'printf "%s\n"' and 'printf %s'. The undocumented variables $as_echo and
    $as_echo_n, which should be replaced by AS_ECHO and AS_ECHO_N macros;

  • Many macros have been changed to expand arguments only once to speed up autoconf execution, which may affect compatibility with some scripts that do not correctly quote arguments;
  • Some macros, such as AC_PROG_CC, commonly used at the start of a configure script, have been optimized to no longer call as many secondary macros. The change reveals several classes of errors, usually caused by the use of the AC_REQUIRE macro;
  • Macros that take space-separated lists of arguments now always expand with each of the listed arguments.
    The change affects macros 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;

  • Added new macros AC_C__GENERIC, AC_CONFIG_MACRO_DIRS and AC_CHECK_INCLUDES_DEFAULT;
  • The AC_PROG_CC macro, if present, now selects a C11-enabled compiler (falling back to C99 and C89 if not found), and AC_PROG_CXX to C++11, falling back to C++98. The AC_PROG_CC_STDC, AC_PROG_CC_C89 and AC_PROG_CC_C99 macros have been deprecated.

Source: opennet.ru

Add a comment