automake/automake-1.16.3-fix-testsui...

95 lines
3.6 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From: Zack Weinberg <zackw@panix.com>
Subject: [PATCH] Autoconf 2.71 (released last week) makes a few changes
that broke Automakes expectations, mostly in the test suite. This
patch addresses two of the problems:
- autoconf now issues a warning if fed a configure script that doesnt invoke
both AC_INIT and AC_OUTPUT; this, plus a problem with system-provided
tools (still under investigation) broke the *build* on macOS; it also
causes a couple of spurious testsuite failures.
- AC_PACKAGE_NAME and AC_PACKAGE_VERSION are now defined unconditionally.
AM_INIT_AUTOMAKE needs to use m4_ifset instead of m4_ifdef to diagnose
the obsolete use of AC_INIT with fewer than two arguments. (This change
is compatible with autoconf 2.69; m4_ifset is much older, and it means
defined with a non-empty value.)
* configure.ac: Use both AC_INIT and AC_OUTPUT in test configure scripts.
* t/deprecated-acinit.sh, t/init.sh: Likewise.
* m4/init.m4 (AM_INIT_AUTOMAKE): Use m4_ifset, not m4_ifdef, to detect
AC_PACKAGE_NAME and/or AC_PACKAGE_VERSION not having a value.
---
configure.ac | 9 +++++++--
m4/init.m4 | 2 +-
t/deprecated-acinit.sh | 1 +
t/init.sh | 1 +
4 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 15d3f8e..e3a0df2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -123,7 +123,9 @@ fi
AC_CACHE_CHECK([whether autoconf works], [am_cv_autoconf_works],
[mkdir conftest
-echo 'AC''_INIT' > conftest/conftest.ac
+printf '%s\n' > conftest/conftest.ac \
+ 'AC''_INIT([smoke-test], [1])' \
+ 'AC''_OUTPUT'
if AM_RUN_LOG([cd conftest && $am_AUTOCONF -o /dev/null conftest.ac]);
then
am_cv_autoconf_works=yes
@@ -139,7 +141,10 @@ fi
AC_CACHE_CHECK([whether autoconf is recent enough], [am_cv_autoconf_version],
[mkdir conftest
dnl Creative quoting required to avoid spurious expansion of AC_PREREQ macro
-echo 'AC'"_PREREQ([[$required_autoconf_version]])" > conftest/conftest.ac
+printf '%s\n' > conftest/conftest.ac \
+ 'AC'"_PREREQ([[$required_autoconf_version]])" \
+ 'AC''_INIT([smoke-test], [1])' \
+ 'AC''_OUTPUT'
if AM_RUN_LOG([cd conftest && $am_AUTOCONF -o /dev/null conftest.ac]);
then
am_cv_autoconf_version=yes
diff --git a/m4/init.m4 b/m4/init.m4
index ba73676..339a167 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -64,7 +64,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
[ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
diff --git a/t/deprecated-acinit.sh b/t/deprecated-acinit.sh
index 21614ba..f393d65 100644
--- a/t/deprecated-acinit.sh
+++ b/t/deprecated-acinit.sh
@@ -35,6 +35,7 @@ for ac_init in AC_INIT 'AC_INIT([Makefile.am])'; do
$ac_init
$am_init_automake
AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
END
cat configure.ac # For debugging.
$ACLOCAL 2>stderr && { cat stderr >&2; exit 1; }
diff --git a/t/init.sh b/t/init.sh
index c6f6d64..df138a0 100644
--- a/t/init.sh
+++ b/t/init.sh
@@ -25,6 +25,7 @@ for ac_init_args in '' '([x])'; do
unindent >configure.ac <<END
AC_INIT$ac_init_args
AM_INIT_AUTOMAKE$am_init_args
+ AC_OUTPUT
END
cat configure.ac # For debugging.
# The error message should mention AC_INIT, not AC_PACKAGE_VERSION.
--
2.26.0