]> code.ossystems Code Review - openembedded-core.git/commitdiff
autoconf: Upgrade 2.70 -> 2.71
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 29 Jan 2021 15:57:42 +0000 (15:57 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 3 Feb 2021 23:46:49 +0000 (23:46 +0000)
Drop patches backported from autoconf master.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/autoconf/autoconf/from-master.patch [deleted file]
meta/recipes-devtools/autoconf/autoconf_2.71.bb [moved from meta/recipes-devtools/autoconf/autoconf_2.70.bb with 84% similarity]

diff --git a/meta/recipes-devtools/autoconf/autoconf/from-master.patch b/meta/recipes-devtools/autoconf/autoconf/from-master.patch
deleted file mode 100644 (file)
index 22ca744..0000000
+++ /dev/null
@@ -1,2815 +0,0 @@
-From efc940dc82763b7b2d6e65f04d15d5972d829c0a Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Tue, 8 Dec 2020 21:35:45 -0500
-Subject: [PATCH 03/13] _AC_PROG_CC_C99: fix typo (#110396)
-
-_AC_PROG_CC_C99 was using the wrong test program.
-
-Fixes #110396, reported anonymously.
-
-* lib/autoconf/c.m4 (_AC_PROG_CC_C99): Use the C99 test program, not
-  the C89 test program.
----
- lib/autoconf/c.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
-index fe217cad..601c2df4 100644
---- a/lib/autoconf/c.m4
-+++ b/lib/autoconf/c.m4
-@@ -1559,7 +1559,7 @@ dnl SVR4                 -Xc -D__EXTENSIONS__
- # option to output variable CC to make it so.
- AC_DEFUN([_AC_PROG_CC_C99],
- [AC_REQUIRE([_AC_C_C99_TEST_PROGRAM])]dnl
--[_AC_C_STD_TRY([c99], [ac_c_conftest_c89_program],
-+[_AC_C_STD_TRY([c99], [ac_c_conftest_c99_program],
- dnl Try
- dnl GCC               -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999)
- dnl IBM XL C  -qlanglvl=extc1x (V12.1; does not pass C11 test)
--- 
-2.25.1
-
-
-From 8f19de6df0cfab5eff9e62e3c8ec8443558476d1 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 11 Dec 2020 15:15:28 -0800
-Subject: [PATCH 04/13] Improve port of AC_C_RESTRICT to Oracle C++
-
-Problem reported by Christian Biesinger in:
-https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
-* lib/autoconf/c.m4 (AC_C_RESTRICT): Port better to
-Oracle Developer Studio C++ 12.5 or later.
-This patch is adapted from Gnulib.
----
- lib/autoconf/c.m4 | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
-index 601c2df4..14240460 100644
---- a/lib/autoconf/c.m4
-+++ b/lib/autoconf/c.m4
-@@ -2031,12 +2031,13 @@ AC_DEFUN([AC_C_RESTRICT],
-    nothing if this is not supported.  Do not define if restrict is
-    supported only directly.  */
- #undef restrict
--/* Work around a bug in Sun C++ 5.13: it does not support _Restrict or
--   __restrict__, even though the corresponding Sun C compiler ends up with
--   "#define restrict _Restrict" or "#define restrict __restrict__".
--   Perhaps some future version of Sun C++ will work with restrict;
--   if so, hopefully it defines __RESTRICT like Sun C does.  */
--#if defined __SUNPRO_CC && !defined __RESTRICT
-+/* Work around a bug in older versions of Sun C++, which did not
-+   #define __restrict__ or support _Restrict or __restrict__
-+   even though the corresponding Sun C compiler ended up with
-+   "#define restrict _Restrict" or "#define restrict __restrict__"
-+   in the previous line.  This workaround can be removed once
-+   we assume Oracle Developer Studio 12.5 (2016) or later.  */
-+#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
- # define _Restrict
- # define __restrict__
- #endif])
--- 
-2.25.1
-
-
-From 2f3f782cdd8d5105dc15ef18e2d11aac40d7c462 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 11 Dec 2020 15:18:41 -0800
-Subject: [PATCH 05/13] Port minor AC_FUNC_ALLOCA fixes from Gnulib
-
-* lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA, AC_FUNC_ALLOCA):
-Use ' not ` in generated comments, as per current GNU coding style.
-(_AC_LIBOBJ_ALLOCA): Use plain # instead of unnecessary quadrigraph.
-This patch is adapted from Gnulib.
----
- lib/autoconf/functions.m4 | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
-index 49aa5c58..12f60b99 100644
---- a/lib/autoconf/functions.m4
-+++ b/lib/autoconf/functions.m4
-@@ -358,8 +358,8 @@ AN_FUNCTION([getwd],        [warn: getwd is deprecated, use getcwd instead])
- # _AC_LIBOBJ_ALLOCA
- # -----------------
--# Set up the LIBOBJ replacement of `alloca'.  Well, not exactly
--# AC_LIBOBJ since we actually set the output variable `ALLOCA'.
-+# Set up the LIBOBJ replacement of 'alloca'.  Well, not exactly
-+# AC_LIBOBJ since we actually set the output variable 'ALLOCA'.
- # Nevertheless, for Automake, AC_LIBSOURCES it.
- m4_define([_AC_LIBOBJ_ALLOCA],
- [# The SVR3 libPW and SVR4 libucb both contain incompatible functions
-@@ -368,7 +368,7 @@ m4_define([_AC_LIBOBJ_ALLOCA],
- # use ar to extract alloca.o from them instead of compiling alloca.c.
- AC_LIBSOURCES(alloca.c)
- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl
--AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using `alloca.c'.])
-+AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.])
- AC_CACHE_CHECK([stack direction for C alloca],
-              [ac_cv_c_stack_direction],
-@@ -400,7 +400,7 @@ AH_VERBATIM([STACK_DIRECTION],
-       STACK_DIRECTION > 0 => grows toward higher addresses
-       STACK_DIRECTION < 0 => grows toward lower addresses
-       STACK_DIRECTION = 0 => direction of growth unknown */
--@%:@undef STACK_DIRECTION])dnl
-+#undef STACK_DIRECTION])dnl
- AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
- ])# _AC_LIBOBJ_ALLOCA
-@@ -453,7 +453,7 @@ fi
- if test $ac_cv_func_alloca_works = yes; then
-   AC_DEFINE(HAVE_ALLOCA, 1,
--          [Define to 1 if you have `alloca', as a function or macro.])
-+          [Define to 1 if you have 'alloca', as a function or macro.])
- else
-   _AC_LIBOBJ_ALLOCA
- fi
--- 
-2.25.1
-
-
-From 5c2bcf10c0b0bf5b463f6086b9548da84fe20cc7 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 11 Dec 2020 15:22:02 -0800
-Subject: [PATCH 06/13] Port minor AC_HEADER_MAJOR fixes from Gnulib
-
-* lib/autoconf/headers.m4 (AC_HEADER_MAJOR):
-Improve m4 quoting.
----
- lib/autoconf/headers.m4 | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4
-index bc70e0b6..802eec2f 100644
---- a/lib/autoconf/headers.m4
-+++ b/lib/autoconf/headers.m4
-@@ -499,13 +499,13 @@ AN_FUNCTION([minor],     [AC_HEADER_MAJOR])
- AN_HEADER([sys/mkdev.h], [AC_HEADER_MAJOR])
- AC_DEFUN([AC_HEADER_MAJOR],
- [AC_CHECK_HEADERS_ONCE([sys/types.h])
--AC_CHECK_HEADER(sys/mkdev.h,
--              [AC_DEFINE(MAJOR_IN_MKDEV, 1,
-+AC_CHECK_HEADER([sys/mkdev.h],
-+              [AC_DEFINE([MAJOR_IN_MKDEV], [1],
-                          [Define to 1 if `major', `minor', and `makedev' are
-                           declared in <mkdev.h>.])])
- if test $ac_cv_header_sys_mkdev_h = no; then
--  AC_CHECK_HEADER(sys/sysmacros.h,
--                [AC_DEFINE(MAJOR_IN_SYSMACROS, 1,
-+  AC_CHECK_HEADER([sys/sysmacros.h],
-+                [AC_DEFINE([MAJOR_IN_SYSMACROS], [1],
-                            [Define to 1 if `major', `minor', and `makedev'
-                             are declared in <sysmacros.h>.])])
- fi
--- 
-2.25.1
-
-
-From 8118c2adc4dc0a7ee4f9616197d0e3db42f9a788 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 11 Dec 2020 15:23:53 -0800
-Subject: [PATCH 07/13] Improve AC_USE_SYSTEM_EXTENSIONS port to HP-UX 11.11
-
-* lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS):
-Define _HPUX_ALT_XOPEN_SOCKET_API, for HP-UX 11.11.
-This patch is adapted from Gnulib.
----
- lib/autoconf/specific.m4 | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
-index 275938ca..853276bb 100644
---- a/lib/autoconf/specific.m4
-+++ b/lib/autoconf/specific.m4
-@@ -389,6 +389,11 @@ AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
- #ifndef _GNU_SOURCE
- # undef _GNU_SOURCE
- #endif
-+/* Enable X/Open compliant socket functions that do not require linking
-+   with -lxnet on HP-UX 11.11.  */
-+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
-+# undef _HPUX_ALT_XOPEN_SOCKET_API
-+#endif
- /* Identify the host operating system as Minix.
-    This macro does not affect the system headers' behavior.
-    A future release of Autoconf may stop defining this macro.  */
-@@ -496,6 +501,7 @@ dnl it should only be defined when necessary.
-   AC_DEFINE([_ALL_SOURCE])
-   AC_DEFINE([_DARWIN_C_SOURCE])
-   AC_DEFINE([_GNU_SOURCE])
-+  AC_DEFINE([_HPUX_ALT_XOPEN_SOCKET_API])
-   AC_DEFINE([_NETBSD_SOURCE])
-   AC_DEFINE([_OPENBSD_SOURCE])
-   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
--- 
-2.25.1
-
-
-From 616480956de06e32526775c8b7f8fd34d04238a5 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Mon, 21 Dec 2020 15:29:32 -0500
-Subject: [PATCH 08/13] =?UTF-8?q?autom4te:=20correct=20error=20message=20w?=
- =?UTF-8?q?hen=20we=20can=E2=80=99t=20create=20autom4te.cache.?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-While testing something else, I noticed that autom4te may print a
-nonsensical error message when it fails to create autom4te.cache,
-because it checks again whether the directory already exists before
-giving up, and this clobbers errno.
-
-Instead of doing (the perl equivalent of)
-    test -d $cache || mkdir $cache || test -d $cache
-call mkdir unconditionally.  If it fails with an errno code other than
-EEXIST, consider that a hard failure; if it fails with EEXIST, check
-whether the thing that exists is in fact a directory.  (A symlink to
-a directory qualifies; I wouldn’t be surprised if people are moving
-autom4te.cache around with symlinks.)
-
-Either way, if we fail, report strerror(errno) from the original
-mkdir failure.  Also, print the current working directory as part
-of the error message; this aids debugging when you’re working with a
-big hairy nested tree.
-
-* bin/autom4te.in: Don’t check whether autom4te.cache exists before
-  attempting to create it.  Only stat autom4te.cache if mkdir fails
-  with EEXIST, otherwise fail immediately.  Make sure to report the
-  errno code from mkdir, not the subsequent stat (if any).  Report
-  the current working directory as part of the error message.
-
-* tests/tools.at: Verify that autom4te reports the actual reason when
-  it fails to create autom4te.cache.  Verify that failure to create
-  autom4te.cache because that name exists, but isn’t a directory,
-  is detected.
----
- bin/autom4te.in | 19 ++++++++++++++-----
- tests/tools.at  | 20 ++++++++++++++++++--
- 2 files changed, 32 insertions(+), 7 deletions(-)
-
-diff --git a/bin/autom4te.in b/bin/autom4te.in
-index febcdeea..4c2b905c 100644
---- a/bin/autom4te.in
-+++ b/bin/autom4te.in
-@@ -1012,12 +1012,21 @@ if ($freeze)
-     exit $exit_code;
-   }
--# We need our cache directory.  Don't fail with parallel creation.
--if (! -d "$cache")
-+# Ensure the cache directory exists.
-+if (! mkdir ($cache, 0755))
-   {
--    mkdir "$cache", 0755
--      or -d "$cache"
--      or fatal "cannot create $cache: $!";
-+    # Snapshot $! immediately, the next few operations may clobber it.
-+    my $eexist = $!{EEXIST};
-+    my $errmsg = "$!";
-+
-+    # If mkdir failed with EEXIST, that means the *name* $cache
-+    # already exists, but it might be the wrong kind of file.
-+    if (! $eexist || ! -d $cache)
-+      {
-+        require Cwd;
-+        my $cwd = Cwd::cwd();
-+        fatal "cannot create $cache in $cwd: $errmsg";
-+      }
-   }
- # Open the index for update, and lock it.  autom4te handles several
-diff --git a/tests/tools.at b/tests/tools.at
-index d32ad362..49710202 100644
---- a/tests/tools.at
-+++ b/tests/tools.at
-@@ -1534,20 +1534,36 @@ end-language: "Autoconf-without-aclocal-m4"
- # A failed redirection may cause a status of 2 with FreeBSD sh.
- AT_CHECK([(: > sub/some-file) || exit 1 && exit 77], 1, [ignore], [ignore])
--# Failure to create cache directory.
-+# Failure to create cache directory due to access permissions.
- AT_CHECK_AUTOCONF([], [1], [ignore], [stderr])
- AT_CHECK([grep 'cannot create .*autom4te.cache' stderr], [0], [ignore])
-+AT_CHECK([grep ': Permission denied' stderr], [0], [ignore])
- AT_CHECK([test -f configure], [1])
-+# Failure to create cache directory due to something else in the way.
- chmod u+w sub
-+: > sub/autom4te.cache
-+AT_CHECK_AUTOCONF([], [1], [ignore], [stderr])
-+AT_CHECK([grep 'cannot create .*autom4te.cache' stderr], [0], [ignore])
-+AT_CHECK([grep ': File exists' stderr], [0], [ignore])
-+AT_CHECK([test -f configure], [1])
-+
-+# This time, creation should succeed.
-+rm -f sub/autom4te.cache
- AT_CHECK_AUTOCONF
-+AT_CHECK([test -d sub/autom4te.cache])
- rm -f configure sub/autom4te.cache/*
- chmod a-w sub/autom4te.cache
- # Failure to create a file in the cache directory.
- AT_CHECK_AUTOCONF([], [1], [ignore], [stderr])
--AT_CHECK([grep 'cannot open.*autom4te.cache' stderr], [0], [ignore])
-+AT_CHECK([grep 'cannot open .*autom4te.cache' stderr], [0], [ignore])
-+AT_CHECK([test -f configure], [1])
-+
-+# If the directory already exists, that should be fine.
-+chmod u+w sub/autom4te.cache
-+AT_CHECK_AUTOCONF
- AT_CLEANUP
--- 
-2.25.1
-
-
-From de36ccf6637974f4faba3747813d38ee46e77d69 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Wed, 23 Dec 2020 12:14:06 -0500
-Subject: [PATCH 09/13] Use -fno-builtin, not -Werror, in AC_CHECK_DECLS
- (#110400)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-clang issues only a warning, not an error, when an undeclared
-identifier that names a built-in function is used: for instance
-
-    char *(*p)(const char *, int) = strchr;
-
-(with no `#include <string.h>`) is an error with most compilers,
-a warning with clang.  This broke the 2.69 implementation of
-AC_CHECK_DECL.  In commit 82ef7805faffa151e724aa76c245ec590d174580,
-we tried to work around this quirk by using -Werror, but that put us
-at risk of being tripped up by other warnings.  Bug 110400 reports,
-for instance, that this fragment (which is roughly what you get, after
-preprocessing, when AC_CHECK_DECL is applied to a function that *is*
-properly declared)
-
-    extern void ac_decl (int, char *);
-    int main (void)
-    {
-      (void) ac_decl;
-      ;
-      return 0;
-    }
-
-provokes a warning from clang (and thus an error) when -Wextra-semi-stmt
-has been added to CFLAGS earlier in the configure script.  The extra
-semicolon comes from AC_LANG_PROGRAM, and we can’t get rid of it
-because we have no way of telling reliably when someone wrote
-something like
-
-    AC_LANG_PROGRAM([[#include <stdio.h>]],
-                    [[puts("hello world")]])
-
-with no semicolon at the end of the statement; this has been
-acceptable for decades.  Besides, that’s just one warning, who knows
-what compilers will start complaining about tomorrow?
-
-So: change AC_CHECK_DECL to compile its programs with -fno-builtin,
-instead, when the default compilation mode fails to detect an
-undeclared strchr.  The code is restructured so that we can try other
-options as well, if we find another compiler with the same quirk but
-different command-line syntax.
-
-(All of this logic is very C-family specific, but it appears to me
-that AC_CHECK_DECL has never worked with other languages, so we can
-continue to live with that for now.)
-
-Fixes bug 110400; partially reverts 82ef7805faffa151e724aa76c245ec590d174580.
-
- * lib/autoconf/general.m4 (_AC_UNDECLARED_WARNING): Rename to
-   _AC_UNDECLARED_BUILTIN.  Instead of looking at diagnostic output,
-   loop trying to find a command-line option that makes the compiler
-   error out on undeclared builtins.
-   (_AC_CHECK_DECL_BODY): Don’t AC_REQUIRE anything here.
-   Make shell code language-agnostic, except for the actual test program.
-   Add arguments to the shell function for additional compiler options
-   to use.
-   (AC_CHECK_DECL): AC_REQUIRE _AC_UNDECLARED_BUILTIN here.
-   Supply $ac_{AC_LANG_ABBREV}_undeclared_builtin_options to
-   ac_fn_check_decl.
-
- * tests/local.at (AT_CONFIG_CMP): Update list of variables to ignore
-   when comparing C and C++ configure runs.
- * tests/semantics.at (AC_CHECK_DECLS): Add memcpy and strchr to
-   AC_CHECK_DECLS call for functions that may be known to the compiler.
-
- * doc/autoconf.texi (AC_CHECK_DECL, AC_CHECK_DECLS): Remove note
-   about compiler warnings.
----
- doc/autoconf.texi       |  12 ---
- lib/autoconf/general.m4 | 158 +++++++++++++++++++++-------------------
- tests/local.at          |  10 +--
- tests/semantics.at      |  10 ++-
- 4 files changed, 95 insertions(+), 95 deletions(-)
-
-diff --git a/doc/autoconf.texi b/doc/autoconf.texi
-index a67cccb2..5e17280e 100644
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -6583,12 +6583,6 @@ parentheses for types which can be zero-initialized:
- AC_CHECK_DECL([basename(char *)])
- @end example
--Some compilers don't indicate every missing declaration by the error
--status.  This macro checks the standard error from such compilers and
--considers a declaration missing if any warnings have been reported.  For
--most compilers, though, warnings do not affect this macro's outcome
--unless @code{AC_LANG_WERROR} is also specified.
--
- This macro caches its result in the @code{ac_cv_have_decl_@var{symbol}}
- variable, with characters not suitable for a variable name mapped to
- underscores.
-@@ -6649,12 +6643,6 @@ You fall into the second category only in extreme situations: either
- your files may be used without being configured, or they are used during
- the configuration.  In most cases the traditional approach is enough.
--Some compilers don't indicate every missing declaration by the error
--status.  This macro checks the standard error from such compilers and
--considers a declaration missing if any warnings have been reported.  For
--most compilers, though, warnings do not affect this macro's outcome
--unless @code{AC_LANG_WERROR} is also specified.
--
- This macro caches its results in @code{ac_cv_have_decl_@var{symbol}}
- variables, with characters not suitable for a variable name mapped to
- underscores.
-diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
-index 16f0d074..47f7ee42 100644
---- a/lib/autoconf/general.m4
-+++ b/lib/autoconf/general.m4
-@@ -3046,84 +3046,89 @@ AC_DEFUN([AC_CHECK_FILES],
- ## Checking for declared symbols.  ##
- ## ------------------------------- ##
--
--# _AC_UNDECLARED_WARNING
-+# _AC_UNDECLARED_BUILTIN
- # ----------------------
--# Set ac_[]_AC_LANG_ABBREV[]_decl_warn_flag=yes if the compiler uses a warning,
--# not a more-customary error, to report some undeclared identifiers.  Fail when
--# an affected compiler warns also on valid input.  _AC_PROG_PREPROC_WORKS_IFELSE
--# solves a related problem.
--AC_DEFUN([_AC_UNDECLARED_WARNING],
--[# The Clang compiler raises a warning for an undeclared identifier that matches
--# a compiler builtin function.  All extant Clang versions are affected, as of
--# Clang 3.6.0.  Test a builtin known to every version.  This problem affects the
--# C and Objective C languages, but Clang does report an error under C++ and
--# Objective C++.
--#
--# Passing -fno-builtin to the compiler would suppress this problem.  That
--# strategy would have the advantage of being insensitive to stray warnings, but
--# it would make tests less realistic.
--AC_CACHE_CHECK([how $[]_AC_CC[] reports undeclared, standard C functions],
--[ac_cv_[]_AC_LANG_ABBREV[]_decl_report],
--[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [(void) strchr;])],
--  [AS_IF([test -s conftest.err], [dnl
--    # For AC_CHECK_DECL to react to warnings, the compiler must be silent on
--    # valid AC_CHECK_DECL input.  No library function is consistently available
--    # on freestanding implementations, so test against a dummy declaration.
--    # Include always-available headers on the off chance that they somehow
--    # elicit warnings.
--    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([dnl
--#include <float.h>
-+# Set ac_[]_AC_LANG_ABBREV[]_undeclared_builtin_options to any options
-+# needed to make the compiler issue a hard error, not a warning, when
-+# an undeclared function is used whose declaration happens to be
-+# built into the compiler (e.g. 'strchr' is often known in advance to
-+# the C compiler).  These options should not cause any other unrelated
-+# warnings to become errors.  If no such options can be found, or if
-+# they make the compiler error out on a correct program of the form
-+# used by AC_CHECK_DECL, report failure.
-+AC_DEFUN([_AC_UNDECLARED_BUILTIN],
-+[AC_CACHE_CHECK(
-+  [for $[]_AC_CC options needed to detect all undeclared functions],
-+  [ac_cv_[]_AC_LANG_ABBREV[]_undeclared_builtin_options],
-+  [ac_save_CFLAGS=$CFLAGS
-+   ac_cv_[]_AC_LANG_ABBREV[]_undeclared_builtin_options='cannot detect'
-+   for ac_arg in '' -fno-builtin; do
-+     CFLAGS="$ac_save_CFLAGS $ac_arg"
-+     # This test program should *not* compile successfully.
-+     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [(void) strchr;])],
-+       [],
-+       [# This test program should compile successfully.
-+        # No library function is consistently available on
-+        # freestanding implementations, so test against a dummy
-+        # declaration.  Include always-available headers on the
-+        # off chance that they somehow elicit warnings.
-+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-+[[#include <float.h>
- #include <limits.h>
- #include <stdarg.h>
- #include <stddef.h>
--extern void ac_decl (int, char *);],
--[@%:@ifdef __cplusplus
--  (void) ac_decl ((int) 0, (char *) 0);
--  (void) ac_decl;
--@%:@else
-+extern void ac_decl (int, char *);
-+]],
-+[[(void) ac_decl (0, (char *) 0);
-   (void) ac_decl;
--@%:@endif
--])],
--      [AS_IF([test -s conftest.err],
--      [AC_MSG_FAILURE([cannot detect from compiler exit status or warnings])],
--      [ac_cv_[]_AC_LANG_ABBREV[]_decl_report=warning])],
--      [AC_MSG_FAILURE([cannot compile a simple declaration test])])],
--    [AC_MSG_FAILURE([compiler does not report undeclared identifiers])])],
--  [ac_cv_[]_AC_LANG_ABBREV[]_decl_report=error])])
--
--case $ac_cv_[]_AC_LANG_ABBREV[]_decl_report in
--  warning) ac_[]_AC_LANG_ABBREV[]_decl_warn_flag=yes ;;
--  *) ac_[]_AC_LANG_ABBREV[]_decl_warn_flag= ;;
--esac
--])# _AC_UNDECLARED_WARNING
-+]])],
-+         [AS_IF([test x"$ac_arg" = x],
-+           [ac_cv_[]_AC_LANG_ABBREV[]_undeclared_builtin_options='none needed'],
-+           [ac_cv_[]_AC_LANG_ABBREV[]_undeclared_builtin_options=$ac_arg])
-+          break],
-+         [])])
-+    done
-+    CFLAGS=$ac_save_CFLAGS
-+  ])
-+  AS_CASE([$ac_cv_[]_AC_LANG_ABBREV[]_undeclared_builtin_options],
-+    ['cannot detect'],
-+      [AC_MSG_FAILURE([cannot make $[]_AC_CC report undeclared builtins])],
-+    ['none needed'],
-+      [ac_[]_AC_LANG_ABBREV[]_undeclared_builtin_options=''],
-+      [ac_[]_AC_LANG_ABBREV[]_undeclared_builtin_options=$ac_cv_[]_AC_LANG_ABBREV[]_undeclared_builtin_options])
-+])
- # _AC_CHECK_DECL_BODY
- # -------------------
- # Shell function body for AC_CHECK_DECL.
-+# If we are compiling C, just refer to the name of the function, so we
-+# don't implicitly declare it.  However, if we are compiling C++,
-+# `(void) function_name;' won't work when function_name has more than one
-+# overload, we need to fabricate a function call.  Fortunately, there is
-+# no such thing as an implicit function declaration in C++.
-+# If the function is defined as a macro, we cannot verify its signature
-+# without calling it, and it might not expand to a construct that's valid
-+# as the only statement in a function body; just report it as available.
- m4_define([_AC_CHECK_DECL_BODY],
- [  AS_LINENO_PUSH([$[]1])
--  # Initialize each $ac_[]_AC_LANG_ABBREV[]_decl_warn_flag once.
--  AC_DEFUN([_AC_UNDECLARED_WARNING_]_AC_LANG_ABBREV,
--         [_AC_UNDECLARED_WARNING])dnl
--  AC_REQUIRE([_AC_UNDECLARED_WARNING_]_AC_LANG_ABBREV)dnl
--  [as_decl_name=`echo $][2|sed 's/ *(.*//'`]
--  [as_decl_use=`echo $][2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`]
--  AC_CACHE_CHECK([whether $as_decl_name is declared], [$[]3],
--  [ac_save_werror_flag=$ac_[]_AC_LANG_ABBREV[]_werror_flag
--  ac_[]_AC_LANG_ABBREV[]_werror_flag="$ac_[]_AC_LANG_ABBREV[]_decl_warn_flag$ac_[]_AC_LANG_ABBREV[]_werror_flag"
--  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$[]4],
--[@%:@ifndef $[]as_decl_name
--@%:@ifdef __cplusplus
--  (void) $[]as_decl_use;
--@%:@else
--  (void) $[]as_decl_name;
--@%:@endif
--@%:@endif
--])],
-+  as_decl_name=`echo $[]2|sed 's/ *(.*//'`
-+  AC_CACHE_CHECK([whether $][as_decl_name is declared], [$[]3],
-+  [as_decl_use=`echo $[]2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-+  AS_VAR_COPY([ac_save_FLAGS], [$[]6])
-+  AS_VAR_APPEND([$[]6], [" $[]5"])
-+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$][4]],
-+[[#ifndef $][as_decl_name
-+#ifdef __cplusplus
-+  (void) $][as_decl_use;
-+#else
-+  (void) $][as_decl_name;
-+#endif
-+#endif
-+]])],
-                  [AS_VAR_SET([$[]3], [yes])],
-                  [AS_VAR_SET([$[]3], [no])])
--  ac_[]_AC_LANG_ABBREV[]_werror_flag=$ac_save_werror_flag])
-+  AS_VAR_COPY([$[]6], [ac_save_FLAGS])
-+])
-   AS_LINENO_POP
- ])# _AC_CHECK_DECL_BODY
-@@ -3133,18 +3138,23 @@ m4_define([_AC_CHECK_DECL_BODY],
- # -------------------------------------------------------
- # Check whether SYMBOL (a function, variable, or constant) is declared.
- AC_DEFUN([AC_CHECK_DECL],
--[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_check_decl],
--  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_check_decl],
--    [LINENO SYMBOL VAR INCLUDES],
-+[AC_REQUIRE_SHELL_FN([ac_fn_check_decl],
-+  [AS_FUNCTION_DESCRIBE([ac_fn_check_decl],
-+    [LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR],
-     [Tests whether SYMBOL is declared in INCLUDES, setting cache variable
--     VAR accordingly.])],
-+     VAR accordingly.  Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.])],
-   [_$0_BODY])]dnl
-+dnl Initialize each $ac_[]_AC_LANG_ABBREV[]_undeclared_builtin_options once.
-+[AC_DEFUN([_AC_UNDECLARED_BUILTIN_]_AC_LANG_ABBREV,
-+          [_AC_UNDECLARED_BUILTIN])]dnl
-+[AC_REQUIRE([_AC_UNDECLARED_BUILTIN_]_AC_LANG_ABBREV)]dnl
- [AS_VAR_PUSHDEF([ac_Symbol], [ac_cv_have_decl_$1])]dnl
--[ac_fn_[]_AC_LANG_ABBREV[]_check_decl ]dnl
--["$LINENO" "$1" "ac_Symbol" "AS_ESCAPE([AC_INCLUDES_DEFAULT([$4])], [""])"
--AS_VAR_IF([ac_Symbol], [yes], [$2], [$3])
--AS_VAR_POPDEF([ac_Symbol])dnl
--])# AC_CHECK_DECL
-+[ac_fn_check_decl ]dnl
-+["$LINENO" "$1" "ac_Symbol" "AS_ESCAPE([AC_INCLUDES_DEFAULT([$4])], [""])" ]dnl
-+["$ac_[]_AC_LANG_ABBREV[]_undeclared_builtin_options" "_AC_LANG_PREFIX[]FLAGS"]
-+[AS_VAR_IF([ac_Symbol], [yes], [$2], [$3])]dnl
-+[AS_VAR_POPDEF([ac_Symbol])]dnl
-+)# AC_CHECK_DECL
- # _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
-diff --git a/tests/local.at b/tests/local.at
-index 536f9a54..9ab903be 100644
---- a/tests/local.at
-+++ b/tests/local.at
-@@ -452,9 +452,9 @@ fi
- #   cxx: ignore all of:
- #     - CC, CPP, CCC, CXX, CXXCPP, CFLAGS, CXXFLAGS, GCC, GXX
- #     - ac_cv_env_(any of the above)_(set|value)
--#     - ac_cv_c_compiler_gnu, ac_cv_cxx_compiler_gnu
--#     - ac_cv_c_decl_report, ac_cv_cxx_decl_report
--#     - ac_cv_prog_c_*, ac_cv_prog_cxx_*,
-+#     - ac_cv_(c|cxx)_compiler_gnu
-+#     - ac_cv_(c|cxx)_undeclared_builtin_options
-+#     - ac_cv_prog_c_*, ac_cv_prog_cxx_*
- #     - ac_cv_prog_(ac_ct_)?(CC|CXX|CPP|CXXCPP)
- #     + other ac_cv_c_* are renamed to ac_cv_cxx_*
- #     + OPENMP_CFLAGS is renamed to OPENMP_CXXFLAGS
-@@ -546,8 +546,8 @@ m4_define([_AT_CONFIG_CMP_PRUNE],
-       /^ac_cv_prog_ac_ct_CXXCPP=/ d
-       /^ac_cv_c_compiler_gnu=/ d
-       /^ac_cv_cxx_compiler_gnu=/ d
--      /^ac_cv_c_decl_report=/ d
--      /^ac_cv_cxx_decl_report=/ d
-+      /^ac_cv_c_undeclared_builtin_options=/ d
-+      /^ac_cv_cxx_undeclared_builtin_options=/ d
-       /^ac_cv_prog_c_@<:@^=@:>@*=/ d
-       /^ac_cv_prog_cc_@<:@^=@:>@*=/ d
-       /^ac_cv_prog_cxx_@<:@^=@:>@*=/ d
-diff --git a/tests/semantics.at b/tests/semantics.at
-index ac7fe013..d449ce00 100644
---- a/tests/semantics.at
-+++ b/tests/semantics.at
-@@ -201,8 +201,7 @@ fi
- # AC_CHECK_DECLS
- # --------------
--# For the benefit of _AC_UNDECLARED_WARNING compilers, these INCLUDES sections
--# should not elicit warnings.
-+# Check that it performs the correct actions:
- AT_CHECK_MACRO([AC_CHECK_DECLS],
- [[AC_CHECK_DECLS([yes, no, myenum, mystruct, myfunc, mymacro1, mymacro2],,,
-                [[extern int yes;
-@@ -211,8 +210,9 @@ AT_CHECK_MACRO([AC_CHECK_DECLS],
-                  extern int myfunc();
-                  #define mymacro1(arg) arg
-                  #define mymacro2]])
--  # Clang reports a warning for an undeclared builtin.
--  AC_CHECK_DECLS([strerror],,, [[]])
-+  # Ensure we can detect missing declarations of functions whose
-+  # signature may be built into the compiler.
-+  AC_CHECK_DECLS([memcpy, strchr, strerror],,, [[]])
-   # The difference in space-before-open-paren is intentional.
-   AC_CHECK_DECLS([basenam (char *), dirnam(char *),
-                 moreargs (char, short, int, long, void *, char *, float, double)],,,
-@@ -248,6 +248,7 @@ AT_CHECK_MACRO([AC_CHECK_DECLS],
- [AT_CHECK_DEFINES(
- [#define HAVE_DECL_BASENAM 1
- #define HAVE_DECL_DIRNAM 0
-+#define HAVE_DECL_MEMCPY 0
- #define HAVE_DECL_MOREARGS 1
- #define HAVE_DECL_MYENUM 1
- #define HAVE_DECL_MYFUNC 1
-@@ -255,6 +256,7 @@ AT_CHECK_MACRO([AC_CHECK_DECLS],
- #define HAVE_DECL_MYMACRO2 1
- #define HAVE_DECL_MYSTRUCT 1
- #define HAVE_DECL_NO 0
-+#define HAVE_DECL_STRCHR 0
- #define HAVE_DECL_STRERROR 0
- #define HAVE_DECL_YES 1
- ])])
--- 
-2.25.1
-
-
-From fac6e5e5cf5b974dda2b82d6331d9dcb4b3e0016 Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Mon, 21 Dec 2020 14:04:22 -0500
-Subject: [PATCH 12/13] Restore compatibility with older std-gnu11.m4.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Gnulib’s std-gnu11.m4 backports C11 and C++11 detection to autoconf
-2.69.  It does this by replacing the definitions of AC_PROC_CC and
-AC_PROG_CXX and most of their subroutines.  In particular, it replaces
-the definitions of _AC_PROG_CC_C11, _AC_PROG_CC_C99, and _AC_C_STD_TRY,
-but it does *not* replace the definition of _AC_PROG_CC_C89.
-
-Autoconf commit 131d8c69f31dc6fc8dc93abe1096d52d1fe19fd3 changed the
-calling convention of _AC_C_STD_TRY, and changed the internal
-definitions of _AC_PROG_CC_C{11,99,89} to match.  If std-gnu11.m4 is
-in use, our _AC_PROG_CC_C89 calls their _AC_C_STD_TRY with the new
-calling convention, and this produces a syntactically invalid
-configure script.  (This is is fortunate: it could easily have been a
-runtime malfunction that only manifested with compilers that only
-implement C89, and then we might not have noticed the problem for
-years.)
-
-Gnulib commit a3b3fc85e3e632374811b27cb2111e50fa177e36 makes
-std-gnu11.m4 do nothing when used with autoconf >=2.70, but older
-versions of the file will circulate for years to come, so this patch
-works around the problem in autoconf.  It does this by renaming all of
-the internal macros involved with C and C++ standard edition
-detection, *except* _AC_PROG_CC_C89.  AC_PROG_CC now calls
-_AC_PROG_CC_STDC_EDITION, which loops over all supported editions
-calling _AC_PROG_CC_STDC_EDITION_TRY, which uses the data provided by
-the existing _AC_C_C${edition}_TEST_PROGRAM macros and a new set of
-macros called _AC_C_C${edition}_OPTIONS to perform the test for that
-edition of the standard.  Similarly, AC_PROG_CXX calls
-_AC_PROG_CXX_STDCXX_EDITION, which loops calling
-_AC_PROG_CXX_STDCXX_EDITION_TRY, which uses data from
-_AC_CXX_CXX${edition}_TEST_PROGRAM and _AC_CXX_CXX${edition}_OPTIONS.
-
-_AC_PROG_CC_C89 is the only macro from the old set that we still
-define, and its definition is reverted to what std-gnu11.m4 expects it
-to be.  Nothing in Autoconf proper uses it anymore.
-
-foreign.at grows a test to verify that the compatibility stub version
-of _AC_PROG_CC_C89 does its job.  Since this is now the third test
-involving an embedded copy of a third-party macro, I broke them all
-out of foreign.at to separate files in test/data/.
-
-In addition to fixing the breakage, this patch should make it easier
-to extend C / C++ standard edition detection in the future, by getting
-rid of the if-else chains in AC_PROG_CC/CXX and by disentangling the
-lists of command-line options to test from the logic.
-
-I also changed the manual to suggest people refer to the variables
-‘ac_prog_cc_stdc’ and ‘ac_prog_cxx_stdcxx’ to learn which edition
-of the C and C++ standards are selected; these are much easier to
-work with than the ac_cv_prog_cc_cNN cache variables.
-
-* lib/autoconf/c.m4 (_AC_C_STD_TRY, _AC_PROG_CC_C99, _AC_PROG_CC_C11)
-  (_AC_CXX_STD_TRY, _AC_PROG_CXX_CXX98, _AC_PROG_CXX_CXX11): Remove macro.
-
-  (_AC_C_C89_OPTIONS, _AC_C_C99_OPTIONS, _AC_C_C11_OPTIONS)
-  (_AC_PROG_CC_STDC_EDITION, _AC_PROG_CC_STDC_EDITION_TRY)
-  (_AC_CXX_CXX98_OPTIONS, _AC_CXX_CXX11_OPTIONS)
-  (_AC_PROG_CXX_STDCXX_EDITION, _AC_PROG_CXX_STDCXX_EDITION_TRY): New macros.
-
-  (_AC_PROG_CC_C89): Convert to compatibility stub for std-gnu11.m4.
-
-  (AC_PROG_CC): Use _AC_PROG_CC_STDC_EDITION.
-  (AC_PROG_CXX): Use _AC_PROG_CXX_STDCXX_EDITION.
-
-* tests/data/ax_prog_cc_for_build_v18.m4
-* tests/data/ax_prog_cxx_for_build_v3.m4
-* tests/data/gnulib_std_gnu11_2020_08_17.m4: New files.
-* tests/foreign.at (AX_PROG_CC_FOR_BUILD, AX_PROG_CXX_FOR_BUILD):
-  Remove embedded copy of ax_prog_cc_for_build_v18.m4,
-  ax_prog_cxx_for_build_v3.m4 respectively.
-  (gnulib-std-gnu11.m4): New test.
-* tests/local.mk: Distribute tests/data/*.m4.
-
-* doc/autoconf.texi (AC_PROG_CC, AC_PROG_CXX): Document use of
-  ac_prog_cc_stdc / ac_prog_cxx_stdcxx, respectively, to tell which
-  edition of the C / C++ standards are selected, instead of looking
-  through a series of cache variables with awkward definitions.
----
- doc/autoconf.texi                         |  45 +-
- lib/autoconf/c.m4                         | 444 +++++++-----
- tests/data/ax_prog_cc_for_build_v18.m4    | 139 ++++
- tests/data/ax_prog_cxx_for_build_v3.m4    | 110 +++
- tests/data/gnulib_std_gnu11_2020_08_17.m4 | 824 ++++++++++++++++++++++
- tests/foreign.at                          | 215 +-----
- tests/local.mk                            |   7 +-
- 7 files changed, 1384 insertions(+), 400 deletions(-)
- create mode 100644 tests/data/ax_prog_cc_for_build_v18.m4
- create mode 100644 tests/data/ax_prog_cxx_for_build_v3.m4
- create mode 100644 tests/data/gnulib_std_gnu11_2020_08_17.m4
-
-diff --git a/doc/autoconf.texi b/doc/autoconf.texi
-index db1e0f46..b65d698e 100644
---- a/doc/autoconf.texi
-+++ b/doc/autoconf.texi
-@@ -7453,7 +7453,6 @@ makes this invalid.  That is why Autoconf stopped issuing
- @evindex CFLAGS
- @ovindex CC
- @ovindex CFLAGS
--@caindex prog_cc_stdc
- Determine a C compiler to use.
- If the environment variable @code{CC} is set, its value will be taken as
-@@ -7485,21 +7484,15 @@ default.  (It is important to use this construct rather than a normal
- assignment, so that @code{CFLAGS} can still be overridden by the
- person building the package.  @xref{Preset Output Variables}.)
--If necessary, options are added to @code{CC} to enable support for ISO
--Standard C features with extensions, preferring the newest C standard
--that is supported.  Currently the newest standard Autoconf knows how to
--detect support for is ISO C 2011.  After calling this macro you can
--check whether the C compiler has been set to accept Standard C by
--inspecting cache variables.  If @code{ac_cv_prog_cc_c11} is set to any
--value other than @samp{no} (including the empty string), then @code{CC}
--can compile code as standard C 2011, and this mode has been enabled.
--Otherwise, if @code{ac_cv_prog_cc_c99} is set to any value other than
--@samp{no} (including the empty string), then @code{CC} can compile code
--as standard C 1999, and this mode has been enabled.  Otherwise, if
--@code{ac_cv_prog_cc_c89} is set to any value other than @samp{no}
--(including the empty string), then @code{CC} can compile code as
--standard C 1989, and this mode has been enabled.  Finally, if all
--three variables are set to @samp{no}, then @code{CC} cannot compile
-+If necessary, options are added to @code{CC} to enable support for
-+ISO Standard C features with extensions, preferring the newest edition
-+of the C standard that is supported.  Currently the newest edition
-+Autoconf knows how to detect support for is ISO C 2011.  After calling
-+this macro you can check whether the C compiler has been set to accept
-+standard C by inspecting the shell variable @code{ac_prog_cc_stdc}.
-+Its value will be @samp{c11}, @samp{c99}, or @samp{c89}, respectively,
-+if the C compiler has been set to use the 2011, 1999, or 1990 edition of
-+the C standard, and @samp{no} if the compiler does not support compiling
- standard C at all.
- The tests for standard conformance are not comprehensive.  They test the
-@@ -7890,17 +7883,15 @@ assignment, so that @code{CXXFLAGS} can still be overridden by the
- person building the package.  @xref{Preset Output Variables}.)
- If necessary, options are added to @code{CXX} to enable support for
--ISO Standard C++ features with extensions.  ISO C++ 2011 is preferred
--if the compiler supports it.  After calling this macro, you can check
--whether the C++ compiler has been set to accept standard C++ by
--inspecting cache variables.  If @code{ac_cv_prog_cxx_cxx11} is set to
--any value other than @samp{no} (including the empty string), then
--@code{CXX} can compile code as standard C++ 2011, and this mode has
--been enabled.  Otherwise, if @code{ac_cv_prog_cxx_cxx98} is set to
--any value other than @samp{no} (including the empty string), then
--@code{CXX} can compile code as standard C++ 1998, and this mode has
--been enabled.  Finally, if both variables are set to @samp{no}, then
--@code{CXX} cannot compile standard C++ at all.
-+ISO Standard C++ features with extensions, preferring the newest edition
-+of the C++ standard that is supported.  Currently the newest edition
-+Autoconf knows how to detect support for is ISO C++ 2011.  After calling
-+this macro, you can check whether the C++ compiler has been set to
-+accept standard C++ by inspecting the shell variable @code{ac_prog_cc_stdc}.
-+Its value will be @samp{cxx11} or @samp{cxx98}, respectively,
-+if the C++ compiler has been set to use the 2011 or 1990 edition of the
-+C++ standard, and @samp{no} if the compiler does not support compiling
-+standard C++ at all.
- The tests for standard conformance are not comprehensive.  They test
- the value of @code{__cplusplus} and a representative sample of the
-diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
-index 14240460..7ad6b4f7 100644
---- a/lib/autoconf/c.m4
-+++ b/lib/autoconf/c.m4
-@@ -498,19 +498,7 @@ else
-   GCC=
- fi
- _AC_PROG_CC_G
--dnl
--dnl Set ac_prog_cc_stdc to the supported C version.
--dnl Also set the documented variable ac_cv_prog_cc_stdc;
--dnl its name was chosen when it was cached, but it is no longer cached.
--_AC_PROG_CC_C11([ac_prog_cc_stdc=c11
--               ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11],
--  [_AC_PROG_CC_C99([ac_prog_cc_stdc=c99
--                  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99],
--     [_AC_PROG_CC_C89([ac_prog_cc_stdc=c89
--                     ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89],
--                    [ac_prog_cc_stdc=no
--                     ac_cv_prog_cc_stdc=no])])])
--dnl
-+_AC_PROG_CC_STDC_EDITION
- AC_LANG_POP(C)dnl
- ])# AC_PROG_CC
-@@ -745,13 +733,7 @@ else
-   GXX=
- fi
- _AC_PROG_CXX_G
--_AC_PROG_CXX_CXX11([ac_prog_cxx_stdcxx=cxx11
--                  ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
--                  ac_cv_prog_cxx_cxx98=$ac_cv_prog_cxx_cxx11],
--   [_AC_PROG_CXX_CXX98([ac_prog_cxx_stdcxx=cxx98
--                      ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98],
--                     [ac_prog_cxx_stdcxx=no
--                      ac_cv_prog_cxx_stdcxx=no])])
-+_AC_PROG_CXX_STDCXX_EDITION
- AC_LANG_POP(C++)dnl
- ])# AC_PROG_CXX
-@@ -1496,114 +1478,170 @@ main (int argc, char **argv)
- ]])])
--# _AC_C_STD_TRY(STANDARD, TEST-PROGRAM-HOLDER, OPTION-LIST,
--#             ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
--# --------------------------------------------------------------
--# Check whether the C compiler accepts features of STANDARD (e.g `c89', `c99')
--# by trying to compile the program in the shell variable TEST-PROGRAM-HOLDER.
--# Caller is responsible for making sure this variable has been initialized.
--# If compilation fails in the default mode, try again with each compiler
--# option in the space-separated OPTION-LIST; if one helps, append it to CC.
--# If eventually successful, run ACTION-IF-AVAILABLE, else ACTION-IF-UNAVAILABLE.
--AC_DEFUN([_AC_C_STD_TRY],
-+# _AC_C_C89_OPTIONS
-+# -----------------
-+# Whitespace-separated list of options that might put the C compiler
-+# into a mode conforming to ISO C1990 with extensions.  Do not try
-+# "strictly conforming" modes (e.g. gcc's -std=c90); they break some
-+# systems' header files.  If more than one option is needed, put
-+# shell quotes around the group.
-+#
-+# AIX circa 2003         -qlanglvl=extc89
-+# old AIX                -qlanglvl=ansi
-+# Ultrix, OSF/1, Tru64   -std
-+# HP-UX 10.20 and later  -Ae
-+# HP-UX older versions   -Aa -D_HPUX_SOURCE
-+# SVR4                   -Xc -D__EXTENSIONS__
-+m4_define([_AC_C_C89_OPTIONS], [
-+    -qlanglvl=extc89
-+    -qlanglvl=ansi
-+    -std
-+    -Ae
-+    "-Aa -D_HPUX_SOURCE"
-+    "-Xc -D__EXTENSIONS__"
-+])
-+
-+
-+# _AC_C_C99_OPTIONS
-+# -----------------
-+# Whitespace-separated list of options that might put the C compiler
-+# into a mode conforming to ISO C1999 with extensions.  Do not try
-+# "strictly conforming" modes (e.g. gcc's -std=c99); they break some
-+# systems' header files.  If more than one option is needed, put
-+# shell quotes around the group.
-+#
-+# GCC, Clang    -std=gnu99
-+# Intel ICC     -std=c99, -c99 (deprecated)
-+#   Note: because -std=c99 puts GCC in strictly conforming mode,
-+#   this option must be tested *after* -std=gnu99.
-+# IRIX          -c99
-+# Tru64         -c99
-+# IBM XL C      -qlanglvl=extc1x (V12.1; does not pass C11 test)
-+# IBM XL C      -qlanglvl=extc99 (pre-V12.1)
-+# HP cc         -AC99
-+# Solaris       -D_STDC_C99=
-+#   Note: acc's -xc99 option uses linker magic to define the external
-+#   symbol __xpg4 as if by "int __xpg4 = 1;", which enables C99
-+#   behavior for C library functions.  This is not wanted here,
-+#   because it means that a single module compiled with -xc99 alters
-+#   C runtime behavior for the entire program, not for just the
-+#   module.  Instead, define the (private) symbol _STDC_C99, which
-+#   suppresses a bogus failure in <stdbool.h>.  The resulting compiler
-+#   passes the test case here, and that's good enough.
-+#   For more, please see the thread starting at:
-+#   https://lists.gnu.org/archive/html/autoconf/2010-12/msg00059.html
-+m4_define([_AC_C_C99_OPTIONS], [
-+    -std=gnu99
-+    -std=c99
-+    -c99
-+    -qlanglvl=extc1x
-+    -qlanglvl=extc99
-+    -AC99
-+    -D_STDC_C99=
-+])
-+
-+
-+# _AC_C_C11_OPTIONS
-+# -----------------
-+# Whitespace-separated list of options that might put the C compiler
-+# into a mode conforming to ISO C2011 with extensions.  Do not try
-+# "strictly conforming" modes (e.g. gcc's -std=c11); they break some
-+# systems' header files.  If more than one option is needed, put
-+# shell quotes around the group.
-+#
-+# GCC, Clang    -std=gnu11
-+#
-+# For IBM XL C for AIX V16.1 or later, '-std=gnu11' should work if
-+# the user configured with CC='xlclang'.  Otherwise, do not try
-+# -qlanglvl=extc1x as xlc with IBM XL C V16.1 (the latest version as
-+# of August 2020) does not pass the C11 test.  Instead, try extc1x when
-+# compiling the C99 test instead, since it enables _Static_assert and
-+# _Noreturn, which is a win.
-+m4_define([_AC_C_C11_OPTIONS], [
-+    -std=gnu11
-+])
-+
-+
-+# _AC_PROG_CC_STDC_EDITION_TRY(EDITION)
-+# -------------------------------------
-+# Subroutine of _AC_PROG_CC_STDC_EDITION.  Not to be called directly.
-+#
-+# Check whether the C compiler accepts features of EDITION of the
-+# C standard.  EDITION should be a two-digit year (e.g. 89, 99, 11).
-+# (FIXME: Switch to four-digit years for futureproofing.)
-+# This is done by compiling the test program defined by
-+# _AC_C_C{EDITION}_TEST_PROGRAM, first with no additional
-+# command-line options, and then with each of the options
-+# in the space-separated list defined by _AC_C_C{EDITION}_OPTIONS.
-+#
-+# If we find a way to make the test program compile, set cache variable
-+# ac_cv_prog_cc_cEDITION to the options required (if any), and add those
-+# options to $CC.  Set shell variable ac_prog_cc_stdc to `cEDITION',
-+# and set shell variable ac_cv_prog_cc_stdc to the options required.
-+# (Neither of these variables is AC_SUBSTed.  ac_cv_prog_cc_stdc used
-+# to be a cache variable and is preserved with this name for backward
-+# compatibility.)  Otherwise, ac_cv_prog_cc_cEDITION is set to `no'
-+# and the other variables are not changed.
-+#
-+# If ac_prog_cc_stdc is already set to a value other than `no',
-+# the shell code produced by this macro does nothing.  This is so
-+# _AC_PROG_CC_STDC_EDITION can use m4_map to iterate through
-+# all the editions.
-+AC_DEFUN([_AC_PROG_CC_STDC_EDITION_TRY],
- [AC_LANG_ASSERT([C])]dnl
--[AC_MSG_CHECKING([for $CC option to enable ]dnl
--m4_translit($1, [c], [C])[ features])
--AC_CACHE_VAL([ac_cv_prog_cc_$1],
--[ac_cv_prog_cc_$1=no
-+[AC_REQUIRE([_AC_C_C$1_TEST_PROGRAM])]dnl
-+[AS_IF([test x$ac_prog_cc_stdc = xno],
-+[AC_MSG_CHECKING([for $CC option to enable C$1 features])
-+AC_CACHE_VAL([ac_cv_prog_cc_c$1],
-+[ac_cv_prog_cc_c$1=no
- ac_save_CC=$CC
--AC_LANG_CONFTEST([AC_LANG_DEFINES_PROVIDED][$][$2])
--for ac_arg in '' $3
-+AC_LANG_CONFTEST([AC_LANG_DEFINES_PROVIDED][$][ac_c_conftest_c$1_program])
-+for ac_arg in '' m4_normalize(m4_defn([_AC_C_C$1_OPTIONS]))
- do
-   CC="$ac_save_CC $ac_arg"
--  _AC_COMPILE_IFELSE([], [ac_cv_prog_cc_$1=$ac_arg])
--  test "x$ac_cv_prog_cc_$1" != "xno" && break
-+  _AC_COMPILE_IFELSE([], [ac_cv_prog_cc_c$1=$ac_arg])
-+  test "x$ac_cv_prog_cc_c$1" != "xno" && break
- done
- rm -f conftest.$ac_ext
--CC=$ac_save_CC
--])# AC_CACHE_VAL
--ac_prog_cc_stdc_options=
--AS_CASE(["x$ac_cv_prog_cc_$1"],
--  [x],   [AC_MSG_RESULT([none needed])],
--  [xno], [AC_MSG_RESULT([unsupported])],
--   [ac_prog_cc_stdc_options=" $ac_cv_prog_cc_$1"
--    CC="$CC$ac_prog_cc_stdc_options"
--    AC_MSG_RESULT([$ac_cv_prog_cc_$1])])
--AS_IF([test "x$ac_cv_prog_cc_$1" != xno], [$4], [$5])
--])# _AC_C_STD_TRY
--
--
--# _AC_PROG_CC_C89 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
--# ----------------------------------------------------------------
--# If the C compiler is not in ANSI C89 (ISO C90) mode by default, try
--# to add an option to output variable CC to make it so.
-+CC=$ac_save_CC])
-+AS_IF([test "x$ac_cv_prog_cc_c$1" = xno],
-+  [AC_MSG_RESULT([unsupported])],
-+  [AS_IF([test "x$ac_cv_prog_cc_c$1" = x],
-+    [AC_MSG_RESULT([none needed])],
-+    [AC_MSG_RESULT([$ac_cv_prog_cc_c$1])
-+     CC="$CC $ac_cv_prog_cc_c$1"])
-+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c$1
-+  ac_prog_cc_stdc=c$1])])
-+])
-+
-+
-+# _AC_PROG_CC_STDC_EDITION
-+# ------------------------
-+# Detect the most recent edition of the ISO C standard that is
-+# supported by the C compiler.  Add command-line options to $CC, if
-+# necessary, to enable support for this edition.  Set the shell
-+# variable ac_prog_cc_stdc to indicate the edition.
-+AC_DEFUN([_AC_PROG_CC_STDC_EDITION],
-+[ac_prog_cc_stdc=no
-+m4_map([_AC_PROG_CC_STDC_EDITION_TRY], [[11], [99], [89]])])
-+
-+
-+# _AC_PROG_CC_C89(ACTION-IF-SUPPORTED, ACTION-IF-NOT-SUPPORTED)
-+# -------------------------------------------------------------
-+# Obsolete internal macro.  No longer used by Autoconf itself, but
-+# preserved for backward compatibility with pre-December 2020 versions
-+# of Gnulib's std-gnu11.m4, which replaced the entire definition of
-+# AC_PROG_CC *except* for this macro.  Can be removed once everyone is
-+# using Autoconf 2.70 and/or a current std-gnu11.m4.
- AC_DEFUN([_AC_PROG_CC_C89],
--[AC_REQUIRE([_AC_C_C89_TEST_PROGRAM])]dnl
--[_AC_C_STD_TRY([c89], [ac_c_conftest_c89_program],
--dnl Don't try gcc -ansi; that turns off useful extensions and
--dnl breaks some systems' header files.
--dnl AIX circa 2003    -qlanglvl=extc89
--dnl old AIX           -qlanglvl=ansi
--dnl Ultrix, OSF/1, Tru64      -std
--dnl HP-UX 10.20 and later     -Ae
--dnl HP-UX older versions      -Aa -D_HPUX_SOURCE
--dnl SVR4                      -Xc -D__EXTENSIONS__
--[-qlanglvl=extc89 -qlanglvl=ansi -std \
--      -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"], [$1], [$2])[]dnl
--])# _AC_PROG_CC_C89
--
--
--# _AC_PROG_CC_C99 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
--# ----------------------------------------------------------------
--# If the C compiler is not in ISO C99 mode by default, try to add an
--# option to output variable CC to make it so.
--AC_DEFUN([_AC_PROG_CC_C99],
--[AC_REQUIRE([_AC_C_C99_TEST_PROGRAM])]dnl
--[_AC_C_STD_TRY([c99], [ac_c_conftest_c99_program],
--dnl Try
--dnl GCC               -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999)
--dnl IBM XL C  -qlanglvl=extc1x (V12.1; does not pass C11 test)
--dnl IBM XL C  -qlanglvl=extc99
--dnl           (pre-V12.1; unused restrictive mode: -qlanglvl=stdc99)
--dnl HP cc     -AC99
--dnl Intel ICC -std=c99, -c99 (deprecated)
--dnl IRIX      -c99
--dnl Solaris   -D_STDC_C99=
--dnl           cc's -xc99 option uses linker magic to define the external
--dnl           symbol __xpg4 as if by "int __xpg4 = 1;", which enables C99
--dnl           behavior for C library functions.  This is not wanted here,
--dnl           because it means that a single module compiled with -xc99
--dnl           alters C runtime behavior for the entire program, not for
--dnl           just the module.  Instead, define the (private) symbol
--dnl           _STDC_C99, which suppresses a bogus failure in <stdbool.h>.
--dnl           The resulting compiler passes the test case here, and that's
--dnl           good enough.  For more, please see the thread starting at:
--dnl           https://lists.gnu.org/archive/html/autoconf/2010-12/msg00059.html
--dnl Tru64     -c99
--dnl with extended modes being tried first.
--[[-std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99]], [$1], [$2])[]dnl
--])# _AC_PROG_CC_C99
--
--
--# _AC_PROG_CC_C11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
--# ----------------------------------------------------------------
--# If the C compiler is not in ISO C11 mode by default, try to add an
--# option to output variable CC to make it so.
--AC_DEFUN([_AC_PROG_CC_C11],
--[AC_REQUIRE([_AC_C_C11_TEST_PROGRAM])]dnl
--[_AC_C_STD_TRY([c11], [ac_c_conftest_c11_program],
--dnl Try
--dnl GCC               -std=gnu11 (unused restrictive mode: -std=c11)
--dnl with extended modes being tried first.
--dnl
--dnl For IBM XL C for AIX V16.1 or later, '-std=gnu11' should work if
--dnl the user configured with CC='xlclang'.  Otherwise, do not try
--dnl -qlanglvl=extc1x as xlc with IBM XL C V16.1 (the latest version as
--dnl of August 2020) does not pass the C11 test.  Instead, try extc1x when
--dnl compiling the C99 test instead, since it enables _Static_assert and
--dnl _Noreturn, which is a win.
--[[-std=gnu11]], [$1], [$2])[]dnl
--])# _AC_PROG_CC_C11
-+[AC_REQUIRE([_AC_C_C89_TEST_GLOBALS])]dnl
-+[AC_REQUIRE([_AC_C_C89_TEST_MAIN])]dnl
-+[_AC_C_STD_TRY([c89],
-+  [$ac_c_conftest_c89_globals], [$ac_c_conftest_c89_main],
-+  m4_quote(m4_normalize(m4_defn([_AC_C_C89_OPTIONS]))),
-+  [$1],
-+  [$2])])
-+
- # AC_PROG_CC_C89
-@@ -2633,78 +2671,112 @@ main (int argc, char **argv)
- "
- ]])])
-+# _AC_CXX_CXX98_OPTIONS
-+# ---------------------
-+# Whitespace-separated list of options that might put the C++ compiler
-+# into a mode conforming to ISO C++ 1998 with extensions.  Do not try
-+# "strictly conforming" modes (e.g. gcc's -std=c++98); they break some
-+# systems' header files.  If more than one option is needed, put
-+# shell quotes around the group.
-+#
-+# GCC           -std=gnu++98
-+# Intel ICC     -std=c++98
-+#   Note: because -std=c++98 puts GCC in strictly conforming mode,
-+#   this option must be tested *after* -std=gnu++98.
-+# IBM XL C      -qlanglvl=extended
-+# HP aC++       -AA
-+# Solaris       N/A (default)
-+# Tru64         N/A (default, but -std gnu could be used)
-+m4_define([_AC_CXX_CXX98_OPTIONS], [
-+    -std=gnu++98
-+    -std=c++98
-+    -qlanglvl=extended
-+    -AA
-+])
--# _AC_CXX_STD_TRY(STANDARD, TEST-PROGRAM-HOLDER, OPTION-LIST,
--#               ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
--# ----------------------------------------------------------------
--# Check whether the C++ compiler accepts features of STANDARD (e.g `cxx98',
--# `cxx11') by trying to compile the program in the shell variable
--# TEST-PROGRAM-HOLDER.  Caller is responsible for making sure this variable
--# has been initialized.  If compilation fails in the default mode, try again
--# with each compiler option in the space-separated OPTION-LIST; if one helps,
--# append it to CXX.  If eventually successful, run ACTION-IF-AVAILABLE, else
--# ACTION-IF-UNAVAILABLE.
-+# _AC_CXX_CXX11_OPTIONS
-+# ---------------------
-+# Whitespace-separated list of options that might put the C++ compiler
-+# into a mode conforming to ISO C++ 2011 with extensions.  Do not try
-+# "strictly conforming" modes (e.g. gcc's -std=c++11); they break some
-+# systems' header files.  If more than one option is needed, put
-+# shell quotes around the group.
-+#
-+# GCC           -std=gnu++11, -std=gnu++0x
-+# Intel ICC     -std=c++11, -std=c++0x
-+#   Note: because -std=c++11 puts GCC in strictly conforming mode,
-+#   these options must be tested *after* -std=gnu++11.
-+# IBM XL C      -qlanglvl=extended0x (pre-V12.1)
-+# HP aC++       -AA
-+# Solaris       N/A (no support)
-+# Tru64         N/A (no support)
-+m4_define([_AC_CXX_CXX11_OPTIONS], [
-+    -std=gnu++11
-+    -std=gnu++0x
-+    -std=c++11
-+    -std=c++0x
-+    -qlanglvl=extended0x
-+    -AA
-+])
--AC_DEFUN([_AC_CXX_STD_TRY],
-+# _AC_PROG_CXX_STDCXX_EDITION_TRY(EDITION)
-+# ----------------------------------------
-+# Subroutine of _AC_PROG_CXX_STDCXX_EDITION.  Not to be called directly.
-+#
-+# Check whether the C++ compiler accepts features of EDITION of the
-+# C++ standard.  EDITION should be a two-digit year (e.g. 98, 11).
-+# (FIXME: Switch to four-digit years for futureproofing.)
-+# This is done by compiling the test program defined by
-+# _AC_C_CXX{EDITION}_TEST_PROGRAM, first with no additional
-+# command-line options, and then with each of the options
-+# in the space-separated list defined by _AC_C_CXX{EDITION}_OPTIONS.
-+#
-+# If we find a way to make the test program compile, set cache variable
-+# ac_cv_prog_cxx_cxxEDITION to the options required (if any), and add those
-+# options to $CXX.  Set shell variable ac_prog_cxx_stdcxx to `cxxEDITION',
-+# and set shell variable ac_cv_prog_cxx_stdcxx to the options required.
-+# (Neither of these variables is AC_SUBSTed.  ac_cv_prog_cxx_stdcxx used
-+# to be a cache variable and is preserved with this name for backward
-+# compatibility.)  Otherwise, ac_cv_prog_cxx_cxxEDITION is set to `no'
-+# and the other variables are not changed.
-+#
-+# If ac_prog_cxx_stdcxx is already set to a value other than `no',
-+# the shell code produced by this macro does nothing.  This is so
-+# _AC_PROG_CXX_STDCXX_EDITION can use m4_map to iterate through
-+# all the editions.
-+AC_DEFUN([_AC_PROG_CXX_STDCXX_EDITION_TRY],
- [AC_LANG_ASSERT([C++])]dnl
--[AC_MSG_CHECKING([for $CXX option to enable ]dnl
--m4_translit([$1], [a-wxyz], [A-W+YZ])[ features])
-+[AC_REQUIRE([_AC_CXX_CXX$1_TEST_PROGRAM])]dnl
-+[AS_IF([test x$ac_prog_cxx_stdcxx = xno],
-+[AC_MSG_CHECKING([for $CXX option to enable C++$1 features])
- AC_CACHE_VAL(ac_cv_prog_cxx_$1,
- [ac_cv_prog_cxx_$1=no
- ac_save_CXX=$CXX
--AC_LANG_CONFTEST([AC_LANG_DEFINES_PROVIDED][$][$2])
--for ac_arg in '' $3
-+AC_LANG_CONFTEST([AC_LANG_DEFINES_PROVIDED][$][ac_cxx_conftest_cxx$1_program])
-+for ac_arg in '' m4_normalize(m4_defn([_AC_CXX_CXX$1_OPTIONS]))
- do
-   CXX="$ac_save_CXX $ac_arg"
--  _AC_COMPILE_IFELSE([], [ac_cv_prog_cxx_$1=$ac_arg])
--  test "x$ac_cv_prog_cxx_$1" != "xno" && break
-+  _AC_COMPILE_IFELSE([], [ac_cv_prog_cxx_cxx$1=$ac_arg])
-+  test "x$ac_cv_prog_cxx_cxx$1" != "xno" && break
- done
- rm -f conftest.$ac_ext
--CXX=$ac_save_CXX
--])# AC_CACHE_VAL
--ac_prog_cxx_stdcxx_options=
--AS_CASE(["x$ac_cv_prog_cxx_$1"],
--  [x],   [AC_MSG_RESULT([none needed])],
--  [xno], [AC_MSG_RESULT([unsupported])],
--   [ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_$1"
--    CXX=$CXX$ac_prog_cxx_stdcxx_options
--    AC_MSG_RESULT([$ac_cv_prog_cxx_$1])])
--AS_IF([test "x$ac_cv_prog_cxx_$1" != xno], [$4], [$5])
--])# _AC_CXX_STD_TRY
--
--# _AC_PROG_CXX_CXX98 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
--# -------------------------------------------------------------------
--# If the C++ compiler is not in ISO C++98 mode by default, try to add
--# an option to output variable CXX to make it so.
--AC_DEFUN([_AC_PROG_CXX_CXX98],
--[AC_REQUIRE([_AC_CXX_CXX98_TEST_PROGRAM])]dnl
--[_AC_CXX_STD_TRY([cxx98], [ac_cxx_conftest_cxx98_program],
--dnl Try
--dnl GCC               -std=gnu++98 (unused restrictive mode: -std=c++98)
--dnl IBM XL C  -qlanglvl=extended
--dnl HP aC++   -AA
--dnl Intel ICC -std=gnu++98
--dnl Solaris   N/A (default)
--dnl Tru64     N/A (default, but -std gnu could be used)
--dnl with extended modes being tried first.
--[[-std=gnu++98 -std=c++98 -qlanglvl=extended -AA]], [$1], [$2])[]dnl
--])# _AC_PROG_CXX_CXX98
--
--# _AC_PROG_CXX_CXX11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
--# -------------------------------------------------------------------
--# If the C++ compiler is not in ISO CXX11 mode by default, try to add
--# an option to output variable CXX to make it so.
--AC_DEFUN([_AC_PROG_CXX_CXX11],
--[AC_REQUIRE([_AC_CXX_CXX11_TEST_PROGRAM])]dnl
--[_AC_CXX_STD_TRY([cxx11], [ac_cxx_conftest_cxx11_program],
--dnl Try
--dnl GCC               -std=gnu++11 (unused restrictive mode: -std=c++11) [and 0x variants]
--dnl IBM XL C  -qlanglvl=extended0x
--dnl           (pre-V12.1; unused restrictive mode: -qlanglvl=stdcxx11)
--dnl HP aC++   -AA
--dnl Intel ICC -std=c++11 -std=c++0x
--dnl Solaris   N/A (no support)
--dnl Tru64     N/A (no support)
--dnl with extended modes being tried first.
--[[-std=gnu++11 -std=c++11 -std=gnu++0x -std=c++0x -qlanglvl=extended0x -AA]], [$1], [$2])[]dnl
--])# _AC_PROG_CXX_CXX11
-+CXX=$ac_save_CXX])
-+AS_IF([test "x$ac_cv_prog_cxx_cxx$1" = xno],
-+  [AC_MSG_RESULT([unsupported])],
-+  [AS_IF([test "x$ac_cv_prog_cxx_cxx$1" = x],
-+    [AC_MSG_RESULT([none needed])],
-+    [AC_MSG_RESULT([$ac_cv_prog_cxx_cxx$1])
-+     CXX="$CXX $ac_cv_prog_cxx_cxx$1"])
-+  ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx$1
-+  ac_prog_cxx_stdcxx=cxx$1])])
-+])
-+
-+# _AC_PROG_CXX_STDCXX_EDITION
-+# ---------------------------
-+# Detect the most recent edition of the ISO C++ standard that is
-+# supported by the C++ compiler.  Add command-line options to $CXX,
-+# if necessary, to enable support for this edition.  Set the shell
-+# variable ac_prog_cxx_stdcxx to indicate the edition.
-+AC_DEFUN([_AC_PROG_CXX_STDCXX_EDITION],
-+[ac_prog_cxx_stdcxx=no
-+m4_map([_AC_PROG_CXX_STDCXX_EDITION_TRY], [[11], [98]])])
-diff --git a/tests/data/ax_prog_cc_for_build_v18.m4 b/tests/data/ax_prog_cc_for_build_v18.m4
-new file mode 100644
-index 00000000..f7410d74
---- /dev/null
-+++ b/tests/data/ax_prog_cc_for_build_v18.m4
-@@ -0,0 +1,139 @@
-+# ===========================================================================
-+#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+#   This macro searches for a C compiler that generates native executables,
-+#   that is a C compiler that surely is not a cross-compiler. This can be
-+#   useful if you have to generate source code at compile-time like for
-+#   example GCC does.
-+#
-+#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+#   The value of these variables can be overridden by the user by specifying
-+#   a compiler with an environment variable (like you do for standard CC).
-+#
-+#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+#   substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+#   Copying and distribution of this file, with or without modification, are
-+#   permitted in any medium without royalty provided the copyright notice
-+#   and this notice are preserved. This file is offered as-is, without any
-+#   warranty.
-+
-+#serial 18
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-+
-+cross_compiling_build=no
-+
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"],      [ac_build_tool_prefix="$build-"],
-+      [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
-+AC_PROG_CC
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
-+AC_PROG_CPP
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([OBJEXT])dnl
-+popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([GCC])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/tests/data/ax_prog_cxx_for_build_v3.m4 b/tests/data/ax_prog_cxx_for_build_v3.m4
-new file mode 100644
-index 00000000..17c19a89
---- /dev/null
-+++ b/tests/data/ax_prog_cxx_for_build_v3.m4
-@@ -0,0 +1,110 @@
-+# ===========================================================================
-+#  https://www.gnu.org/software/autoconf-archive/ax_prog_cxx_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_PROG_CXX_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+#   This macro searches for a C++ compiler that generates native
-+#   executables, that is a C++ compiler that surely is not a cross-compiler.
-+#   This can be useful if you have to generate source code at compile-time
-+#   like for example GCC does.
-+#
-+#   The macro sets the CXX_FOR_BUILD and CXXCPP_FOR_BUILD macros to anything
-+#   needed to compile or link (CXX_FOR_BUILD) and preprocess
-+#   (CXXCPP_FOR_BUILD). The value of these variables can be overridden by
-+#   the user by specifying a compiler with an environment variable (like you
-+#   do for standard CXX).
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#   Copyright (c) 2012 Avionic Design GmbH
-+#
-+#   Based on the AX_PROG_CC_FOR_BUILD macro by Paolo Bonzini.
-+#
-+#   Copying and distribution of this file, with or without modification, are
-+#   permitted in any medium without royalty provided the copyright notice
-+#   and this notice are preserved. This file is offered as-is, without any
-+#   warranty.
-+
-+#serial 3
-+
-+AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl
-+AC_REQUIRE([AX_PROG_CC_FOR_BUILD])dnl
-+AC_REQUIRE([AC_PROG_CXX])dnl
-+AC_REQUIRE([AC_PROG_CXXCPP])dnl
-+AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CXXCPP], ac_cv_build_prog_CXXCPP)dnl
-+pushdef([ac_cv_prog_gxx], ac_cv_build_prog_gxx)dnl
-+pushdef([ac_cv_prog_cxx_works], ac_cv_build_prog_cxx_works)dnl
-+pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl
-+pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl
-+pushdef([CXX], CXX_FOR_BUILD)dnl
-+pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl
-+pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl
-+pushdef([ac_compile], ac_build_compile)dnl
-+pushdef([ac_link], ac_build_link)dnl
-+
-+save_cross_compiling=$cross_compiling
-+save_ac_tool_prefix=$ac_tool_prefix
-+cross_compiling=no
-+ac_tool_prefix=
-+
-+AC_PROG_CXX
-+AC_PROG_CXXCPP
-+
-+ac_tool_prefix=$save_ac_tool_prefix
-+cross_compiling=$save_cross_compiling
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([ac_link])dnl
-+popdef([ac_compile])dnl
-+popdef([ac_cxxcpp])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([CXXCPPFLAGS])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CXXFLAGS])dnl
-+popdef([CXXCPP])dnl
-+popdef([CXX])dnl
-+popdef([ac_cv_prog_cxx_g])dnl
-+popdef([ac_cv_prog_cxx_cross])dnl
-+popdef([ac_cv_prog_cxx_works])dnl
-+popdef([ac_cv_prog_gxx])dnl
-+popdef([ac_cv_prog_CXXCPP])dnl
-+
-+dnl Finally, set Makefile variables
-+dnl
-+AC_SUBST([CXXFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CXXCPPFLAGS_FOR_BUILD])dnl
-+])
-diff --git a/tests/data/gnulib_std_gnu11_2020_08_17.m4 b/tests/data/gnulib_std_gnu11_2020_08_17.m4
-new file mode 100644
-index 00000000..db833d82
---- /dev/null
-+++ b/tests/data/gnulib_std_gnu11_2020_08_17.m4
-@@ -0,0 +1,824 @@
-+# Prefer GNU C11 and C++11 to earlier versions.  -*- coding: utf-8 -*-
-+
-+# This implementation is taken from GNU Autoconf lib/autoconf/c.m4
-+# commit 017d5ddd82854911f0119691d91ea8a1438824d6
-+# dated Sun Apr 3 13:57:17 2016 -0700
-+# This implementation will be obsolete once we can assume Autoconf 2.70
-+# or later is installed everywhere a Gnulib program might be developed.
-+
-+
-+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation, either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
-+
-+# Written by David MacKenzie, with help from
-+# Akim Demaille, Paul Eggert,
-+# François Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor,
-+# Roland McGrath, Noah Friedman, david d zuhn, and many others.
-+
-+
-+# AC_PROG_CC([COMPILER ...])
-+# --------------------------
-+# COMPILER ... is a space separated list of C compilers to search for.
-+# This just gives the user an opportunity to specify an alternative
-+# search list for the C compiler.
-+AC_DEFUN_ONCE([AC_PROG_CC],
-+[AC_LANG_PUSH(C)dnl
-+AC_ARG_VAR([CC],     [C compiler command])dnl
-+AC_ARG_VAR([CFLAGS], [C compiler flags])dnl
-+_AC_ARG_VAR_LDFLAGS()dnl
-+_AC_ARG_VAR_LIBS()dnl
-+_AC_ARG_VAR_CPPFLAGS()dnl
-+m4_ifval([$1],
-+      [AC_CHECK_TOOLS(CC, [$1])],
-+[AC_CHECK_TOOL(CC, gcc)
-+if test -z "$CC"; then
-+  dnl Here we want:
-+  dnl AC_CHECK_TOOL(CC, cc)
-+  dnl but without the check for a tool without the prefix.
-+  dnl Until the check is removed from there, copy the code:
-+  if test -n "$ac_tool_prefix"; then
-+    AC_CHECK_PROG(CC, [${ac_tool_prefix}cc], [${ac_tool_prefix}cc])
-+  fi
-+fi
-+if test -z "$CC"; then
-+  AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
-+fi
-+if test -z "$CC"; then
-+  AC_CHECK_TOOLS(CC, cl.exe)
-+fi
-+if test -z "$CC"; then
-+  AC_CHECK_TOOL(CC, clang)
-+fi
-+])
-+
-+test -z "$CC" && AC_MSG_FAILURE([no acceptable C compiler found in \$PATH])
-+
-+# Provide some information about the compiler.
-+_AS_ECHO_LOG([checking for _AC_LANG compiler version])
-+set X $ac_compile
-+ac_compiler=$[2]
-+for ac_option in --version -v -V -qversion -version; do
-+  _AC_DO_LIMIT([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD])
-+done
-+
-+m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
-+m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
-+_AC_LANG_COMPILER_GNU
-+if test $ac_compiler_gnu = yes; then
-+  GCC=yes
-+else
-+  GCC=
-+fi
-+_AC_PROG_CC_G
-+dnl
-+dnl Set ac_prog_cc_stdc to the supported C version.
-+dnl Also set the documented variable ac_cv_prog_cc_stdc;
-+dnl its name was chosen when it was cached, but it is no longer cached.
-+_AC_PROG_CC_C11([ac_prog_cc_stdc=c11
-+               ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11],
-+  [_AC_PROG_CC_C99([ac_prog_cc_stdc=c99
-+                  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99],
-+     [_AC_PROG_CC_C89([ac_prog_cc_stdc=c89
-+                     ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89],
-+                    [ac_prog_cc_stdc=no
-+                     ac_cv_prog_cc_stdc=no])])])
-+dnl
-+AC_LANG_POP(C)dnl
-+])# AC_PROG_CC
-+
-+
-+
-+# AC_PROG_CXX([LIST-OF-COMPILERS])
-+# --------------------------------
-+# LIST-OF-COMPILERS is a space separated list of C++ compilers to search
-+# for (if not specified, a default list is used).  This just gives the
-+# user an opportunity to specify an alternative search list for the C++
-+# compiler.
-+# aCC HP-UX C++ compiler much better than `CC', so test before.
-+# FCC   Fujitsu C++ compiler
-+# KCC KAI C++ compiler
-+# RCC Rational C++
-+# xlC_r       AIX C Set++ (with support for reentrant code)
-+# xlC AIX C Set++
-+AC_DEFUN([AC_PROG_CXX],
-+[AC_LANG_PUSH(C++)dnl
-+AC_ARG_VAR([CXX],      [C++ compiler command])dnl
-+AC_ARG_VAR([CXXFLAGS], [C++ compiler flags])dnl
-+_AC_ARG_VAR_LDFLAGS()dnl
-+_AC_ARG_VAR_LIBS()dnl
-+_AC_ARG_VAR_CPPFLAGS()dnl
-+_AC_ARG_VAR_PRECIOUS([CCC])dnl
-+if test -z "$CXX"; then
-+  if test -n "$CCC"; then
-+    CXX=$CCC
-+  else
-+    AC_CHECK_TOOLS(CXX,
-+                 [m4_default([$1],
-+                             [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++])],
-+                 g++)
-+  fi
-+fi
-+# Provide some information about the compiler.
-+_AS_ECHO_LOG([checking for _AC_LANG compiler version])
-+set X $ac_compile
-+ac_compiler=$[2]
-+for ac_option in --version -v -V -qversion; do
-+  _AC_DO_LIMIT([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD])
-+done
-+
-+m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
-+m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
-+_AC_LANG_COMPILER_GNU
-+if test $ac_compiler_gnu = yes; then
-+  GXX=yes
-+else
-+  GXX=
-+fi
-+_AC_PROG_CXX_G
-+_AC_PROG_CXX_CXX11([ac_prog_cxx_stdcxx=cxx11
-+                  ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
-+                  ac_cv_prog_cxx_cxx98=$ac_cv_prog_cxx_cxx11],
-+   [_AC_PROG_CXX_CXX98([ac_prog_cxx_stdcxx=cxx98
-+                      ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98],
-+                     [ac_prog_cxx_stdcxx=no
-+                      ac_cv_prog_cxx_stdcxx=no])])
-+AC_LANG_POP(C++)dnl
-+])# AC_PROG_CXX
-+
-+
-+# _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
-+#             ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
-+# --------------------------------------------------------------
-+# Check whether the C compiler accepts features of STANDARD (e.g `c89', `c99')
-+# by trying to compile a program of TEST-PROLOGUE and TEST-BODY.  If this fails,
-+# try again with each compiler option in the space-separated OPTION-LIST; if one
-+# helps, append it to CC.  If eventually successful, run ACTION-IF-AVAILABLE,
-+# else ACTION-IF-UNAVAILABLE.
-+AC_DEFUN([_AC_C_STD_TRY],
-+[AC_MSG_CHECKING([for $CC option to enable ]m4_translit($1, [c], [C])[ features])
-+AC_CACHE_VAL(ac_cv_prog_cc_$1,
-+[ac_cv_prog_cc_$1=no
-+ac_save_CC=$CC
-+AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])])
-+for ac_arg in '' $4
-+do
-+  CC="$ac_save_CC $ac_arg"
-+  _AC_COMPILE_IFELSE([], [ac_cv_prog_cc_$1=$ac_arg])
-+  test "x$ac_cv_prog_cc_$1" != "xno" && break
-+done
-+rm -f conftest.$ac_ext
-+CC=$ac_save_CC
-+])# AC_CACHE_VAL
-+ac_prog_cc_stdc_options=
-+case "x$ac_cv_prog_cc_$1" in
-+  x)
-+    AC_MSG_RESULT([none needed]) ;;
-+  xno)
-+    AC_MSG_RESULT([unsupported]) ;;
-+  *)
-+    ac_prog_cc_stdc_options=" $ac_cv_prog_cc_$1"
-+    CC=$CC$ac_prog_cc_stdc_options
-+    AC_MSG_RESULT([$ac_cv_prog_cc_$1]) ;;
-+esac
-+AS_IF([test "x$ac_cv_prog_cc_$1" != xno], [$5], [$6])
-+])# _AC_C_STD_TRY
-+
-+# _AC_C_C99_TEST_HEADER
-+# ---------------------
-+# A C header suitable for testing for C99.
-+AC_DEFUN([_AC_C_C99_TEST_HEADER],
-+[[#include <stdarg.h>
-+#include <stdbool.h>
-+#include <stddef.h>
-+#include <stdlib.h>
-+#include <wchar.h>
-+#include <stdio.h>
-+
-+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
-+#define debug(...) fprintf (stderr, __VA_ARGS__)
-+#define showlist(...) puts (#__VA_ARGS__)
-+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-+static void
-+test_varargs_macros (void)
-+{
-+  int x = 1234;
-+  int y = 5678;
-+  debug ("Flag");
-+  debug ("X = %d\n", x);
-+  showlist (The first, second, and third items.);
-+  report (x>y, "x is %d but y is %d", x, y);
-+}
-+
-+// Check long long types.
-+#define BIG64 18446744073709551615ull
-+#define BIG32 4294967295ul
-+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-+#if !BIG_OK
-+  your preprocessor is broken;
-+#endif
-+#if BIG_OK
-+#else
-+  your preprocessor is broken;
-+#endif
-+static long long int bignum = -9223372036854775807LL;
-+static unsigned long long int ubignum = BIG64;
-+
-+struct incomplete_array
-+{
-+  int datasize;
-+  double data[];
-+};
-+
-+struct named_init {
-+  int number;
-+  const wchar_t *name;
-+  double average;
-+};
-+
-+typedef const char *ccp;
-+
-+static inline int
-+test_restrict (ccp restrict text)
-+{
-+  // See if C++-style comments work.
-+  // Iterate through items via the restricted pointer.
-+  // Also check for declarations in for loops.
-+  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
-+    continue;
-+  return 0;
-+}
-+
-+// Check varargs and va_copy.
-+static bool
-+test_varargs (const char *format, ...)
-+{
-+  va_list args;
-+  va_start (args, format);
-+  va_list args_copy;
-+  va_copy (args_copy, args);
-+
-+  const char *str = "";
-+  int number = 0;
-+  float fnumber = 0;
-+
-+  while (*format)
-+    {
-+      switch (*format++)
-+      {
-+      case 's': // string
-+        str = va_arg (args_copy, const char *);
-+        break;
-+      case 'd': // int
-+        number = va_arg (args_copy, int);
-+        break;
-+      case 'f': // float
-+        fnumber = va_arg (args_copy, double);
-+        break;
-+      default:
-+        break;
-+      }
-+    }
-+  va_end (args_copy);
-+  va_end (args);
-+
-+  return *str && number && fnumber;
-+}]])# _AC_C_C99_TEST_HEADER
-+
-+# _AC_C_C99_TEST_BODY
-+# -------------------
-+# A C body suitable for testing for C99, assuming the corresponding header.
-+AC_DEFUN([_AC_C_C99_TEST_BODY],
-+[[
-+  // Check bool.
-+  _Bool success = false;
-+
-+  // Check restrict.
-+  if (test_restrict ("String literal") == 0)
-+    success = true;
-+  char *restrict newvar = "Another string";
-+
-+  // Check varargs.
-+  success &= test_varargs ("s, d' f .", "string", 65, 34.234);
-+  test_varargs_macros ();
-+
-+  // Check flexible array members.
-+  struct incomplete_array *ia =
-+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
-+  ia->datasize = 10;
-+  for (int i = 0; i < ia->datasize; ++i)
-+    ia->data[i] = i * 1.234;
-+
-+  // Check named initializers.
-+  struct named_init ni = {
-+    .number = 34,
-+    .name = L"Test wide string",
-+    .average = 543.34343,
-+  };
-+
-+  ni.number = 58;
-+
-+  int dynamic_array[ni.number];
-+  dynamic_array[ni.number - 1] = 543;
-+
-+  // work around unused variable warnings
-+  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
-+        || dynamic_array[ni.number - 1] != 543);
-+]])
-+
-+# _AC_PROG_CC_C99 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
-+# ----------------------------------------------------------------
-+# If the C compiler is not in ISO C99 mode by default, try to add an
-+# option to output variable CC to make it so.  This macro tries
-+# various options that select ISO C99 on some system or another.  It
-+# considers the compiler to be in ISO C99 mode if it handles _Bool,
-+# // comments, flexible array members, inline, long long int, mixed
-+# code and declarations, named initialization of structs, restrict,
-+# va_copy, varargs macros, variable declarations in for loops and
-+# variable length arrays.
-+AC_DEFUN([_AC_PROG_CC_C99],
-+[_AC_C_STD_TRY([c99],
-+[_AC_C_C99_TEST_HEADER],
-+[_AC_C_C99_TEST_BODY],
-+dnl Try
-+dnl GCC               -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999)
-+dnl IBM XL C  -qlanglvl=extc1x (V12.1; does not pass C11 test)
-+dnl IBM XL C  -qlanglvl=extc99
-+dnl           (pre-V12.1; unused restrictive mode: -qlanglvl=stdc99)
-+dnl HP cc     -AC99
-+dnl Intel ICC -std=c99, -c99 (deprecated)
-+dnl IRIX      -c99
-+dnl Solaris   -D_STDC_C99=
-+dnl           cc's -xc99 option uses linker magic to define the external
-+dnl           symbol __xpg4 as if by "int __xpg4 = 1;", which enables C99
-+dnl           behavior for C library functions.  This is not wanted here,
-+dnl           because it means that a single module compiled with -xc99
-+dnl           alters C runtime behavior for the entire program, not for
-+dnl           just the module.  Instead, define the (private) symbol
-+dnl           _STDC_C99, which suppresses a bogus failure in <stdbool.h>.
-+dnl           The resulting compiler passes the test case here, and that's
-+dnl           good enough.  For more, please see the thread starting at:
-+dnl            https://lists.gnu.org/r/autoconf/2010-12/msg00059.html
-+dnl Tru64     -c99
-+dnl with extended modes being tried first.
-+[[-std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99]], [$1], [$2])[]dnl
-+])# _AC_PROG_CC_C99
-+
-+
-+# _AC_PROG_CC_C11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
-+# ----------------------------------------------------------------
-+# If the C compiler is not in ISO C11 mode by default, try to add an
-+# option to output variable CC to make it so.  This macro tries
-+# various options that select ISO C11 on some system or another.  It
-+# considers the compiler to be in ISO C11 mode if it handles _Alignas,
-+# _Alignof, _Noreturn, _Static_assert, UTF-8 string literals,
-+# duplicate typedefs, and anonymous structures and unions.
-+AC_DEFUN([_AC_PROG_CC_C11],
-+[_AC_C_STD_TRY([c11],
-+[_AC_C_C99_TEST_HEADER[
-+// Check _Alignas.
-+char _Alignas (double) aligned_as_double;
-+char _Alignas (0) no_special_alignment;
-+extern char aligned_as_int;
-+char _Alignas (0) _Alignas (int) aligned_as_int;
-+
-+// Check _Alignof.
-+enum
-+{
-+  int_alignment = _Alignof (int),
-+  int_array_alignment = _Alignof (int[100]),
-+  char_alignment = _Alignof (char)
-+};
-+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
-+
-+// Check _Noreturn.
-+int _Noreturn does_not_return (void) { for (;;) continue; }
-+
-+// Check _Static_assert.
-+struct test_static_assert
-+{
-+  int x;
-+  _Static_assert (sizeof (int) <= sizeof (long int),
-+                  "_Static_assert does not work in struct");
-+  long int y;
-+};
-+
-+// Check UTF-8 literals.
-+#define u8 syntax error!
-+char const utf8_literal[] = u8"happens to be ASCII" "another string";
-+
-+// Check duplicate typedefs.
-+typedef long *long_ptr;
-+typedef long int *long_ptr;
-+typedef long_ptr long_ptr;
-+
-+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
-+struct anonymous
-+{
-+  union {
-+    struct { int i; int j; };
-+    struct { int k; long int l; } w;
-+  };
-+  int m;
-+} v1;
-+]],
-+[_AC_C_C99_TEST_BODY[
-+  v1.i = 2;
-+  v1.w.k = 5;
-+  _Static_assert ((offsetof (struct anonymous, i)
-+                 == offsetof (struct anonymous, w.k)),
-+                "Anonymous union alignment botch");
-+]],
-+dnl Try
-+dnl GCC               -std=gnu11 (unused restrictive mode: -std=c11)
-+dnl with extended modes being tried first.
-+dnl
-+dnl Do not try -qlanglvl=extc1x, because IBM XL C V12.1 (the latest version as
-+dnl of September 2012) does not pass the C11 test.  For now, try extc1x when
-+dnl compiling the C99 test instead, since it enables _Static_assert and
-+dnl _Noreturn, which is a win.  If -qlanglvl=extc11 or -qlanglvl=extc1x passes
-+dnl the C11 test in some future version of IBM XL C, we'll add it here,
-+dnl preferably extc11.
-+[[-std=gnu11]], [$1], [$2])[]dnl
-+])# _AC_PROG_CC_C11
-+
-+
-+# AC_PROG_CC_C89
-+# --------------
-+# Do not use AU_ALIAS here and in AC_PROG_CC_C99 and AC_PROG_CC_STDC,
-+# as that'd be incompatible with how Automake redefines AC_PROG_CC.  See
-+# <https://lists.gnu.org/r/autoconf/2012-10/msg00048.html>.
-+AU_DEFUN([AC_PROG_CC_C89],
-+  [AC_REQUIRE([AC_PROG_CC])],
-+  [$0 is obsolete; use AC_PROG_CC]
-+)
-+
-+# AC_PROG_CC_C99
-+# --------------
-+AU_DEFUN([AC_PROG_CC_C99],
-+  [AC_REQUIRE([AC_PROG_CC])],
-+  [$0 is obsolete; use AC_PROG_CC]
-+)
-+
-+# AC_PROG_CC_STDC
-+# ---------------
-+AU_DEFUN([AC_PROG_CC_STDC],
-+  [AC_REQUIRE([AC_PROG_CC])],
-+  [$0 is obsolete; use AC_PROG_CC]
-+)
-+
-+
-+# AC_C_PROTOTYPES
-+# ---------------
-+# Check if the C compiler supports prototypes, included if it needs
-+# options.
-+AC_DEFUN([AC_C_PROTOTYPES],
-+[AC_REQUIRE([AC_PROG_CC])dnl
-+if test "$ac_prog_cc_stdc" != no; then
-+  AC_DEFINE(PROTOTYPES, 1,
-+          [Define to 1 if the C compiler supports function prototypes.])
-+  AC_DEFINE(__PROTOTYPES, 1,
-+          [Define like PROTOTYPES; this can be used by system headers.])
-+fi
-+])# AC_C_PROTOTYPES
-+
-+
-+# _AC_CXX_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
-+#               ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
-+# ----------------------------------------------------------------
-+# Check whether the C++ compiler accepts features of STANDARD (e.g
-+# `cxx98', `cxx11') by trying to compile a program of TEST-PROLOGUE
-+# and TEST-BODY.  If this fails, try again with each compiler option
-+# in the space-separated OPTION-LIST; if one helps, append it to CXX.
-+# If eventually successful, run ACTION-IF-AVAILABLE, else
-+# ACTION-IF-UNAVAILABLE.
-+AC_DEFUN([_AC_CXX_STD_TRY],
-+[AC_MSG_CHECKING([for $CXX option to enable ]m4_translit(m4_translit($1, [x], [+]), [a-z], [A-Z])[ features])
-+AC_LANG_PUSH(C++)dnl
-+AC_CACHE_VAL(ac_cv_prog_cxx_$1,
-+[ac_cv_prog_cxx_$1=no
-+ac_save_CXX=$CXX
-+AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])])
-+for ac_arg in '' $4
-+do
-+  CXX="$ac_save_CXX $ac_arg"
-+  _AC_COMPILE_IFELSE([], [ac_cv_prog_cxx_$1=$ac_arg])
-+  test "x$ac_cv_prog_cxx_$1" != "xno" && break
-+done
-+rm -f conftest.$ac_ext
-+CXX=$ac_save_CXX
-+])# AC_CACHE_VAL
-+ac_prog_cxx_stdcxx_options=
-+case "x$ac_cv_prog_cxx_$1" in
-+  x)
-+    AC_MSG_RESULT([none needed]) ;;
-+  xno)
-+    AC_MSG_RESULT([unsupported]) ;;
-+  *)
-+    ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_$1"
-+    CXX=$CXX$ac_prog_cxx_stdcxx_options
-+    AC_MSG_RESULT([$ac_cv_prog_cxx_$1]) ;;
-+esac
-+AC_LANG_POP(C++)dnl
-+AS_IF([test "x$ac_cv_prog_cxx_$1" != xno], [$5], [$6])
-+])# _AC_CXX_STD_TRY
-+
-+# _AC_CXX_CXX98_TEST_HEADER
-+# -------------------------
-+# A C++ header suitable for testing for CXX98.
-+AC_DEFUN([_AC_CXX_CXX98_TEST_HEADER],
-+[[
-+#include <algorithm>
-+#include <cstdlib>
-+#include <fstream>
-+#include <iomanip>
-+#include <iostream>
-+#include <list>
-+#include <map>
-+#include <set>
-+#include <sstream>
-+#include <stdexcept>
-+#include <string>
-+#include <utility>
-+#include <vector>
-+
-+namespace test {
-+  typedef std::vector<std::string> string_vec;
-+  typedef std::pair<int,bool> map_value;
-+  typedef std::map<std::string,map_value> map_type;
-+  typedef std::set<int> set_type;
-+
-+  template<typename T>
-+  class printer {
-+  public:
-+    printer(std::ostringstream& os): os(os) {}
-+    void operator() (T elem) { os << elem << std::endl; }
-+  private:
-+    std::ostringstream& os;
-+  };
-+}
-+]])# _AC_CXX_CXX98_TEST_HEADER
-+
-+# _AC_CXX_CXX98_TEST_BODY
-+# -----------------------
-+# A C++ body suitable for testing for CXX98, assuming the corresponding header.
-+AC_DEFUN([_AC_CXX_CXX98_TEST_BODY],
-+[[
-+
-+try {
-+  // Basic string.
-+  std::string teststr("ASCII text");
-+  teststr += " string";
-+
-+  // Simple vector.
-+  test::string_vec testvec;
-+  testvec.push_back(teststr);
-+  testvec.push_back("foo");
-+  testvec.push_back("bar");
-+  if (testvec.size() != 3) {
-+    throw std::runtime_error("vector size is not 1");
-+  }
-+
-+  // Dump vector into stringstream and obtain string.
-+  std::ostringstream os;
-+  for (test::string_vec::const_iterator i = testvec.begin();
-+       i != testvec.end(); ++i) {
-+    if (i + 1 != testvec.end()) {
-+      os << teststr << '\n';
-+    }
-+  }
-+  // Check algorithms work.
-+  std::for_each(testvec.begin(), testvec.end(), test::printer<std::string>(os));
-+  std::string os_out = os.str();
-+
-+  // Test pair and map.
-+  test::map_type testmap;
-+  testmap.insert(std::make_pair(std::string("key"),
-+                                std::make_pair(53,false)));
-+
-+  // Test set.
-+  int values[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
-+  test::set_type testset(values, values + sizeof(values)/sizeof(values[0]));
-+  std::list<int> testlist(testset.begin(), testset.end());
-+  std::copy(testset.begin(), testset.end(), std::back_inserter(testlist));
-+} catch (const std::exception& e) {
-+  std::cerr << "Caught exception: " << e.what() << std::endl;
-+
-+  // Test fstream
-+  std::ofstream of("test.txt");
-+  of << "Test ASCII text\n" << std::flush;
-+  of << "N= " << std::hex << std::setw(8) << std::left << 534 << std::endl;
-+  of.close();
-+}
-+std::exit(0);
-+]])
-+
-+# _AC_CXX_CXX11_TEST_HEADER
-+# -------------------------
-+# A C++ header suitable for testing for CXX11.
-+AC_DEFUN([_AC_CXX_CXX11_TEST_HEADER],
-+[[
-+#include <deque>
-+#include <functional>
-+#include <memory>
-+#include <tuple>
-+#include <array>
-+#include <regex>
-+#include <iostream>
-+
-+namespace cxx11test
-+{
-+  typedef std::shared_ptr<std::string> sptr;
-+  typedef std::weak_ptr<std::string> wptr;
-+
-+  typedef std::tuple<std::string,int,double> tp;
-+  typedef std::array<int, 20> int_array;
-+
-+  constexpr int get_val() { return 20; }
-+
-+  struct testinit
-+  {
-+    int i;
-+    double d;
-+  };
-+
-+  class delegate  {
-+  public:
-+    delegate(int n) : n(n) {}
-+    delegate(): delegate(2354) {}
-+
-+    virtual int getval() { return this->n; };
-+  protected:
-+    int n;
-+  };
-+
-+  class overridden : public delegate {
-+  public:
-+    overridden(int n): delegate(n) {}
-+    virtual int getval() override final { return this->n * 2; }
-+  };
-+
-+  class nocopy {
-+  public:
-+    nocopy(int i): i(i) {}
-+    nocopy() = default;
-+    nocopy(const nocopy&) = delete;
-+    nocopy & operator=(const nocopy&) = delete;
-+  private:
-+    int i;
-+  };
-+}
-+]])# _AC_CXX_CXX11_TEST_HEADER
-+
-+# _AC_CXX_CXX11_TEST_BODY
-+# -----------------------
-+# A C++ body suitable for testing for CXX11, assuming the corresponding header.
-+AC_DEFUN([_AC_CXX_CXX11_TEST_BODY],
-+[[
-+{
-+  // Test auto and decltype
-+  std::deque<int> d;
-+  d.push_front(43);
-+  d.push_front(484);
-+  d.push_front(3);
-+  d.push_front(844);
-+  int total = 0;
-+  for (auto i = d.begin(); i != d.end(); ++i) { total += *i; }
-+
-+  auto a1 = 6538;
-+  auto a2 = 48573953.4;
-+  auto a3 = "String literal";
-+
-+  decltype(a2) a4 = 34895.034;
-+}
-+{
-+  // Test constexpr
-+  short sa[cxx11test::get_val()] = { 0 };
-+}
-+{
-+  // Test initializer lists
-+  cxx11test::testinit il = { 4323, 435234.23544 };
-+}
-+{
-+  // Test range-based for and lambda
-+  cxx11test::int_array array = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
-+  for (int &x : array) { x += 23; }
-+  std::for_each(array.begin(), array.end(), [](int v1){ std::cout << v1; });
-+}
-+{
-+  using cxx11test::sptr;
-+  using cxx11test::wptr;
-+
-+  sptr sp(new std::string("ASCII string"));
-+  wptr wp(sp);
-+  sptr sp2(wp);
-+}
-+{
-+  cxx11test::tp tuple("test", 54, 45.53434);
-+  double d = std::get<2>(tuple);
-+  std::string s;
-+  int i;
-+  std::tie(s,i,d) = tuple;
-+}
-+{
-+  static std::regex filename_regex("^_?([a-z0-9_.]+-)+[a-z0-9]+$");
-+  std::string testmatch("Test if this string matches");
-+  bool match = std::regex_search(testmatch, filename_regex);
-+}
-+{
-+  cxx11test::int_array array = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
-+  cxx11test::int_array::size_type size = array.size();
-+}
-+{
-+  // Test constructor delegation
-+  cxx11test::delegate d1;
-+  cxx11test::delegate d2();
-+  cxx11test::delegate d3(45);
-+}
-+{
-+  // Test override and final
-+  cxx11test::overridden o1(55464);
-+}
-+{
-+  // Test nullptr
-+  char *c = nullptr;
-+}
-+{
-+  // Test template brackets
-+  std::vector<std::pair<int,char*>> v1;
-+}
-+{
-+  // Unicode literals
-+  char const *utf8 = u8"UTF-8 string \u2500";
-+  char16_t const *utf16 = u"UTF-8 string \u2500";
-+  char32_t const *utf32 = U"UTF-32 string \u2500";
-+}
-+]])
-+
-+# _AC_PROG_CXX_CXX98 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
-+# -------------------------------------------------------------------
-+
-+# If the C++ compiler is not in ISO C++98 mode by default, try to add
-+# an option to output variable CXX to make it so.  This macro tries
-+# various options that select ISO C++98 on some system or another.  It
-+# considers the compiler to be in ISO C++98 mode if it handles basic
-+# features of the std namespace including: string, containers (list,
-+# map, set, vector), streams (fstreams, iostreams, stringstreams,
-+# iomanip), pair, exceptions and algorithms.
-+
-+
-+AC_DEFUN([_AC_PROG_CXX_CXX98],
-+[_AC_CXX_STD_TRY([cxx98],
-+[_AC_CXX_CXX98_TEST_HEADER],
-+[_AC_CXX_CXX98_TEST_BODY],
-+dnl Try
-+dnl GCC               -std=gnu++98 (unused restrictive mode: -std=c++98)
-+dnl IBM XL C  -qlanglvl=extended
-+dnl HP aC++   -AA
-+dnl Intel ICC -std=gnu++98
-+dnl Solaris   N/A (default)
-+dnl Tru64     N/A (default, but -std gnu could be used)
-+dnl with extended modes being tried first.
-+[[-std=gnu++98 -std=c++98 -qlanglvl=extended -AA]], [$1], [$2])[]dnl
-+])# _AC_PROG_CXX_CXX98
-+
-+# _AC_PROG_CXX_CXX11 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
-+# -------------------------------------------------------------------
-+# If the C++ compiler is not in ISO CXX11 mode by default, try to add
-+# an option to output variable CXX to make it so.  This macro tries
-+# various options that select ISO C++11 on some system or another.  It
-+# considers the compiler to be in ISO C++11 mode if it handles all the
-+# tests from the C++98 checks, plus the following: Language features
-+# (auto, constexpr, decltype, default/deleted constructors, delegate
-+# constructors, final, initializer lists, lambda functions, nullptr,
-+# override, range-based for loops, template brackets without spaces,
-+# unicode literals) and library features (array, memory (shared_ptr,
-+# weak_ptr), regex and tuple types).
-+AC_DEFUN([_AC_PROG_CXX_CXX11],
-+[_AC_CXX_STD_TRY([cxx11],
-+[_AC_CXX_CXX11_TEST_HEADER
-+_AC_CXX_CXX98_TEST_HEADER],
-+[_AC_CXX_CXX11_TEST_BODY
-+_AC_CXX_CXX98_TEST_BODY],
-+dnl Try
-+dnl GCC               -std=gnu++11 (unused restrictive mode: -std=c++11) [and 0x variants]
-+dnl IBM XL C  -qlanglvl=extended0x
-+dnl           (pre-V12.1; unused restrictive mode: -qlanglvl=stdcxx11)
-+dnl HP aC++   -AA
-+dnl Intel ICC -std=c++11 -std=c++0x
-+dnl Solaris   N/A (no support)
-+dnl Tru64     N/A (no support)
-+dnl with extended modes being tried first.
-+[[-std=gnu++11 -std=c++11 -std=gnu++0x -std=c++0x -qlanglvl=extended0x -AA]], [$1], [$2])[]dnl
-+])# _AC_PROG_CXX_CXX11
-diff --git a/tests/foreign.at b/tests/foreign.at
-index f3a53420..50e49efc 100644
---- a/tests/foreign.at
-+++ b/tests/foreign.at
-@@ -153,111 +153,8 @@ cp "$abs_top_srcdir/build-aux/install-sh" \
- # the second time.  Git commit 18c140b50b0619454d4da50d58a318cc257d580a
- # broke this usage and the breakage went unnoticed for *eight years*.
--AT_DATA([aclocal.m4],
--[[# ax_prog_cc_for_build.m4
--# serial 18
--# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
--
--AC_DEFUN([AX_PROG_CC_FOR_BUILD], [
--AC_REQUIRE([AC_PROG_CC])
--AC_REQUIRE([AC_PROG_CPP])
--AC_REQUIRE([AC_CANONICAL_BUILD])
--
--# Use the standard macros, but make them use other variable names
--m4@&t@_pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)
--m4@&t@_pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)
--m4@&t@_pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)
--m4@&t@_pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)
--m4@&t@_pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)
--m4@&t@_pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)
--m4@&t@_pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)
--m4@&t@_pushdef([ac_cv_exeext], ac_cv_build_exeext)
--m4@&t@_pushdef([ac_cv_objext], ac_cv_build_objext)
--m4@&t@_pushdef([ac_exeext], ac_build_exeext)
--m4@&t@_pushdef([ac_objext], ac_build_objext)
--m4@&t@_pushdef([CC], CC_FOR_BUILD)
--m4@&t@_pushdef([CPP], CPP_FOR_BUILD)
--m4@&t@_pushdef([GCC], GCC_FOR_BUILD)
--m4@&t@_pushdef([CFLAGS], CFLAGS_FOR_BUILD)
--m4@&t@_pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)
--m4@&t@_pushdef([EXEEXT], BUILD_EXEEXT)
--m4@&t@_pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)
--m4@&t@_pushdef([OBJEXT], BUILD_OBJEXT)
--m4@&t@_pushdef([host], build)
--m4@&t@_pushdef([host_alias], build_alias)
--m4@&t@_pushdef([host_cpu], build_cpu)
--m4@&t@_pushdef([host_vendor], build_vendor)
--m4@&t@_pushdef([host_os], build_os)
--m4@&t@_pushdef([ac_cv_host], ac_cv_build)
--m4@&t@_pushdef([ac_cv_host_alias], ac_cv_build_alias)
--m4@&t@_pushdef([ac_cv_host_cpu], ac_cv_build_cpu)
--m4@&t@_pushdef([ac_cv_host_vendor], ac_cv_build_vendor)
--m4@&t@_pushdef([ac_cv_host_os], ac_cv_build_os)
--m4@&t@_pushdef([ac_tool_prefix], ac_build_tool_prefix)
--m4@&t@_pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)
--m4@&t@_pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)
--m4@&t@_pushdef([cross_compiling], cross_compiling_build)
--
--cross_compiling_build=no
--
--ac_build_tool_prefix=
--AS@&t@_IF([test -n "$build"],      [ac_build_tool_prefix="$build-"],
--          [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
--
--AC_LANG_PUSH([C])
--AC_PROG_CC
--_AC_COMPILER_EXEEXT
--_AC_COMPILER_OBJEXT
--AC_PROG_CPP
--
--# Restore the old definitions
--m4@&t@_popdef([cross_compiling])
--m4@&t@_popdef([am_cv_prog_cc_c_o])
--m4@&t@_popdef([am_cv_CC_dependencies_compiler_type])
--m4@&t@_popdef([ac_tool_prefix])
--m4@&t@_popdef([ac_cv_host_os])
--m4@&t@_popdef([ac_cv_host_vendor])
--m4@&t@_popdef([ac_cv_host_cpu])
--m4@&t@_popdef([ac_cv_host_alias])
--m4@&t@_popdef([ac_cv_host])
--m4@&t@_popdef([host_os])
--m4@&t@_popdef([host_vendor])
--m4@&t@_popdef([host_cpu])
--m4@&t@_popdef([host_alias])
--m4@&t@_popdef([host])
--m4@&t@_popdef([OBJEXT])
--m4@&t@_popdef([LDFLAGS])
--m4@&t@_popdef([EXEEXT])
--m4@&t@_popdef([CPPFLAGS])
--m4@&t@_popdef([CFLAGS])
--m4@&t@_popdef([GCC])
--m4@&t@_popdef([CPP])
--m4@&t@_popdef([CC])
--m4@&t@_popdef([ac_objext])
--m4@&t@_popdef([ac_exeext])
--m4@&t@_popdef([ac_cv_objext])
--m4@&t@_popdef([ac_cv_exeext])
--m4@&t@_popdef([ac_cv_c_compiler_gnu])
--m4@&t@_popdef([ac_cv_prog_cc_g])
--m4@&t@_popdef([ac_cv_prog_cc_cross])
--m4@&t@_popdef([ac_cv_prog_cc_works])
--m4@&t@_popdef([ac_cv_prog_cc_c89])
--m4@&t@_popdef([ac_cv_prog_gcc])
--m4@&t@_popdef([ac_cv_prog_CPP])
--
--# restore global variables ac_ext, ac_cpp, ac_compile,
--# ac_link, ac_compiler_gnu (dependant on the current
--# language after popping):
--AC_LANG_POP([C])
--
--# Finally, set Makefile variables
--AC_SUBST(BUILD_EXEEXT)
--AC_SUBST(BUILD_OBJEXT)
--AC_SUBST([CFLAGS_FOR_BUILD])
--AC_SUBST([CPPFLAGS_FOR_BUILD])
--AC_SUBST([LDFLAGS_FOR_BUILD])
--])
--]])
-+cp "$abs_top_srcdir/tests/data/ax_prog_cc_for_build_v18.m4" \
-+   aclocal.m4
- AT_DATA([configure.ac],
- [[AC_INIT([foo], [1.0])
-@@ -290,87 +187,9 @@ cp "$abs_top_srcdir/build-aux/install-sh" \
- # the second time.  This usage was never broken (unlike with AC_PROG_CC)
- # but it seems sensible to make sure it doesn't *get* broken.
--AT_DATA([aclocal.m4],
--[[# ax_prog_cxx_for_build.m4
--# serial 3
--# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
--# Copyright (c) 2012 Avionic Design GmbH
--
--AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [
--AC_LANG_PUSH([C++])
--
--AC_REQUIRE([AC_PROG_CXX])
--AC_REQUIRE([AC_PROG_CXXCPP])
--AC_REQUIRE([AC_CANONICAL_HOST])
--
--# Use the standard macros, but make them use other variable names
--m4@&t@_pushdef([ac_cv_prog_CXXCPP], ac_cv_build_prog_CXXCPP)
--m4@&t@_pushdef([ac_cv_prog_gxx], ac_cv_build_prog_gxx)
--m4@&t@_pushdef([ac_cv_prog_cxx_works], ac_cv_build_prog_cxx_works)
--m4@&t@_pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)
--m4@&t@_pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)
--m4@&t@_pushdef([CXX], CXX_FOR_BUILD)
--m4@&t@_pushdef([CXXCPP], CXXCPP_FOR_BUILD)
--m4@&t@_pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)
--m4@&t@_pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)
--m4@&t@_pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)
--m4@&t@_pushdef([host], build)
--m4@&t@_pushdef([host_alias], build_alias)
--m4@&t@_pushdef([host_cpu], build_cpu)
--m4@&t@_pushdef([host_vendor], build_vendor)
--m4@&t@_pushdef([host_os], build_os)
--m4@&t@_pushdef([ac_cv_host], ac_cv_build)
--m4@&t@_pushdef([ac_cv_host_alias], ac_cv_build_alias)
--m4@&t@_pushdef([ac_cv_host_cpu], ac_cv_build_cpu)
--m4@&t@_pushdef([ac_cv_host_vendor], ac_cv_build_vendor)
--m4@&t@_pushdef([ac_cv_host_os], ac_cv_build_os)
--m4@&t@_pushdef([ac_cxxcpp], ac_build_cxxcpp)
--m4@&t@_pushdef([ac_compile], ac_build_compile)
--m4@&t@_pushdef([ac_link], ac_build_link)
--
--save_cross_compiling=$cross_compiling
--save_ac_tool_prefix=$ac_tool_prefix
--cross_compiling=no
--ac_tool_prefix=
--
--AC_PROG_CXX
--AC_PROG_CXXCPP
--
--ac_tool_prefix=$save_ac_tool_prefix
--cross_compiling=$save_cross_compiling
--
--# Restore the old definitions
--m4@&t@_popdef([ac_link])
--m4@&t@_popdef([ac_compile])
--m4@&t@_popdef([ac_cxxcpp])
--m4@&t@_popdef([ac_cv_host_os])
--m4@&t@_popdef([ac_cv_host_vendor])
--m4@&t@_popdef([ac_cv_host_cpu])
--m4@&t@_popdef([ac_cv_host_alias])
--m4@&t@_popdef([ac_cv_host])
--m4@&t@_popdef([host_os])
--m4@&t@_popdef([host_vendor])
--m4@&t@_popdef([host_cpu])
--m4@&t@_popdef([host_alias])
--m4@&t@_popdef([host])
--m4@&t@_popdef([CXXCPPFLAGS])
--m4@&t@_popdef([CPPFLAGS])
--m4@&t@_popdef([CXXFLAGS])
--m4@&t@_popdef([CXXCPP])
--m4@&t@_popdef([CXX])
--m4@&t@_popdef([ac_cv_prog_cxx_g])
--m4@&t@_popdef([ac_cv_prog_cxx_cross])
--m4@&t@_popdef([ac_cv_prog_cxx_works])
--m4@&t@_popdef([ac_cv_prog_gxx])
--m4@&t@_popdef([ac_cv_prog_CXXCPP])
--
--# Finally, set Makefile variables
--AC_SUBST([CXXFLAGS_FOR_BUILD])
--AC_SUBST([CXXCPPFLAGS_FOR_BUILD])
--
--AC_LANG_POP([C++])
--])
--]])
-+cat "$abs_top_srcdir/tests/data/ax_prog_cc_for_build_v18.m4" \
-+    "$abs_top_srcdir/tests/data/ax_prog_cxx_for_build_v3.m4" \
-+   > aclocal.m4
- AT_DATA([configure.ac],
- [[AC_INIT([foo], [1.0])
-@@ -391,3 +210,27 @@ AT_CHECK([grep '^CXX = ..*$' Makefile > /dev/null 2>&1])
- AT_CHECK([grep '^CXX_FOR_BUILD = ..*$' Makefile > /dev/null 2>&1])
- AT_CLEANUP
-+
-+
-+AT_SETUP([gnulib-std-gnu11.m4])
-+
-+# Gnulib's std-gnu11.m4 (last significant change 2016-03-15) overrides
-+# most but not all of the internal macros used by AC_PROG_CC and AC_PROG_CXX.
-+# Commit 131d8c69f31dc6fc8dc93abe1096d52d1fe19fd3 changed the calling
-+# convention of _AC_C_STD_TRY, causing configure scripts that load
-+# std-gnu11.m4 to have shell syntax errors.
-+
-+cp "$abs_top_srcdir/tests/data/gnulib_std_gnu11_2020_08_17.m4" \
-+   aclocal.m4
-+
-+AT_DATA([configure.ac],
-+[[AC_INIT([foo], [1.0])
-+AC_PROG_CC
-+AC_PROG_CXX
-+AC_OUTPUT
-+]])
-+
-+AT_CHECK_AUTOCONF
-+AT_CHECK_CONFIGURE
-+
-+AT_CLEANUP
-diff --git a/tests/local.mk b/tests/local.mk
-index df5551ba..a1efbd1f 100644
---- a/tests/local.mk
-+++ b/tests/local.mk
-@@ -120,8 +120,13 @@ TESTSUITE_HAND_AT = \
-   tests/autoscan.at \
-   tests/foreign.at
-+TESTSUITE_EXTRA = \
-+  tests/data/ax_prog_cc_for_build_v18.m4 \
-+  tests/data/ax_prog_cxx_for_build_v3.m4 \
-+  tests/data/gnulib_std_gnu11_2020_08_17.m4
-+
- CLEANFILES += $(TESTSUITE_GENERATED_AT)
--EXTRA_DIST += $(TESTSUITE_HAND_AT)
-+EXTRA_DIST += $(TESTSUITE_HAND_AT) $(TESTSUITE_EXTRA)
- TESTSUITE_AT = $(TESTSUITE_GENERATED_AT) $(TESTSUITE_HAND_AT)
- TESTSUITE = tests/testsuite
--- 
-2.25.1
-
-
-From bef282971ce1ad6a13b8fac57a9b45a88ec5e61d Mon Sep 17 00:00:00 2001
-From: Zack Weinberg <zackw@panix.com>
-Date: Tue, 29 Dec 2020 15:33:33 -0500
-Subject: [PATCH 13/13] =?UTF-8?q?autom4te:=20always=20update=20the=20outpu?=
- =?UTF-8?q?t=20file,=20even=20if=20it=20hasn=E2=80=99t=20changed?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Automake generates a Makefile rule for regenerating the configure
-script, that relies on an invocation of ‘autoconf’ always bumping the
-timestamp on the configure script, even if it hasn’t changed.
-The patch to make autom4te update the output file atomically
-(1725c947144d9bebfe7817c2c5f0d53d884b1297) broke this.
-
-Fixes several failures in automake’s test suite.
-
- * bin/autom4te.in (handle_output): Always call update_file with force=1.
- * tests/tools.at (autoconf: timestamp changes): New test.
----
- bin/autom4te.in |  4 +++-
- tests/tools.at  | 46 ++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 49 insertions(+), 1 deletion(-)
-
-diff --git a/bin/autom4te.in b/bin/autom4te.in
-index 4c2b905c..64653a44 100644
---- a/bin/autom4te.in
-+++ b/bin/autom4te.in
-@@ -609,7 +609,9 @@ sub handle_output ($$)
-     }
-   $out->close();
--  update_file ($scratchfile, $output, $force)
-+  # Always update the file, even if it didn't change;
-+  # Automake relies on this.
-+  update_file ($scratchfile, $output, 1)
-     if defined $scratchfile;
-   # If no forbidden words, we're done.
-diff --git a/tests/tools.at b/tests/tools.at
-index 49710202..89b8b63b 100644
---- a/tests/tools.at
-+++ b/tests/tools.at
-@@ -662,6 +662,52 @@ arbitrary $text
- AT_CLEANUP
-+# autoconf: timestamp changes
-+# ---------------------------
-+# Automake needs autoconf to update the timestamp on the configure script
-+# whenever configure.ac or aclocal.m4 changes, even if the contents of the
-+# configure script have not changed.
-+AT_SETUP([autoconf: timestamp changes])
-+
-+AT_DATA([aclocal.m4],
-+[[AC_DEFUN([local_KILROY], [# kilroy was here
-+])
-+]])
-+
-+AT_DATA_AUTOCONF([configure.ac],
-+[[AC_INIT
-+AC_PROG_CC
-+local_KILROY
-+AC_OUTPUT
-+]])
-+
-+AT_CHECK_AUTOCONF
-+
-+cp configure configure.1
-+sleep 1
-+printf '%s\n' 'AC_LIBSOURCES([foo.c])dn@&t@l' >> configure.ac
-+
-+# This step must not use --force.
-+# We don't need to check shell syntax, because if all goes well,
-+# the script will be unchanged from what it was in the first autoconf
-+# pass, and that was already checked.
-+AT_CHECK_M4([autoconf])
-+AT_CHECK([cmp configure configure.1])
-+AT_CHECK([test configure -nt configure.1])
-+
-+cp configure configure.2
-+sleep 1
-+printf '%s\n' \
-+  'AC_DEFUN([unused_MACRO], [# bob was there too' \
-+  '])' >> aclocal.m4
-+
-+# Same as above.
-+AT_CHECK_M4([autoconf])
-+AT_CHECK([cmp configure configure.2])
-+AT_CHECK([test configure -nt configure.2])
-+
-+AT_CLEANUP
-+
- ## --------- ##
- ## ifnames.  ##
--- 
-2.25.1
-
similarity index 84%
rename from meta/recipes-devtools/autoconf/autoconf_2.70.bb
rename to meta/recipes-devtools/autoconf/autoconf_2.71.bb
index d41b91bb325981712edc6104dc19d4543bbf41fc..f46ccbd2c7dfc33740d4b0e5ccda1a480992dfea 100644 (file)
@@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=cc3f3a7596cb558bbd9eb7fbaa3ef16c \
                    file://COPYINGv3;md5=1ebbd3e34237af26da5dc08a4e440464"
 
 SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \
-           file://from-master.patch \
            file://program_prefix.patch \
            file://autoreconf-exclude.patch \
            file://remove-usr-local-lib-from-m4.patch \
@@ -14,7 +13,7 @@ SRC_URI = "${GNU_MIRROR}/autoconf/${BP}.tar.gz \
            file://man-host-perl.patch \
            "
 
-SRC_URI[sha256sum] = "f05f410fda74323ada4bdc4610db37f8dbd556602ba65bc843edb4d4d4a1b2b7"
+SRC_URI[sha256sum] = "431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c"
 
 SRC_URI_append_class-native = " file://no-man.patch"