diff options
33 files changed, 523 insertions, 192 deletions
@@ -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 |