summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS56
-rwxr-xr-xgen-testsuite-part2
-rw-r--r--m4/Makefile.inc2
-rw-r--r--m4/ar-lib.m45
-rw-r--r--m4/init.m412
-rw-r--r--m4/minuso.m432
-rw-r--r--m4/prog-cc-c-o.m447
-rw-r--r--maintainer/syntax-checks.mk151
-rw-r--r--t/add-missing.tap6
-rw-r--r--t/am-prog-cc-c-o.sh65
-rw-r--r--t/ax/am-test-lib.sh34
-rw-r--r--t/ax/tap-summary-aux.sh4
-rw-r--r--t/ax/test-init.sh4
-rw-r--r--t/ax/testsuite-summary-checks.sh4
-rwxr-xr-xt/ccnoco-deps.sh82
-rwxr-xr-xt/ccnoco-lib.sh73
-rwxr-xr-xt/ccnoco-lt.sh76
-rw-r--r--t/ccnoco.sh15
-rw-r--r--t/deleted-am.sh1
-rw-r--r--t/discover.sh2
-rw-r--r--t/distcheck-configure-flags.sh3
-rw-r--r--t/link_cond.sh4
-rw-r--r--t/parallel-tests-exit-statuses.sh8
-rw-r--r--t/parallel-tests-extra-programs.sh4
-rw-r--r--t/parallel-tests-fd-redirect-exeext.sh2
-rw-r--r--t/parallel-tests-fd-redirect.sh2
-rw-r--r--t/parallel-tests-fork-bomb.sh2
-rw-r--r--t/parallel-tests-recheck-pr11791.sh7
-rw-r--r--t/parallel-tests-reset-term.sh2
-rw-r--r--t/subobj10.sh2
-rw-r--r--t/subpkg.sh2
-rw-r--r--t/test-driver-acsubst.sh2
-rw-r--r--t/test-driver-cond.sh2
33 files changed, 523 insertions, 192 deletions
diff --git a/NEWS b/NEWS
index 4a4fd888c..6f8884501 100644
--- a/NEWS
+++ b/NEWS
@@ -165,16 +165,25 @@ New in 1.14:
- Automake will automatically enhance the AC_PROG_CC autoconf macro
to make it check, at configure time, that the C compiler supports
- the combined use of both the "-c -o" options. This "rewrite" of
- AC_PROG_CC is only meant to be temporary, since future Autoconf
- versions should provide all the features Automake needs.
+ the combined use of both the "-c -o" options. The result of this
+ check is saved in the cache variable 'am_cv_prog_cc_c_o', and said
+ result can be overridden by pre-defining that variable.
- - The AM_PROG_CC_C_O is no longer useful, and its use is a no-op
- now. Future Automake versions might start warning that this
- macro is obsolete. For better backward-compatibility, this macro
- still sets a proper 'ac_cv_prog_cc_*_c_o' cache variable, and
- define the 'NO_MINUS_C_MINUS_O' C preprocessor symbol, but you
- should really stop relying on that.
+ - The AM_PROG_CC_C_O can still be called, but that should no longer
+ be necessary. This macro is now just a thin wrapper around the
+ Automake-enhanced AC_PROG_CC. This means, among the other things,
+ that its behaviour is changed in three ways:
+
+ 1. It no longer invokes the Autoconf-provided AC_PROG_CC_C_O
+ macros behind the scenes.
+
+ 2. It caches the check result in the 'am_cv_prog_cc_c_o'variable,
+ and not in a 'ac_cv_prog_cc_*_c_o' variable whose exact name
+ in only dynamically computed at configure runtime (sic!) from
+ the content of the '$CC' variable.
+
+ 3. It no longer automatically AC_DEFINE the C preprocessor
+ symbol 'NO_MINUS_C_MINUS_O'.
* Texinfo support:
@@ -217,6 +226,15 @@ New in 1.14:
bin_PROGRAMS += %reldir%/foo
%canon_reldir%_foo_SOURCES = %reldir%/bar.c
+* Deprecated distribution formats:
+
+ - The 'shar' and 'compress' distribution formats are deprecated, and
+ scheduled for removal in Automake 2.0. Accordingly, the use of the
+ 'dist-shar' and 'dist-tarZ' will cause warnings at automake runtime
+ (in the 'obsolete' category), and the recipes for the Automake-generated
+ targets 'dist-shar' and 'dist-tarZ' will unconditionally display
+ (non-fatal) warnings at make runtime.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 1.13.3:
@@ -226,6 +244,26 @@ New in 1.13.3:
- Byte-compilation of Emacs lisp files could fail spuriously on Solaris,
when /bin/ksh or /usr/xpg4/bin/sh were used as shell.
+* Testsuite work:
+
+ - The test cases no longer have the executable bit set. This should
+ make it clear that they are not meant to be run directly; as
+ explained in t/README, the can only be run through the custom
+ 'runtest' script, or by a "make check" invocation.
+
+ - The testsuite has seen the introduction of a new helper function
+ 'run_make', and several related changes. These serve a two-fold
+ purpose:
+
+ 1. Removing brittleness due to the use of "make -e" in test cases.
+
+ 2. Seamlessly allowing the use of parallel make ("make -j...") in
+ the test cases, even where redirection of make output is involved
+ (see automake bug#11413 for a description of the subtle issues in
+ this area).
+
+ - Some other minor, miscellaneous changes and fixlets.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 1.13.2:
diff --git a/gen-testsuite-part b/gen-testsuite-part
index b758d884e..c7282cbf6 100755
--- a/gen-testsuite-part
+++ b/gen-testsuite-part
@@ -342,7 +342,7 @@ my %depmodes =
(
auto => ["cc"],
disabled => ["cc"],
- makedepend => ["cc", "makedepend"],
+ makedepend => ["cc", "makedepend", "-c-o"],
dashmstdout => ["gcc"],
cpp => ["gcc"],
# This was for older (pre-3.x) GCC versions (newer versions
diff --git a/m4/Makefile.inc b/m4/Makefile.inc
index ad3048ba7..4f2b6b288 100644
--- a/m4/Makefile.inc
+++ b/m4/Makefile.inc
@@ -37,11 +37,11 @@ dist_automake_ac_DATA = \
%D%/install-sh.m4 \
%D%/lex.m4 \
%D%/lispdir.m4 \
- %D%/minuso.m4 \
%D%/missing.m4 \
%D%/obsolete.m4 \
%D%/options.m4 \
%D%/python.m4 \
+ %D%/prog-cc-c-o.m4 \
%D%/runlog.m4 \
%D%/sanity.m4 \
%D%/silent.m4 \
diff --git a/m4/ar-lib.m4 b/m4/ar-lib.m4
index f895f6bd2..58726d0b0 100644
--- a/m4/ar-lib.m4
+++ b/m4/ar-lib.m4
@@ -19,7 +19,8 @@ AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
: ${AR=ar}
AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
- [am_cv_ar_interface=ar
+ [AC_LANG_PUSH([C])
+ am_cv_ar_interface=ar
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
[am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
AC_TRY_EVAL([am_ar_try])
@@ -36,7 +37,7 @@ AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
fi
rm -f conftest.lib libconftest.a
])
- ])
+ AC_LANG_POP([C])])
case $am_cv_ar_interface in
ar)
diff --git a/m4/init.m4 b/m4/init.m4
index a2f301c5c..d34717d28 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -9,6 +9,12 @@
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -101,12 +107,6 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
-dnl Automatically invoke AM_PROG_CC_C_O as necessary. Since AC_PROG_CC is
-dnl usually called after AM_INIT_AUTOMAKE, we arrange for the test to be
-dnl done later by AC_CONFIG_COMMANDS_PRE.
-AC_CONFIG_COMMANDS_PRE([AC_PROVIDE_IFELSE(
- [AC_PROG_CC],
- [AC_LANG_PUSH([C]) AM_PROG_CC_C_O AC_LANG_POP([C])])])dnl
AC_REQUIRE([AM_SILENT_RULES])dnl
# POSIX will say in a future version that running "rm -f" with no argument
diff --git a/m4/minuso.m4 b/m4/minuso.m4
deleted file mode 100644
index 06f74c906..000000000
--- a/m4/minuso.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-## -*- Autoconf -*-
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN_ONCE([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
diff --git a/m4/prog-cc-c-o.m4 b/m4/prog-cc-c-o.m4
new file mode 100644
index 000000000..3b2a849b0
--- /dev/null
+++ b/m4/prog-cc-c-o.m4
@@ -0,0 +1,47 @@
+## -*- Autoconf -*-
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
diff --git a/maintainer/syntax-checks.mk b/maintainer/syntax-checks.mk
index a7d354eca..43ee3ad49 100644
--- a/maintainer/syntax-checks.mk
+++ b/maintainer/syntax-checks.mk
@@ -77,7 +77,6 @@ sc_tests_command_subst \
sc_tests_no_run_make_redirect \
sc_tests_exit_not_Exit \
sc_tests_automake_fails \
-sc_tests_required_after_defs \
sc_tests_plain_sleep \
sc_tests_ls_t \
sc_m4_am_plain_egrep_fgrep \
@@ -88,10 +87,34 @@ sc_unquoted_DESTDIR \
sc_tabs_in_texi \
sc_at_in_texi
-## These check avoids accidental configure substitutions in the source.
-## There are exactly 7 lines that should be modified from automake.in to
-## automake, and 9 lines that should be modified from aclocal.in to
-## aclocal.
+$(syntax_check_rules): bin/automake bin/aclocal
+maintainer-check: $(syntax_check_rules)
+.PHONY: maintainer-check $(syntax_check_rules)
+
+# Check that the list of tests given in the Makefile is equal to the
+# list of all test scripts in the Automake testsuite.
+maintainer-check: maintainer-check-list-of-tests
+
+# I'm a lazy typist.
+lint: maintainer-check
+.PHONY: lint
+
+# The recipes of syntax checks require a modern GNU grep.
+sc_sanity_gnu_grep:
+ $(AM_V_GEN)grep --version | grep 'GNU grep' >/dev/null 2>&1 \
+ && ab=$$(printf 'a\nb') \
+ && test "$$(printf 'xa\nb\nc' | grep -Pzo 'a\nb')" = "$$ab" \
+ || { \
+ echo "Syntax checks recipes require a modern GNU grep" >&2; \
+ exit 1; \
+ }
+.PHONY: sc_sanity_gnu_grep
+$(syntax_check_rules): sc_sanity_gnu_grep
+
+# These check avoids accidental configure substitutions in the source.
+# There are exactly 7 lines that should be modified from automake.in to
+# automake, and 9 lines that should be modified from aclocal.in to
+# aclocal.
automake_diff_no = 7
aclocal_diff_no = 9
sc_diff_automake sc_diff_aclocal: in=$($*_in)
@@ -114,15 +137,15 @@ sc_diff_automake sc_diff_aclocal: sc_diff_% :
} >&2; \
rm -f $$in $$out $$diffs
-## Expect no instances of '${...}'. However, $${...} is ok, since that
-## is a shell construct, not a Makefile construct.
+# Expect no instances of '${...}'. However, $${...} is ok, since that
+# is a shell construct, not a Makefile construct.
sc_no_brace_variable_expansions:
@if grep -v '^ *#' $(ams) | grep -F '$${' | grep -F -v '$$$$'; then \
echo "Found too many uses of '\$${' in the lines above." 1>&2; \
exit 1; \
else :; fi
-## Make sure 'rm' is called with '-f'.
+# Make sure 'rm' is called with '-f'.
sc_rm_minus_f:
@if grep -v '^#' $(ams) $(xtests) \
| grep -vE '/(rm-f-probe\.sh|spy-rm\.tap|subobj-clean.*-pr10697\.sh):' \
@@ -160,7 +183,7 @@ sc_mkinstalldirs:
exit 1; \
else :; fi
-## Make sure all calls to PRE/NORMAL/POST_INSTALL/UNINSTALL
+# Make sure all calls to PRE/NORMAL/POST_INSTALL/UNINSTALL
sc_pre_normal_post_install_uninstall:
@if grep -E -n '\((PRE|NORMAL|POST)_(|UN)INSTALL\)' $(ams) | \
grep -v ':##' | grep -v ': @\$$('; then \
@@ -168,7 +191,7 @@ sc_pre_normal_post_install_uninstall:
exit 1; \
else :; fi
-## We never want to use "undef", only "delete", but for $/.
+# We never want to use "undef", only "delete", but for $/.
sc_perl_no_undef:
@if grep -n -w 'undef ' $(automake_in) | \
grep -F -v 'undef $$/'; then \
@@ -176,7 +199,7 @@ sc_perl_no_undef:
exit 1; \
fi
-## We never want split (/ /,...), only split (' ', ...).
+# We never want split (/ /,...), only split (' ', ...).
sc_perl_no_split_regex_space:
@if grep -n 'split (/ /' $(automake_in) $(acloca_in); then \
echo "Found bad split in the lines above." 1>&2; \
@@ -197,7 +220,7 @@ sc_no_am_cd:
exit 1; \
else :; fi
-## Using @_ in a scalar context is most probably a programming error.
+# Using @_ in a scalar context is most probably a programming error.
sc_perl_at_uscore_in_scalar_context:
@if grep -Hn '[^%@_A-Za-z0-9][_A-Za-z0-9]*[^) ] *= *@_' \
$(automake_in) $(aclocal_in); then \
@@ -214,7 +237,7 @@ sc_perl_local:
exit 1; \
fi
-## Don't let AMDEP_TRUE substitution appear in automake.in.
+# Don't let AMDEP_TRUE substitution appear in automake.in.
sc_AMDEP_TRUE_in_automake_in:
@if grep '@AMDEP''_TRUE@' $(automake_in); then \
echo "Don't put AMDEP_TRUE substitution in automake.in" 1>&2; \
@@ -369,7 +392,7 @@ sc_docs_no_make_e:
exit 1; \
fi
-## Look out for some obsolete variables.
+# Look out for some obsolete variables.
sc_tests_obsolete_variables:
@vars=" \
using_tap \
@@ -397,23 +420,10 @@ sc_tests_obsolete_variables:
exit 1; \
else :; fi
-## Look out for obsolete requirements specified in the test cases.
-sc_obsolete_requirements_rules = sc_no_texi2dvi-o sc_no_makeinfo-html
-modern-requirement.texi2dvi-o = texi2dvi
-modern-requirement.makeinfo-html = makeinfo
-
-$(sc_obsolete_requirements_rules): sc_no_% :
- @if grep -E 'required=.*\b$*\b' $(xtests); then \
- echo "Requirement '$*' is obsolete and shouldn't" \
- "be used anymore." >&2; \
- echo "You should use '$(modern-requirement.$*)' instead." >&2; \
- exit 1; \
- fi
-
-## Tests should never call some programs directly, but only through the
-## corresponding variable (e.g., '$MAKE', not 'make'). This will allow
-## the programs to be overridden at configure time (for less brittleness)
-## or by the user at make time (to allow better testsuite coverage).
+# Tests should never call some programs directly, but only through the
+# corresponding variable (e.g., '$MAKE', not 'make'). This will allow
+# the programs to be overridden at configure time (for less brittleness)
+# or by the user at make time (to allow better testsuite coverage).
sc_tests_plain_check_rules = \
sc_tests_plain_egrep \
sc_tests_plain_fgrep \
@@ -442,20 +452,20 @@ $(sc_tests_plain_check_rules): sc_tests_plain_% :
exit 1; \
fi
-## Tests should only use END and EOF for here documents
-## (so that the next test is effective).
+# Tests should only use END and EOF for here documents
+# (so that the next test is effective).
sc_tests_here_document_format:
@if grep '<<' $(xtests) | grep -Ev '\b(END|EOF)\b|\bcout <<'; then \
echo 'Use here documents with "END" and "EOF" only, for greppability.' 1>&2; \
exit 1; \
fi
-## Our test case should use the $(...) POSIX form for command substitution,
-## rather than the older `...` form.
-## The point of ignoring text on here-documents is that we want to exempt
-## Makefile.am rules, configure.ac code and helper shell script created and
-## used by out shell scripts, because Autoconf (as of version 2.69) does not
-## yet ensure that $CONFIG_SHELL will be set to a proper POSIX shell.
+# Our test case should use the $(...) POSIX form for command substitution,
+# rather than the older `...` form.
+# The point of ignoring text on here-documents is that we want to exempt
+# Makefile.am rules, configure.ac code and helper shell script created and
+# used by out shell scripts, because Autoconf (as of version 2.69) does not
+# yet ensure that $CONFIG_SHELL will be set to a proper POSIX shell.
sc_tests_command_subst:
@found=false; \
scan () { \
@@ -477,24 +487,24 @@ sc_tests_command_subst:
exit 1; \
fi
-## Tests should no longer call 'Exit', just 'exit'. That's because we
-## now have in place a better workaround to ensure the exit status is
-## transported correctly across the exit trap.
+# Tests should no longer call 'Exit', just 'exit'. That's because we
+# now have in place a better workaround to ensure the exit status is
+# transported correctly across the exit trap.
sc_tests_exit_not_Exit:
@if grep 'Exit' $(xtests) $(xdefs) | grep -Ev '^[^:]+: *#' | grep .; then \
echo "Use 'exit', not 'Exit'; it's obsolete now." 1>&2; \
exit 1; \
fi
-## Guard against obsolescent uses of ./defs in tests. Now,
-## 'test-init.sh' should be used instead.
+# Guard against obsolescent uses of ./defs in tests. Now,
+# 'test-init.sh' should be used instead.
sc_tests_no_source_defs:
@if grep -E '\. .*defs($$| )' $(xtests); then \
echo "Source 'test-init.sh', not './defs'." 1>&2; \
exit 1; \
fi
-## Invocation of 'run_make' should not have output redirections.
+# Invocation of 'run_make' should not have output redirections.
sc_tests_no_run_make_redirect:
@if grep -Pzo '.*(\$$MAKE|\brun_make)\b(.*(\\\n))*.*>.*' $(xtests); \
then \
@@ -504,25 +514,16 @@ sc_tests_no_run_make_redirect:
exit 1; \
fi
-## Use AUTOMAKE_fails when appropriate
+# Use AUTOMAKE_fails when appropriate
sc_tests_automake_fails:
@if grep -v '^#' $(xtests) | grep '\$$AUTOMAKE.*&&.*exit'; then \
echo 'Use AUTOMAKE_fails + grep to catch automake failures in the above tests.' 1>&2; \
exit 1; \
fi
-## Setting 'required' after sourcing 'test-init.sh' is a bug.
-sc_tests_required_after_defs:
- @for file in $(xtests); do \
- if out=`sed -n '/test-init\.sh/,$${/required=/p;}' $$file`; test -n "$$out"; then \
- echo 'Do not set "required" after sourcing "test-init.sh" in '"$$file: $$out" 1>&2; \
- exit 1; \
- fi; \
- done
-
-## Prefer use of our 'is_newest' auxiliary script over the more hacky
-## idiom "test $(ls -1t new old | sed 1q) = new", which is both more
-## cumbersome and more fragile.
+# Prefer use of our 'is_newest' auxiliary script over the more hacky
+# idiom "test $(ls -1t new old | sed 1q) = new", which is both more
+# cumbersome and more fragile.
sc_tests_ls_t:
@if LC_ALL=C grep -E '\bls(\s+-[a-zA-Z0-9]+)*\s+-[a-zA-Z0-9]*t' \
$(xtests); then \
@@ -530,16 +531,16 @@ sc_tests_ls_t:
exit 1; \
fi
-## Never use 'sleep 1' to create files with different timestamps.
-## Use '$sleep' instead. Some file systems (e.g., Windows) have only
-## a 2sec resolution.
+# Never use 'sleep 1' to create files with different timestamps.
+# Use '$sleep' instead. Some file systems (e.g., Windows) have only
+# a 2sec resolution.
sc_tests_plain_sleep:
@if grep -E '\bsleep +[12345]\b' $(xtests); then \
echo 'Do not use "sleep x" in the above tests. Use "$$sleep" instead.' 1>&2; \
exit 1; \
fi
-## fgrep and egrep are not required by POSIX.
+# fgrep and egrep are not required by POSIX.
sc_m4_am_plain_egrep_fgrep:
@if grep -E '\b[ef]grep\b' $(ams) $(srcdir)/m4/*.m4; then \
echo 'Do not use egrep or fgrep in the above files,' \
@@ -547,10 +548,10 @@ sc_m4_am_plain_egrep_fgrep:
exit 1; \
fi
-## Use 'configure.ac', not the obsolete 'configure.in', as the name
-## for configure input files in our testsuite. The latter has been
-## deprecated for several years (at least since autoconf 2.50) and
-## support for it will be removed in Automake 1.14.
+# Use 'configure.ac', not the obsolete 'configure.in', as the name
+# for configure input files in our testsuite. The latter has been
+# deprecated for several years (at least since autoconf 2.50) and
+# support for it will be removed in Automake 2.0.
sc_tests_no_configure_in:
@if grep -E '\bconfigure\\*\.in\b' $(xtests) $(xdefs); then \
echo "Use 'configure.ac', not 'configure.in', as the name" >&2; \
@@ -571,15 +572,15 @@ sc_ensure_testsuite_has_run:
fi
.PHONY: sc_ensure_testsuite_has_run
-## Ensure our warning and error messages do not contain duplicate 'warning:' prefixes.
-## This test actually depends on the testsuite having been run before.
+# Ensure our warning and error messages do not contain duplicate 'warning:' prefixes.
+# This test actually depends on the testsuite having been run before.
sc_tests_logs_duplicate_prefixes: sc_ensure_testsuite_has_run
@if grep -E '(warning|error):.*(warning|error):' t/*.log; then \
echo 'Duplicate warning/error message prefixes seen in above tests.' >&2; \
exit 1; \
fi
-## Using ':' as a PATH separator is not portable.
+# Using ':' as a PATH separator is not portable.
sc_tests_PATH_SEPARATOR:
@if grep -E '\bPATH=.*:.*' $(xtests) ; then \
echo "Use '\$$PATH_SEPARATOR', not ':', in PATH definitions" \
@@ -587,8 +588,8 @@ sc_tests_PATH_SEPARATOR:
exit 1; \
fi
-## Try to make sure all @...@ substitutions are covered by our
-## substitution rule.
+# Try to make sure all @...@ substitutions are covered by our
+# substitution rule.
sc_perl_at_substs:
@if test `grep -E '^[^#]*@[A-Za-z_0-9]+@' bin/aclocal | wc -l` -ne 0; then \
echo "Unresolved @...@ substitution in aclocal" 1>&2; \
@@ -617,11 +618,3 @@ sc_at_in_texi:
echo 'Unescaped @.' 1>&2; \
exit 1; \
fi
-
-$(syntax_check_rules): bin/automake bin/aclocal
-maintainer-check: $(syntax_check_rules)
-.PHONY: maintainer-check $(syntax_check_rules)
-
-# I'm a lazy typist.
-lint: maintainer-check
-.PHONY: lint
diff --git a/t/add-missing.tap b/t/add-missing.tap
index 594e46584..b53fbfdd5 100644
--- a/t/add-missing.tap
+++ b/t/add-missing.tap
@@ -248,6 +248,7 @@ check_ <<'END'
depcomp/C
== Files ==
depcomp
+compile
== configure.ac ==
AC_PROG_CC
== Makefile.am ==
@@ -272,10 +273,9 @@ compile
== Files ==
compile
== configure.ac ==
-# Using AC_PROG_CC and AC_OUTPUT in configure.ac should be enough.
+# Using AC_PROG_CC in configure.ac should be enough.
# No need to also define, say, xxx_PROGRAMS in Makefile.am.
AC_PROG_CC
-AC_OUTPUT
END
# For config.guess and config.sub.
@@ -297,6 +297,7 @@ check_ <<'END'
ylwrap/Lex
== Files ==
ylwrap
+compile
== configure.ac ==
AC_PROG_CC
AC_PROG_LEX
@@ -311,6 +312,7 @@ check_ <<'END'
ylwrap/Yacc
== Files ==
ylwrap
+compile
== configure.ac ==
AC_PROG_CC
AC_PROG_YACC
diff --git a/t/am-prog-cc-c-o.sh b/t/am-prog-cc-c-o.sh
index 920a0dc93..08522a472 100644
--- a/t/am-prog-cc-c-o.sh
+++ b/t/am-prog-cc-c-o.sh
@@ -29,25 +29,28 @@ echo 'int main (void) { return 0; }' > foo.c
cp configure.ac configure.bak
-cat >> configure.ac << 'END'
-# Since AM_PROG_CC_C_O rewrites $CC, it's an error to call AC_PROG_CC
-# after it.
-AM_PROG_CC_C_O
-AC_PROG_CC
+cat > acinclude.m4 <<'END'
+AC_DEFUN([AM_TWEAKED_OUTPUT], [
+# For debugging.
+printf "CC = '%s'\\n" "$CC"
+# Make sure that $CC can be used after AM_PROG_CC_C_O.
+$CC --version || exit 1
+$CC -v || exit 1
+# $CC rewrite should only take place on time.
+case " $CC " in
+ *" compile"*" compile"*) AC_MSG_ERROR([CC rewritten twice]);;
+esac
+AC_OUTPUT
+])
END
-$ACLOCAL -Wnone 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep '^configure\.ac:7:.* AC_PROG_CC .*called after AM_PROG_CC_C_O' stderr
+# ---
cat configure.bak - > configure.ac << 'END'
dnl It's OK to call AM_PROG_CC_C_O after AC_PROG_CC.
AC_PROG_CC
AM_PROG_CC_C_O
-# Make sure that $CC can be used after AM_PROG_CC_C_O.
-$CC --version || exit 1
-$CC -v || exit 1
-AC_OUTPUT
+AM_TWEAKED_OUTPUT
END
$ACLOCAL
@@ -61,21 +64,49 @@ if test "$AM_TESTSUITE_SIMULATING_NO_CC_C_O" != no; then
else
$EGREP 'understands? -c and -o together.* yes$' stdout
fi
+
# No repeated checks please.
test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1
-$MAKE
+$MAKE
$MAKE maintainer-clean
+rm -rf autom4te*.cache
+
+# ---
+
+cat configure.bak - > configure.ac << 'END'
+dnl It's also OK to call AM_PROG_CC_C_O *before* AC_PROG_CC.
+AM_PROG_CC_C_O
+AC_PROG_CC
+AM_TWEAKED_OUTPUT
+END
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure >stdout || { cat stdout; exit 1; }
+cat stdout
+if test "$AM_TESTSUITE_SIMULATING_NO_CC_C_O" != no; then
+ $EGREP 'understands? -c and -o together.* no$' stdout
+else
+ $EGREP 'understands? -c and -o together.* yes$' stdout
+fi
+
+# Repeated checks are OK in this case, but should be cached.
+test $(grep ".*-c['\" ].*-o['\" ]" stdout \
+ | $FGREP -v ' (cached) ' | wc -l) -eq 1
+
+$MAKE
+$MAKE maintainer-clean
rm -rf autom4te*.cache
+# ---
+
cat configure.bak - > configure.ac << 'END'
dnl It's also OK to call AM_PROG_CC_C_O *without* AC_PROG_CC.
AM_PROG_CC_C_O
-# Make sure that $CC can be used after AM_PROG_CC_C_O.
-$CC --version || exit 1
-$CC -v || exit 1
-AC_OUTPUT
+AM_TWEAKED_OUTPUT
END
$ACLOCAL
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index a46576b9f..00eabbf9b 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -49,12 +49,11 @@ unset DESTDIR
unset prefix exec_prefix bindir datarootdir datadir docdir dvidir
unset htmldir includedir infodir libdir libexecdir localedir mandir
unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir
-# Unset variables that might change the "make distcheck" behaviour.
+# Unset variables that might influcence "make distcheck".
unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS
# Used by install rules for info files.
unset AM_UPDATE_INFO_DIR
-# The tests call "make -e" but we do not want $srcdir from the environment
-# to override the definition from the Makefile.
+# We don't want to use the $srcdir value exported by the test driver.
unset srcdir
# Also unset variables that control our test driver. While not
# conceptually independent, they cause some changed semantics we
@@ -184,14 +183,14 @@ run_make ()
am__make_redirect_stderr=no
am__make_redirect_stdall=no
am__make_flags=
- # Follow-up code might want to analyse these, so don't make them as
- # private, nor unset them later.
- am_make_rc_exp=0
- am_make_rc_got=0
+ am__make_rc_exp=0
+ # Follow-up code might want to analyse this, so mark is as
+ # publicly accessible (no double undesrscore).
+ am_make_rc=0
# Parse options for this function.
while test $# -gt 0; do
case $1 in
- -e) am_make_rc_exp=$2; shift;;
+ -e) am__make_rc_exp=$2; shift;;
-O) am__make_redirect_stdout=yes;;
-E) am__make_redirect_stderr=yes;;
-M) am__make_redirect_stdall=yes;;
@@ -220,9 +219,9 @@ run_make ()
fi
fi
exec $MAKE ${1+"$@"}
- ) || am_make_rc_got=$?
+ ) || am_make_rc=$?
- if test $am_make_rc_got -eq 253; then
+ if test $am_make_rc -eq 253; then
fatal_ "run_make: problems in redirecting make output"
fi
@@ -237,17 +236,17 @@ run_make ()
fi
fi
- case $am_make_rc_exp in
+ case $am__make_rc_exp in
IGNORE)
: Ignore exit status
;;
FAIL)
- test $am_make_rc_got -gt 0 || return 1
+ test $am_make_rc -gt 0 || return 1
;;
*)
- test $am_make_rc_exp -ge 0 && test $am_make_rc_exp -le 255 \
- || fatal_ "invalid expected exit status: '$am_make_rc_exp'"
- test $am_make_rc_exp -eq $am_make_rc_got || return 1
+ test $am__make_rc_exp -ge 0 && test $am__make_rc_exp -le 255 \
+ || fatal_ "invalid expected exit status: '$am__make_rc_exp'"
+ test $am_make_rc -eq $am__make_rc_exp || return 1
;;
esac
}
@@ -604,6 +603,11 @@ require_tool ()
case $1 in
cc|c++|fortran|fortran77)
require_compiler_ $1;;
+ -c-o)
+ if test x"$AM_TESTSUITE_SIMULATING_NO_CC_C_O" = x"yes"; then
+ skip_all_ "need a C compiler that grasps -c and -o together"
+ fi
+ ;;
xsi-lib-shell)
if test x"$am_test_prefer_config_shell" = x"yes"; then
require_xsi "$SHELL"
diff --git a/t/ax/tap-summary-aux.sh b/t/ax/tap-summary-aux.sh
index 472c43f4b..a914087a9 100644
--- a/t/ax/tap-summary-aux.sh
+++ b/t/ax/tap-summary-aux.sh
@@ -62,9 +62,9 @@ do_check ()
fi
run_make -O -e IGNORE $make_args check
if test $expect_failure = yes; then
- test $am_make_rc_got -gt 0 || exit 1
+ test $am_make_rc -gt 0 || exit 1
else
- test $am_make_rc_got -eq 0 || exit 1
+ test $am_make_rc -eq 0 || exit 1
fi
$PERL "$am_testaux_srcdir"/extract-testsuite-summary.pl stdout >summary.got \
|| fatal_ "cannot extract testsuite summary"
diff --git a/t/ax/test-init.sh b/t/ax/test-init.sh
index 42db05004..daf0bba45 100644
--- a/t/ax/test-init.sh
+++ b/t/ax/test-init.sh
@@ -17,6 +17,10 @@
set -e
+# The variable '$required' should no longer be modified after this
+# file gets sources.
+required=${required-}; readonly required
+
# Source the actual code for test initialization and setup.
. test-lib.sh
. am-test-lib.sh
diff --git a/t/ax/testsuite-summary-checks.sh b/t/ax/testsuite-summary-checks.sh
index 2f1f8010b..d8c8f9c1f 100644
--- a/t/ax/testsuite-summary-checks.sh
+++ b/t/ax/testsuite-summary-checks.sh
@@ -75,9 +75,9 @@ do_check ()
done
run_make -O -e IGNORE check TESTS="$tests" XFAIL_TESTS="$xfail_tests"
if $expect_failure; then
- test $am_make_rc_got -gt 0 || exit 1
+ test $am_make_rc -gt 0 || exit 1
else
- test $am_make_rc_got -eq 0 || exit 1
+ test $am_make_rc -eq 0 || exit 1
fi
$PERL "$am_testaux_srcdir"/extract-testsuite-summary.pl stdout >summary.got \
|| fatal_ "cannot extract testsuite summary"
diff --git a/t/ccnoco-deps.sh b/t/ccnoco-deps.sh
new file mode 100755
index 000000000..d4931d54a
--- /dev/null
+++ b/t/ccnoco-deps.sh
@@ -0,0 +1,82 @@
+#! /bin/sh
+# Copyright (C) 2013 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 2, 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 <http://www.gnu.org/licenses/>.
+
+# Check that dependency tracking can also work with compilers that
+# doesn't understand '-c -o', even if the AM_PROG_CC_C_O macro is not
+# explicitly called.
+
+required=gcc # For 'cc-no-c-o'.
+. test-init.sh
+
+echo '#define myStr "Hello"' > foobar.h
+
+cat > foo.c << 'END'
+#include <stdio.h>
+#include "foobar.h"
+int main (void)
+{
+ printf ("%s\n", myStr);
+ return 0;
+}
+END
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c foobar.h
+check-deps: all
+ test -n '$(DEPDIR)' && test -d '$(DEPDIR)'
+ ls -l $(DEPDIR)
+ grep 'stdio\.h' $(DEPDIR)/foo.Po
+ grep 'foobar\.h' $(DEPDIR)/foo.Po
+check-updated: all
+ is_newest foo foobar.h
+END
+
+# We deliberately don't invoke AM_PROG_CC_C_O here.
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+# Make sure the compiler doesn't understand '-c -o'.
+CC=$am_testaux_builddir/cc-no-c-o; export CC
+
+./configure >stdout || { cat stdout; exit 1; }
+cat stdout
+$EGREP 'understands? -c and -o together.* no$' stdout
+grep '^checking dependency style .*\.\.\. gcc' stdout
+
+$MAKE check-deps
+
+if ! cross_compiling; then
+ ./foo
+ test "$(./foo)" = Hello
+fi
+
+$sleep
+echo '#define myStr "Howdy"' > foobar.h
+$MAKE check-updated
+
+if ! cross_compiling; then
+ ./foo
+ test "$(./foo)" = Howdy
+fi
+
+:
diff --git a/t/ccnoco-lib.sh b/t/ccnoco-lib.sh
new file mode 100755
index 000000000..a6464ec98
--- /dev/null
+++ b/t/ccnoco-lib.sh
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2001-2013 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 2, 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 <http://www.gnu.org/licenses/>.
+
+# Test to make sure we can compile when the compiler doesn't
+# understand '-c -o'.
+
+required=gcc # For cc-no-c-o.
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+$CC --version || exit 1
+$CC -v || exit 1
+AC_PROG_RANLIB
+AM_PROG_AR
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+mylibsdir = $(libdir)/my-libs
+mylibs_LIBRARIES = libwish.a
+libwish_a_SOURCES = a.c
+# Make sure we need something strange.
+libwish_CFLAGS = -O0
+END
+
+cat > a.c << 'END'
+int wish_granted (void)
+{
+ return 0;
+}
+END
+
+# Make sure the compiler doesn't understand '-c -o'.
+CC=$am_testaux_builddir/cc-no-c-o; export CC
+
+$ACLOCAL
+$AUTOCONF -Wall -Werror
+$AUTOMAKE --copy --add-missing
+
+for vpath in : false; do
+ if $vpath; then
+ srcdir=..
+ mkdir build
+ cd build
+ else
+ srcdir=.
+ fi
+ $srcdir/configure >stdout || { cat stdout; exit 1; }
+ cat stdout
+ $EGREP 'understands? -c and -o together.* no$' stdout
+ # No repeated checks please.
+ test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1
+ $MAKE
+ cd $srcdir
+done
+
+$MAKE distcheck
+
+:
diff --git a/t/ccnoco-lt.sh b/t/ccnoco-lt.sh
new file mode 100755
index 000000000..793987bf0
--- /dev/null
+++ b/t/ccnoco-lt.sh
@@ -0,0 +1,76 @@
+#! /bin/sh
+# Copyright (C) 2001-2013 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 2, 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 <http://www.gnu.org/licenses/>.
+
+# Test to make sure we can compile libtool libraries when the compiler
+# doesn't understand '-c -o'.
+
+required='gcc libtoolize' # For cc-no-c-o.
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AM_PROG_AR
+LT_INIT
+$CC --version
+$CC -v
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = libwish.la
+END
+
+cat > libwish.c << 'END'
+int wish_granted (void)
+{
+ return 0;
+}
+END
+
+# Make sure the compiler doesn't understand '-c -o'.
+CC=$am_testaux_builddir/cc-no-c-o; export CC
+
+libtoolize --verbose --install
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+
+for vpath in : false; do
+ if $vpath; then
+ srcdir=..
+ mkdir build
+ cd build
+ else
+ srcdir=.
+ fi
+ $srcdir/configure >stdout || { cat stdout; exit 1; }
+ cat stdout
+ $EGREP 'understands? -c and -o together.* no$' stdout
+ # No repeated checks please.
+ test $(grep ".*-c['\" ].*-o['\" ]" stdout \
+ | $FGREP -v ' -c -o file.o' | wc -l) -eq 1
+ # Once we have rewritten $CC to use our 'compile' wrapper script,
+ # libtool should pick it up correctly, and not mess with the
+ # redefinition.
+ grep '^checking if .*/compile .*supports -c -o file\.o\.\.\. yes' stdout
+ # And of course, we should be able to build our package.
+ $MAKE
+ cd $srcdir
+done
+
+$MAKE distcheck
+
+:
diff --git a/t/ccnoco.sh b/t/ccnoco.sh
index be9be375e..d00b6f93d 100644
--- a/t/ccnoco.sh
+++ b/t/ccnoco.sh
@@ -22,7 +22,8 @@ required=gcc # For cc-no-c-o.
cat >> configure.ac << 'END'
AC_PROG_CC
-$CC --version; $CC -v; # For debugging.
+$CC --version || exit 1
+$CC -v || exit 1
AC_OUTPUT
END
@@ -42,11 +43,11 @@ int main ()
}
END
-# Make sure the compiler doesn't understand '-c -o'
+# Make sure the compiler doesn't understand '-c -o'.
CC=$am_testaux_builddir/cc-no-c-o; export CC
$ACLOCAL
-$AUTOCONF
+$AUTOCONF -Wall -Werror
$AUTOMAKE --copy --add-missing
for vpath in : false; do
@@ -57,9 +58,15 @@ for vpath in : false; do
else
srcdir=.
fi
- $srcdir/configure
+ $srcdir/configure >stdout || { cat stdout; exit 1; }
+ cat stdout
+ $EGREP 'understands? -c and -o together.* no$' stdout
+ # No repeated checks please.
+ test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1
$MAKE
cd $srcdir
done
+$MAKE distcheck
+
:
diff --git a/t/deleted-am.sh b/t/deleted-am.sh
index a651de52f..7c73a82fb 100644
--- a/t/deleted-am.sh
+++ b/t/deleted-am.sh
@@ -47,7 +47,6 @@ $AUTOMAKE Makefile
./config.status Makefile
$MAKE # Sanity check.
rm -f foobar.am
-$sleep # Required to avoid racy failures with FreeBSD make.
run_make -e FAIL -E
# This error will come from automake, not make, so we can be stricter
# in our grepping of it.
diff --git a/t/discover.sh b/t/discover.sh
index f841c5ba3..5d564b5d9 100644
--- a/t/discover.sh
+++ b/t/discover.sh
@@ -19,9 +19,9 @@
. test-init.sh
cat >> configure.ac << 'END'
+AC_PROG_CC
AC_PROG_RANLIB
AM_PROG_AR
-AC_PROG_CC
AC_LIBOBJ([fsusage])
AC_OUTPUT
END
diff --git a/t/distcheck-configure-flags.sh b/t/distcheck-configure-flags.sh
index 27d455f24..ddc24323e 100644
--- a/t/distcheck-configure-flags.sh
+++ b/t/distcheck-configure-flags.sh
@@ -38,8 +38,7 @@ $AUTOCONF
# It should be ok to define DISTCHECK_CONFIGURE_FLAGS either on the
# make command line or in the environment.
-env \
- DISTCHECK_CONFIGURE_FLAGS='--enable-success sentence=it\ works\ :-\)' \
+env DISTCHECK_CONFIGURE_FLAGS='--enable-success sentence=it\ works\ :-\)' \
$MAKE distcheck
$MAKE distcheck \
diff --git a/t/link_cond.sh b/t/link_cond.sh
index 423ffe1bc..2a1fe62f0 100644
--- a/t/link_cond.sh
+++ b/t/link_cond.sh
@@ -64,7 +64,7 @@ $MAKE CXX=false
# Sanity check.
rm -f foo foo.exe
-$MAKE CC=false && exit 99
+run_make CC=false && fatal_ '"make CC=false" succeeded unexpectedly'
$MAKE distclean
@@ -83,6 +83,6 @@ $MAKE CC=false
# Sanity check.
rm -f foo foo.exe
-$MAKE CXX=false && exit 99
+run_make CXX=false && fatal_ '"make CXX=false" succeeded unexpectedly'
:
diff --git a/t/parallel-tests-exit-statuses.sh b/t/parallel-tests-exit-statuses.sh
index 54181e2cf..6bbc61587 100644
--- a/t/parallel-tests-exit-statuses.sh
+++ b/t/parallel-tests-exit-statuses.sh
@@ -72,7 +72,7 @@ sed '/^ERROR:/d' exp-1 > exp-2
mk_ ()
{
n=$1; shift
- unset am_make_rc_got
+ unset am_make_rc
run_make -e IGNORE -O -- ${1+"$@"} check
cat test-suite.log
LC_ALL=C grep '^[A-Z][A-Z]*:' stdout | LC_ALL=C sort > got-$n
@@ -82,10 +82,10 @@ mk_ ()
}
mk_ 0
-test $am_make_rc_got -gt 0
+test $am_make_rc -gt 0
mk_ 1 XFAIL_TESTS="$failure_statuses 99"
-test $am_make_rc_got -gt 0
+test $am_make_rc -gt 0
mk_ 2 XFAIL_TESTS="$failure_statuses" TESTS="0 77 $failure_statuses"
-test $am_make_rc_got -eq 0
+test $am_make_rc -eq 0
:
diff --git a/t/parallel-tests-extra-programs.sh b/t/parallel-tests-extra-programs.sh
index 1cfcf0088..7e219c3ca 100644
--- a/t/parallel-tests-extra-programs.sh
+++ b/t/parallel-tests-extra-programs.sh
@@ -117,7 +117,7 @@ $AUTOMAKE -a
run_make -E -O -e IGNORE -- -k check
ls -l
-test $am_make_rc_got -gt 0
+test $am_make_rc -gt 0
# Files that should have been created, with the expected content.
cat bar.c
@@ -149,7 +149,7 @@ echo 'int main (void) { return 0; }' > none.c
run_make -O -e IGNORE AM_LAZY_CHECK=yes check
ls -l # For debugging.
-test $am_make_rc_got -eq 0 || exit 1
+test $am_make_rc -eq 0 || exit 1
# For debugging.
stat stamp foo.log bar.log baz.log || :
diff --git a/t/parallel-tests-fd-redirect-exeext.sh b/t/parallel-tests-fd-redirect-exeext.sh
index 6e7fae2d0..c4b9aab1e 100644
--- a/t/parallel-tests-fd-redirect-exeext.sh
+++ b/t/parallel-tests-fd-redirect-exeext.sh
@@ -100,7 +100,7 @@ fi
run_make -O -e IGNORE check
cat baz.log
cat qux.log
-test $am_make_rc_got -eq 0
+test $am_make_rc -eq 0
grep "^ bazbazbaz$" stdout
grep "^ quxquxqux$" stdout
$EGREP '(bazbazbaz|quxquxqux)' *.log && exit 1
diff --git a/t/parallel-tests-fd-redirect.sh b/t/parallel-tests-fd-redirect.sh
index cab27014a..bfdfdb8c8 100644
--- a/t/parallel-tests-fd-redirect.sh
+++ b/t/parallel-tests-fd-redirect.sh
@@ -54,7 +54,7 @@ chmod a+x foo.sh bar
run_make -O -e IGNORE check
cat foo.log
cat bar.log
-test $am_make_rc_got -eq 0
+test $am_make_rc -eq 0
grep "^ foofoofoo$" stdout
grep "^ barbarbar$" stdout
$EGREP '(foofoofoo|barbarbar)' *.log && exit 1
diff --git a/t/parallel-tests-fork-bomb.sh b/t/parallel-tests-fork-bomb.sh
index cc5c91216..1784a7a7b 100644
--- a/t/parallel-tests-fork-bomb.sh
+++ b/t/parallel-tests-fork-bomb.sh
@@ -65,7 +65,7 @@ do_check ()
$FGREP '::OOPS::' output && exit 1 # Possible infinite recursion.
grep "[Cc]ircular.*dependency" output | $FGREP "$log"
grep "$log:.*depends on itself" output
- test $am_make_rc_got -gt 0
+ test $am_make_rc -gt 0
}
: > test-suite.test
diff --git a/t/parallel-tests-recheck-pr11791.sh b/t/parallel-tests-recheck-pr11791.sh
index 139bc56db..efdea8af6 100644
--- a/t/parallel-tests-recheck-pr11791.sh
+++ b/t/parallel-tests-recheck-pr11791.sh
@@ -56,7 +56,14 @@ $EGREP '(X?PASS|X?FAIL|SKIP|ERROR):' stdout && exit 1
test -f foo.log
test -f foo.trs
+<<<<<<< HEAD
run_make -O -e FAIL -- recheck -k
+=======
+using_gmake || $sleep # Required by BSD make.
+run_make -O -e IGNORE -- -k recheck
+# Don't trust the exit status of "make -k" for non-GNU makes.
+! using_gmake || test $am_make_rc -gt 0 || exit 1
+>>>>>>> master
# We don't get a change to run the testsuite.
$EGREP '(X?PASS|X?FAIL|SKIP|ERROR):' stdout && exit 1
test -f foo.log
diff --git a/t/parallel-tests-reset-term.sh b/t/parallel-tests-reset-term.sh
index 187a503be..3dae4b670 100644
--- a/t/parallel-tests-reset-term.sh
+++ b/t/parallel-tests-reset-term.sh
@@ -45,7 +45,7 @@ mkcheck ()
cat stdout
cat foobar.log
cat test-suite.log
- return $am_make_rc_got
+ return $am_make_rc
}
$ACLOCAL
diff --git a/t/subobj10.sh b/t/subobj10.sh
index bc1af3145..aab4e02ea 100644
--- a/t/subobj10.sh
+++ b/t/subobj10.sh
@@ -16,7 +16,7 @@
# PR 492: Test asm subdir objects.
-required=gcc
+required='gcc -c-o'
. test-init.sh
cat >> configure.ac << 'END'
diff --git a/t/subpkg.sh b/t/subpkg.sh
index d7f117a06..133363071 100644
--- a/t/subpkg.sh
+++ b/t/subpkg.sh
@@ -93,7 +93,7 @@ EOF
cp "$am_scriptdir"/compile .
$ACLOCAL
-$AUTOCONF
+$AUTOCONF -Werror -Wall
$AUTOMAKE -Wno-override
cd lib
diff --git a/t/test-driver-acsubst.sh b/t/test-driver-acsubst.sh
index 5439617da..0842d84e6 100644
--- a/t/test-driver-acsubst.sh
+++ b/t/test-driver-acsubst.sh
@@ -87,7 +87,7 @@ cat test-suite.log
cat foo.log
cat bar.log
cat baz.log
-test $am_make_rc_got -eq 0
+test $am_make_rc -eq 0
count_test_results total=3 pass=1 fail=0 skip=1 xfail=1 xpass=0 error=0
:
diff --git a/t/test-driver-cond.sh b/t/test-driver-cond.sh
index 1160097b7..b9d46b00b 100644
--- a/t/test-driver-cond.sh
+++ b/t/test-driver-cond.sh
@@ -100,7 +100,7 @@ cat test-suite.log
cat foo.log
cat bar.log
cat baz.log
-test $am_make_rc_got -eq 0 || exit 1
+test $am_make_rc -eq 0 || exit 1
do_count
run_make -O distcheck