2011-08-03 Bruno Haible docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support * doc/automake.texi (Program Variables): Recommend -I options to both the build directory and the source directory when needed. 2011-07-23 Stefano Lattarini tests: relax a test on amhello examples to cater to Solaris tar * tests/amhello-binpkg.test: When the tar implementation in use is not GNU tar, relax the tests on tar output, to avoid spurious failures. For example, "tar cvf ..." with GNU tar can output lines like "./usr/bin/hello" on the standard output, while with Solaris tar it can output lines like "a ./usr/bin/hello 8K" on standard output, and with Heirloom tar it can output lines like "a ./usr/bin/hello 15 tape blocks" on standard error. 2011-07-23 Stefano Lattarini test defs: function 'is_newest' now works also with directories * tests/defs (is_newest): Call `find' with the `-prune' option, so that it won't descend in the directories (which could cause spurious results). * tests/self-check-is_newest: Extend accordingly. From a report by Jim Meyering, see automake bug#9147. 2011-07-15 Benoit Sigoure docs: add references between the 2 sections on java support * doc/automake.texi (Java Support, Java): Add cross-references. 2011-07-20 Ralf Wildenhues Sync auxiliary files from upstream. * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub, lib/texinfo.tex: Sync from upstream. 2011-07-24 Stefano Lattarini tests: small enhancement to 'primary3.test' * tests/primary3.test: Also test that the program named `foo.la' has been effectively created. 2011-07-24 Stefano Lattarini tests: a small simplification in 'pr8365-remake-timing.test' * tests/pr8365-remake-timing.test: Avoid redundant definition and use of `$save_AUTOCONF' variable. 2011-07-24 Stefano Lattarini tests: remove an extra leading blank line * tests/override-conditional-1.test: Remove extra blank line placed before the shebang line. 2011-07-18 Stefano Lattarini tests: fix typos, grammaros and other blunders in comments All affected files changed. 2011-07-16 Stefano Lattarini test defs: new subroutine 'seq_', simulating GNU seq(1) * tests/defs (seq_): New subroutine. * tests/instmany.test: Use it. * tests/instmany-mans.test: Likewise. * tests/instmany-python.test: Likewise. * tests/self-check-seq.test: New self test. * tests/Makefile.am (TESTS): Update. 2011-07-16 Stefano Lattarini tests: remove duplication about testing of config.* aux files * tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM' autoconf macro causes the `config.sub' and `config.guess' scripts to be installed by `automake --add-missing'. Since we are at it, fix minor buglets and cosmetic issues in the `check_' function. * tests/hosts.test: Removed, completely subsumed by the previous test now. * tests/Makefile.am (TESTS): Update. 2011-07-16 Stefano Lattarini tests: more uses of the 'unindent' subroutine * tests/backcompat.test: Prefer `unindent' over plain `cat' for here documents created from within a loop of if/else body. * tests/backcompat2.test: Likewise. * tests/backcompat4.test: Likewise. * tests/init.test: Likewise. * tests/instmany.test: Likewise. * tests/instmany-mans.test: Likewise. * tests/instmany-python.test: Likewise. * tests/missing5.test: Likewise. * tests/parallel-am2.test : Likewise. * tests/parallel-am3.test : Likewise. * tests/pr307.test: Likewise. * tests/depend4.test: Likewise. Since we are at it, normalize other code formatting. * tests/instfail-java.test: Prefer `echo' over `cat' + here-doc inside a for loop. 2011-07-16 Stefano Lattarini tests: avoid '##'-style comments inside recipe commands * tests/autodist.test: Do not whitespace-indent `##' comments when they are embedded in a makefile rule: having them indented is not part of the Automake API, and might cause failures with e.g., Tru64 make. * tests/autodist-subdir.test: Likewise. * tests/backcompat.test: Likewise. * tests/backcompat6.test: Likewise. * tests/colon7.test: Likewise. * tests/posixsubst-scripts.test: Likewise. * tests/posixsubst-sources.test: Likewise. 2011-07-16 Stefano Lattarini tests: tweak, improve and extend tests on lisp support * tests/lisp2.test: Prettify, and improve debugging output. Make grepping of automake stderr stricter. * tests/lisp7.test: Ensure verbose printing of captured make output. Add trailing `:' command. * tests/lisp8.test: Likewise. * tests/lisp3.test: Likewise. Also, check that `.el' files and compiled `.elc' files get installed by "make install", and uninstalled by "make uninstall". * tests/lisp4.test: Ensure installed `.el' files gets removed by "make uninstall". Related changes. Add trailing `:' command. * tests/lisp5.test: Likewise. * tests/lisp6.test: Use proper m4 quoting in configure.in. Fix use of blank lines, to improve clarity and symmetry. Fix typo in comment. Add trailing `:' command. 2011-07-16 Stefano Lattarini tests: drop useless requirement in 'license.test' * tests/license.test: Drop useless requirement "makeinfo". Add an extra blank line, for clarity. 2011-07-08 Stefano Lattarini tests: fix weakness in 'tests-environment-backcompat.test' * tests/tests-environment-backcompat.test: Do not override the content of xfailing test `baz.test' with a "weaker" version that fails unconditionally: the test must fail only when the 'strict' pragma is in use, in order not to reduce coverage. 2011-07-08 Stefano Lattarini docs, tests: synchronize examples on silent-rules from config.site * doc/automake.texi (Automake silent-rules Option): Reference test 'silent-configsite.test' in comments. 2011-07-08 Stefano Lattarini tests defs: more uses of $top_testsrcdir * tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead of `$testsrcdir/..'. * tests/repeated-options.test: Likewise. * tests/suffix5.test: Likewise. * tests/vtexi3.test: Likewise. 2011-07-08 Stefano Lattarini self tests: fix typo in comment * tests/self-check-exit.test: Fix typo in heading comments. 2011-07-08 Stefano Lattarini tests: remove redundant settings of `errexit' shell flag * tests/amhello-binpkg.test: Do not set the `errexit' shell flag, as it is already set by `tests/defs'. * tests/amhello-cflags.test: Likewise. * tests/amhello-cross-compile.test: Likewise. * tests/ansi2knr-deprecation.test: Likewise. * tests/autodist-no-duplicate.test: Likewise. * tests/distcheck-configure-flags-am.test: Likewise. * tests/distcheck-configure-flags-subpkg.test: Likewise. * tests/distcheck-configure-flags.test: Likewise. * tests/distcheck-hook.test: Likewise. * tests/distcheck-hook2.test: Likewise. * tests/parallel-tests-am_tests_environment.test: Likewise. * tests/parallel-tests-harderror.test: Likewise. * tests/parallel-tests-log-compiler-example.test: Likewise. * tests/parallel-tests-log-override-1.test: Likewise. * tests/parallel-tests-log-override-2.test: Likewise. * tests/parallel-tests-log-override-recheck.test: Likewise. * tests/primary-prefix-couples-documented-valid.test: Likewise. * tests/primary-prefix-couples-force-valid.test: Likewise. * tests/primary-prefix-invalid-couples.test: Likewise. * tests/primary-prefix-valid-couples.test: Likewise. * tests/remake-subdir-from-subdir.test: Likewise. * tests/remake-subdir-gnu.test: Likewise. * tests/remake-subdir-long-time.test: Likewise. * tests/remake-subdir.test: Likewise. * tests/remake-subdir2.test: Likewise. * tests/silent-configsite.test: Likewise. * tests/tests-environment-backcompat.test: Likewise. 2011-07-08 Stefano Lattarini tests: portability fixes in tests on amhello examples * tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to extract a gzip-compressed tarball, that's unportable to some tar implementations; use the "gzip -dc fo.tar.gz | tar xf -" idiom instead. * tests/amhello-cflags.test: Likewise. * tests/amhello-cross-compile.test: Likewise. Suggestion from Ralf Wildenhues. 2011-07-04 Stefano Lattarini remake: add test ensuring that slower remakes don't hang * tests/remake-subdir-long-time.test: New test. * tests/Makefile.am (TESTS): Update. Suggestion by Ralf Wildenhues. 2011-07-04 Stefano Lattarini remake: fix outdated comment in configure.am * lib/am/configure.am: Fix comment falsified by changes in commit `v1.11-366-gbee9871'. Suggestion by Ralf Wildenhues. 2011-07-01 Stefano Lattarini docs, tests: synchronize examples from docs to tests * tests/README (Writing test cases): Give suggestions on how to keep test cases and examples in the documentation synchronized. * doc/automake.texi: Improve or fix existing testcase-referencing comments, and add many new ones. * HACKING (Administrivia): Suggest to test complex examples and idioms from the manual. * tests/specflg8.test: Improve synchronization with the example in the manual. * tests/output11.test:Likewise. * tests/txinfo21.test:Likewise. * tests/interp.test: Likewise. * tests/amhello-cflags.test: New test. * tests/amhello-cross-compile.test: Likewise. * tests/amhello-binpkg.test: Likewise. * tests/tests-environment-backcompat.test: Likewise. * tests/parallel-tests-log-compiler-example.test: Likewise. * tests/Makefile.am (TESTS): Update. 2011-06-30 Stefano Lattarini coverage: new test on parallel-tests TESTS runtime overriding * tests/parallel-tests-cmdline-override.test: New test, check that we can use indirections when overriding TESTS and TEST_LOGS from the command line. * tests/Makefile.am (TESTS): Update. 2011-06-29 Stefano Lattarini docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated * doc/automake.texi (Simple Tests using parallel-tests): Ditto, and related adjustments. Suggestion by Ralf Wildenhues. 2011-06-29 Stefano Lattarini docs: fix unportable example of AM_TESTS_ENVIRONMENT usage * doc/automake.texi (Simple Tests using parallel-tests): The old example on AM_TESTS_ENVIRONMENT relied on unportable shell features, and in particular didn't work with various Korn Shells (see also commit `v1.11-925-g29ca903'). Give another example, simpler this time, but still inspired to real-world usage (the GNU coreutils testsuite). 2011-06-23 Stefano Lattarini docs: avoid a footnote, some related rewordings and improvements * doc/automake.texi (Dist): Reword the part about automatically distributed files to avoid a footnote. Since we are at it, extend a bit, and add an example and a reference to a relevant test case. 2011-06-23 Stefano Lattarini docs: minor cosmetic fixes * doc/automake.texi: Break few overly long lines, throughout the file. ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct position, i.e., before and not after the paragraph where it is introduced. ("Options" @item ansi2knr): Use @pxref instead of @xref. This fixes a texinfo warning. ("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use @pxref instead of @ref. 2011-06-23 Stefano Lattarini help: improve text about automatically-distributed files This change fixes automake bug#7819. * automake.in (usage): Distinguish between files that are always automatically distributed when found, and those which are only "under certain conditions". * doc/automake.texi (Basics of Distribution): Update accordingly. * tests/autodist-subdir.test: Update. * tests/autodist-no-duplicate.test: Likewise. * tests/autodist.test: Likewise. (configure.in): Remove useless call to AM_MAINTAINER_MODE. 2011-06-23 Stefano Lattarini refactor: split 'usage' subroutine in automake This change is related to automake bug#7819. * automake.in (print_autodist_files): New subroutine, extracted from ... (usage): ... this, which now uses it. * tests/autodist-no-duplicate.test: New test. * tests/Makefile.am (TESTS): Update. 2011-06-23 Stefano Lattarini tests: fix bug in 'autodist.test' * tests/autodist.test: Avoid spurious failure due to no `defs-static' file being found in the parent directory. 2011-06-21 Stefano Lattarini maintcheck: extend 'sc_tests_plain_*' checks * Makefile.am (sc_tests_plain_autom4te): New check. (sc_tests_plain_autoreconf): Likewise. (sc_tests_plain_autoheader): Likewise. (syntax_check_rules): Update. 2011-06-21 Stefano Lattarini tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER * tests/tests-environment-and-log-compiler.test: New test, checking that we can use variables and functions set by TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER and LOG_FLAGS (for tests both with and without registered extensions). * tests/Makefile.am (TESTS): Update. 2011-06-24 Stefano Lattarini tests: make 'subst-no-trailing-empty-line.test' more robust * tests/subst-no-trailing-empty-line.test: Strengthen existing checks, to try more scenarios and be slightly stricter in some grepping checks. 2011-06-24 Stefano Lattarini tests: fix an incomplete comment * tests/subst-no-trailing-empty-line.test: Fix an incomplete comment, and move it to a more proper place. Minor cosmetic fixes to other comments. 2011-06-20 Stefano Lattarini maintcheck: avoid few more spurious failures * tests/depmod-data.test: Use creative quoting to avoid spuriously triggering the `sc_tests_Exit_not_exit' maintainer check. Commit `v1.11-900-g3453b8e' attempted to fix it, but succeeded only partially. * tests/cond33.test: Fix header comments, not to reference obsolescent make variable `$(mkdir_p)'. * tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e", to please `sc_tests_overriding_macros_on_cmdline' * tests/cond19.test: Likewise. * tests/cond32.test: Likewise. * tests/add-missing.test: Use "AUTOMAKE_fails" instead of "$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'. 2011-06-20 Stefano Lattarini maintcheck: avoid few spurious failures * Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl, sc_tests_plain_autoconf, sc_tests_plain_automake, sc_tests_plain_autoupate): Be stricter in matching an erroneous literal command, i.e., `aclocal', `automake', `perl', etc. 2011-06-20 Bert Wesarg (tiny change) check: don't use multi-line coloring for the report "less -R" can't handle multi-line coloring as it is done for the check reports of the serial and parallel testsuite, because of performance reasons. Thus, color each line of the check report by its own. * lib/am/check.am (am__text_box): Accept colors for lines, and color each line by its own. [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle the line coloring. [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by its own. * THANKS: Update. 2011-06-18 Stefano Lattarini docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases * doc/automake.texi (Checking the Distribution): Explain that the developers should take care of making their code buildable without requiring any special configure options, so that in general AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used. Give an example of where its use is legitimate. Suggestions from Ralf Wildenhues and Eric Blake. 2011-06-14 Stefano Lattarini ansi2knr: deprecate, it will go away in the next major release * doc/automake.texi: Loudly and repeatedly state that the old de-ANSI-fication features are now deprecated and will be removed in the next major Automake release. Other related adjustments. * lib/Automake/Options.pm (_process_option_list ): Give a warning in the `obsolete' category when the `ansi2knr' option is used. * m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning in the `obsolete' category will be emitted it if is used. * tests/ansi2knr-deprecation.test: New test. * tests/Makefile.am (TESTS): Update. * tests/ansi.test: Adjust, by calling autoconf and/or automake with the `-Wno-obsolete' flag. * tests/ansi10.test: Likewise. * tests/ansi2.test: Likewise. * tests/ansi3.test: Likewise. * tests/ansi3b.test: Likewise. * tests/ansi4.test: Likewise. * tests/ansi5.test: Likewise. * tests/ansi6.test: Likewise. * tests/ansi7.test: Likewise. * tests/ansi8.test: Likewise. * tests/ansi9.test: Likewise. * tests/cxxansi.test: Likewise. * tests/libobj8.test: Likewise. * NEWS: Update about the future planned backward-incompatibility due to the removal of de-ANSI-fication feature. 2011-06-19 Stefano Lattarini docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid * doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a valid combination anymore, so don't document it. Inconsistency introduced in commit `v1.11-373-g9ca6326'. 2011-06-19 Jim Meyering docs: replace obsolete @vindex entry with a useful one * doc/automake.texi (Program Sources): Do not index obsolete pkglib_PROGRAMS here. Do index pkglibexec_PROGRAMS. 2011-06-18 Stefano Lattarini tests: more checks on portable fd redirection in TESTS_ENVIRONMENT * tests/tests-environment-fd-redirect.test: Extend by also using a perl script among the tests. Run the test shell script with the `errexit' flag active. Export `VERBOSE' to yes when running "make check", to give more debugging information in case of failures. Look for a Korn Shell also in `/usr/bin', not on only in `/bin'. 2011-06-13 Stefano Lattarini tests: optimize tests on primary/prefix mismatch for speed * tests/primary-prefix-invalid-couples.test: Partial rewrite, in order to use just a single automake invocation rather than one invocation for each invalid primary/prefix couple. This improves the test script execution time by an order of magnitude. Since we are at it, throw in some other improvements to avoid unrelated automake warnings and failures that could potentially cause false positives w.r.t. the automake exit status. 2011-06-13 Stefano Lattarini news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS * NEWS (Miscellaneous changes): Update. 2011-06-10 Stefano Lattarini maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS on the make command line. Update comments accordingly. Since we are at it, make the relevant grepping rules slightly tighter. 2011-06-10 Stefano Lattarini distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS * doc/automake.texi (Checking the Distribution): Suggest to use AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to define (in the top-level Makefile.am) extra flags to be passed to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS should be reserved for the user. Add proper `@vindex' directive. Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a subpackage Makefile.am, but the flags in it are passed down to the configure script of the subpackage. * lib/am/distdir.am (distcheck): Also pass the flags in $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation. Update comments. * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS, DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in the environment, they might improperly influence our testsuite. * tests/distcheck-configure-flags.test: New test. * tests/distcheck-configure-flags-am.test: Likewise. * tests/distcheck-configure-flags-subpkg.test: Likewise. * distcheck-hook.test: Likewise. * distcheck-hook2.test: Likewise. * tests/Makefile.am (TESTS): Update. Closes automake bug#8784. 2010-06-09 Stefano Lattarini docs: better documentation for silent make rules * doc/automake.texi (Options): Detailed description of the automake option `silent-rules' moved from here ... (Silent Make): ... into this new chapter, expanded, improved, and subdivided into ... (Make verbosity, Tricks For Silencing Make, Automake silent-rules Option): ... these new sections. (@menu, @detailmenu): Update. * tests/silent-configsite.test: New test, checking that the user can control default mode of silent-rules from config.site, as is documented in the manual. * tests/Makefile.am (TESTS): Updated. 2011-06-11 Stefano Lattarini Warnings about primary/prefix mismatch fixed and extended. * automake.in (%standard_prefix): Add `doc' and `locale'. Rename `pkgdatadir' to `pkgdata'. Similarly for`pkglibdir', `pkgincludedir' and `pkglibexecdir'. (handle_programs): List `pkglibexec', not `pkglib', among the prefixes valid for the `PROGRAMS' primary. (handle_data): List also `doc' among the prefixes valid for the `DATA' primary. This is required by automake's own build system. * tests/dirforbid.test: Test removed, superseded by ... * tests/primary-prefix-invalid-couples.test: ... this new test. * tests/primary-prefix-valid-couples.test: New test. * tests/primary-prefix-couples-documented-valid.test: Likewise. * tests/primary-prefix-couples-force-valid.test: Likewise. * tests/java3.test: Adjusted, and extended a bit. * tests/Makefile.am (TESTS): Updated. * NEWS: Updated. From a report by Eric Blake. 2011-06-14 Stefano Lattarini tests: check portable fd redirection in TESTS_ENVIRONMENT * tests/tests-environment-fd-redirect.test: New test. * tests/Makefile.am (TESTS): Update. Motivated by coreutils bug#8846: See also following CC:ed thread on bug-autoconf list: 2011-06-16 Stefano Lattarini tests: make test 'self-check-reexec.test' more portable * tests/self-check-reexec.test: Rewrite not to require a Korn Shell able to grok variable expansions such as `${.sh.version}'; Solaris 10 /bin/ksh fails on this for example. Instead, just require bash and a shell that is not bash. 2011-06-14 Stefano Lattarini Jim Meyering test defs: fix ksh-related portability bug in warning messages Running "make check" normally prints a diagnostic to the outermost stderr (usually a tty) to explain why a test is skipped, thus giving better and faster feedback to the user. It used to do so by redirecting file descriptor 9 to stderr (via "exec 9>&2") before invoking the test scripts, which then would write any skip explanation to file descriptor 9 via the `skip_' function defined in `tests/defs'. However, various Korn Shells (at least Solaris 10's /bin/ksh and Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open file descriptors > 2 upon an `exec' system call; thus the effects of "exec 9>&2" are cancelled upon fork-and-exec, so we would get a "Bad file number" diagnostic and no skip explanation with those shells. The present change remedies this situation. * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably, via a trailing "9>&2", rather than the prior "exec 9>&2; ...". Add explanatory comments. * tests/defs (stderr_fileno_): Update the advice in comments. Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and ksh-derived shells" in GNU coreutils. Further references, with lots of discussion: 2011-06-13 Stefano Lattarini tests: remove 'test_prefer_config_shell' from the environment Since commit `v1.11-910-g7df1a9b', the once user-overridable variable `$test_prefer_config_shell' has become an internal detail, and the test scripts now complain and bail out if it is set in the environment. * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable `test_prefer_config_shell' if it is set in the environment. 2011-06-13 Stefano Lattarini tests: autogenerate list of wrapped tests for `lib/' shell scripts * tests/gen-config-shell-tests: New script, generates distributed makefile snippet `tests/config-shell-tests.am' to list all tests that use the `get_shell_script' function, with names mangled to use suffix `-w.shtst', in ... * tests/Makefile.am (config_shell_tests): ... this macro, whose definition has been consequently removed from Makefile.am. (EXTRA_DIST): Distribute the new script. ($(srcdir)/config-shell-tests.am): Generate using the new script. (include): Include the `config-shell-tests.am' fragment. * bootstrap: Invoke `tests/gen-config-shell-tests' to generate `tests/config-shell-tests.am'. * tests/.gitignore: Ignore `config-shell-tests.am'. * tests/gen-parallel-tests: Fixlet in heading comments. 2011-06-13 Stefano Lattarini tests: test mdate-sh with /bin/sh too * tests/mdate5.test: Fetch the `mdate-sh' script using the `get_shell_script' function, and run it directly instead of using `$SHELL'. * tests/mdate6.test: Likewise. Since we are at it, make checks on the `mdate-sh' output stricter, remove now unneeded calls to aclocal and automake and creation/extension of `configure.in', `Makefile.am' and `textutils.tex' files, and add a trailing `:' command. * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst' and `mdate6-w.shtst'. 2011-06-13 Stefano Lattarini tests: extend tests on `--add-missing' and `--copy' a bit * tests/add-missing.test: Fix typo in heading comments. Try with another testcase that install many (but not all) the auxiliary scripts at once, and uses non-standard (but valid and documented) setups (e.g., defining YACC in Makefile.am instead of calling AC_PROG_YACC from configure.in). * tests/copy.test: Reference `add-missing.test' in heading comments. Try few more test scenarios. 2011-06-16 Stefano Lattarini tests: few fixlets and improvements * tests/cond31.test ($required): Remove `cc', it's not really needed. * tests/confh.test: Call autoheader too. The lack of this call wasn't causing spurious failures because the automatic remake rules were somehow invoking it on our behalf (at make time). * tests/fn99subdir.test: Use $subdirname throughout, instead of ${subdirname}, for consistency with the rest of the testsuite. Avoid an unnecessary subshell, which could also cause spurious passes, being guarded by a trailing `|| Exit 1', which neutralize the `errexit' flag. Remove an unnecessary `|| Exit 1' guard. * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging, and to also run configure and make. 2011-06-13 Stefano Lattarini tests: don't hard-code test name in txinfo21.test * tests/txinfo21.test: Use `$me' instead of hard-coding the current testcase name "txinfo21". Add a trailing `:' command since we are at it. 2011-06-10 Stefano Lattarini tests: new test dedicated to `--add-missing' and `--copy' * tests/add-missing.test: New test. * tests/Makefile.am (TESTS): Update. Suggested by Peter Rosin. 2011-06-08 Stefano Lattarini testsuite: use 'fatal_' and 'framework_failure_' for hard errors * tests/defs (require_xsi): Use `fatal_', not `framework_failure', to report an invalid usage. * tests/remake-gnulib-remove-header.test: Prefer using `fatal_' with a proper error message over a direct call to `Exit 99'. * tests/pr8365-remake-timing.test: Likewise. * tests/cygnus-imply-foreign.test: Likewise. * tests/missing6.test: Likewise. * tests/cond8.test: Likewise. * tests/cond33.test: Likewise. * tests/python-virtualenv.test: Prefer using `framework_failure_' with a proper error message over a direct call to `Exit 99'. * tests/instspc-tests.sh: Prefer using `framework_failure_' and `fatal_' over direct calls to `Exit 99'. (fatal_): Define this (which is a simplified version of the one in `tests/defs') for early uses (i.e., before `tests/defs' gets sourced). * tests/depmode-tests.sh: Likewise. Also, simplify the 'get_depmodes' function and calls to it accordingly. 2011-06-08 Stefano Lattarini self tests: check new 'fatal_' function * tests/self-check-exit.test: Also check the new 'fatal_' function. 2011-06-08 Stefano Lattarini test defs: new function 'fatal_', for hard errors Before this patch, the only way offered by tests/defs to properly signal a hard error was the `framework_failure_' function. But the error message issued by that function, as its name would suggest, refers to a set-up failure in the testsuite, while hard errors can obviously also be due to other reasons. The best way to fix this inconsistency is to introduce a new function with a more general error message. Inspired by a recent similar change to Gnulib's tests/init.sh. * tests/defs (fatal_): New function. * tests/README (Section "Writing test cases" subsection "Do"): Suggest the use of `fatal_', not of `framework_failure_', for generic hard errors. The latter should be reserved for "real" set-up failures. 2011-06-07 Stefano Lattarini tests: `lib/' shell scripts transparently tested also with $SHELL With the previous commit, the user could prefer the use of $SHELL over /bin/sh in some tests checking the Automake-provided shell scripts by manually exporting `test_prefer_config_shell' to "yes" in the environment. With this commit, we ensure that such tests *always* and *transparently* run using both $SHELL and /bin/sh to execute the checked scripts. The `test_prefer_config_shell' variable becomes an internal detail, and is no more meant to be manually defined or overridden. * tests/defs-static.in: Check that `test_prefer_config_shell' is not exported in the environment. Error out if this is the case. * tests/config-shell-tests.sh: New file, driver script to run checks on the shell scripts in `lib/' using the $SHELL determined at configure time instead of the default system shell /bin/sh. * Makefile.am (TESTS_EXTENSIONS): Add `.shtst'. (SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'. (config_shell_tests): Define to a list of tests that wraps other `*.test' tests using `config-shell-tests.sh'. ($(config_shell_tests)): Dummy dependency declaration required in order to have make actually produce expected log files from the `.shtst.log' suffix rule. (EXTRA_DIST): Distribute `config-shell-tests.sh'. (TESTS): Add `$(config_shell_tests)'. * tests/self-check-env-sanitize.test: Update, by checking that `test_prefer_config_shell' isn't exported in the environment. 2011-06-07 Stefano Lattarini tests: can use also $SHELL to check shell scripts from `lib/' * tests/ar-lib.test: If the variable `$test_prefer_config_shell' is set to "yes", run the script under test with configure-time determined $SHELL, rather than with /bin/sh. The `$test_prefer_config_shell' variable defaults to empty, but can be overridden at runtime by the user, thus allowing more coverage. * tests/compile.test: Likewise. * tests/compile2.test: Likewise. * tests/compile3.test: Likewise. * tests/compile4.test: Likewise. * tests/compile5.test: Likewise. * tests/compile6.test: Likewise. * tests/instsh2.test: Likewise. * tests/instsh3.test: Likewise. * tests/mkinst3.test: Likewise. * tests/missing.test: Likewise. * tests/missing2.test: Likewise. * tests/missing3.test: Likewise. * tests/missing5.test: Likewise. * tests/defs (get_shell_script): New subroutine, factoring out code common to the tests above. (xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes", check that $SHELL, not /bin/sh, supports XSI constructs, as we expect the test will use $SHELL and not /bin/sh to run the script being tested. 2011-06-07 Stefano Lattarini tests defs: better requirements for XSI shells This change avoids potential spurious failures with tests using the requirement 'xsi-shell' to mean that they want */bin/sh* (not $SHELL) to be XSI-conforming. This idiom used to work before commit `v1.11-874-g1321be7' (as back then the test scripts were unconditionally run with /bin/sh), but has become inconsistent now that the test scripts re-execute themselves with configure determined $SHELL. The described spurious failures have already occurred in practice, for examples on Solaris systems which also had GNU Bash installed. From a suggestion by Peter Rosin. See discussion at: * tests/defs (xsi-shell): Now check that $SHELL, rather than the shell currently running the test script, is an XSI shell. (xsi-bin-sh): New requirement, checking that /bin/sh (which can differ from $SHELL) is an XSI shell. (xsi-lib-shell): New requirement, checking that the shell that should be used to test the Automake-provided scripts from `lib/' is an XSI shell. For the moment, this is just an alias for `xsi-bin-sh'. (require_xsi): New subroutine, used to factor out code common to the requirements above. ($xsi_shell_code): New variable, contains shell code supposed to work only with XSI shells. Used by the new subroutine above. * tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead of 'xsi-shell', since the script we test here is run with /bin/sh, not with $SHELL. * tests/compile3.test: Likewise. * tests/compile6.test: Likewise. 2011-06-05 Stefano Lattarini tests: fix typo-related error in auxdir2.test * tests/auxdir2.test (configure.in): Close m4 quoting in the argument to AC_CONFIG_AUX_DIR. Without this, aclocal fails with "ERROR: end of file in string". This problem hasn't been exposed by the testsuite before because this test is in XFAIL_TESTS, so its failure went unnoticed, even if it was due to a wrong cause. Bug introduced in commit v1.11-249-g49ac3de. 2011-06-05 Stefano Lattarini self tests: check that `$me' can be overridden * tests/self-check-me.test: Check that `$me' can be overridden before sourcing ./defs, with or without sourcing ./defs-static beforehand, and that this override is honored. Update heading comments. 2011-06-02 Stefano Lattarini self tests: fix another spurious failure Our ad-hoc usage of `tests/defs' in the testsuite's self tests stopped working properly when we made the test scripts re-execute themselves with the configure-time $SHELL. Fix this. Fixes a regression introduced by commit 'v1.11-874-g1321be7'. * tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no" before running the self tests. This fixes a spurious failure present only when the test was run by hand. 2011-06-02 Stefano Lattarini silent-rules tests: fix spurious failures with Sun Studio C++ * tests/silentcxx.test: The C++ compiler from Sun Studio is named `CC'. Account for this in our grepping checks on the make output. Since we are at it, throw in a couple of improvements to comments and formatting. * tests/silent-many-generic.test: The C++ compiler from Sun Studio is named `CC', and this can cause spurious failures in our grepping of the make output. Work around this by using a wrapper script around the C++ compiler (generated on the fly), since filtering the make output proved to be too fragile. 2011-06-02 Stefano Lattarini tests: fix spurious failure in backcompat2.test on NetBSD * tests/backcompat2.test: Add trailing `:' in the body of a `for' loop, in case the last command there might have an exit status different 0. This work around `set -e' issues in some BSD shells, e.g., NetBSD /bin/ksh. 2011-06-02 Stefano Lattarini tests: fix spurious failure in autohdr3.test * tests/autohder3.test (Makefile.am): Let `test' depend on `all', so that config.h header is truly remade. Remove now useless call to `$MAKE' when non-GNU make is in use. Failure introduced by commit `v1.11-895-g5e62b96'. 2011-06-02 Stefano Lattarini tests: fix spurious failure of cond29.test on NetBSD * tests/cond29.test: Skip if we cannot safely limit the maximal size of used virtual memory to 20K. This fixes a spurious failure on NetBSD. Bug introduced in commit `v1.11-885-g908d335'. 2011-06-02 Stefano Lattarini maintcheck: fix again few more failures * tests/cond29.test: To please the `sc_tests_Exit_not_exit' maintainer check, avoid using `sh -c "exit 0"' where a simple `sh -c :' will do. * tests/depmod-data.test: Use creative quoting to avoid spuriously triggering the `sc_tests_Exit_not_exit' maintainer check. 2011-06-02 Stefano Lattarini maintcheck: fix some more failures * tests/instdir-ltlib.test: Use creative quoting to avoid spuriously triggering the `sc_rm_minus_f' maintainer check. * tests/instdir-prog.test: Likewise. * tests/instspc-data.test: Use creative quoting to avoid spuriously triggering the `sc_tests_Exit_not_exit' maintainer check. 2011-06-02 Stefano Lattarini maintcheck: fix some failures, extend some checks * Makefile.am (sc_diff_automake_in_automake): Update, as we now expect 9 lines, not 8, to be changed from `automake.in' to `automake'. (sc_diff_aclocal_in_aclocal): New maintainer check, similar to the above, and checking that only 10 lines are changed from `aclocal.in' to `aclocal'. (syntax_check_rules): Update. (sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test' from this check, as they can legitimately use the bare `exit' builtin in various places. * doc/automake.texi (Python): Remove stray `@' from the end of a line. Typo introduced in commit `v1.11-312-g5bf7af6'. * tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make from the environment rather than from the command line, to pacify the `sc_tests_overriding_macros_on_cmdline' maintainer check. * tests/depcomp8b.test: Likewise. 2011-06-02 Stefano Lattarini tests: don't require GNU make where it's not strictly needed * tests/autohdr3.test: Rewrite to be stricter when make is GNU make. Drop the requirement of GNU make. * tests/aclocal5.test: Drop GNU make requirement, it's not truly needed. Add reference to similar tests `remake-subdir*.test'. * remake-subdir-gnu.test, remake-subdir-from-subdir.test, remake-subdir.test, remake-subdir2.test: Add reference to each other, and to related test `aclocal5.test'. * tests/aclocal6.test: Drop GNU make requirement, it's not truly needed. * tests/confh6.test: Likewise. * tests/lex3.test: Likewise. * tests/remake11.test: Likewise. * tests/subdir5.test: Likewise. * tests/subdir8.test: Likewise. * tests/werror2.test: Likewise. * tests/conff.test: Likewise, and ensure verbose printing of captured make output. * tests/lex5.test: Tweak so that GNU make is no more required. * tests/version7.test: Likewise. * tests/maken2.test: Add explicative comment for why this test requires GNU make. * tests/maken4.test: Let it run also with BSD makes supporting the `.MAKE' special target. * tests/output6.test: Use proper m4 quoting in configure.in. Expand make macros with one-character name using `$(x)', not `$x', for portability. Move checks in the makefiles, rather than relying on grepping the output from make. Drop the now unneeded GNU make requirement. 2011-05-29 Stefano Lattarini remake: behave better with non-GNU make in subdirectories Currently, with every decent make program, it is possible to rebuild out-of-date autotools-generated files with a simple "make Makefile" -- but for this to work reliably with non-GNU make implementations, the command must be issued from the top-level directory. This patch removes such limitation. * lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'. * tests/remake-subdir.test: New test. * tests/remake-subdir2.test: Likewise. * tests/remake-subdir-gnu.test: Likewise. * tests/remake-subdir-from-subdir.test: Likewise. * tests/Makefile.am (TESTS): Update. 2011-06-01 Stefano Lattarini lex tests: fix spurious failures with Solaris lex * tests/lex-lib.test (foo.l): Avoid empty "rules section", which can confuse Solaris lex. * tests/lex-libobj.test (foo.l): Likewise. 2011-06-01 Stefano Lattarini lex tests: do not force the use of flex unconditionally * tests/defs (lex): Act more similarly to what the `yacc' requirement does, i.e., only force the use of flex if the $LEX variable is left unset by the user. (flex): Use `skip_' to skip the test if flex is not found. 2011-06-01 Stefano Lattarini lex tests: avoid possible hang; fix and extend * tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs. Bug introduced in commit 'v1.11-871-geb147a1'. (Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define our own `yywrap' function. * tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for consistency with the default flex implementation. * tests/lex-libobj.test (yywrap.c): Likewise. * tests/lex-subobj-nodep.test (s1.l): Likewise. * tests/lexvpath.test (foo.c): Likewise. * tests/silent-lex-gcc (foo.l): Likewise. * tests/silent-lex-generic (foo.l): Likewise. * tests/silent-many-gcc (foo5.l): Likewise. * tests/silent-many-generic (foo5.l): Likewise. * tests/lex-lib.test (mu.c): Likewise. Update heading comments, to refer to ... * tests/lex-lib-external.test: ... this new test, which checks that we can get use the `yywrap' function from a system-wide library, if that's available. 2011-06-01 Stefano Lattarini tests: prefer `skip_' over `echo ...; Exit 77' * tests/self-check-cleanup.test: When the test must be skipped, use `skip_ REASON' instead of `echo REASON; Exit 77'. Also, make the skip message shorter and clearer. 2011-06-01 Stefano Lattarini tests: fix spurious failures in self tests Our ad-hoc usage of `tests/defs' in the testsuite's self tests stopped working properly when we made the test scripts re-execute themselves with the configure-time $SHELL. Fix this. Fixes a bug introduced by commit 'v1.11-874-g1321be7'. * tests/defs: Only check that we can find the client test script when we must re-execute it. * tests/self-check-cleanup.test: Export `AM_TESTS_REEXEC' to "no" before running the self tests. * tests/self-check-dir.test: Likewise. * tests/self-check-explicit-skips.test: Likewise. * tests/self-check-me.test: Likewise. * tests/self-check-sanity.test: Likewise. * tests/self-check-reexec.test: New test. * tests/Makefile.am (TESTS): Update. 2011-06-01 Stefano Lattarini tests: prefer ulimit over timeout in test on a memory-hogging bug * tests/cond29.test: Use 'ulimit' instead of 'timeout' to ensure that automake does not uses up too much resources. This is really and improvement because the bug tested by this script wasn't just a "it hangs" or "it runs too slow" bug, but rather a memory-hogging bug (due to combinatorial explosion when many Automake conditionals had to be handled) which could easily crash the whole system, which is unacceptable. The requirement of a proper and working 'ulimit' builtin might cause the test to be skipped on more systems, but that shouldn't be a problem since the bug isn't about a portability issue, but is rather an automake internal implementation problem. I've verified that the test as updated by this patch still passes with automake 1.8.5, automake 1.10.2, and obviously the development version of automake, and that it fails with automake 1.7.9. 2011-06-01 Stefano Lattarini testsuite: avoid generating `*-p.test' tests, use a wrapper script The generated `*-p.test' tests had already become just thin layers around the corresponding test scripts. This change makes the final step, converting to the use of a generic wrapper script and thus avoiding the extra test generation (similarly to what is done for the `*.instspc' and `*.depmod' tests). * tests/parallel-tests.sh: New file, driver script to run checks the on the `parallel-tests' semantics by wrapping tests that use the generic "Simple Tests" driver. * tests/gen-parallel-tests: Update, mostly to reflect the new `.ptest' extensions used for tests in $(parallel_tests). * Makefile.am (TESTS_EXTENSIONS): Add `.ptest'. (PTEST_LOG_COMPILER): Define, it calls `parallel-tests.sh'. ($(parallel_tests)): Do not really generate `*-p.test' tests anymore; this is now just a dummy dependency declaration required in order to have make actually produce expected log files from the `.ptest.log' suffix rule. (EXTRA_DIST): Distribute `parallel-tests.sh'. (MAINTAINERCLEANFILES): Don't remove the `$(parallel_tests)', it is not necessary anymore. (generated_tests): Variable definition removed. (TESTS): Update, by listing `$(parallel_tests)' directly instead of `$(generated_tests)' (expected_list_of_tests): Remove `$(generated_tests)'. (maintainer-check-list-of-tests): No need to explicitly depend on `$(expected_list_of_tests)' anymore. 2011-05-29 Stefano Lattarini automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE Currently, the Automake's own configure script allow definition of AUTOCONF and AUTOM4TE, expected to point respectively to an autoconf and autom4te programs. But while these definitions are honoured in the Automake's build systems and test suite, they were *not* honoured in the generated `automake' and `aclocal' scripts. This behaviour, apart from being wrong in that it does not allow the user enough freedom in choosing his tools, also caused inconsistencies in the test suite, brining to spurious failures. Problem reported by Graham Reitz on the automake list; see thread: * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'. * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'. * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and `@am_AUTOM4TE'. * NEWS: Update. * THANKS: Update. 2011-05-29 Stefano Lattarini build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too Our build system allows the user to override AUTOCONF and AUTOHEADER at configure time, and honours these overrides in our testsuite. But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE. This change fixes that inconsistency. * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New AC_SUBSTitutions. Update comments. * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now. ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'. ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'. * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update. 2011-05-22 Stefano Lattarini parallel-tests: stricter checks on DISABLE_HARD_ERRORS support * tests/parallel-tests-harderror.test: New test, doing more in-depth checks on DISABLE_HARD_ERRORS. * tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS, now redundant. * tests/Makefile.am (TESTS): Update. 2011-05-22 Ralf Wildenhues Stefano Lattarini tests/README: fix example about `make -e' usage * tests/README (Section "Writing test cases" subsection "Do"): When some variable is never initialized in the Makefile, `-e' is not necessary in order to override it. DESTDIR is such a variable: we ensure that we do not ever initialize it. And as such, it is quite portable to use: $ make DESTDIR=/foo/bar install and in fact, quite widely used. So our example about when `make -e' is required, which references the `DESTDIR' variable, is poorly chosen, if not downright wrong. Rewrite it to use `prefix' as the overridden variable instead. 2011-05-29 Stefano Lattarini tests: don't require gfortran if any fortran compiler is enough * tests/silentf90.test ($required): Require `fortran', not `gfortran'. * tests/silentf77.test ($required): Require `fortran77', not `gfortran'. * tests/silent-many-generic.test ($required): Require `fortran' and `fortran77' rather than `gfortran'. 2011-05-27 Stefano Lattarini tests: improve `ccnoco*.test', better cross-compiling support * tests/ccnoco3.test (Mycomp): Use the `$CC' chosen by `tests/defs' instead of forcing `gcc' unconditionally. This ensures better coverage in case of cross-compiling, when GCC can be named e.g., `i586-mingw32msvc-gcc', instead of simply `gcc'. * tests/ccnoco.test: Likewise. Remove redundant checks. Modernize the created `configure.in'. Run tests both in-tree and in VPATH. Export `CC' to the overridden value only once. * tests/ccnoco2.test: Slightly stricter grepping of automake stderr. Add trailing `:' command. 2011-05-27 Stefano Lattarini testsuite: each test case depends on `defs-static' * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too. Simplify comments. 2011-05-27 Stefano Lattarini testsuite: use $SHELL to run tests which are shell scripts * tests/Makefile.am (TEST_LOG_COMPILER): Define so that the configure-time $SHELL is used to run the tests. * tests/defs: Add code to re-execute by default the running test script with configure-time $SHELL. Updated comments. * configure.ac: Check that `set -e' is working for $SHELL, not for /bin/sh. * tests/defs-static.in: Update comments. * tests/README (Supported shells): Updated. (Getting details from failures): Don't tell that tests are run by /bin/sh by default. 2011-05-26 Stefano Lattarini tests: split 'subst2.test' to improve modularity and coverage * tests/subst2.test: Test removed, split into ... * tests/programs-primary-rewritten.test: ... this test ... * tests/subst-no-trailing-empty-line.test: ... and this one ... * tests/extra-programs-empty.test: ... and this one. * tests/Makefile.am (TESTS): Update. 2011-05-26 Stefano Lattarini tests: tweak and improve tests on Automake conditionals The "avoid the requirement of a working compiler" we refer about below is obtained by disabling automatic dependency tracking and defining `CC' (and `EXEEXT', `OBJEXT', `CXX', etc., if needed) to dummy values, either directly in the `Makefile.am', or by AC_SUBST in `configure.in'. The "cosmetic changes" we refer about below consists in, e.g., adding a trailing `:' command to a script, using proper m4 quoting in `configure.in' files, adding commands that offer more debugging output, explicitly declaring phony targets as such in Makefiles, making use of idioms more consistent with those employed in other tests, following the GNU formatting standards more closely, etc. * tests/cond.test: Cosmetic changes. * tests/cond3.test: Likewise. * tests/cond10.test: Likewise. * tests/cond14.test: Likewise. * tests/cond15.test: Likewise. * tests/cond17.test: Likewise. * tests/cond40.test: Likewise. * tests/cond13.test: Likewise, and make grepping of the generated `Makefile.in' slightly stricter. * tests/cond6.test: Extend by also running ./configure, make and "make install". Few cosmetic changes. * tests/cond8.test: Likewise. * tests/cond2.test: Do few cosmetic changes. Make grepping of automake stderr stricter. * tests/cond20.test: Likewise. * tests/cond23.test: Likewise. * tests/cond24.test: Likewise. * tests/cond42.test: Likewise. * tests/cond46.test: Likewise. * tests/cond9.test: Move more checks in the `Makefile.am' instead of grepping make's output. * tests/cond38.test: Likewise. * tests/cond11.test: Likewise. Avoid the requirement of a working C compiler. * tests/cond16.test: Likewise. * tests/cond22.test: Likewise. * tests/cond30.test: Likewise. * tests/cond31.test: Likewise. * tests/cond4.test: Likewise, and drop the now-useless GNU make requirement as well. * tests/cond18.test: Likewise. * tests/cond19.test: Likewise. * tests/cond22.test: Likewise. * tests/cond25.test: Add trailing `:' command. * tests/cond26.test: Likewise. * tests/cond27.test: Likewise. * tests/cond28.test: Likewise. * tests/cond29.test: Use `unindent' function for better formatting. Other minor cosmetic changes. Use a `timeout' program (if it's available) to determine whether the script takes too long, instead of just hoping that the user will notice an abnormally long test execution time. * tests/cond33.test: Extend a bit. Fix heading comments. Few more cosmetic changes. * tests/cond37.test: Ensure verbose printing of captured make output. Minor cosmetic changes. * tests/cond34.test: Likewise. Avoid the requirement of a working C compiler. Make grepping of make output slightly stricter. * tests/cond35.test: Quote literal dots in grep regexp. Add extra debugging output. Minor cosmetic changes. * tests/cond36.test: Likewise. * tests/cond41.test: Do not simply check that aclocal fails, but also grep its stderr for the expected error message. * tests/cond43.test: Likewise (but the program being automake). Few cosmetic changes. * tests/condd.test: Avoid the requirement of a working C compiler. * tests/condman3.test: Extend by using more man pages and more manpage sections. * tests/condman.test: Removed, it's completely superseded by `condman3.test'. * tests/Makefile.am (TESTS): Update. 2011-05-25 Stefano Lattarini lex tests: avoid spurious failures when LEXLIB isn't found The AC_PROG_LEX Autoconf macro does not diagnose a failure to find the "lex library" expected to provide a `yywrap' function (function which is required to link most lex-generated programs). On the contrary, when all the link attempts (i.e., with `-ll' and `-lfl') fail, configure declares that no lex library is needed, and simply proceeds with the configuration process -- only for the build to possibly fail later, at make time. This behaviour might be (partly) intended; the Autoconf manual reads: ``You are encouraged to use Flex in your sources, since it is both more pleasant to use than plain Lex and the C source it produces is portable. In order to ensure portability, however, you must either provide a function `yywrap' or, if you don't use it (e.g., your scanner has no `#include'-like feature), simply include a `%noyywrap' statement in the scanner's source.'' This AC_PROG_LEX behaviour is causing some spurious failures of the Automake testsuite in environments which lack a proper library providing `yywrap' (this happens for example in Linux->MinGW cross compilations). But at this point is clear that a proper workaround is to simply provide a fall-back implementation of `yywrap' in our lexers. * tests/cond35.test: Provide a dummy `yywrap' function. * tests/lex3.test: Likewise. * tests/lexvpath.test: Likewise. * tests/silent-many-gcc.test: Likewise. * tests/silent-many-generic.test: Likewise. * tests/silent-lex-gcc.test: Likewise, and a dummy `main' too. * tests/silent-lex-generic.test: Likewise. * tests/lex-lib.test: New test. * tests/lex-libobj.test: New test. * tests/lex-nowrap.test: New test. * tests/Makefile.am (TESTS): Update. * THANKS: Update. Thanks to Russ Allbery for the suggestion. 2011-05-25 Stefano Lattarini testsuite: require C++ compiler explicitly in tests needing it The list of the test scripts which needed a C++ compiler but failed to require it explicitly has been found by running: $ tests=`grep -lE 'CXX|\.c(c|\+\+|xx|pp)' *.test | tr '\n' ' '` $ am_explicit_skips=yes CXX=false make check TESTS="$tests" and looking for tests that reported FAIL instead of SKIP. After the present change, all those previously failing tests either pass or get correctly skipped. * tests/subobj9.test: Require `c++', instead of explicitly skipping on configure failure. Add excerpts and/or details from the original bug report that prompted this tests to be written. * tests/silentcxx-gcc.test: Require g++. * tests/silentcxx.test: Require c++. * tests/suffix3.test: Likewise. 2011-05-25 Stefano Lattarini testsuite: don't require g++ where any C++ compiler is enough * tests/specflg10.test ($required): Use `c++', not g++. * tests/silent-many-generic.test: Likewise. 2011-05-25 Stefano Lattarini testsuite: require C compiler explicitly in tests needing it The list of the test scripts which needed a C compiler but failed to require it explicitly has been found by running: $ am_explicit_skips=yes CC=false make check and looking for tests that reported FAIL instead of SKIP. After the present change, all those previously failing tests either pass or get correctly skipped. * tests/aclocal4.test ($required): Add `cc'. * tests/ansi.test: Likewise. * tests/ansi10.test: Likewise. * tests/ansi3.test: Likewise. * tests/ansi3b.test: Likewise. * tests/ansi5.test: Likewise. * tests/ansi6.test: Likewise. * tests/ansi7.test: Likewise. * tests/ansi9.test: Likewise. * tests/backcompat6.test: Likewise. * tests/canon7.test: Likewise. * tests/check5.test: Likewise. * tests/check7.test: Likewise. * tests/check8.test: Likewise. * tests/cond4.test: Likewise. * tests/cond11.test: Likewise. * tests/cond16.test: Likewise. * tests/cond18.test: Likewise. * tests/cond19.test: Likewise. * tests/cond22.test: Likewise. * tests/cond30.test: Likewise. * tests/cond31.test: Likewise. * tests/cond32.test: Likewise. * tests/cond34.test: Likewise. * tests/cond35.test: Likewise. * tests/cond39.test: Likewise. * tests/condd.test: Likewise. * tests/cygnus-dependency-tracking.test: Likewise. * tests/depcomp2.test: Likewise. * tests/depcomp6.test: Likewise. * tests/depcomp7.test: Likewise. * tests/depcomp8a.test: Likewise. * tests/depcomp8b.test: Likewise. * tests/depdist.test: Likewise. * tests/depend2.test: Likewise. * tests/depend5.test: Likewise. * tests/distcleancheck.test: Likewise. * tests/distname.test: Likewise. * tests/exeext.test: Likewise. * tests/exeext4.test: Likewise. * tests/extradep.test: Likewise. * tests/extradep2.test: Likewise. * tests/gnits2.test: Likewise. * tests/gnits3.test: Likewise. * tests/instdir-ltlib.test: Likewise. * tests/instdir-prog.test: Likewise. * tests/instfail.test: Likewise. * tests/instfail-libtool.test: Likewise. * tests/lex3.test: Likewise. * tests/lex5.test: Likewise. * tests/lexvpath.test: Likewise. * tests/lex-subobj-nodep.test: Likewise. * tests/lflags.test: Likewise. * tests/libobj-basic.test: Likewise. * tests/libobj2.test: Likewise. * tests/libobj7.test: Likewise. * tests/libobj10.test: Likewise. * tests/libobj16a.test: Likewise. * tests/libobj16b.test: Likewise. * tests/libobj17.test: Likewise. * tests/libobj19.test: Likewise. * tests/libtool2.test: Likewise. * tests/libtool3.test: Likewise. * tests/libtool7.test: Likewise. * tests/libtool9.test: Likewise. * tests/libtoo10.test: Likewise. * tests/libtoo11.test: Likewise. * tests/ltcond.test: Likewise. * tests/ltcond2.test: Likewise. * tests/ltconv.test: Likewise. * tests/ltinit.test: Likewise. * tests/ltlibsrc.test: Likewise. * tests/ltorder.test: Likewise. * tests/nobase.test: Likewise. * tests/nobase-libtool.test: Likewise. * tests/mmodely.test: Likewise. * tests/parallel-tests5.test: Likewise. * tests/parallel-tests-suffix-prog.test: Likewise. * tests/parallel-tests-ext-driver-prog.test: Likewise. * tests/posixsubst-ldadd.test: Likewise. * tests/posixsubst-libraries.test: Likewise. * tests/posixsubst-ltlibraries.test: Likewise. * tests/posixsubst-programs.test: Likewise. * tests/posixsubst-sources.test: Likewise. * tests/pr87.test: Likewise. * tests/pr204.test: Likewise. * tests/pr224.test: Likewise. * tests/pr300-lib.test: Likewise. * tests/pr300-ltlib.test: Likewise. * tests/pr300-prog.test: Likewise. * tests/pr401.test: Likewise. * tests/pr401b.test: Likewise. * tests/pr401c.test: Likewise. * tests/remake-gnulib-add-acsubst.test: Likewise. * tests/remake-gnulib-add-header.test: Likewise. * tests/regex.test: Likewise. * tests/repeated-options.test: Likewise. * tests/silent.test: Likewise. * tests/silent3.test: Likewise. * tests/silent9.test: Likewise. * tests/silent-lex-generic.test: Likewise. * tests/silent-many-generic.test: Likewise. * tests/silent-yacc-generic.test: Likewise. * tests/specflg7.test: Likewise. * tests/specflg9.test: Likewise. * tests/specflg10.test: Likewise. * tests/stdinc.test: Likewise. * tests/strip.test: Likewise. * tests/strip2.test: Likewise. * tests/strip3.test: Likewise. * tests/subdirbuiltsources.test: Likewise. * tests/subobj3.test: Likewise. * tests/subobj6.test: Likewise. * tests/subobj11a.test: Likewise. * tests/subpkg.test: Likewise. * tests/subst2.test: Likewise. * tests/subst3.test: Likewise. * tests/substref.test: Likewise. * tests/substre2.test: Likewise. * tests/suffix5.test: Likewise. * tests/suffix8.test: Likewise. * tests/suffix10.test: Likewise. * tests/suffix11.test: Likewise. * tests/suffix12.test: Likewise. * tests/suffix13.test: Likewise. * tests/target-cflags.test: Likewise. * tests/transform.test: Likewise. * tests/transform2.test: Likewise. * tests/yacc-basic.test: Likewise. * tests/yacc-d-basic.test: Likewise. * tests/yacc-clean.test: Likewise. * tests/yacc-dist-nobuild.test: Likewise. * tests/yacc-nodist.test: Likewise. * tests/yaccvpath.test: Likewise. * tests/yacc-d-vpath.test: Likewise. * tests/yacc4.test: Likewise. * tests/yacc7.test: Likewise. * tests/yacc8.test: Likewise. * tests/yaccdry.test: Likewise. * tests/yflags-cmdline-override.test: Likewise. * tests/yflags-force-override.test: Likewise. * tests/python-virtualenv.test: Likewise. Also, improve skip messages. * tests/subobj5.test ($required): Add `cc'. (Makefile.am): Set `AUTOMAKE_OPTIONS' to `subdir-objects', and add new checking rules `test-build' and `test-distdir'. Extend the test by building and examining the distdir, the program, and the object files. * tests/postproc.test ($required): Add `cc'. Avoid the explicit `|| Exit $?' after call to configure, which is now either redundant (e.g., when `am_explicit_skips' is unset), or counter-productive (e.g., when `am_explicit_skips' is set to "yes"). * tests/pr243.test: Likewise. * tests/pr266.test: Likewise. * tests/pr220.test: Simplify so that it doesn't require a C compiler anymore. * tests/subdir5.test: Likewise. * tests/subdir8.test: Likewise. * tests/lflags.test: Likewise. * tests/yflags.test: Likewise. * tests/yflags-force-conditional.test: Likewise. * tests/lflags2.test: Simplify so that it doesn't require a C++ compiler anymore. * tests/yflags2.test: Likewise. * tests/autohdrdry.test (configure.in): Remove unneeded call to `AC_PROG_CC'. * tests/pr287.test: Likewise. * tests/check6.test: Likewise. * tests/cond21.test: Likewise, plus some cosmetic adjustments. * tests/upc.test: Skip if configure fails with status `77'. * tests/upc3.test: Likewise. * tests/vala4.test: Likewise. * tests/nostdinc.test: Likewise. Also, make grepping checks on `Makefile.in'. Update heading comments. * tests/compile5.test: When we must skip, skip explicitly, and with a meaningful message. * tests/instspc-tests.sh: When running in "test-build" or "test-install" mode (as determined by the value of variable `$instspc_action'), require `cc'. Adjust comments. * tests/depmod-tests.sh: Likewise. 2011-05-24 Stefano Lattarini testsuite: allow user to ask for stricter skip semantics Given how the Automake testsuite is currently structured, if a command in a test script fails with status `77', the global test outcome is considered a SKIP, because the value of `77' for `$?' is passed to the exit trap. Indeed, this happens in practice, as an autoconf-generated configure script can exit with status `77' if it fails to find, e.g., a required compiler. While this behaviour is quite useful for avoiding spurious test failures in the wild, it can also sometimes prevent the Automake developers to easily see and declare the requirements of their tests. This change introduces a new variable `am_explicit_skips', meant to be user-overridable, and which, when set to a "true" value (i.e., `yes' or `1'), require a direct call to `Exit 77' in order to make the test outcome be considered a SKIP. * tests/defs.in ($am__test_skipped): New variable, initialized to `no'. (Exit): Set `$am__test_skipped' to `yes' if passed an exit status of 77. (trap '...' 0): When `$am_explicit_skips' is set to a "true" value, reset an exit status of `77' to `78' if $am__test_skipped is not set to `yes'. * tests/self-check-exit.test: Adjust: unset `am_explicit_skips'. * tests/self-check-explicit-skips.test: New test. * tests/Makefile.am (TESTS): Update. 2011-05-24 Stefano Lattarini testsuite: user can force skipping of compiler-requiring tests * tests/defs (cc, c++, fortran, fortran77): Skip the test if the relevant compiler is disabled by having the corresponding variable (CC, CXX, FC and F77, respectively) set to "false". (yacc): For consistency, skip the test when the YACC variable is set to "false", not when it's set to "no". Since we are at it, fix the skip message to be shorter and more consistent. 2011-05-23 Stefano Lattarini tests: tweak and improve tests on "Simple Tests" driver * tests/check.test: Make grepping of generated Makefile.in slightly stricter. Add trailing `:' command. * tests/check2.test: Ensure verbose printing of captured make output. Make grepping of generated Makefile.in and of make output stricter. Add trailing `:' command. * tests/check3.test: Likewise. Also, fix minor error in a comment. * tests/check4.test: Stricter grepping of make output. Use `using_gmake' subroutine instead of copy&paste from defs.in to determine whether $MAKE is GNU make. Add a trailing `:' command. * tests/check6.test: Add trailing `:' command. * tests/check10.test: Prefer redirection `>' over `>>' when creating new files. Ensure verbose printing of captured make output. * tests/check11.test: Likewise. * tests/check7.test: Likewise. Make grepping of make output stricter. Prefer "make distcheck" over a simple "make check" in a VPATH build. Add trailing `:' command. (a.c): Format following GNU coding standards. (Makefile.am): Explicitly declare target `print-xfail-tests' as PHONY. Distribute $(check_SCRIPTS), for distcheck. * tests/parallel-tests.test: Prefer redirection `>' over `>>' when creating new files. * tests/parallel-tests2.test: Likewise. * tests/parallel-tests9.test: Likewise. * tests/parallel-tests8.test: Likewise. Make grepping of automake stderr stricter. * tests/check8.test: Likewise. Make formatting of created *.c files more consistent with GNU Coding Standards. * tests/check-subst-prog.test (configure.in): Break overly long lines. (pass-prog.c, xfail-prog.c): Format them more consistently with GNU Coding Standards. * tests/parallel-tests3.test: Use a shorter and clearer skip message. Use the `unindent' subroutine to improve readability of indented loop bodies. Simplify the hack used to please maintainer-check. * tests/parallel-tests5.test: Make formatting of created *.c files more consistent with GNU Coding Standards. Use the `unindent' subroutine to improve readability of indented loop bodies. * tests/parallel-tests10.test: Add blank line, for clarity. Prefer trailing `:' over trailing `Exit 0', for consistency with other tests. 2011-05-21 Stefano Lattarini tests/README: small consistency improvement * tests/README (Section "User interface" subsection "Running the tests"): In examples, be more consistent w.r.t. the differences between GNU and non-GNU make. 2011-05-21 Stefano Lattarini tests/README: suggest how to run tests in cross-compile mode * tests/README (Section "User interface" subsection "Running the tests"): Briefly explain how to override 'host_alias' at runtime to force the use of cross-compilers by the testsuite. Give an example. 2011-05-21 Stefano Lattarini test defs: better detection of cross-compile mode * configure.ac (AC_CANONICAL_HOST): New, probably not strictly necessary, but useful to complements AC_CANONICAL_BUILD. * tests/defs-static.in ($host_alias, $build_alias): New variables, exported, user-overridable, defaults AC_SUBST'd by configure. * tests/defs (cross_compiling): Consider cross-compilation mode active only if `$host_alias' is not empty *and* it differs from `$build_alias'. This is more faithful to the way configure determines whether it is cross-compiling, but still allows the user to easily force cross-compilation by overriding `host_alias' and `build_alias' at runtime. From a report by Ralf Wildenhues. 2011-05-20 Stefano Lattarini testsuite: avoid re-running few tests with 'parallel-tests' option Some tests in our testsuite use the 'simple-tests' driver only marginally, or simply as a mean to conveniently check unrelated invariants. It makes little sense to force these tests to also run with the 'parallel-tests' Automake option active, as doing so offers no real gain in coverage, while often causing a measurable overhead in execution time (for an already too-slow testsuite). * tests/pr401.test (parallel_tests): Define to "no", to prevent the generation of a sibling test script using the 'parallel-tests' driver. * tests/pr401b.test: Likewise. * tests/pr401c.test: Likewise. 2011-05-20 Stefano Lattarini testsuite: allow tests to avoid the use of 'parallel-tests' option * tests/gen-parallel-tests: Do not generate "siblings" for tests that explicitly define the `parallel_tests', whether to "yes" or to any other value. Extend heading comments to give a rationale for this behaviour. * tests/README: Update. 2011-05-20 Stefano Lattarini tests/README: update obsoleted advice * tests/README (Section "Writing test cases" subsection "Do"): Do not suggest to use the `*-p.test' pattern for the names of hand-written tests which use the `parallel-tests' Automake option. Not only is this not respected by the existing tests, but it is more likely to cause conflicts with auto-generated tests. So, suggest to *avoid* using the `*-p.test' pattern in names of hand-written tests instead. (Section "Writing test cases" subsection "Do not"): When suggesting not to override Makefile variables using command line arguments, do not use the badly outdated variables `U' and 'ANSI2KNR' in the example; instead, use the more common and typical `DESTDIR'. 2011-05-18 Stefano Lattarini tests: avoid spurious failures in cross-compile mode * tests/depcomp2.test: Ensure verbose printing of captured stderr from configure. * tests/ansi3.test ($required): Add 'native', as the ansi2knr functionality is not meant to work with a cross-compiler. * tests/ansi3b.test: Likewise. * tests/ansi5.test: Likewise. * tests/ansi6.test: Likewise. * tests/ansi7.test: Likewise. * tests/ansi8.test: Likewise. * tests/ansi10.test: Likewise. * tests/subobj3.test: Likewise. * tests/check8.test ($required): Add 'native', as this test is not meant to work with a cross-compiler. * tests/gnits2.test: Likewise. * tests/ltconv.test: Likewise. * tests/ltcond2.test: Likewise. * tests/parallel-tests5.test: Likewise. * tests/specflg7.test: Likewise. * tests/specflg8.test: Likewise. * tests/check5.test: Likewise. Also, ensure verbose printing of captured make output, and thrown in few cosmetic and consistency improvements. * tests/ltinit.test: Be laxer in grepping configure output, to avoid spurious failures on systems which lack POSIX dynamic linking (e.g., MinGW), or when cross-compiling for such systems. * tests/ansi9.test: Skip parts of the test that would require a native compiler. * tests/backcompat6.test: Likewise. * tests/depcomp8a.test: Likewise. * tests/pr401.test: Likewise. * tests/pr401b.test: Likewise. * tests/pr401c.test: Likewise. * tests/target-cflags.test: Likewise. * tests/lex3.test: Likewise. * tests/yacc-basic.test: Likewise. * tests/autohdr4.test: Likewise. Also, extend the test to ensure more coverage in cross-compile mode. * tests/canon7.test: Likewise. * tests/check9.test: Removed, split into two new tests ... * tests/check-subst-prog.test: ... this one, which requires a native C compiler ... * tests/check-subst.test: ... and this one, which doesn't require any compiler. * tests/parallel-tests4.test: Removed, split into two new tests ... * tests/parallel-tests-suffix-prog.test: ... this one, which requires a native C compiler ... * tests/parallel-tests-suffix.test: ... and this one, which doesn't require any compiler. * tests/parallel-tests7.test: Removed, split into two new tests ... * tests/parallel-tests-ext-driver-prog.test: ... this one, which requires a native C compiler ... * tests/parallel-tests-ext-driver.test: ... and this one, which doesn't require any compiler. * tests/Makefile.am (TESTS): Update. 2011-05-19 Stefano Lattarini test defs: rename requirement 'non-cross' -> 'native' * tests/defs.in (non-cross): Rename requirement ... (native): ... to this, which is clearer and fits the existing lingo better. Suggestion by Ralf Wildenhues. 2011-05-15 Stefano Lattarini testsuite: be more cross-compile friendly * tests/defs.in (cross_compiling): New subroutine. (am__tool_prefix): New internal variable. (gcc, g++, gcj): Force the use of the correct "tool prefix" when cross compiling. (gfortran, g77, non-cross): New requirements. 2011-05-15 Stefano Lattarini tests: fix portability issues in 'repeated-options.test' * tests/repeated-options.test: Do not assume that object files have `.o' suffix and executables have no default suffix; instead, use `$(OBJEXT)' and `$(EXEEXT)'. 2011-05-11 Stefano Lattarini check: document and test $(TEST_SUITE_LOG) overriding * doc/automake.texi (Simple Tests using parallel-tests): Explain how and why TEST_SUITE_LOG can be overridden at runtime. * tests/parallel-tests-log-override-1.test: New test, check that the newly documented idiom and similar usages are truly supported. * tests/parallel-tests-log-override-2.test: Likewise. * tests/parallel-tests-log-override-recheck.test: Likewise. * tests/Makefile.am (TESTS): Update. 2011-05-07 Stefano Lattarini tests: fix spurious failure of extradep.test on FreeBSD * tests/extradep.test: When using `ls -t' to determine whether a file has been updated, make sure to use as reference a file whose timestamp is expected to be *strictly* older that that of the file being checked. This is required because at least FreeBSD `ls' do not sort files with the same timestamp in alphabetical order when using the `-t' option. * tests/extradep2.test: Likewise. 2011-05-07 Stefano Lattarini tests: fix spurious failure of txinfo21.test on FreeBSD * tests/txinfo21.test: Use the `is_newest' subroutine instead of the `ls -t' hack to to determine whether a file has been updated. This is required because at least FreeBSD `ls' do not sort files with the same timestamp in alphabetical order when using the `-t' option. 2011-05-07 Stefano Lattarini tests: fix syntax error in 'silentcxx-gcc.test' * tests/silentcxx-gcc.test (for config_args in ...): Remove extra trailing backslash from the list of looped-on items. 2011-05-07 Stefano Lattarini depmod tests: fix bug in depmodes list extraction * tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes' instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and newlines from `$all_depmodes'. The latter idiom with `tr' is wrong since it gets run before `./defs' is sourced, and thus `$nl' and `$sp' are undefined. Bug revealad by FreeBSD tr(1) implementation, which doesn't accept empty strings as arguments. 2011-05-04 Stefano Lattarini tests: add excerpts from few original bug reports, for clarity. * tests/comment6.test: Add excerpts and/or details from the original bug report that prompted this tests to be added and/or extended. * tests/dejagnu4.test: Likewise. * tests/installdir.test: Likewise. 2011-05-04 Stefano Lattarini tests defs: allow requirements for compilers (mostly dummy) Most of the new requirements that are now accepted in `$required' as consequence of this patch are still dummy. They are planned to be implemented only in master (or in some derived branch), but having them here (even just as no-op) will allow for an easier integration/backporting of potential new testcases. * tests/defs.in (cc, c++, fortran, fortran77): New requirements, still dummy. (flex): New requirement, picking LEX for configure. (lex): New requirement, alias for `flex'. A more appropriate implementation, looking for a generic `lex' program, will follow in the future. 2011-05-04 Stefano Lattarini tests: 'silent-many-gcc.test' improved and made more robust * tests/silent-many-gcc.test: Also force "fast" gcc depmode for C++ compilations. Add sanity checks verifying that the cache variables we force are really used by configure. Fix typo in comments. 2011-05-04 Stefano Lattarini tests: drop useless requirements of 'g++' * tests/lflags2.test ($required): Remove 'g++', as any working C++ compiler should be enough, and ./configure will cause the test to skip if no working C++ compiler is found. * tests/yflags2.test: Likewise. * tests/subobj9.test: Likewise. * tests/silentcxx.test: Likewise. Also, do not force depmodes that could cause non-GNU C++ compilers to fail. * tests/silentcxx-gcc.test: New test, like `silentcxx.test', but forcing "fast" gcc depmode (and thus requiring the GNU C++ compiler). * tests/specflg10.test: Add proper "fixme" comment telling that we should make this test work with a generic C++ compiler. * tests/Makefile.am (TESTS): Update. 2011-05-03 Stefano Lattarini tests defs: one more environment sanitization (corner case) * tests/defs (am__using_gmake): Initialize. The `using_gmake' subroutine was using this variable for caching, but wasn't initializing it, which could cause problems in the (admittedly very unlikely) case in which it was pre-existent in the environment. 2011-05-03 Stefano Lattarini tests: add forgotten test scripts to $(TESTS) * tests/Makefile.am (TESTS): Added test scripts man[678].test, which have been present on the filesystem and in the repository, but which had erroneously been left out from $(TESTS). 2011-05-03 Stefano Lattarini tests: ensure verbose printing of captured make output * tests/libtool7.test: Ensure verbose printing of captured make output. * tests/libtool9.test: Likewise. 2011-05-03 Stefano Lattarini maintcheck: consistency of list of test scripts * CheckListOfTests.am: New file. (maintainer-check-list-of-tests): New target, check for consistency between list of tests defined in the including Makefile and list of tests on the filesystem. (clean-maintcheck-testslist-tmp): New rule, to clean up the temporary files that might be left around by the rules associated with the previous target. (clean-local): Depend on it. * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'. (maintainer-check): Added dependency from the new target `maintainer-check-list-of-tests'. * tests/Makefile.am: Likewise. Also ... (checked_test_extensions): Define to `.test'. (expected_test_list): Define properly. * Makefile.am (maintainer-check-list-of-test): New target, calling recursively into `tests/' and `lib/Automake/tests/', using ... (TEST_SUBDIRS): ... this new variable. 2011-05-03 Stefano Lattarini tests: drop useless requirements of gcc (plus testsuite tweakings) * tests/libobj14.test ($required): Remove 'gcc', as we never run the C compiler. * tests/targetclash.test: Likewise. * tests/ansi6.test ($required): Remove 'gcc', as any working C compiler should be enough. * tests/ansi7.test: Likewise. * tests/ansi9.test: Likewise. * tests/ansi10.test: Likewise. * tests/lex5.test: Likewise. * tests/lexvpath.test: Likewise. * tests/mmodely.test: Likewise. * tests/pr204.test: Likewise. * tests/pr300-lib.test: Likewise. * tests/pr300-prog.test: Likewise. * tests/primary3.test: Likewise. * tests/specflg7.test: Likewise. * tests/specflg8.test: Likewise. * tests/subdir5.test: Likewise. * tests/subdir8.test: Likewise. * tests/subobj6.test: Likewise. * tests/subst3.test: Likewise. * tests/substre2.test: Likewise. * tests/yacc6.test: Likewise. * tests/yacc8.test: Likewise. * tests/depcomp2.test: Likewise. Also, avoid clobbering user-set CFLAGS. * tests/lex3.test: Likewise. * tests/ansi3.test: Likewise. Also, avoid 'CC=gcc' in configure. * tests/ansi3b.test: Likewise. * tests/ansi5.test: Likewise. * tests/autohdr4.test ($required): Remove 'gcc', as any working C compiler should be enough. Also, do not reject slow dependency extractors (which we might be forced to use now that $CC is not necessarily gcc anymore). * tests/cond16.test ($required): Remove 'gcc', as any working C compiler should be enough. Since we are at it, throw in few minor tweakings (mostly cosmetic, stylistic, or consistency-related). * tests/cond18.test: Likewise. * tests/cond35.test: Likewise. * tests/gnits2.test: Likewise. * tests/libtool3.test: Likewise. * tests/libtool7.test: Likewise. * tests/libtool9.test: Likewise. * tests/ltcond.test: Likewise. * tests/ltcond2.test: Likewise. * tests/ltconv.test: Likewise. * tests/ltlibsrc.test: Likewise. * tests/nobase.test: Likewise. * tests/nobase-libtool.test: Likewise. * tests/pr220.test: Likewise. * tests/pr224.test: Likewise. * tests/pr300-ltlib.test: Likewise. * tests/pr401.test: Likewise. * tests/pr401b.test: Likewise. * tests/pr401c.test: Likewise. * tests/subpkg.test: Likewise. * tests/target-cflags.test: Likewise. * tests/transform.test: Likewise. * tests/yacc4.test: Likewise. * tests/cond19.test: Likewise. Also, avoid clobbering user-set CFLAGS. * tests/cond4.test: Likewise. * tests/depend2.test: Likewise. * tests/pr87.test: Likewise. * tests/subobj3.test: Likewise. * tests/substref.test: Likewise. 2011-05-03 Stefano Lattarini test defs: increase coverage w.r.t. GNU make * tests/defs (GNUmake): Instead of just skipping the tests requiring GNU make if $MAKE is not GNU make, try to look for it and, if found, redefine $MAKE accordingly. This will help to transparently increase coverage on non-GNU systems which have GNU make available in PATH. 2011-05-03 Stefano Lattarini tests: improve few inter-tests references * tests/acloca22.test: Improve and extend the heading comments. Add reference to related tests 'remake-deleted-m4-file.test' and 'remake-renamed-m4-macro-and-file.test'. Since we are at it, add trailing `:' command, and few blank lines for readability. * tests/remake-renamed-m4-macro-and-file.test: In the heading comments, add reference to the related test 'acloca22.test'. 2011-05-03 Stefano Lattarini tests: fix spurious failure in 'color2.test' * tests/color2.test: If $MAKE contains command-line arguments (as in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails spuriously, because it tries to run "$MAKE" as a single command. Fix this with proper uses of the TCL `eval' builtin. 2011-05-03 Stefano Lattarini tests: few more checks on automatic remake support * tests/remake-all-1.test: New test, check that the "all" target triggers rebuilt of outdated Makefiles. * tests/remake-all-2.test: Likewise, but for when the makefiles are not named `Makefile'. * tests/Makefile.am (TESTS): Update. 2011-05-03 Stefano Lattarini tests: check some remake features with non-GNU make too * tests/acloca14.test ($required): Drop "GNUmake". This test works as-is with non-GNU make implementations. * tests/remake1a.test: Likewise. * tests/aclocal4.test ($required): Drop "GNUmake". Modify the test to have it work also with non-GNU make. * tests/remake5.test: Likewise. * tests/remake8a.test: Likewise. * tests/remake8b.test: Likewise. * tests/remake9a.test: Likewise. * tests/remake9b.test: Likewise. * tests/remake9c.test: Likewise. * tests/remake9d.test: Likewise. * tests/remake10a.test: Likewise. * tests/remake10b.test: Likewise. * tests/remake10c.test: Likewise. * tests/remake12.test: ($required): Drop "GNUmake". Adapt the test to make it work also with non-GNU make (if it supports an "include" directive). 2011-05-01 Stefano Lattarini tests: extend tests on dependency tracking with VPATH * tests/depmod-tests.sh: New script, fulfilling a threefold role: 1. it is called to generate a Makefile.am snippet, containing the definition of proper lists of tests; 2. it is called to set up a directory containing some common data files and autotools-generated files used by the aforementioned tests (this is done for speed reasons only); and 3. it is called to properly run those tests, one at a time. * tests/depcomp9.test: Delete, it's obsolete now. * tests/depcomp10.test: Likewise. * tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this snippet, which defines ... (depmode_tests): ... this new macro, containing the list of the newly generated `*.depmod' tests. (TESTS_EXTENSIONS): Add `.depmod'. (DEPMOD_LOG_COMPILER): Define. It calls `depmod-tests.sh', so that the "depmode tests" will be executed by passing that driver script a proper parameter. ($(depmod_tests)): New dependency declaration (dummy, but required in order to have make actually produce expected log files from the `.depmod.log' suffix rule). (TESTS): Add $(depmod_tests). (EXTRA_DIST): Distribute depmod-tests.sh. Other minor cosmetic changes and reorderings. * bootstrap: Generate depmod-tests.am. * tests/.gitignore: Updated. 2011-05-01 Stefano Lattarini tests: avoid extra test generation (for `instspc' tests) We don't really need to generate tons and tons of wrapper test scripts (presently, ~ 90) just to run what is basically a single test (specifically, `instspc-tests.sh') with different parameters. In fact, the possibility of running a single driver script with multiple files/configurations/parameters is one of the major selling points of the 'parallel-tests' testsuite driver of automake. So why not use ourselves more extensively the best features we provide? * tests/instspc-tests.sh: Update heading comments. Expect to be executed, not sourced. Update handling of command-line arguments. Adjust to reflect the renaming of "instspc tests" from `instspc-*.test' to `*.instspc'. * tests/instspc-data.test: Update heading comments. Execute driver script `instspc-tests.sh', instead of sourcing it. Give more informative messages in case of internal errors. * tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to `.test' and `.instspc'). (TESTS): Add `$(instspc_tests)'. (generated_tests): Remove `$(instspc_tests)'. (INSTSPC_LOG_COMPILER): Define. Calls `instspc-tests.sh', so that the "instspc tests" will be now executed by passing that driver script a proper parameter. ($(instspc_tests)): Remove, we don't need anymore to generate this tests. ($(instspc_tests:.test=.log)): Remove, substituted by ... ($(instspc_tests:.instspc=.log)): ... this. ($(instspc_tests)): New dependency declaration (dummy, but required in order to have make actually produce expected log files from the `.instspc.log' suffix rule). (MAINTAINERCLEANFILES, generated_tests): Don't extend with $(instspc_tests) anymore. Update comments. 2011-05-01 Stefano Lattarini build: improve the definition of the list of testcases * tests/Makefile.am (handwritten_tests): New variable. (generated_tests): Likewise. (TESTS): Redefine as the union of the above. (EXTRA_DIST): Extend using $(handwritten_tests) and $(generated_tests) rather than $(TESTS). * tests/gen-parallel-tests: Update accordingly, and make more robust. 2011-05-01 Stefano Lattarini tests skips: shorter and clearer messages * tests/defs: Use shorter messages when giving reasons for test skipping; it turns out these shorter messages are also clearer. If more info might be useful, send them to the log file only. 2011-05-01 Stefano Lattarini tests: fix self check spurious failure with older bash versions * tests/self-check-cleanup.test: Add trailing `:' to the test code passed to $SHELL, otherwise older versions of bash (at least 2.05 and 3.2.39) fail to correctly remove the temporary directory in the exit trap. 2011-05-01 Stefano Lattarini tests: add sanity check to 'self-check-cleanup.test' * tests/self-check-cleanup.test: Check that the "hacked" file `defs-static' used by the test differs from the "vanilla" one in builddir. This also offers a little more debugging output. 2011-05-01 Stefano Lattarini testsuite: display reasons for skips to the console * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor `9' to the original stderr; define `stderr_fileno_' to `9', and export it. * tests/self-check-report.test: Prevent new spurious failures by removing from the environment any definition of `stderr_fileno_'. 2011-05-01 Stefano Lattarini testsuite: use `skip_' for skipping of tests * tests/defs: Use the `skip_' subroutine for test skipping. Also give sometimes more detailed messages about the reasons for the skipping. * tests/canon7.test: Likewise. * tests/color.test: Likewise. * tests/color2.test: Likewise. * tests/compile2.test: Likewise. * tests/dejagnu7.test: Likewise. * tests/depcomp6.test: Likewise. * tests/depcomp9.test: Likewise. * tests/depcomp10.test: Likewise. * tests/distlinks.test: Likewise. * tests/distlinksbrk.test: Likewise. * tests/fn99.test: Likewise. * tests/fn99subdir.test: Likewise. * tests/forcemiss2.test: Likewise. * tests/fort5.test: Likewise. * tests/gettext3.test: Likewise. * tests/install2.test: Likewise. * tests/instfail-info.test: Likewise. * tests/instfail-java.test: Likewise. * tests/instfail-libtool.test: Likewise. * tests/instfail.test: Likewise. * tests/instmany-mans.test: Likewise. * tests/instmany-python.test: Likewise. * tests/instmany.test: Likewise. * tests/instsh3.test: Likewise. * tests/ltinit.test: Likewise. * tests/makej2.test: Likewise. * tests/mdate6.test: Likewise. * tests/mkinst3.test: Likewise. * tests/parallel-tests3.test: Likewise. * tests/parallel-tests-reset-term.test: Likewise. * tests/parallel-tests-unreadable-log.test: Likewise, * tests/python-virtualenv.test: Likewise. * tests/remake-gnulib-remove-header.test: Likewise. * tests/subobj9.test: Likewise. * tests/symlink2.test: Likewise. * tests/tar.test: Likewise. * tests/tar2.test: Likewise. * tests/txinfo26.test: Likewise. * tests/vala2.test: Likewise. * tests/vala3.test: Likewise. * tests/vala5.test: Likewise. * tests/vtexi4.test: Likewise. * tests/instdir-texi.test: Likewise. * tests/txinfo21.test: Likewise. 2011-04-29 Stefano Lattarini testsuite: more environment sanitization * tests/defs: Move the checks verifying that the variables `me', `parallel_tests' and `required' aren't set in the environment ... * tests/defs-static.in: ... in here, with some optimizations to avoid useless forks. Also, do the same checks for the variables `original_AUTOMAKE' and `original_ACLOCAL' too. * tests/self-check-env-sanitize.test: Update. * tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables `original_AUTOMAKE' and `original_ACLOCAL'. 2011-04-24 Stefano Lattarini tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage) * tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT instead of AM_TESTS_SETUP (which has been removed in commit v1.11-349-g12f48fa). Fix spurious failure introduced by merge `v1.11-781-gfeed175'. 2011-04-24 Stefano Lattarini tests: fix spurious failure in a test on TESTS (VPATH-related) * tests/check-tests-in-builddir.test: When not using the parallel-tests option, do not check that VPATH components are not present in the displayed test name, since the simple-tests driver do not try to strip them. 2011-04-24 Stefano Lattarini tests: fix spurious failure in self-check-env-sanitize.test * tests/self-check-env-sanitize.test: Open file descriptor `5' to stdout. Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'. 2011-04-23 Stefano Lattarini test: self check subroutines for skipping/failing of tests * tests/self-check-report.test: New test. * tests/Makefile.am (TESTS): Update. 2011-04-23 Jim Meyering Stefano Lattarini test defs: new subroutines for test skipping/failing * tests/defs.in (Exit): Move definition of this function earlier. (warn_, skip_, fail_, framework_failure_): New functions, inspired to the homonyms in gnulib's tests/init.sh. ($stderr_fileno_): New global variable, used by the new functions above. * tests/README: Updated. From a suggestion by Ralf Wildenhues. 2011-04-23 Stefano Lattarini tests: fix typo (copy & paste blunder) in heading comment * tests/maintclean-vpath.test: Correctly refer to the sister test as `maintclean.test', not as `maintclean-vpath.test'. 2011-04-23 Stefano Lattarini tests: remove redundant test `mclean.test' * tests/mclean.test: Remove, it's a weak grepping test completely superseded by the much more complete `maintclean.test'. * tests/Makefile.am (TESTS): Update. 2011-04-22 Stefano Lattarini testsuite: more environment sanitization * tests/defs.in: Sanity check: abort if any of `parallel_tests' or `required' is in the environment. ($sed_unindent_prog): Initialize to empty, to avoid interferences from the environment. * tests/self-check-me-in-env.test: Renamed to ... * tests/self-check-env-sanitize.test: ... this, and extended. * tests/Makefile.am (TESTS): Update. (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and `required'. Adjust comments. 2011-04-19 Stefano Lattarini tests: in self-checks, use $SHELL, not /bin/sh * tests/self-check-me-in-env.test: Include `./defs-static' to get the definition of `$SHELL'. Use `$SHELL' instead of `/bin/sh' to execute the tests. 2011-04-19 Stefano Lattarini tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ... (AM_TESTS_ENVIRONMENT): ... this. 2011-04-18 Stefano Lattarini tests: don't allow `$me' to be overridden from the environment * tests/defs.in: Sanity check: abort if $me is in the environment. * tests/self-check-me-in-env.test: New test. * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'. (TESTS): Update. Suggestion by Ralf Wildenhues. 2011-04-18 Stefano Lattarini check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT The AM_TESTS_SETUP naming was not a good one after all. It may be technically more correct than AM_TESTS_ENVIRONMENT, but the latter is a better one simply because it is easier to remember, and even if you've never heard of it and only know the semantics of TESTS_ENVIRONMENT, you can have a straightforward way to figure out how AM_TESTS_ENVIRONMENT would work. * tests/check.am (am__check_pre): Update. * doc/automake.in (Simple Tests using parallel-tests): Update. * tests/parallel-tests-am_tests_setup.test: Renamed ... * tests/parallel-tests-am_tests_environment.test: ... to this, and updated. * tests/Makefile.am (TESTS): Update. Suggestion and motivation by Ralf Wildenhues. 2011-04-17 Stefano Lattarini test defs: allow overriding of `$me' * tests/defs.in ($me): Allow overriding by the including test script. Add some explicative comments. 2011-04-17 Stefano Lattarini coverage: more tests on the parallel-tests driver * tests/parallel-tests-interrupt.test: New test. * tests/parallel-tests-reset-term.test: Likewise. * tests/Makefile.am (TESTS): Update. 2011-04-17 Stefano Lattarini check: new developer-reserved AM_TESTS_SETUP variable For reference, see the discussion at: * lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also $(AM_TESTS_SETUP). Comments updated, and some typos fixed. * doc/automake.texi (Simple Tests using parallel-tests): Document AM_TESTS_SETUP. Reorder some of the existing documentation a bit. * tests/parallel-tests-am_tests_setup.test: New test. From a suggestion by Ralf Wildenhues. 2011-04-17 Stefano Lattarini depcomp tests: don't reject slower dependency extractors * tests/depcomp8b.test: Add the `--enable-dependency-tracking' option to `configure' invocations, so that slower dependency extractors are not rejected. * tests/depcomp8a.test: Likewise. Also ... (foo.c): ... since we are at it, fix spacing to be consistent with GNU coding standards. 2011-04-17 Stefano Lattarini m4: add missing serial numbers to a few files Fixes automake bug#8483. * m4/amversion.in: Add serial number. * m4/auxdir.m4: Likewise. * m4/gcj.m4: Likewise. * m4/install-sh.m4: Likewise. * m4/mkdirp.m4: Likewise. * m4/python.m4: Likewise. * m4/runlog.m4: Likewise. * m4/strip.m4: Likewise. * m4/upc.m4: Likewise. 2011-04-16 Stefano Lattarini tests: fix few bugs in self checks Related to automake bug#8508. * tests/self-check-cleanup.test: Be laxer when grepping output from `ls -l', to account for ACLs and SELinux-only files. * tests/self-check-dir.test: Source `defs-static' to read in the correct definition for $SHELL. * tests/self-check-me.test: Likewise, and extend a bit. Report from Jim Meyering. 2011-04-16 Jim Meyering depcomp: correct invalid sed invocation * lib/depcomp: Insert missing -e before '/:$/d'. Otherwise, that use of sed would treat '/:$/d' as a file name. 2011-04-14 Stefano Lattarini maintainer check: quote literal `$' in Makefile rule * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$' character in double-quoted string. Fix a bug in which the rule emitted an erroneously empty substring in its error message. 2011-04-14 Stefano Lattarini tests: fix typo in python5b.test * tests/python5b.test: Remove extra `:' from $PATH redefinition. 2011-04-14 Stefano Lattarini tests: remove redundant settings of `errexit' shell flag * tests/autodist-acconfig.test: Do not set the `errexit' shell flag, as it is already set by `tests/defs'. * tests/autodist-acconfig-no-subdir.test: Likewise. * tests/autodist-aclocal-m4.test: Likewise. * tests/autodist-config-headers.test: Likewise. * tests/autodist-configure-no-subdir.test: Likewise. * tests/autodist-stamp-vti.test: Likewise. * tests/autodist-subdir.test: Likewise. * tests/autodist.test: Likewise. * tests/check-exported-srcdir.test: Likewise. * tests/check-tests-in-builddir.test: Likewise. * tests/check-tests_environment.test: Likewise. * tests/help-python.test: Likewise. * tests/java-check.test: Likewise. * tests/java-extra.test: Likewise. * tests/java-noinst.test: Likewise. * tests/lex-subobj-nodep.test: Likewise. * tests/ltinit.test: Likewise. * tests/m4-inclusion.test: Likewise. * tests/maintclean-vpath.test: Likewise. * tests/parallel-tests-subdir.test: Likewise. * tests/pr8365-remake-timing.test: Likewise. * tests/python-dist.test: Likewise. * tests/python-vars.test: Likewise. * tests/python-virtualenv.test: Likewise. * tests/python5b.test: Likewise. * tests/specflg-dummy.test: Likewise. * tests/yacc-dist-nobuild-subdir.test: Likewise. 2011-04-12 Stefano Lattarini coverage: test for automake bug#8485 (known regression) * tests/yacc-dist-nobuild-subdir.test: New test. * tests/Makefile.am (TESTS, XFAIL_TESTS): Update. 2011-04-12 Stefano Lattarini test defs: define default $distdir (help reducing duplication) * tests/defs ($distdir): New variable, might be used in testcases checking distribution-related features. * tests/pr9.test: Use it. * tests/subdir9.test: Likewise. * tests/lex3.test: Likewise. * tests/lexvpath.test: Likewise. * tests/remake-moved-m4-file.test: Likewise. * tests/remake-renamed-m4-file.test: Likewise. * tests/remake-renamed-m4-macro-and-file.test: Likewise. * tests/yacc-basic.test: Likewise. * tests/yacc-d-basic.test: Likewise. * tests/yacc-d-vpath.test: Likewise. * tests/yacc-dist-nobuild.test: Likewise. * tests/vtexi3.test: Add comment explaining why we redefine $distdir in this test. 2011-04-11 Stefano Lattarini depcomp: fix bugs in tests and in the depcomp script * lib/depcomp (gcc): Remove duplicated `-e' from sed invocation. * tests/depcomp10.test: Make it executable. Fix a blunder that has left part of an intended comment not prefixed by `#', thus causing shell syntax errors. In this same comment, break a too-long reported error message on multiple lines, for clarity. Add reference to the relevant bug report. Add a comment which explains why the test result 'skipped' if the first "make" call fails. Add other useful comments. * tests/depcomp9.test: Slightly improve comments. 2011-04-11 Ralf Wildenhues Fix hp depmode for VPATH builds with GNU make. * lib/depcomp: Be sure to remove VPATH-prefixed object from dependency output when creating stub rule. * tests/depcomp10.test: New test. * tests/Makefile.am (TESTS): Update. * NEWS: Update. Report by Bruno Haible. 2011-04-10 Stefano Lattarini test defs: fix 'javac' requirement for older JDK versions The Java compiler from JDK 1.5 (and presumably earlier versions) cannot handle the `-version' option by itself; and while it does print the version number, it then errors out with an usage error: $ javac -version javac 1.5.0_22 javac: no source files Usage: javac ... Luckily, adding the `-help' option to the `javac' invocation seems to fix this problem. * tests/defs.in (javac): Pass also the `-help' option to the `javac' program. Add a comment explaining why it is needed. Report from Ralf Wildenhues. 2011-04-10 Stefano Lattarini test defs: new requirement for the default java compiler * tests/defs.in (for tool in $required): New requirement 'javac'. * tests/java.test: Use it instead of ad-hoc configure check. * tests/java-check.test: Likewise. * tests/java-extra.test: Likewise. * tests/java-noinst.test: Likewise. * tests/instfail-java.test: Likewise. * tests/instdir-java.test: Likewise. 2011-04-09 Stefano Lattarini java: check_JAVA does not cause compilation by "make all" anymore Fixes automake bug#8234. * automake.in (handle_java): Make stamp of class files built from java sources in $(check_JAVA) a dependency of `check' target, not `all' target. * tests/java-check.test: New test. * tests/Makefile.am (TESTS): Update. * NEWS: Update. * THANKS: Update. Report from Petteri Räty. 2011-04-09 Stefano Lattarini Bruno Haible coverage: add tests on remake rules in more complex situations * tests/defs (using_gmake): New function. (for tool in $required): Use it when $tool is 'GNUmake'. * tests/remake-moved-m4-file.test: New test. * tests/remake-deleted-m4-file.test: Likewise. * tests/remake-renamed-m4-file.test: Likewise. * tests/remake-renamed-m4-macro-and-file.test: Likewise. * tests/remake-renamed-m4-macro.test: Likewise. * tests/remake-add-acsubst-gnulib.test: Likewise. * tests/remake-add-header-gnulib.test: Likewise. * tests/remake-remove-header-gnulib.test: Likewise. * tests/Makefile.am (TESTS): Update. 2011-04-09 Stefano Lattarini typofix in 'tests/defs' * tests/defs: Fix typo (`itslef' instead of `itself') in comments. 2011-04-06 Stefano Lattarini coverage: more on java support EXTRA_ and noinst_ prefixes * tests/java-extra.test: New test, checking support for the prefix `EXTRA_' with the JAVA primary. * tests/java-noinst.test: New test, checking support for the prefix `noinst_' with the JAVA primary. * tests/Makefile.am (TESTS): Update. 2011-04-09 Ralf Wildenhues Clarify regex code in depcomp. * lib/depcomp: Add comment why we don't need regex-escaping here. Suggested by Stefano Lattarini. 2011-04-08 Ralf Wildenhues Fix makedepend depmode for VPATH builds. * lib/depcomp [makedepend]: Remove any VPATH prefix from the object file name, so a rebuild doesn't attempt to update the .Po files in the source tree. * tests/depcomp9.test: New test. * tests/Makefile.am (TESTS): Update. * NEWS: Update. 2011-04-02 Stefano Lattarini tests: fix timestamp-related failures Fixes automake bug#8365. * tests/aclocal6.test: Sleep before modifying m4 files that should trigger remake rules. Remove incorrect/obsoleted comments. * tests/subdir5.test: Likewise, and extend a bit. * tests/subdir8.test: Likewise. * tests/pr8365-remake-timing.test: New xfailing test. * tests/Makefile.am (TESTS): Update. Report from Sam Steingold. 2011-04-02 Ralf Wildenhues Create subdirs for generated sources even when not dep tracking. * automake.in (handle_single_transform): If $object is derived and lands in subdir, be sure to output a dirstamp dependency. * tests/yacc5.test: Avoid falsely matching the dirstamp dependency when grepping for a rule. * tests/lex-subobj-nodep.test: New test. * tests/Makefile.am (TESTS): Update. * THANKS: Update. Report by Ignacy Gawedzki. Fix locale issue in check-exported-srcdir.test. * tests/check-exported-srcdir.test: Reformulate glob to not fail in a locale that ignores or interleaves character case. 2011-04-01 Stefano Lattarini docs: better visibility for aclocal in the index * doc/automake.texi (@menu): Rename title for entry 'configure' from "Scanning configure.ac or configure.in" to the more precise "Scanning configure.ac, using aclocal". (@detailmenu): Adjust. (@node configure): Adjust, and extend @cindex calls accordingly. * THANKS: Update. From a report by Maynard Johnson. 2011-03-30 Stefano Lattarini tests: improve tests on "maintainer-clean" target * tests/aclocal6.test: Move checks related to "maintainer-clean" functionalities into ... * tests/maintclean-vpath.test: ... this new test. * tests/maintclean.test: Update heading comments. Extend to also test subdirs. Remove useless disabling of YACC. Fix m4 quoting in configure.in. Add a trailing `:' command. Remove extra blank lines. * tests/Makefile.am (TESTS): Update. 2011-03-21 Ralf Wildenhues tests: fix unindent to use printf not echo for script. * tests/defs.in: Use printf rather than echo, as the latter may interpret the backslashes in the sed script. Fixes test failures with dash as /bin/sh. 2011-03-17 Stefano Lattarini Ralf Wildenhues maintcheck: look for problematic names of testcases The configure.in stub created by default by `tests/defs' obtains the first argument of AC_INIT from the test name, and this can cause some supported autoconf versions to fail with a spurious error if that test name contains the name of an m4 or m4sugar builtin or macro (e.g., `defn' or `m4_undefine'). See for example the bug fixed by commit v1.11-287-g1325a8a. This change add a maintainer check that warns about test names which are possibly problematic in this regard. * Makefile.am (sc_test_names): New maintainer-check target. (syntax_check_rules): Add it. (m4_builtins): New helper variable. (TESTS): Updated according to the following renamings. * tests/include.test: Renamed ... * tests/hdr-vars-defined-once.test: ... to this. * tests/sinclude.test: Renamed ... * tests/m4-inclusion.test: ... to this, and simplified accordingly. * tests/include2.test: Renamed ... * tests/dist-included-parent-dir.test: ... to this, for consistency. 2011-03-04 Stefano Lattarini tests: fix bug in alloca*.test * tests/alloca.test: Make grepping of automake stderr stricter, add a trailing `:' command; also, add AC_PROG_CC to configure.in, and create a dummy alloca.c file, to ensure that we fail for the proper reason. * tests/alloca2.test: Likewise. Also, look for LT_INIT, not AC_PROG_LIBTOOL, in the error message (bug introduced with commit v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES primary is used"). From a report by Patrick Welche. 2011-03-17 Stefano Lattarini cosmetics: better use of m4 quoting and m4sugar macros * m4/dmalloc.m4: Better use of m4 quoting. Bump serial number. * m4/gcj.m4: Likewise. * m4/init.m4: Likewise. * m4/install-sh.m4: Likewise. * m4/lex.m4: Likewise. * m4/multi.m4: Likewise. * m4/option.m4: Likewise. * m4/python.m4: Likewise. * m4/sanity.m4: Likewise. * m4/cond.m4: Likewise. Also, prefer the m4sugar macro 'm4_if' over the plain m4 macro 'ifelse'. * m4/depend.m4: Likewise. 2011-03-17 Stefano Lattarini tests: add test about deprecated use of AC_INIT * tests/deprecated-acinit.test: New test, check that automake and autoconf complain about an old-style AC_INIT call used with a new-style AM_AUTOMAKE_INIT call. * tests/Makefile.am (TESTS): Update. 2011-03-04 Stefano Lattarini tests: fix bug (comments-in-var-defn.test + autoconf 2.62) * tests/comments-in-var-defn.test: The configure.in stub created by default, which has the AC_INIT first argument obtained by the test name, causes autoconf 2.62 to fail with a spurious error message like: "configure.in:1: error: defn: undefined macro:". Thus, to prevent this, the test is renamed to ... * tests/comments-in-var-def.test: ... this. * tests/Makefile.am (TESTS): Updated. 2011-03-04 Stefano Lattarini cosmetics: convert encoding from ISO-8859 to UTF-8 * ChangeLog.03: Convert encoding to UTF-8. * ChangeLog.96: Likewise. * ChangeLog.98: Likewise. * NEWS: Likewise. * TODO: Likewise. 2011-03-01 Stefano Lattarini tests: extend checks on the 'unindent' shell function * tests/self-check-unindent.test: Also check that multiple instances of 'unindent' can run in parallel (this was not the case when that function used temporary files). 2011-03-01 Peter Rosin test defs: unindent without temporary file * tests/defs.in (commented_sed_unindent_prog): Commented Sed program that strips the "proper" amount of leading whitespace. (unindent): Lazily strip comments from the above program and use it to unindent without using a temporary file. 2011-02-26 Stefano Lattarini libtool: suggest LT_INIT if LTLIBRARIES primary is used When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't defined, automake suggested to add a call to AC_PROG_LIBTOOL in configure.ac. But that macro is deprecated since Libtool version 1.9b (2004-08-29), in favor of the newer LT_INIT. So suggest the use of this latter macro instead. * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL' with 'LT_INIT', not with 'AC_PROG_LIBTOOL'. * tests/libtool4.test: Adjust and extend. Also, add a call to macro AC_PROG_CC in configure.in, to help ensuring that automake does not fail for the wrong reasons. * tests/ltinit.test: New test, ensure that automake's libtool support works with LT_INIT-based interface. Thanks to Jack Kelly for the suggestion. 2011-02-25 Stefano Lattarini tests: add testcases sanity-checking the testsuite Helper subroutines, variables and other pieces of code defined in the `tests/defs' and used by many testcases are non-obvious, and tricky to get to work portably; but until now, they weren't tested at all in a clear and self-contained way. This change should remedy to the situation. * tests/self-check-cleanup.test: New test, check removal of temporary test working directory by `./defs'. * tests/self-check-dir.test: New test, check that tests using `./defs' create a proper temporary directory, and run in it. * tests/self-check-exit.test: New test, check that, in case of failing commands, the correct exit status is passed to the exit trap installed by the `./defs' script. * tests/self-check-is_newest.test: New test, checking the `is_newest' subroutine. * tests/self-check-me.test: New test, checking that $me gets defined automatically by `tests/defs' if not set, and that it can be overridden from either the shell or the environment. * tests/self-check-sanity.test: New test, check that the sanity checks performed by the `tests/defs' script works correctly. * tests/self-check-unindent.test: New test, checking the `unindent' subroutine. * tests/Makefile.am (TESTS): Update. 2011-02-20 Stefano Lattarini tests: tempdirs with restrictive permissions are cleaned correctly Before this change, the removal of a temporary test directory containing subdirectories with restrictive permissions (such as 'r--r--r--') could fail. * tests/defs: Ensure that all the subdirectories of a temporary test directory have the 'read', 'write' and 'execute' bits set, before trying to remove it with `rm -rf'. * tests/Makefile.am (clean-local-check): Likewise. 2011-02-16 Stefano Lattarini Ralf Wildenhues test defs: add subroutine for input unindenting * tests/defs.in (unindent): New subroutine. * tests/instspc-tests.sh: Use it. 2011-02-15 Stefano Lattarini python: report the 'PYTHON' influential environment variable * m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON. * doc/automake.texi (Python): Update and extend. * tests/help-python.test: New test. * tests/Makefile.am (TESTS): Update. * THANKS (Jack Kelly): Update e-mail address. Suggestion by Jack Kelly. 2011-02-10 Stefano Lattarini tests defs: clear TESTS_ENVIRONMENT variable * tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values from environment won't interfere with the testcases. Suggestion by Ralf Wildenhues. 2011-02-15 Stefano Lattarini tests: `instspc-*.test': do not create useless source file * tests/instspc-tests.sh (create_input_data): Do not create unused source file `source2.c'. 2011-02-15 Stefano Lattarini tests: optimize `instspc-*.test' for speed After the split of `instspc.test' into various generated tests, the running time of the testsuite has noticeably increased, since all these new generated tests must run aclocal, autoconf and automake, whereas previously they were run only once (at the beginning of `instspc.test'). But luckily, since the new tests share the same input files for the autotools, this situation can be easily worked around (at the expenses of a slight increase of complexity for the testsuite scaffolding). * tests/instspc-data.test: New helper test, properly calling the `instspc-tests.sh' script to generate input data for the others `instspc-*.test' tests. * tests/Makefile.am (TESTS): Add `instspc-data.test'. ($(instspc_tests:.test=.log)): Depend on its log file. (instspc-data.log): Depend on `instspc-tests.sh'. * tests/instspc-tests.sh: Recognize new action `generate-data', and use it to create hand-written and autotools-generated static files shared by all the `instspc-*.test' tests. When sourced by the `instspc-*.test' tests, use those previously created files instead of recreating them from scratch. (unindent, create_input_data): New subroutines. Some other related changes and refactorings. From a suggestion by Ralf Wildenhues. 2011-02-14 Stefano Lattarini python: fix spurious failure in tests * tests/python-vars.test: Ignore cached values from config.site by exporting CONFIG_SITE=/dev/null. Be laxer in matching the expected values of output variables `pythondir' and `pyexecdir', since they can change quite unpredictably among different python installations. Also, avoid "hyping" debugging output, thus offering smaller trace output and more informative diff. Report and suggestions by Ralf Wildenhues. * tests/python-virtualenv.test: Require python, since we call it even after the virtualenv has been deactivated. Ignore cached values from config.site by exporting CONFIG_SITE=/dev/null. 2011-02-06 Stefano Lattarini tests: tweak few tests on simple and parallel test drivers * tests/check-exported-srcdir.test: Improve heading comments. * tests/check-tests-in-builddir.test: Likewise. Also, unset the `FOO_EXIT_STATUS' variable, so that any pre-existing value in the environment won't risk to interfere with the test. Suggestions by Ralf Wildenhues. 2011-02-06 Stefano Lattarini python: extend and improve tests, fix minor glitches * m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages from configure are always complete, even in case of failure. Tiny cosmetic improvement in info/error messages. * tests/python.test: Also check that automake complains if the PYTHON primary is used but the `py-compile' script is not present. Make grepping of generated Makefile.in laxer w.r.t. whitespace. Add trailing `:' command. * tests/python2.test: Remove repeated calls aclocal: they are useless because configure.in is never modified. Make grepping of automake stderr more comprehensive. Remove the pre-existing `py-compile' file before trying to install it with `--add-missing'. Add trailing `:' command. * tests/python3.test: Add trailing `:' command. * tests/python11.test: Likewise. * tests/python4.test: Likewise. Also, try to pass PYTHON config variable to configure from the environment, rather than only from the command line. * tests/python5.test: Ensure that the "checking ..." messages from configure are always complete. Use proper m4 quoting. Add a trailing `:' command. * tests/python6.test: Simplify test logic, by checking for files created by configure rather then grepping its output. * tests/python7.test: Likewise. * tests/python8.test: Also check that `$PYTHON' is meaningfully set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON. * tests/python9.test: Likewise. * tests/python10.test: Add trailing `:' command. (Makefile.am): Declare `disttest' target as `.PHONY', and add an `ls -l' to its recipe, for debugging. * tests/nobase-python.test: In testing "make uninstall" and "make install" results, prefer idioms that make verbose logs more helpful. Remove a couple of lines of dead code. Add a trailing `:' command. * tests/python5b.test: New test, checking that configure performs the check on the python version even when the choice of the python interpreter is forced by the user. * tests/python-dist.test: New test, checking the distribution of *_PYTHON files. * tests/python-vars.test: New test, checking that AM_PATH_PYTHON correctly set all the output variables advertised in the manual. * tests/python-virtualenv.test: New test, checking that python support offered by automake works well with "virtual python environments" created by the `virtualenv' program. * tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing checks made slightly stricter. * tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing * tests/instdir-ltlib.test: Likewise. * tests/Makefile.am (TESTS): Update. 2011-02-01 Stefano Lattarini coverage: more tests on simple and parallel test drivers * tests/parallel-tests-subdir.test: New test. * tests/check-exported-srcdir.test: Likewise. * tests/check-tests-in-builddir.test: Likewise. * tests/check-tests_environment.test: Likewise. * tests/Makefile.am (TESTS): Update. 2011-01-29 Stefano Lattarini tests: fix spurious failures in lflags*.test * tests/lflags.test: Remove 'LEX' from the environment, so that it won't be erroneously picked up by `make -e'. * tests/lflags2.test: Likewise. 2011-01-24 Stefano Lattarini docs: color-tests issues with parallel make * doc/automake.texi (Simple Tests): Document that automatic recognition of a capable terminal attached to stdout can fail with some make implementation when running in parallel mode, thus causing colored test output not to be automatically activated when it should. 2011-01-23 Stefano Lattarini coverage: test semantics of "dummy" per-target flags * tests/specflg-dummy.test: New test, ensuring that even "dummy" per-target flags triggers the use of renamed objects. * tests/Makefile.am (TESTS): Update. Suggestion by Ralf Wildenhues. 2011-01-23 Stefano Lattarini tests defs: sanitize IFS * tests/defs ($IFS): Define to , , . ($sp): New variable, holding a single whitespace character. ($tab): New variable, holding a tabulation character. ($nl): New variable, holding a newline character. 2011-01-23 Ralf Wildenhues tests: avoid instspc* failures due to make's whitespace trimming * tests/instspc-tests.sh: Prepend './' when passing the test characters, to avoid leading whitespace characters to be trimmed from macros set from environment variables. Fixes testsuite failures with HP-UX and Tru64/OSF make. 2011-01-22 Ralf Wildenhues tests: fix VPATH auto-expansion workarounds. * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test, tests/suffix3.test, tests/suffix5.test, tests/suffix8.test: Ensure $< is not surrounded by white space, to prevent Solaris make from applying automatic VPATH text expansion. tests: fix VPATH auto-expansion workarounds. * tests/parallel-tests8.test, tests/suffix13.test: Ensure $< is not surrounded by white space, to prevent Solaris make from applying automatic VPATH text expansion. 2011-01-22 Stefano Lattarini tests: fix spurious failures in yflags*.test * tests/yflags.test: Remove 'YACC' from the environment, so that it won't be erroneously picked up by `make -e'. * tests/yflags2.test: Likewise. 2011-01-22 Ralf Wildenhues tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R. * tests/fn99.test, tests/fn99subdir.test: Skip if an initial `cp -R' of the subdir tree already fails; AIX 5.3 cp messes up its internal memory when copying this tree. 2011-01-22 Ralf Wildenhues Stefano Lattarini Add comment to check-TESTS rule working around make 3.80 bug. * lib/am/check.am (check-TESTS): Update comment. 2011-01-20 Ralf Wildenhues tests: less strict double-colon spy.test again. * tests/spy.test: We know BSD make doesn't invoke more than one double-colon rule, so no need to expose that failure. 2011-01-19 Ralf Wildenhues install-sh: avoid Tru64 sh `test' operator precedence issues. * lib/install-sh: Protect file names and directory components that consist of `=', `(', `)', or `!'. Move protection as early as possible, to avoid errors such as with Tru64 sh `test -z ='. * tests/instsh2.test: Extend test to cover more possibilities. Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1. 2011-01-19 Stefano Lattarini Ralf Wildenhues docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore * doc/automake.texi (Simple Tests): Do not claim Automake uses TESTS_ENVIRONMENT for the perl driver. Instead, point to the parallel-tests driver. 2011-01-21 Ralf Wildenhues tests: check for presence of cscope with redirected input. * tests/defs: Add required test for cscope. Fixes cscope3.test hang with Sun C 5.9 cscope. tests: avoid false failure in cygnus-dependency-tracking.test. * tests/cygnus-dependency-tracking.test: Be less restrictive when grepping the compiler error message, GCC 3.4.6 on FreeBSD does not mention an undefined symbol. 2011-01-20 Ralf Wildenhues tests: revert not turning off errexit in instspc-test.sh * tests/instspc-tests.sh: Turn off errexit while sourcing defs, the scripts might still not be clean. 2011-01-19 Ralf Wildenhues tests: work around Tru64 sh -e issues for instspc*.test. Apparently, Tru64 sh does not like turning off errexit mode, and gets confused. * tests/defs: Document 'errexit' cleanliness requirement. * tests/defs-static.in: Likewise. Avoid error from command substitution to abort instspc*.test with Tru64/OSF 5.1 sh. * tests/instspc-tests.sh: Drop now-unneeded temporary errexit dropping. Add strategic '|| Exit' to let tests work on Tru64. 2011-01-19 Ralf Wildenhues Allow _AM_DEPENDENCIES to be used later in configure. * m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing conftest.dir before recreating it. Fixes bug#7864. Report by Eric Blake, from report by Scott McCreary against M4. 2011-01-18 Ralf Wildenhues tests: avoid failure on w32 file systems. * tests/parallel-tests-unreadable-log.test: SKIP if file cannot be turned unreadable. 2011-01-17 Ralf Wildenhues tests: allow double-colon spy.test to work with HP-UX make. * tests/spy.test: Fix comment typos. Ensure prerequisites we do not want to depend on are strictly older than the target. Also test with a target out of date wrt. more than one rule. 2011-01-17 Ralf Wildenhues Avoid local $_ perl variable, for Perl before 5.9.1. * lib/Automake/Options.pm (_process_option_list): Do not lexically localize $_. Fixes bootstrap on AIX 5.1. Bug introduced in commit `v1.11-622-gf90a06c'. 2011-01-16 Stefano Lattarini tests: remove useless requirements from cond36.test * tests/cond36.test ($required): Remove. Since we are at it, add a trailing `:' command. 2011-01-16 Ralf Wildenhues tests: avoid failing command substitution in errexit mode. * tests/vartypo2.test, tests/vartypos.test: Rewrite to not use a command substitution with a nonzero exit status, that causes IRIX and Tru64/OSF sh to fail the whole test. 2011-01-16 Ralf Wildenhues Stefano Lattarini parallel-tests: work around Tru64/OSF 5.1 sh read bugs. * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html): Test file readability before redirecting input from it, to avoid exiting Tru64/OSF 5.1 sh which treats read as special builtin. * tests/parallel-tests-unreadable-log.test: New test. * tests/Makefile.am (TESTS): Update. * NEWS: Update. 2011-01-16 Ralf Wildenhues * NEWS, README: Update copyright years. 2011-01-15 Stefano Lattarini tests: hard error in case of internal failures or signal caught * tests/defs: Exit with status 99 (hard error) rather than 1 (failure) on unexpected/internal errors, or when a signal is caught by the client script. Tests defs: don't let useless variables leak in test scripts. * tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp, $create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir, $extra_includes): Unset once they've served their purpose. 2011-01-16 Ralf Wildenhues Fix parallel-tests.test failure with HP-UX make. * tests/parallel-tests.test: Sleep inside inner tests, so logs are newer than logs of tests they depend on, for HP-UX make. 2011-01-15 Ralf Wildenhues docs: ensure example are separated with empty lines in the input * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding) (API Versioning, Renamed Objects, Multiple Outputs): Add empty lines before `@example' and after `@end example' lines, so info output is rendered correctly, and a following @noindent honored. Report by Stefano Lattarini. 2011-01-15 Jim Meyering tests: fix comment typo * tests/substref.test: Fix grammar in a comment. 2011-01-13 Stefano Lattarini tests: fix spurious failures in two texinfo tests * tests/txinfo.test ($required): Add 'makeinfo'. * tests/txinfo8.test: Create a dummy 'textutils.info' file, so that make won't try to run makeinfo (which could be unavailable) to build it. Found by NixOS Hydra, reported by Ralf Wildenhues. 2011-01-15 Stefano Lattarini Update docs w.r.t. warning and strictness options. * doc/automake.texi (Strictness): Document that some warnings are turned off by default in `foreign' strictness. (Options): Divide into new sections "Options generalities" and "List of Automake options". Fix typo (colon instead of full stop). Document option precedence (AUTOMAKE_OPTIONS wins over AM_INIT_AUTOMAKE which wins over command line). Also document interactions between options specifying strictness and those specifying warnings. More tests on warnings/strictness precedence. * tests/warning-groups-win-over-strictness.test: New test, similar to `warnings-win-over-strictness.test', but checking the explicit catch-all warning flags (like `-Wall' and `-Wnone'). * tests/Makefile.am (TESTS): Update. Update NEWS about the warnings-over-strictness precedence. * NEWS: Automake explicit warning levels always take precedence over the implicit warning levels implied by Automake strictness. For PR automake/547: Warnings win over strictness in AUTOMAKE_OPTIONS. Ensure that, for what concerns the options specified in AUTOMAKE_OPTIONS, explicitly-defined warnings always take precedence over implicit strictness-implied warnings. This finally fixes Automake bug#7669 a.k.a. PR/547. * automake.in (handle_options): Call 'process_option_list' only once per set of options. * lib/Automake/Options.pm (process_global_option_list, process_option_list): Add sanity checks. ($_options_processed, $_global_options_processed): New internal variables, used by the sanity checks above. * tests/warnings-win-over-strictness.test: Extend. For PR automake/547: Change signature of 'Automake::Options::_process_option_list()'. This only modifies internal details in the automake implementation, bearing no externally visible effect, but preparing the way for the final fix of Automake bug#7669 a.k.a. PR/547. * lib/Automake/Options.pm (_process_option_list): Accept as arguments a list of hash references with keys 'option' and 'where', where 'option' is an option as might occur in AUTOMAKE_OPTIONS or AM_INIT_AUTOMAKE, and 'where' is the location where it occurred. (process_option_list, process_global_option_list): Updated. * automake.in (handle_options, scan_autoconf_traces): Update. Add more tests about AUTOMAKE_OPTIONS. In view of soon-to-follow refactorings (still in the pursuit of a fix for Automake bug#7669 a.k.a. PR/547), add some more tests on AUTOMAKE_OPTIONS support, to prevent obvious regressions. * tests/amopts-variable-expansion.test: New test. * tests/amopts-location.test: Likewise. * tests/Makefile.am (TESTS): Update. For PR automake/547: Warnings win over strictness in AM_INIT_AUTOMAKE. This change ensures that, for what concerns the options specified in AM_INIT_AUTOMAKE, explicitly-defined warnings always take precedence over implicit strictness-implied warnings. Related to Automake bug#7669 a.k.a. PR/547. * lib/Automake/Options.pm (_process_option_list): Parse explicit warnings only after the strictness level has been set. Fix POD documentation. * tests/warnings-win-over-strictness.test: Extend. For PR automake/547: Warnings win over strictness on command line. Ensure that, on the command line at least, explicitly defined warnings always take precedence over implicit strictness-implied warnings. Related to Automake bug#7669 a.k.a. PR/547. * automake.in (parse_arguments): Parse warnings only after the strictness level has been processed. * tests/gnuwarn.test: Update, plus miscellaneous improvements. * tests/warnings-win-over-strictness.test: New test. * tests/Makefile.am (TESTS): Update. More tests on warnings and strictness. * tests/warnings-strictness-interactions.test: New test. * tests/warnings-unknown.test: Likewise. * tests/Makefile.am (TESTS): Update. New test on silent-rules mode and portability warnings. * tests/silent-nowarn.test: New test. * tests/Makefile.am (TESTS): Update. Add new tests on strictness and warnings precedence and overriding. * tests/strictness-override.test: New test. * tests/strictness-precedence.test: New test. * tests/warnings-override.test: New test. * tests/warnings-precedence.test: New test. * tests/Makefile.am (TESTS): Update. 2011-01-15 Ralf Wildenhues Fix remake rule-induced test failures with HP-UX make. * tests/remake1a.test: Require GNU make. 2011-01-15 Ralf Wildenhues Fix remake rule-induced test failures with HP-UX make. * tests/colon6.test: Update timestamp of subdir Makefile, so we do not spuriously invoke the nonexistent toplevel am--refresh rule. tests: fix typos in colon6.test * tests/colon6.test: Fix typos. 2011-01-15 Ralf Wildenhues Stefano Lattarini tests: explain MSYS setup failure issue, improve test. * tests/defs: Add comment and failure message, improve fail logic. 2011-01-15 Ralf Wildenhues Fix libobj2.test failure with non-GNU make: define $(AR). * tests/libobj2.test: Ensure $(AR) is suitably defined. 2011-01-15 Ralf Wildenhues tests: avoid spurious failures due to fork failure in test setup * tests/defs: Ensure $me is always nonempty, to avoid spurious failures on MinGW/MSYS in case the preceding sed command could not be spawned. Avoid configure warnings from wait about reused PIDs. * m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output. Fixes spurious failure of depcomp2.test. 2011-01-13 Ralf Wildenhues Avoid testsuite failures due to Autoconf Fortran change. Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to require computing the canonical host name. Ensure config.guess and config.sub files are present for respective checks. * tests/compile_f_c_cxx.test: Add stub files. * tests/flibs.test: Likewise. * tests/fort4.test: Use $AUTOMAKE -a for installing files. 2011-01-12 Stefano Lattarini docs: clustered '-d' not recognized in YFLAGS This change fixes automake bug#7828. * doc/automake.texi (Yacc and Lex): Document that automake recognizes '-d' in AM_YFLAGS only if it's not clustered with other options. From a report by Юрий Пухальский. 2011-01-10 Stefano Lattarini tests: add checks on automatically-distributed files Related to automake bug#7819. * tests/autodist.test: New test. * tests/autodist-subdir.test: Likewise. * tests/autodist-acconfig.test: Likewise. * tests/autodist-acconfig-no-subdir.test: Likewise. * tests/autodist-aclocal-m4.test: Likewise. * tests/autodist-config-headers.test: Likewise. * tests/autodist-configure-no-subdir.test: Likewise. * tests/autodist-stamp-vti.test: Likewise. * tests/Makefile.am (TESTS): Update. 2011-01-11 Stefano Lattarini tests: do not force yacc-requiring tests to use bison * tests/defs.in: New required entry 'yacc'. Remove old required entry 'bison'. * tests/cond35.test ($required): Require yacc, not bison. * tests/cond36.test: Likewise. * tests/pr204.test: Likewise. * tests/silent-many-gcc.test: Likewise. * tests/silent-many-generic.test: Likewise. * tests/silent-yacc-gcc.test: Likewise. * tests/silent-yacc-generic.test: Likewise. * tests/subpkg.test: Likewise. * tests/suffix10.test: Likewise. * tests/yacc-basic.test: Likewise. * tests/yacc-clean.test: Likewise. * tests/yacc-d-basic.test: Likewise. * tests/yacc-d-vpath.test: Likewise. * tests/yacc-dist-nobuild.test: Likewise. * tests/yacc-nodist.test: Likewise. * tests/yacc4.test: Likewise. * tests/yacc6.test: Likewise. * tests/yacc7.test: Likewise. * tests/yacc8.test: Likewise. * tests/yaccdry.test: Likewise. * tests/yaccvpath.test: Likewise. 2011-01-11 Stefano Lattarini tests: more consistent checks about invalid options * tests/aclocal.test: Grepping of automake stderr for messages reporting invalid options made stricter. * tests/no-outdir-option.test: Likewise. Also, create a dummy `Makefile.am', to ensure that the automake failures are really caused only by unrecognized options. * tests/automake.test: Added trailing `:' command. Removed redundant checks on `--help' and `--version' option (already performed in the test `help*.test'). 2011-01-11 Stefano Lattarini tests: enable 'errexit' shell flag by default. * tests/defs: Enable `errexit' shell flag (near the end). Removed redundant comment about the enabling of shell traces. * tests/README (Writing test cases): Update, and use nicer formatting in a couple of places. * All tests: Adjusted by removing now-redundant calls to 'set -e'. 2011-01-11 Stefano Lattarini tests: work around a texi+cygnus bug causing a spurious XFAIL * tests/txinfo5b.test: New test, like txinfo5.test but calling automake with the `-Wno-override' option to work around a bug in the texinfo + cygnus interaction. * tests/txinfo5.test: Update heading comments. * tests/Makefile.am (TEST): Updated. 2011-01-09 Dave Hart (tiny change) Fix another typo in Rule.pm comment. * lib/Automake/Rule.pm: Fix typo. 2011-01-09 Peter Rosin Fix another typo in Rule.pm comment. * lib/Automake/Rule.pm: Fix typo. 2011-01-11 Stefano Lattarini tests: texinfo unrecognized extensions * tests/txinfo-unrecognized-extension.test: New test. * tests/Makefile.am (TESTS): Update. Improve, extend and tweak tests on Texinfo support. * tests/instdir-texi.test: Add a call to `ls -l' after that to `make', for debugging. When looking for required tools, do not redirect the output of "$tool --help" to /dev/null, and do not uselessly run it in a subshell. * tests/txinfo.test: Rewritten to run autoconf, ./configure and make. All checks moved into Makefile.am. * tests/txinfo8.test: Likewise, and modernize the generated configure.in. * tests/txinfo2.test: Moved checks into Makefile.am, and other minor improvements. * tests/txinfo5.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. * tests/txinfo6.test: Likewise, and make grepping of generated Makefile.in stricter. * tests/txinfo7.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. Do not add unnecessary stuff to Makefile.am. * tests/txinfo9.test: Verify that more targets which are expected to be generated only once really are. Make grepping less strict, to avoid exposing too much internal details. More minor changes. * tests/txinfo16.test: Add trailing `:'. Prefer cat over echo for appending to configure.in. Updated/fixed heading comments. * tests/txinfo23.test: Likewise, and extended a little by making it check that no info file is created in the $(srcdir). * tests/txinfo24.test: Likewise. * tests/txinfo25.test: Likewise. * tests/txinfo18.test: Add trailing `:'. Prefer cat over echo for appending to configure.in. Also, check that index files are cleaned also by "make clean", not only by "make distclean". * tests/txinfo22.test: Prefer `$me' over hard-coded test name, and added trailing `:' command. This testcase also used to check that automake ignores in-line comments when using variables, but preserves them in the output; these checks (added in commit "Release-1-7f-4-g9177ef8") do not really pertain to this test, so they have been moved ... * tests/comments-in-var-defn.test: ... into this new test. * tests/txinfo4.test: Escape literal dots in grep regexps. Add trailing `:' command. * tests/txinfo29.test: Likewise. Relax grepping of generated Makefile.in w.r.t. whitespaces. Prefer `cat' over `echo' to append to configure.in. * tests/txinfo3.test: Likewise. * tests/vtexi.test: Improve grepping of Makefile.in (sometimes make it stricter, sometimes laxer). Move `set -e' setting just after the inclusion of ./defs. De-uglify a sed command. Other minor cosmetic improvements. * tests/vtexi2.test: Make grepping of Makefile.in stricter. Add trailing `:' command. * tests/vtexi3.test: New test on version.texi support. * tests/vtexi4.test: Likewise. * tests/Makefile.am (TESTS): Updated. 2011-01-11 Stefano Lattarini tests: fix spurious failure in 'tests/yflags-conditional.test' * tests/yflags-conditional.test: Filter out message "warnings are treated as errors" from automake stderr, to avoid a false positive when grepping for extraneous warning messages. 2011-01-10 Stefano Lattarini yacc: warn about conditional content in *YFLAGS variables This change fixes automake bug#7804. * automake.in (lang_yacc_target_hook): Warn if any of the relevant *YFLAGS variables has conditional contents (not only a conditional definition). Related refactoring. * NEWS: Updated. * tests/yflags-conditional.test: Updated and extended. * tests/yflags-conditional-force.test: New test. * tests/Makefile.am (TESTS): Updated. 2011-01-08 Stefano Lattarini yacc: support variable expansions in *YFLAGS definition. This change fixes automake bug#7800. * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive' instead of 'variable_value' to get the value of *YFLAGS variables. Related changes. ($DASH_D_PATTERN): Removed. * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test. * tests/yacc-clean.test: Remove workaround for now-fixed bug. * NEWS: Update. 2011-01-08 Stefano Lattarini yacc: more tests on *YFLAGS support * tests/yflags-var-expand.test: New test, still xfailing. It exposes automake bug#7800 -- "automake fails to honor `-d' in AM_YFLAGS when variable expansions are involved". * tests/yflags-d-false-positive.test: New test, checking that automake do not spuriously see `-d' in *YFLAGS when that isn't really there. * tests/yflags-force-override.test: New test, checking that automake can cope with definition of the YFLAGS variable in Makefile.am (even if that is an extremely bad practice, as that variable is user-reserved). * tests/yflags-cmdline-override.test: New test, checking that automake can cope with user-redefinition of YFLAGS at configure time and/or at make time. * tests/yflags-conditional.test: New test, checks that automake warns on conditionally-defined *YFLAGS variables. * tests/Makefile.am (TESTS, XFAIL_TESTS): Update. 2011-01-08 Stefano Lattarini yacc: extend and improve tests * tests/yacc-basic.test: Also check that the intermediate C file is mentioned in the generated Makefile.in, and that it is created by the first make invocation. * tests/yacc3.test: Test removed, superseded by ... * tests/yacc-d-basic.test: ... this new test. * tests/yacc2.test: Add reference to that new test in the heading comments. * tests/yacc-d-vpath.test: New test. * tests/yaccvpath.test: Updated heading comments. Do not require gcc anymore, as any working C compiler should be enough. Remove redundant comments. * tests/yacc-nodist.test: New test. * tests/yacc-dist-nobuild.test: New test. * tests/Makefile.am (TESTS): Update. 2010-12-13 Stefano Lattarini Extend, fix and improve tests on Lex and Yacc support. * tests/lexcpp.test: New test script, on support for Lex + C++. * tests/lexvpath.test: New test script, test build and rebuild rules for lexers in VPATH setup. * tests/yacc-basic.test: New test script, run simple "semantic" checks on basic Yacc support (similarly to what lex3.test does for Lex support). * tests/lex.test: Don't create useless dummy source file joe.l. Remove extra blank lines. * tests/lex4.test: Add trailing `:' command. Do not create dummy useless lex source file. * tests/lex2.test: Likewise. Call automake with the `-a' option, so that it doesn't fail for the absence of `ylwrap' script. Make grepping of automake stderr stricter. * tests/yacc7.test: Add trailing `:' command. Enable `errexit' shell flag earlier (just after having sourced ./defs). * tests/yacc4.test: Likewise. Also ... (configure.in): Use pre-populated skeleton set up by ./defs, instead of writing one from scratch. Other minor cosmetic changes. * tests/yacc5.test: Likewise. * tests/yaccvpath.test: Likewise. Also ... ($distdir): New variable. Use it throughout. * tests/lex5.test: Likewise. * tests/lex3.test: Likewise. Check the distdir, rather than grepping the distribution tarball. Extend the test on the created binary, and be sure to avoid hangs. Add some comments. * tests/yacc.test: Use stricter grepping. Add trailing `:'. * tests/yacc6.test: Likewise. * tests/yacc3.test: Likewise. Do not create the unused file `Makefile.sed'. Remove useless rules from Makefile.am. Other minor cosmetic changes. * tests/yacc2.test: Make grepping of generated `Makefile.in' and of automake error messages stricter. Do not redirect output of grep to /dev/null. Move call to aclocal earlier. Reduce the number of empty blank lines. Fix a typo in comments. * tests/yacc8.test: Fixed bugs that reduced the completeness of the tests. Added trailing `:' command. (configure.in): Use pre-populated skeleton set up by ./defs, instead of writing one from scratch. * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and `.yxx', rather than only `.yy'. * tests/Makefile.am (TESTS): Update. 2011-01-09 Stefano Lattarini cosmetics: remove trailing whitespaces * doc/automake.texi: Remove trailing whitespaces. * tests/cond13.test: Likewise. * tests/cond14.test: Likewise. * tests/fort4.test: Likewise. * tests/fort5.test: Likewise. * tests/libobj17.test: Likewise. * tests/suffix7.test: Likewise. * tests/vtexi2.test: Likewise. automake: minor fixes in comments * automake.in: Some minor fixes and enhancements in comments. 2011-01-09 Ralf Wildenhues Add test coverage for deleted header files. * tests/depcomp6.test, tests/depcomp7.test: Update tests to also check for the deleted header bug. If no dependency tracking mechanism could be found, SKIP rather than exit successfully. Use GNU style spacing and ANSI C prototypes. Fix typos in Rule.pm comments. * lib/Automake/Rule.pm: Fix typos in comments. docs: split 'amhello Explained' node. * doc/automake.texi (amhello Explained): Split node ... (amhello's configure.ac Setup Explained) (amhello's Makefile.am Setup Explained) : ... into these two. (Top, Hello World): Adjust, and add @anchor for stable URL links. Suggestion by Karl Berry in automake bug#7766. 2011-01-08 Karl Berry Eric Blake docs: reference defining directories in amhello node. * doc/automake.texi (amhello Explained): Point to Autoconf manual for how to convert directory values into macros. (Optional): Fix grammar nit. 2011-01-07 Stefano Lattarini yacc: "make clean" removes .c and .h files from non-distributed .y Previously, while automake did *not* distribute C source and header files derived from non-distributed Yacc sources, it still caused them to be removed only by "make maintainer-clean" only, and not by simply "make clean" or "make distclean". This caused "make distcheck" to fail, unless the developer put those generated .c and .h files in CLEANFILES or in DISTCLEANFILES by hand. This change fixes this issue, by making non-distributed `.c' and `.h' files generated by non-distributed Yacc sources cleaned by "make clean". * tests/automake.in (lang_yacc_target_hook): Make C source and header files derived from non-distributed Yacc files cleaned by "make clean", not only by "make maintainer-clean". * tests/yacc-clean.test: New test. * tests/Makefile.am (TESTS): Update. * NEWS: Update. 2011-01-02 Stefano Lattarini * NEWS: Fix typo (forgotten word). 2011-01-02 Stefano Lattarini Ralf Wildenhues docs: how to work around checks on invalid primary/directory couples * doc/automake.texi (Uniform): Document the blessed idiom which can be used to work around automake checks on invalid primary/directory couples (such as `lib_PROGRAMS' or `doc_LIBRARIES'). 2010-01-03 Stefano Lattarini Tests: normalize use of the 'errexit' shell flag. * tests/maken3.test (check_targets): Remove redundant call to 'set -e'. * tests/maken4.test: Likewise. * tests/ansi5.test: Call 'set -e' just after './defs' has been sourced. * tests/ansi6.test: Likewise. * tests/ansi7.test: Likewise. * tests/cond16.test: Likewise. * tests/cond17.test: Likewise. * tests/cond18.test: Likewise. * tests/cond19.test: Likewise. * tests/cond20.test: Likewise. * tests/cond21.test: Likewise. * tests/instdat2.test: Likewise. * tests/instdir-texi.test: Likewise. * tests/parallel-tests3.test: Likewise. * tests/remake1a.test: Likewise. * tests/ccnoco.test: Likewise, and add trailing `:' command. * tests/comment4.test: Likewise. * tests/gcj4.test: Likewise. * tests/nodist2.test: Likewise. * tests/nodist3.test: Enable 'errexit' shell flag (this should have been done in commit v1.11-248-g317e17b, but the relevant hunk has been forgotten somehow). * tests/output.test: Likewise. * tests/gnits2.test: Likewise, and display captured stderr to script's stderr, not to script's stdout. * tests/gnits3.test: Likewise. Also, prefer 'cat' over 'echo' to append to Makefile.am, and really check that the exit status of "make installcheck" indicates failure. 2011-01-02 Ralf Wildenhues Sync auxiliary files from upstream. * lib/config.guess, lib/config.sub, lib/texinfo.tex: Sync from upstream. Avoid caching bug in cygnus mode test. * tests/cygnus-requires-maintainer-mode.test: Remove autom4te.cache directory before rerunning aclocal, to remove trace caches. Fix maintainer-check regression. * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the environment. Bump copyright years. * aclocal.in (write_aclocal, version): Bump copyright years. * automake.in (gen_copyright, version): Likewise. * doc/automake.texi: Likewise. 2010-12-23 Stefano Lattarini * NEWS: Add missing blank line between two entries. 2010-12-23 Stefano Lattarini Improve and extend tests `suffix*.test'. * tests/suffix.test: Check that suffix rules for C compilation are only included once. Try also with a static library. * tests/suffix2.test: Add a new grep to help potential debugging. Do not run automake with the `--add-missing' options, since we already create all the needed auxiliary files. Try also *without* the `no-dependencies' automake option. * tests/suffix4.test: Make grepping of Makefile.in stricter. * tests/suffix3.test: Rewritten to run also autoconf, ./configure and make. * tests/suffix5.test: Likewise. * tests/suffix6.test: Fix botched recipe indentation (eight spaces were used instead of a tabulation character). Extend to check that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o'). Improved parsing & grepping of generated Makefile.in. Other minor fixes and improvements. * tests/suffix10.test: Move some checks in Makefile.am. Also run "make all". * tests/suffix12.test: Likewise, and account for VPATH issues in weaker make implementations. * tests/suffix11.test: Likewise. Also, run "make distcheck", for completeness, and related changes. * tests/suffix8.test: Likewise. Also, do not put `gcc' anymore in $required. * tests/suffix13.test: Do not use the `--force-missing' automake option unnecessarily. * tests/suffix6b.test: New test, semantic sister of `suffix6.test'. * tests/suffix6c.test: Likewise. * tests/Makefile.am (TESTS): Updated. 2010-12-23 Ralf Wildenhues Stefano Lattarini Work around a bug in file-inclusion mechanism of Solaris make. * automake.in (handle_single_transform): In the name of the dependency file: collapse multiple slash characters into a single one. * tests/subobj11a.test: New test. * tests/subobj11b.test: Likewise. * tests/subobj11c.test: Likewise. * tests/depcomp8a.test: Likewise. * tests/depcomp8b.test: Likewise. * tests/Makefile.am (TESTS): Updated. * NEWS: Updated. Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final patch and tests by Stefano Lattarini. 2010-12-22 Stefano Lattarini Fix two spurious testsuite failures on IRIX 6.5. * tests/suffix13.test (Makefile.am): Account for VPATH issues on weaker make implementations (e.g. IRIX 6.5). * tests/parallel-tests8.test: Likewise, plus a required related change. Reported by Ralf Wildenhues. The bugs have been there from the first versions of the affected test scripts. 2010-12-22 Stefano Lattarini docs: cygnus mode doesn't require AM_CYGWIN32 macro. * doc/automake.texi (Cygnus): Mode 'cygnus' does not require the AM_CYGWIN32 macro (and indeed hasn't required it since at least commit Release-1-2-31-g3038064 "merged changes from Cygnus" of 1997-08-25). 2010-12-22 Stefano Lattarini Add some tests on 'cygnus' mode. * tests/clean2.test: Extend. * tests/cygnus-check-without-all.test: New test. * tests/cygnus-dependency-tracking.test: Likewise. * tests/cygnus-distclean.test: Likewise. * tests/cygnus-imply-foreign.test: Likewise. * tests/cygnus-no-dist.test: Likewise. * tests/cygnus-no-installinfo.test: Likewise. * tests/cygnus-requires-maintainer-mode.test: Likewise. * tests/Makefile.am (TESTS): Update. 2010-12-22 Stefano Lattarini Fix parallel testsuite run with Zsh. This change deals with a Zsh incompatibility in the handling of the special shell variable `$0' in sourced files; this incompatibility used to cause utter breakage when the Automake testsuite was run in parallel mode with Zsh as the $(TEST_LOG_COMPILER). For more information, please refer to the thread "Fix parallel testsuite run with zsh" on automake-patches, dated 2010-12-22: This change works around the problems described above for Zsh 4.3 or later, and offers better error messages (instead of random failures) for earlier Zsh version. * tests/README (Supported shells): When describing the manual workaround about the Zsh incompatibility in the handling of `$0', tell that it is now needed only with Zsh versions preceding 4.3. Done also some minor rewordings. * tests/defs-static.in ($argv0): New variable, offers a workaround for the Zsh incompatibility in the handling of `$0'. Abort if that variable cannot be correctly set (can happen only in older Zsh version). * tests/defs ($me): Define using `$argv0', not `$0'. 2010-12-22 Stefano Lattarini Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values. This is especially useful for tests which might want to run automake and aclocal without additional flags and warnings. * tests/defs-static.in ($original_ACLOCAL): New variable. ($original_AUTOMAKE): Likewise. * tests/help.test: Use them. * tests/help2.test: Likewise. * tests/help3.test: Likewise. * tests/help4.test: Likewise. From a suggestion by Ralf Wildenhues. 2010-12-22 Stefano Lattarini distlinksbrk.test: Work around botched "make -k". * tests/distlinksbrk.test: Run "make" multiple times and grep its output each time for a single error message, rather than running "make -k" one single time and grepping its output for all the expected error messages. This should work around make implementations with limited (broken?) `-k' support; for more information, see these subthreads on the automake-patches list: - 2010-11-15, "Testsuite failures on HP-UX 11.23", - 2010-11-15, "Testsuite failures on IRIX 6.5", 2010-12-21 Stefano Lattarini Minor improvements to test 'amopts.test'. * tests/amopts.test: Remove botched comment. Make grepping of automake stderr slighty stricter. Add trailing `:' command. 2010-12-21 Stefano Lattarini backcompat6.test: avoid comments inside recipe commands. * tests/backcompat6.test: Remove shell comments from makefile rule commands, as they are not portable to (at least) Tru64 make. 2010-12-21 Stefano Lattarini man8.test: avoid comments inside recipe commands. * tests/man8.test: Remove shell comments from makefile rule commands, as they are not portable to (at least) Tru64 make. 2010-12-21 Stefano Lattarini Fix sed-related buglet in test "subdir5.test" * tests/subdir5.test: Always terminate text passed to the `i' sed command with a newline, to work around limitations in e.g. older OpenBSD sed. 2010-12-21 Stefano Lattarini Fix spurious failures in tests on AC_CONFIG_AUX_DIR. * tests/auxdir7.test: Do not try to needlessly overwrite the files `install-sh' and `missing'. This avoid spurious failures in "make distcheck", when those files might be copied as read-only from the `lib' directory. * tests/auxdir8.test: Likewise. 2010-12-18 Stefano Lattarini Make test 'posixsubst-script' portable to MinGW/MSYS. * tests/posixsubst-script.test: Ensure that the generated dummy scripts really start with a shebang line, to work around a limitation of 'test -x' on MinGW/MSYS. Reported by Ralf Wildenhues. Improve comments in tests `posixsubst*.test'. * tests/posixsubst-data.test: Improve comment explaining why we try also empty match suffix. * tests/posixsubst-extradist.test: Likewise. * tests/posixsubst-ldadd.test: Likewise. * tests/posixsubst-libraries.test: Likewise. * tests/posixsubst-ltlibraries.test: Likewise. * tests/posixsubst-programs.test: Likewise. * tests/posixsubst-scripts.test: Likewise. * tests/posixsubst-sources.test: Likewise. * tests/posixsubst-tests.test: Likewise. Suggested by Ralf Wildenhues. 2010-12-18 Stefano Lattarini docs: fix blunder in example about python extension modules * doc/automake.texi (Python): Use `quaternion_la_SOURCES', not `quaternion_SOURCES', to declare the sources of python extension module `quaternion.la'. 2010-12-16 Stefano Lattarini docs: list LTLIBRARIES among Automake primaries * doc/automake.texi (Uniform): List `LTLIBRARIES' among the Automake primaries. 2010-12-13 Stefano Lattarini Ralf Wildenhues Tests defs: requirement 'xsi-shell' must be synced with libtool. * tests/defs (xsi-shell): Add comment telling to keep the XSI-conformance checks in sync with libtool. 2010-12-17 Stefano Lattarini Minor cleanups in canon7.test. * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c. (configure.in): Remove AC_PROG_CXX. 2010-12-16 Ralf Wildenhues Avoid false positive in sc_tests_plain_make maintainer-check. * Makefile.am (sc_tests_plain_make): Ensure to only match full `make' words. Avoid false positive with remake11.test. 2010-12-16 Ralf Wildenhues Fix canon7.test failure. * tests/canon7.test (_foo_bar_SOURCES): Add foobar.c. (lib.h, libd.c, libs.c): Use const for constant strings. 2010-12-16 Ralf Wildenhues Fix typos in test comments. * tests/posixsubst-data.test, tests/posixsubst-extradist.test, tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test, tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test, tests/posixsubst-scripts.test, tests/posixsubst-sources.test, tests/posixsubst-tests.test: Fix typos. 2010-12-14 Stefano Lattarini More uses of AS_HELP_STRING in automake macros. * m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format the help message added to the generated configure. * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise. * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise. * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise. * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise. Also, bumped all serial numbers of the modified m4 files. 2010-12-14 Stefano Lattarini Improve tests on generated portions of configure help screen. * tests/help-depend.test: Grepping of configure help screen relaxed to cater for possible line wrapping, and tightened in other respects. * tests/help-depend2.test: Likewise. * tests/help-dmalloc.test: Likewise. * tests/help-lispdir.test: Likewise. * tests/help-maintainer.test: Likewise. * tests/help-multilib.test: Likewise. * tests/help-silent.test: Likewise. * tests/help-upc.test: Likewise. * tests/help-init.test: Grepping of configure help screen tightened. 2010-12-15 Stefano Lattarini Extended tests on AC_CONFIG_AUX_DIR. * tests/auxdir.test: Enable `errexit' shell flag. Prefer `$me' over hard-coded test name. Use proper m4 quoting. Add trailing `:' command. * tests/auxdir2.test: Likewise. Try to call automake also with the `-a' option, so that it will not fail for spurious reasons. * tests/auxdir3.test: Add an explanatory comment and a trailing `:' command. * tests/auxdir4.test: Prefer `$me' over hard-coded test name. Make grepping of automake stderr slightly stricter. Also, now this test just checks about Automake's reaction to unportable auxiliary directory names (and it has been extended in this respect). Moved the checks about non-existent auxiliary directories to ... * tests/auxdir5.test: ... this new test. * tests/auxdir6.test: New test. * tests/auxdir7.test: Likewise. * tests/auxdir8.test: Likewise. * tests/auxdir9.test: Likewise. * tests/Makefile.am (TESTS): Updated. 2010-12-06 Stefano Lattarini Tests: extend checks on remake rules. This adds proper semantical tests (i.e. run make to check the rebuild rules are correctly triggered) in addition to tentative grepping of the generated Makefile.in(s). * tests/remake.test: Enable `errexit' shell flag, and related changes. Modernize `configure.in'. Add trailing `:' command. Improve heading comments, and add a reference to new sister test remake1a.test. * tests/remake3.test: Likewise (but with sister test being remake3a.test). * tests/remake2.test: Improve heading comments. Enable `errexit' shell flag, and related changes. Modernize `configure.in'. Make grepping of `Makefile.in' slightly stricter. Add trailing `:' command. * tests/remake5.test: Also run the `distcheck' target. Add trailing `:' command. Use proper m4 quoting in configure.in. * tests/remake4.test: Prefer `$me' over hard-coded test name. * tests/remake7.test: Use the `configure.in' stub created by ./defs, rather than writing it from scratch. * tests/remake6.test: Likewise. Also, add trailing `:' command, and ensure verbose printing of captured make output. * tests/remake1a.test: New test, sister of remake.test. * tests/remake3a.test: New test, sister of remake3.test. * tests/remake8a.test: New test. * tests/remake8b.test: Likewise. * tests/remake9a.test: Likewise. * tests/remake9b.test: Likewise. * tests/remake9c.test: Likewise. * tests/remake9d.test: Likewise. * tests/remake10a.test: Likewise. * tests/remake10b.test: Likewise. * tests/remake10c.test: Likewise. * tests/remake11.test: Likewise. * tests/remake12.test: Likewise. * tests/Makefile.am (TESTS): Updated. 2010-12-11 Stefano Lattarini Improve and extend tests on canonicalization. * tests/canon-name.test: Add trailing `:' command. When writing configure.in, prefer to use $me instead of hard-coding the test name. * tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'. * tests/canon4.test: Likewise. Make grepping of Makefile.in stricter. Improve heading comment, and add reference to ... * tests/canon6.test: ... this new test (sister test of the previous one). * tests/canon.test: Prefer cat + here-doc over echo to append text to configure.in. Extend grepping of Automake stderr. Add trailing `:' command. * tests/canon5.test: Likewise. * tests/canon7.test: New file, stress test on canonicalization. * tests/canon8.test: New test, for better coverage (check that the `@' character is not transliterated in canonicalizations). * tests/Makefile.am: Updated. 2010-12-13 Stefano Lattarini Libobj tests: refer to automake bug tracker for limitations. * tests/libobj15b.test (configure.in): In the comment explaining why an apparently redundant AC_OUTPUT is indeed needed, refer to the relevant entry in the Automake bug tracker rather than describing the bug in detail with a FIXME-style comment. * tests/libobj15c.test: Likewise. * tests/libobj20b.test: Likewise. Libobj tests: do not use `##' automake comments in-line. * tests/libobj19.test (Makefile.am): Do not use inline `##' comments in the definition of AUTOMAKE_OPTIONS. * tests/libobj20c.test: Likewise. Report by Ralf Wildenhues. 2010-12-13 Ralf Wildenhues Fix testsuite failure of check12.test without DejaGNU. * tests/check12.test: Require runtest. 2010-12-12 Stefano Lattarini Tests defs: more uses of $top_testsrcdir. * tests/compile6.test: Use `$top_testsrcdir' instead of `$testsrcdir/..'. 2010-11-12 Stefano Lattarini Tests required tools: also try `-v' option for GNU compilers. * tests/defs.in: In the loop on "$required" tools, for gcc and g++, also run "gcc -v" (resp. "g++ -v"), to get more information, and for consistency with gcj. 2010-11-12 Stefano Lattarini Ralf Wildenhues Tests defs: avoid some useless subshells. * tests/defs: In the loop on "$required" tools: avoid subshells where not needed. 2010-12-09 Stefano Lattarini Extend tests on AC_LIBOBJ and friends. * tests/aclibobj.test: Removed, superseded by ... * tests/libobj-basic.test: ... this new test, which runs autoconf, ./configure and make, to ensure everything really works. * tests/libobj3.test: Add trailing `:' command. Escape literal dot in grep regexp. * tests/libobj4.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. Use proper m4 quoting. * tests/ltlibobjs.test: Likewise. * tests/libobj5.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. Make more robust by using longer filenames to be grepped. * tests/libobj8.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. Use the configure.in stub provided by ./defs, rather than writing it from scratch. * tests/libobj2.test: Likewise. Also, add calls to autoconf, ./configure and make, to ensure everything really works. * tests/libobj7.test: Likewise, and ensure that at least one function listed in AC_REPLACE_FUNCTIONS is truly replaced. * tests/libobj13.test: Make grepping of Automake stderr slightly stricter. Add trailing `:' command. * tests/libobj12.test: Likewise. Also, prefer "cat + here-doc" over "echo" to append to Makefile.am, and some cosmetic changes in spacing. * tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails. Slighty improve m4 quoting. Add trailing `:' command. * tests/libobj10.test: Add calls to autoconf, ./configure and make, to ensure everything really works. Also, remove tests that nonexistent source for AC_LIBOBJ cause an Automake failure: this is already checked by ... * tests/libobj15a.test: ... this new test. * tests/libobj15b.test: New test, sister test of libobj15a.test, checks AC_LIBSOURCE instead of AC_LIBOBJ. * tests/libobj15c.test: New test, sister test of libobj15a.test, checks AC_LIBSOURCES instead of AC_LIBOBJ. * tests/libobj11.test: Removed, superseded by ... * tests/libobj16a.test: ... this new test. * tests/libobj16b.test: New test, sister test of libobj16a.test, but using oldish/deprecated idioms. * tests/libobj17.test: New test. * tests/libobj18.test: Likewise. * tests/libobj19.test: Likewise. * tests/libobj20a.test: Likewise. * tests/libobj20b.test: Likewise. * tests/libobj20c.test: Likewise. * tests/Makefile.am (TESTS): Updated. 2010-12-08 Stefano Lattarini Test `$(var:suf=rpl)' expansion in special automake variables. * tests/posixsubst-data.test: New test. * tests/posixsubst-extradist.test: Likewise. * tests/posixsubst-ldadd.test: Likewise. * tests/posixsubst-libraries.test: Likewise. * tests/posixsubst-ltlibraries.test: Likewise. * tests/posixsubst-programs.test: Likewise. * tests/posixsubst-scripts.test: Likewise. * tests/posixsubst-sources.test: Likewise. * tests/posixsubst-tests.test: Likewise. * tests/Makefile.am (TESTS): Update. 2010-12-07 Stefano Lattarini Make tests `colon*.test' more "semantic". Prefer running configure and make over grepping the generated files; this is both more correct and less fragile. * tests/colon.test: Made more "semantic", as described above. * tests/colon5.test: Likewise. * tests/colon6.test: Likewise. * tests/colon7.test: Likewise. * tests/colon2.test: Likewise, and improve syncing with sister test `colon3.test'. * tests/colon3.test: Likewise (but with the sister test being `colon2.test' here). 2010-12-10 Stefano Lattarini Extend and improve tests on DejaGnu support. * tests/dejagnu.test: Do not create useless dummy test script. Add trailing `:' command. In heading comments, add reference to ... * tests/check12.test: ... this new "semantic" test, covering concurrent use of dejagnu tests, simple tests and `check-local' target. * tests/dejagnu2.test: Make test more reliable, by avoid weak grepping of make output. Prefer `cat' over `echo' to append to configure.in. Quote literal dots in grep regexps. Prefer `grep -c ...' over `grep ... | wc -l'. Make grepping of automake stderr slightly stricter. Add trailing `:' command. * tests/dejagnu3.test: Prefer `cat' over `echo' to append to configure.in. Check stderr of expected-to-fail "make" call. Remove extra blank lines from Makefile.am. * tests/dejagnu4.test: Prefer `cat' over `echo' to append to configure.in. Prefer `mv -f' over plain `mv' when the target file already exists. Avoid extra mkdir calls by creating more directories at once. Better use of blank lines. Check that the `*.log' and `*.sum' files are created by runtest also when "make check" fails. * tests/dejagnu7.test: Prefer `cat' over `echo' to append to configure.in. Better use of blank lines. Add a trailing `:' command. * tests/dejagnu6.test: Likewise, and give the dejagnu test a more descriptive name. * tests/dejagnu5.test: Likewise. Also, simply define package name to `$me' rather than using a non-obvious sed script to extract it from `AC_INIT', and write the Makefile.am with only one command. * tests/Makefile.am (TESTS): Updated. 2010-12-10 Ralf Wildenhues Avoid running installed automake from 'libtool --help'. * tests/subobj9.test: Export AUTOCONF and AUTOMAKE. Together with fixed Libtool, this fixes check-coverage to not invoke installed automake. 2010-12-06 Stefano Lattarini Separate checks on target overriding into multiple test scripts. * tests/overrid.test: Deleted, its contents separated into ... * tests/override-suggest-local.test: ... this new test ... * tests/override-html.test: ... and this new test ... * tests/override-conditional-1.test: ... and this new test ... * tests/override-conditional-2.test: ... and this new test (still xfailing). * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated. Enable `set -e' in more tests (plus some tweakings). * tests/implicit.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. * tests/insh2.test: Likewise. * tests/instman2.test: Likewise. * tests/interp.test: Likewise. * tests/interp2.test: Likewise. * tests/library.test: Likewise. * tests/mclean.test: Likewise. * tests/info.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. Remove useless chaff from generated Makefile.am. Add a "FIXME" comment. * tests/include.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. Prefer cat + here-doc over echo to append to configure.in. Make tests more robust by using longer and less common names to grep. Remove an useless call to echo. Remove an useless subshell. * tests/header.test: Enable `errexit' shell flag, and related changes. Use proper m4 quoting. Add excerpts from the original report of the bug tested for by this script. * tests/gcj.test: Enable `errexit' shell flag, and related changes. Use proper m4 quoting. Add trailing `:' command. * tests/gcj3.test: Likewise. * tests/ldflags.test: Likewise. * tests/libtool.test: Likewise. * tests/listval.test: Likewise. * tests/javaprim.test: Likewise, and prefer cat + here-doc over echo to append to configure.in. * tests/javasubst.test: Likewise. * tests/discorver.test: Enable `errexit' shell flag. Prefer trailing `:' over trailing `Exit 0'. * tests/instdat.test: Enable `errexit' shell flag, and related changes. Use proper m4 quoting. Avoid useless subshell. Prefer cat + here-doc over echo to append to configure.in. * tests/libtool2.test: Enable `errexit' shell flag, and related changes. Add trailing `:' command. Use the configure.in stub provided by ./defs, rather than writing it from scratch. Modernize, improve and/or tweak some test scripts. * tests/maintclean.test: Use proper m4 quoting. Add trailing `:' command. * tests/sinclude.test: Likewise, and add a couple of blank lines, for clarity. * tests/make.test: Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Use the configure.in stub created by ./defs, rather than writing it from scratch. Some cosmetic changes in spacing. Ensure we wait enough time before touching configure.in to trigger the rebuild rules. * tests/makej.test: Use `$me' instead of hard-coding the test name. Add trailing `:' command. * tests/version7.test: Likewise. * tests/space.test: Enable `errexit' shell flag, and related changes. * tests/makevars.test: Likewise. Also, prefer trailing `:' over trailing `Exit 0', and be more tolerant of white spaces when grepping Makefile.in. 2010-12-02 Stefano Lattarini * tests/silent8.test: Use "|| Exit 1" after ". ./defs". Enable `set -e' in more tests (plus some tweakings). * tests/mkinstall.test: Enable `errexit' shell flag, and related changes. Add a trailing `:' command, if needed. * tests/mdate2.test: Likewise. * tests/objc.test: Likewise. * tests/noinst.test: Likewise. * tests/outdir.test: Likewise. * tests/number.test: Likewise. * tests/pluseq.test: Likewise. * tests/req.test: Likewise. * tests/rulepat.test: Likewise. * tests/specflg6.test: Likewise. * tests/spell3.test: Likewise. * tests/parse.test: Likewise, and ... (configure.in): Use the stub created by ./defs, rather than writing it from scratch. Remove useless calls to AC_PROG_RANLIB and AC_OUTPUT. * tests/mdate4.test: Likewise. * tests/mkinstall.test: Likewise, and ... (configure.in): ... drop useless call to `AC_OUTPUT'. * tests/output.test: Enable `errexit' shell flag, and related changes. Add a trailing `:' command. (configure.in): Modernize. * tests/output2.test: Likewise. * tests/output3.test: Likewise. * tests/output4.test: Likewise. * tests/mdate3.test: Enable `errexit' shell flag, and related changes. Prefer `$me' over hard-coded test name. Do not move non-existent or useless files in the build auxiliary directory. * tests/nodistdir.test: Enable `errexit' shell flag, and related changes. Prefer trailing `:' over trailing `Exit 0'. * tests/nodist.test: Likewise. Also, prefer cat + here-doc over echo to create input test files, and do not create useless dummy C source files. * tests/nodist2.test: Likewise. * tests/ppf77.test: Enable `errexit' shell flag, with related changes. Add a trailing `:' command. Do not create useless dummy source files. * tests/spelling.test: Enable `errexit' shell flag, with related changes. Add a trailing `:' command. Also, grep Automake error message. * tests/specflg3.test: Enable `errexit' shell flag, with related changes. Avoid unportable use of `-e' option of fgrep. Prefer trailing `:' over trailing `Exit 0'. Remove extra empty lines, and cosmetic changes to whitespaces. * tests/obsolete.test: Enable `errexit' shell flag, with related changes. Improve verbosity. Other miscellaneous changes. 2010-11-30 Stefano Lattarini Improve and extend tests on `:=' variable assignments. * tests/colneq.test: Avoid redundant use of variable assignments in Makefile.am. Use command-line automake options instead of editing AUTOMAKE_OPTIONS in Makefile.am. Make grepping of the generated Makefile.in slightly stricter. Add a trailing `:' command. * tests/colneq2.test: Do not create unneeded dummy files. Run also autoconf, ./configure and make. Add trailing `:' command. * tests/colneq3.test: New test, similar to colneq.test, but running also autoconf, ./configure and make. * tests/Makefile.am (TESTS): Update. 2010-11-26 Stefano Lattarini Remove long-deprecated options --Werror and --Wno-error. These options has been deprecated at least since commit "Release-1-6-1b-35-gc037f20", dated 2002-07-06. * automake.in (parse_arguments): Do not recognize anymore options `--Werror' and `--Wno-error' as synonyms of respectively `-Werror' and `-Wno-error'. * tests/werror.test: Update: use `-Werror' instead of `--Werror'. * NEWS: Update. 2010-11-25 Stefano Lattarini Fix spurious failures in `silent*.test' for $CC != gcc In some tests on automake-produced silent rules, we forced the use of gcc depmode to improve testsuite coverage; but this has unsurprisingly led to spurious failures when some non-GNU C compilers were used. So we are now careful to require GCC in tests that force gcc depmode. From reports by Ralf Wildenhues. * tests/silent5.test: Test removed, its content split into ... * tests/silent-many-generic.test, tests/silent-many-gcc.test: ... these new sister tests, the latter of which forces gcc depmode and lists "gcc" in $required. * tests/silentlex.test: Test removed, its content split into ... * tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ... these new sister tests, the latter of which forces gcc depmode and lists "gcc" in $required. * tests/silentyacc.test: Test removed, its content split into ... * tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ... these new sister tests, the latter of which forces gcc depmode and lists "gcc" in $required. * tests/Makefile.am (TESTS): Updated. 2010-11-21 Stefano Lattarini Tests: consistently use "|| Exit 1" after ". ./defs". * tests/autohdr.test: Use `. ./defs || Exit 1', not bare `. ./defs', for consistency with other tests. * tests/autohdr2.test: Likewise. * tests/autohdr3.test: Likewise. * tests/autohdr4.test: Likewise. * tests/cond23.test: Likewise. * tests/cond24.test: Likewise. * tests/cond25.test: Likewise. * tests/cond26.test: Likewise. * tests/cond27.test: Likewise. * tests/cond28.test: Likewise. * tests/cond29.test: Likewise. * tests/cond30.test: Likewise. * tests/cond31.test: Likewise. * tests/cond32.test: Likewise. * tests/cond33.test: Likewise. * tests/cond34.test: Likewise. * tests/cond35.test: Likewise. * tests/cond36.test: Likewise. * tests/cond37.test: Likewise. * tests/cond38.test: Likewise. * tests/cond39.test: Likewise. * tests/cond40.test: Likewise. * tests/cond41.test: Likewise. * tests/cond42.test: Likewise. * tests/cond43.test: Likewise. * tests/cond44.test: Likewise. * tests/cond45.test: Likewise. * tests/dollarvar.test: Likewise. * tests/dollarvar2.test: Likewise. * tests/hfs.test: Likewise. * tests/libobj14.test: Likewise. * tests/percent.test: Likewise. * tests/percent2.test: Likewise. * tests/phony.test: Likewise. * tests/silent.test: Likewise. * tests/silent2.test: Likewise. * tests/silent3.test: Likewise. * tests/silent4.test: Likewise. * tests/silent5.test: Likewise. * tests/silent6.test: Likewise. * tests/silent7.test: Likewise. * tests/silent9.test: Likewise. * tests/silentcxx.test: Likewise. * tests/silentf77.test: Likewise. * tests/silentf90.test: Likewise. * tests/silentlex.test: Likewise. * tests/silentyacc.test: Likewise. Avoid useless cleaning in some `silent*.test' tests. * tests/silentf77.test: Removed useless calls to "make clean" and "make maintainer-clean". * tests/silentf90.test: Likewise. * tests/silent3.test: Removed useless call to "make distclean". * tests/silent4.test: Likewise. * tests/silent9.test: Likewise. 2010-11-19 Ian Lance Taylor Sync config-ml.in from GCC. * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other compiler/flag environment variables. 2010-11-20 Stefano Lattarini release-stats: account for more generated tests. * Makefile.am (release-stats): Be sure to take into account all the generated tests, by grepping the test scripts to decide which ones of them are automatically generated. 2010-11-20 Stefano Lattarini Code cleanup after removal of option `--output-directory'. * automake.in ($output_directory): Remove, it's unconditionally defined to `.' and used only ... (generate_makefile): ... in this subroutine, which now has been edited and simplified accordingly. Remove obsolete automake option `--output-directory'. This option has been deprecated since version 1.7 (2002/2003). * automake.in ($output_directory): Define to `.' unconditionally. (parse_arguments): Remove handling of equivalent options `-o' and `--output-directory'. * tests/outdir.test: Removed. * tests/no-outdir-option.test: New test. * tests/Makefile.am (TESTS): Updated. * NEWS: Updated. 2010-11-19 Stefano Lattarini Automake::Config: remove extra trailing semicolon. * lib/Automake/Config.in: Remove extra trailing semicolon. help4.test: fix botched heading comment. * tests/help4.test: Fixed the heading comment, since it didn't correctly describe what checks the testcase was supposed to perform. help2.test: add checks on aclocal too. * tests/help2.test: Check that also `aclocal --version' and `aclocal --help' work with configure.in and acinclude.m4 both broken. 2010-11-19 Stefano Lattarini New test on repeated automake options. * tests/repeated-options.test: New test, check that automake does not complain on repeated options, nor generate broken or incorrect makefiles. * tests/Makefile.am (TESTS): Updated. 2010-11-17 Stefano Lattarini Fix spurious failures of silent-rules tests with Sun Fortran. * tests/silentf77.test: Strip from the make output some verbose messages possibly printed by the SunStudio fortran compilers, to avoid spurious failures. Add a trailing `:' command. * tests/silentf90.test: Likewise. 2010-11-17 Stefano Lattarini Fix spurious failures of silent5.test with Sun Fortran. * tests/silent5.test: Strip from the make output some verbose messages possibly printed by the SunStudio fortran compilers, to avoid spurious failures. This bug has been there from the very first version of this test script. 2010-11-16 Stefano Lattarini Fix regression in colon{5,6}.test (failures on AIX 5.3). * tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when post-processing the generated Makefile.in, to work around a bug of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro on the commend line. Calls to `$MAKE' adjusted accordingly. * tests/colon6.test: Likewise. Regression introduced in commit v1.11-175-gf9fe878 "Modernize, improve and/or extend tests `colon*.test", and reported by Ralf Wildenhues. 2010-11-16 Stefano Lattarini Fix regression in ansi.test (failure on AIX 5.3). * tests/ansi.test: Remove redundant hackish check done using a hand-postprocessed Makefile.in. This check worked by setting the `$(SHELL)' macro on the command line of make, but this is not supported by the AIX 5.3 make implementation. This bug has been lurking for a long time, and was activated by commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various tests". Report by Ralf Wildenhues. 2010-11-16 Ralf Wildenhues backcompat5.test: avoid '##'-style comments inside recipe commands. * tests/backcompat5.test: Remove double-hash comments from makefile rule commands, they are not part of the Automake API. Fixes testsuite failure with Tru64 make. tests: avoid '##'-style comments inside recipe commands. * tests/confh.test, tests/confh8.test: Remove double-hash comments from makefile rule commands, they are not part of the Automake API. 2010-11-14 Ralf Wildenhues tests: work around dash quoting issue in case statements. * tests/color.test, tests/color2.test: Quote variable in case pattern, to avoid skipping tests with dash 0.5.5.1. 2010-11-16 Peter Rosin Skip MSVC oriented tests if the shell is not capable. * tests/defs: New required entry 'xsi-shell'. * tests/ar-lib.test, tests/compile3.test, tests/compile6.test: Require a XSI capable shell. Reported by Ralf Wildenhues. 2010-11-15 Peter Rosin compile: clear the `eat' variable earlier. * lib/compile: Clear the `eat' variable earlier. ($scriptversion): Update. * tests/compile3.test: Prevent regressions. 2010-11-14 Ralf Wildenhues More stable configure output from sanity check. * m4/sanity.m4 (AM_SANITY_CHECK): Always print check line about ensuring newer files, even if we don't actually need to wait any more. 2010-11-14 Ralf Wildenhues Rebuild menus in the manual. * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs). Thanks to Ian Lance Taylor for the suggestion. Fix install-strip when $(STRIP) contains several words. * lib/am/install.am (install-strip): Update comment. Use separate sub-make invocations for empty and nonempty $(STRIP), to fix quoting issues. * tests/strip2.test, tests/strip3.test: New tests. * tests/Makefile.am (TESTS): Adjust. 2010-11-10 Ralf Wildenhues Fix yaccdry.test failure: require bison. * tests/yaccdry.test: Require bison. Found by NixOS Hydra. 2010-11-12 Stefano Lattarini Fix bug in test `backcompat6.test' (MSYS portability). * tests/backcompat6.test (Makefile.am): Grep the output from the test program, rather than diffing it, to avoid spurious failures on MinGW/MSYS due to LF vs. CRLF line endings. Reported by Ralf Wildenhues. 2010-11-13 Stefano Lattarini Deprecate obsolete macro AM_WITH_REGEX. * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete, and state that it should be removed two years from now. (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete" category when this macro is used. * doc/automake.texi (Public Macros): Move description of `AM_WITH_REGEX' from here ... (Obsolete Macros): ... to here, and declare it as obsolete and "to be removed in a future version". * tests/regex-obsolete.test: New test. * tests/Makefile.am (TESTS): Update. 2010-11-08 Stefano Lattarini Improve and extend tests on man pages support. * tests/man.test: Enable `errexit' shell flag, and related changes. Make grepping of generated Makefile.in slightly stricter. * tests/man3.test: Add trailing `:' command. * tests/man5.test: Prefer cat + here-doc over echo to append to configure.in. * tests/man2.test: Likewise, and add trailing `:' command. * tests/man4.test: More thorough and consistent checking of make error messages. Place fake `help2man' program in a new `bin' directory rather than in `.'. Move the checks using the real `help2man' program to ... * tests/man6.test: ... this new test, and extend them. This test passes with GNU make and Solaris make, still fails with BSD make. * tests/man7.test: New test, extracted from old man4.test, which checks for a bug in maintainer-clean w.r.t. generated manpages. * tests/man8.test: New test, extracted from old man4.test, which checks for a bug in distcheck w.r.t. generated manpages. Passes with GNU make and Solaris make, still fails with BSD make. 2010-11-08 Stefano Lattarini Minor improvements and extensions to various tests. * tests/defun.test: Also run autoconf and grep the generated configure to make sure that aclocal truly picks up all the required macros. * tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing `Exit 0'. Do not create useless dummy source files. Do not set useless `$(foo_LDADD)' variable in `Makefile.am'. Do not call useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'. * tests/compile_f90_c_cxx.test: Likewise. * tests/suffix10.test: Slightly stricter grepping of make output. * tests/compile.test: Add trailing `:' command. * tests/defun2.test: Likewise. * tests/vars3.test: Likewise. * tests/vartar.test: Likewise. * tests/vars.test: Likewise. Also, extend test by checking that the definition of `MY_FLAGS*' variables is preserved in the generated `Makefile.in'. * tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'. Use proper m4 quoting in `configure.in'. 2010-11-11 Stefano Lattarini Tests defs: improve messages for skipped tests. * tests/defs: Give meaningful messages about the reasons of a test skip; this is especially useful as this file is run without verbose xtraces on. Related reorderings in the code and new comments. 2010-11-10 Stefano Lattarini Tests defs: move static definitions in a new file `defs-static'. The new file is meant to be idempotent w.r.t. multiple inclusions. * tests/defs.in: Removed, its contents split among ... * tests/defs-static.in: ... this new file ... * tests/defs: ... and this new file, including the former. * configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add `tests/defs-static'. (AC_CONFIG_LINKS): Add `tests/defs'. * tests/Makefile.am ($(parallel_tests)): Update. ($(instspc_tests)): Likewise. * tests/.gitignore: Update. Tests defs: $testsbuilddir is now AC_SUBST'ed. * tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@. Add sanity check on $testsbuilddir, similar to those on $testsrcdir and $top_testsrcdir. Tests defs: do not print message "Running test $0" anymore. * tests/defs.in: Printing the message "=== Running test $0" at the beginning of each tests made sense when Automake used the old test-driver, which sent all the output directly to stdout/stderr. Now that the parallel test-driver is used, which saves output of each test in its corresponding log file, that old message is just useless noise. Tests defs: rename $curdir -> $testbuilddir * tests/defs.in: Rename $curdir to $testbuildir, for clarity and consistency with $testsrcdir and $top_testsrcdir. Tests defs: prefer "$curdir" over "`pwd`". * tests/defs.in: We already save the value of `pwd` in $curdir early in the file, so there no need to recalculate it later, when the current working directory is not changed. Tests defs: use `$me' in more error messages. * tests/defs.in: Also use `$me' in error messages referring to missing `defs' or `defs.in', since that variable is now defined before those checks. Tests defs: do not use `Exit' where plain `exit' suffices. * tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the test when required libtool/gettext macros are not found, since such skips would take place before the exit trap is installed. Tests defs: improve and extends comments. * tests/defs.in: Improve and extends some comments, especially in relation with the changes introduced by the previous reordering. Tests defs: various reorderings. * tests/defs.in: Reordered various snippets of code in a clearer way. 2010-11-09 Stefano Lattarini Fix bug in test `backcompat4.test' (stale autom4te cache). * tests/backcompat4.test: Remove stale autom4te cache directory before re-running aclocal and automake. Also, since we are at it, be more verbose in displaying contents of generated files, to ease debuggability. Reported by Ralf Wildenhues. 2010-11-07 Stefano Lattarini Fix a bug in variable concatenation with `+='. * lib/Automake/VarDef.pm (append): Since the content of the "appended-to" variable is going to be unconditionally normalized later, simply separate the appended value with a single whitespace character, instead of trying to be uselessly smarter by using escaped newlines. This fixes a bug in which extra backslashes where erroneously inserted in the variable's final value. * tests/pluseq11.test: New test, exposing the bug. * tests/Makefile.am (TESTS): Update. Reported by Andy Wingo. 2010-11-07 Stefano Lattarini Modernize, improve and/or tweak various test scripts. * tests/stamph2.test: Improve m4 quoting in `configure.in', and prefer trailing `:' over trailing `Exit 0'. * tests/syntax.test: Escape literal dots in grep regexps. * tests/copy.test: Enable `errexit' shell flag. Extend test by checking with `test' utility that the script `install-sh' is copied, but not symlinked. * tests/depdist.test: Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Avoid obsoleted constructs in generated `configure.in'. Prefer to do our checks by running configure and make over grepping Makefile.in. * tests/target-cflags: Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Use the `configure.in' stub created by `./defs', rather than writing it from scratch. * tests/target-clash: Do not uselessly run autoconf. * tests/ctarget1.test: Renamed ... * tests/cond-basic.test: ... to this. Use the `configure.in' stub created by `./defs', rather than writing it from scratch. Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Other minor cosmetic changes. * tests/Makefile.am (TESTS): Updated. 2010-11-06 Stefano Lattarini New tests on obsoleted usages of automake/autoconf macros (such as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT). * tests/backcompat.test: New test script. * tests/backcompat2.test: Likewise. * tests/backcompat3.test: Likewise. * tests/backcompat4.test: Likewise. * tests/backcompat5.test: Likewise. * tests/backcompat6.test: Likewise. * tests/init.test: Extended and improved, esp. by trying more combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few arguments. * tests/Makefile.am (TESTS): Updated. 2010-11-06 Stefano Lattarini Fix bug in rules for creating vala vapi/header files. * automake.in (lang_vala_finish_target): Add forgotten "fi" in an if control structure in a generated make rules. Bug introduced by previous commit `v1.11-221-gd7c1679', and revealed by failure of test `vala2.test'. 2010-11-01 Ralf Wildenhues Fix and document rules to not touch the tree with `make -n'. * doc/automake.texi (Multiple Outputs): Document the problem of modifications during dry-run execution, propose solution. * NEWS: Update. * automake.in (lang_vala_finish_target): Split recipe so the stamp file is not removed with GNU `make -n'. (lang_yacc_target_hook): Separate removal of parser output file and header remaking. * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was passed to make, take care not to remove any files in that case. * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of %STAMP% file from induced remaking of config header. * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test: New tests. * tests/Makefile.am (TESTS): Update. 2010-11-05 Stefano Lattarini Fix potential bug in generated tests `instpc-*.test'. This bug is due to the changes introduced by the recently-merged "tests-init" branch. In that branch, `tests/defs' didn't define anymore `$srcdir', instead defining directly `$testsrcdir'; but the generated tests were using `$srcdir', hence the bug. Luckily, since the Automake parallel test driver automatically exports `srcdir' to a proper value, that prevented the bug from manifesting itself. * tests/Makefile.am ($(instspc_tests)): In the generated test scripts, use `$testsrcdir', not `$srcdir'. 2010-11-03 Stefano Lattarini Overhauled and modularized tests in `instspc.test'. The test `instspc.test' was way too big and fragile. Its running time was very long. It also produced a log that was nearly unreadable due to its length, making it very difficult to find out the reason for failures. Also, it was too much monolithic, with a single (maybe spurious) failure in a corner case causing the whole test to fail (even if everything worked as expected in the other 99% of cases). The present change should solve these problems, by separating `instspc.test' into many smaller, self-contained, auto-generated tests. * tests/instspc.test: Removed. * tests/instspc-tests.sh: New script, fulfilling a double role: 1. it generates a Makefile.am snippet `tests/instspc-tests.am', containing the definition of a list of new tests which will take over the older `instspc.test', and 2. it is sourced by said generated tests with proper parameters pre-set, to run the "meat" of the checks. This apparent abuse is indeed required because the test generation code and test execution code are inevitably intertwined. * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this snippet, which (among the other things) defines ... (instspc_tests): ... this new macro, containing the list of the newly generated `instspc*.test' tests, and ... (instspc_xfail_tests): ... this new macro, containing the list of the `instspc*.test' tests expected to fail. ($(instspc_tests)): New rule, generates the `instspc*.test' tests. ($(instspc_tests:.test=.log)): New rule, registers the dependency of all `instspc*.test' tests on the `instspc-tests.sh' script. (TESTS): Add `$(instspc_tests)', remove `instspc.test'. (XFAIL_TESTS): Add `$(xfail_instspc_tests)'. (EXTRA_DIST): Distribute instspc-tests.sh. (MAINTAINERCLEANFILES): Added $(instspc_tests). Other minor cosmetic changes. * bootstrap: Generate instspc-tests.am. * tests/.gitignore: Updated. 2010-11-01 Ralf Wildenhues Add FAQ entry for bug reporting instructions. * doc/automake.texi (Reporting Bugs): New section. (Introduction): Refer to it. 2010-10-07 Peter Rosin depcomp: add new one-pass depmode for MSVC 7 and later. * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which make use of the -showIncludes option added in MSVC 7. * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not support the -o option. 2010-10-05 Jim Meyering dist-xz, dist-bzip2: don't hard-code -9: honor envvar settings * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made it impossible to override. Instead, use its XZ_OPT envvar, defaulting to -9 if not defined. Thus no change in behavior when XZ_OPT is not set, and now, this rule honors the setting of that envvar when it is set. Suggested by Lasse Collin. (dist-bzip2): Likewise for it's corresponding envvar: BZIP2. * NEWS (Miscellaneous changes): Mention it. * doc/automake.texi (The Types of Distributions): Describe the newly enabled environment variables. 2010-10-04 Stefano Lattarini Add support for newer python versions. * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to _AM_PYTHON_INTERPRETER_LIST. Since we are at it, break a long line and fix indentation. * THANKS: Updated. From a report by Thomas Klausner. Add test for `AM_WITH_DMALLOC' macro. * tests/dmalloc.test: New test. * tests/Makefile.am (TESTS): Update. Fix nits and bugs in tests `help*.test'. * tests/help4.test: Fix broken sed commands used to strip `-W...' flags away from "$AUTOMAKE" and "$ACLOCAL". * tests/help3.test: Likewise, and fix a botched comment. * tests/help.test: Likewise. Also, use "AUTOMAKE_fails ..." instead of "$AUTOMAKE ... && Exit 1", for consistency and to please maintainer-check. * tests/help2.test: Likewise. 2010-10-03 Stefano Lattarini Ralf Wildenhues Improve tests `help*.test' (also fixes maintcheck failures). * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W' flags stripped away rather than hard-coded `automake-$APIVERSION', to better honour user-overrides. Similarly for aclocal. * tests/help2.test: Likewise. * tests/help3.test: Likewise. * tests/help4.test: Likewise. 2010-10-03 Ralf Wildenhues tests: fix ar-lib.test for echo that interprets backslashes. * tests/ar-lib.test: Use printf instead of echo. Avoid test -a. More robust quoting. 2010-10-03 Ralf Wildenhues maintainer-check coverage for variables before rules. * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping around the test directories. (sc_tests_makefile_variable_order): New rule with a heuristic to catch ordering violations. Document and fix expansion of variables before rules. * doc/automake.texi (General Operation): Document that variables are expanded before rules. * lib/am/check.am (am__check_post): Reword a bit so it does not get matched as a rule. Suggestion by Ben Pfaff. 2010-10-02 Ralf Wildenhues Coverage and minor fixes for variable typo detection. * automake.in (check_typos): Remove `EXTRA_' prefix when computing canonical name. * tests/vartypo2.test, tests/vartypos.test: New tests. * tests/Makefile.am (TESTS): Update. Implement EXTRA_maude_DEPENDENCIES for programs and libraries. * automake.in (handle_programs, handle_libraries) (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized. * doc/automake.texi (Linking, Program and Library Variables) (LIBOBJS): Document EXTRA_*_DEPENDENCIES. * lib/am/library.am (%LIBRARY%): Also depend on $(EXTRA_%XLIBRARY%_DEPENDENCIES). * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on (%XLTLIBRARY%_DEPENDENCIES). * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on $(EXTRA_%XPROGRAM%_DEPENDENCIES). * tests/extradep.test, tests/extradep2.test: New tests. * tests/Makefile.am (TESTS): Update. * NEWS: Update. Suggested by Eric Blake. tests: avoid running into timing issues due to sanity change. * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test: Insert strategic sleep before aclocal reruns, to ensure files are newer. * tests/python11.test: Use --force for repeated autotools runs. Reports from the NixOS Hydra build daemon via Ludovic Courtès. Fix timestamp issues by ensuring configure takes at least a second. * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here, start a sleep in the background and wait for it to finish before creating config.status, hopefully fixing all spurious testsuite failures involving botched time stamps. * NEWS: Update. Reports by Ludovic Courtès, Peter Breitenlohner, and others. 2010-10-02 Ralf Wildenhues Revert "parallel-tests: avoid command-line length limit issue." This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835, because it re-opened the bug fixed by v1.11-10-g218e678. 2010-09-07 Ralf Wildenhues parallel-tests: avoid command-line length limit issue. * automake.in (handle_tests): New argument $makefile, new substitution %MAKEFILE%. (generate_makefile): Adjust. * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass sanitized TEST_LOGS value as makefile snippet on standard input to $(MAKE), to avoid exceeding the command line limit on w32 (MSYS). * NEWS: Update. Report by Bob Friesenhahn. 2010-09-26 Stefano Lattarini Extend tests on `--help' and `--version' options. * tests/help.test: Create a new empty directory and chdir into it, rather than removing already present files. Run the aclocal and automake wrapper scripts directly, instead of relying on $AUTOMAKE and $ACLOCAL. Be sure to correctly match literal dots in aclocal's and automake's stderr. Add a trailing `:' command. * tests/help2.test: New test, checking that options `--help' and `--version' works in directories with broken `configure.in'. * tests/help3.test: New test, checking that options `--help' and `--version' take precedence on the other options. * tests/help4.test: New test, checking that the first among the `--help' and `--version' options to be specified on the command line wins. * tests/Makefile.am (TESTS): Updated. 2010-09-25 Stefano Lattarini Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH. * tests/compile2.test: Do no uselessly (implicitly) repeat the computation of PATH_SEPARATOR again. * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when extending/redefining PATH. * tests/instmany-python.test: Likewise. * tests/instmany.test: Likewise. * tests/man4.test: Likewise. * tests/mkinst3.test: Likewise. * tests/mmodely.test: Likewise. * tests/multlib.test: Likewise. * tests/txinfo30.test: Likewise. * tests/README (Section "Writing test cases" subsection "Do"): Updated. * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check. (syntax_check_rules): Updated. Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'. * tests/defs.in ($APIVERSION): New AC_SUBST'd variable. ($ACLOCAL, $AUTOMAKE): Use it. ($PATH_SEPARATOR): New AC_SUBST'd variables. ($PATH): Use it. 2010-09-22 Stefano Lattarini Manual: be more agnostic w.r.t. version control system used. * doc/automake.texi (Basics of Distribution): Also refer to `.svn' directories as a type of probably-unwanted files that are copied regardless when adding directories to EXTRA_DIST. (The dist Hook): Show a dist-hook example which removes Subversion `.svn' private directories from distdir, rather than CVS private directories. (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t. the version control system used. Manual: index refer to target "git-dist", not "cvs-dist". * doc/automake.texi (General Operation): Index the non-standard example about "git-dist" under the "git-dist" label, not under the "cvs-dist" one. Perl modules: remove references to "Automake CVS repository". * lib/Automake/Channels.pm: Update comments to refer to "Automke's git repository" rather than to "Automake's CVS repository". * lib/Automake/Configure_ac.pm: Likewise. * lib/Automake/FileUtils.pm: Likewise. * lib/Automake/Struct.pm: Likewise. * lib/Automake/XFile.pm: Likewise. * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git branches" rather than "CVS branches". Remove obsolete .cvsignore files. * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore, lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore, m4/.cvsignore, tests/.cvsignore: Files deleted. Even when using savannah's CVS readonly mirror there's no way to commit back to the real repository, so this files are not worth maintaining or keeping around. 2010-09-21 Stefano Lattarini * m4/dmalloc.m4: Bump serial number and copyright years. 2010-09-20 Stefano Lattarini Fix broken link in `AM_WITH_DMALLOC' help screen. * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site `http://www.dmalloc.com', not to the dmalloc tarball there (which seems to have been removed, substituted by multiple release tarballs now). 2010-09-21 Peter Rosin compile: implement library search to support MSVC static linking * lib/compile (func_cl_wrapper): Implement library search and -static option so that the user can select whether to prefer dll import libraries or static libraries. This enables MSVC to link against dlls generated by libtool without requiring libtool or workarounds such as -lfoo.dll etc. Makes the tests/static.at test case in libtool pass. * tests/compile3.test: Don't trip up if there happens to exist a "foo" library in the library search path. * tests/compile6.test: New test, verifying the library search. * tests/Makefile.am (TESTS): Update. 2010-09-17 Eric Blake Avoid triple-space after period. * automake.in (handle_single_transform): Avoid 3 spaces at sentence end. * ChangeLog.03: Likewise. * lib/Automake/ChannelDefs.pm: Likewise. * lib/Automake/Channels.pm (_print_message): Likewise. * lib/Automake/Rule.pm (rule): Likewise. * lib/Automake/Variable.pm (var): Likewise. * lib/am/distdir.am: Likewise. * tests/insthook.test: Likewise. 2010-09-15 Stefano Lattarini Test automake-generated portions of configure help screen. * tests/help-depend.test: New test. * tests/help-depend2.test: Likewise. * tests/help-dmalloc.test: Likewise. * tests/help-init.test: Likewise. * tests/help-lispdir.test: Likewise. * tests/help-maintainer.test: Likewise. * tests/help-multilib.test: Likewise. * tests/help-regex.test: Likewise. * tests/help-silent.test: Likewise. * tests/help-upc.test: Likewise. * tests/mmode.test: Remove tests on `configure --help' output, they are superseded by tests in `help-maintainer.test'. * tests/Makefile.am (TESTS): Update. 2010-09-14 Stefano Lattarini * tests/README: Don't put GCS mandated tools in $required. 2010-09-13 Ralf Wildenhues * HACKING: Hint at old commits with `git describe' output. 2010-09-14 Stefano Lattarini Prefer `$(am__cd)' to plain `cd' in our Makefiles. * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch) (release-stats): Use `$(am__cd)' rather than plain `cd'. * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise. 2010-09-12 Stefano Lattarini Fix regression in test `colon4.test'. * tests/colon4.test: Fix botched editing to `configure.in' that made the test useless. Since we are at it, improve comments and make grepping of generated Makefile.in slightly stricter. Regression introduced by change "Modernize, improve and/or extend tests `colon*.test" (Stefano Lattarini, 2010-08-08). 2010-09-08 Stefano Lattarini Do not require "gzip" explicitly in tests. The gzip utility is simply expected to be present on any decent target system for Automake. So it's pointless to put it in $required. * tests/install2.test ($required): Do not require "gzip". * tests/lex3.test: Likewise. * tests/pr9.test: Likewise. From a suggestion by Ralf Wildenhues. 2010-09-09 Stefano Lattarini Use AS_HELP_STRING in AM_SILENT_RULES. * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format help message regarding configure options `--enable-silent-rules' and `--disable-silent-rules'. Also throw in a couple of cosmetic changes in the related `case' statement (indentation, balancing of parentheses). * THANKS: Update. From a report by Jeff A. Daily. 2010-09-08 Stefano Lattarini Make some `confh*.test' tests more "semantic" (plus tweakings). * tests/confh.test: Run "autoconf", "configure" and "make check", instead of munging/grepping the generated `Makefile.in'. * tests/confh4.test: Relax the grepping of Makefile.in w.r.t. white spaces. Do not create useless dummy source file `foo.c' and useless dummy header file `acconfig.h'. (configure.in): Remove superfluous call to `AC_OUTPUT'. * tests/confh6.test: Add trailing `:' command. * tests/confh7.test: In comments, add reference to ... * tests/confh8.test: ... this new test, "semantic" sister of `confh7.test'. * tests/Makefile.am (TESTS): Updated. Prompted by a report from Ralf Wildenhues. 2010-09-08 Stefano Lattarini Remove useless whitespace padding in XFAIL_TESTS definition. * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding. 2010-09-07 Ralf Wildenhues parallel-tests: avoid command-line length limit issue. * automake.in (handle_tests): New argument $makefile, new substitution %MAKEFILE%. (generate_makefile): Adjust. * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass sanitized TEST_LOGS value as makefile snippet on standard input to $(MAKE), to avoid exceeding the command line limit on w32 (MSYS). * NEWS: Update. Report by Bob Friesenhahn. Posix 2008 requires make to set errexit. * lib/am/check.am: Update comment. 2010-09-06 Stefano Lattarini Tests defs: remove variable $testaclocaldir. * tests/defs.in ($testaclocaldir): Removed. * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not `$testaclocaldir'. Tests defs: $srcdir and $top_srcdir renaming. * tests/defs.in ($srcdir): Remove, define $testsrcdir directly. * tests/Makefile.am ($(parallel_tests)): Generation of derived tests updated. Tests defs: new variable $top_testsrcdir. * tests/defs.in ($top_testsrcdir): Define unconditionally to @abs_top_srcdir@. Use it throughout. * tests/ar-lib.test: Use `$top_testsrcdir' instead of `$testsrcdir/..'. * tests/auxdir.test: Likewise. * tests/compile.test: Likewise. * tests/compile2.test: Likewise. * tests/compile3.test: Likewise. * tests/compile5.test: Likewise. * tests/mdate6.test: Likewise. * tests/mkinst3.test: Likewise. * tests/multlib.test: Likewise. * tests/txinfo22.test: Likewise. Tests defs: $srcdir is unconditionally substituted. * tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@. Remove code for $srcdir normalization, which is now useless. 2010-09-02 Stefano Lattarini Tests defs: make spacing more consistent. * tests/defs.in: Make spacing more consistent in indentation. Especially, indent using only spaces, not tabs. Also, move a comment to a better position. Improve code for requiring libtool and gettext in tests. * tests/defs.in: Stricter (and more correct) detection of wheter libtool, libtoolize and/or gettext are in $required. 2010-08-27 Stefano Lattarini Fix bug in test missing6.test. * tests/missing6.test: Fix the hack used to edit `configure.in', to avoid producing a configure script that breaks with shells that do not support $LINENO. Also throw in a couple of cosmetic changes. 2010-09-02 Peter Rosin Make ar-lib support backslashed files in archives. * lib/ar-lib: If an archive member contains a backslash, make sure it is escaped when the archive member is extracted. * tests/ar-lib.test: Test the above. 2010-08-31 Peter Rosin Do file name conversion for object files in the compile wrapper. * lib/compile (func_cl_wrapper): Do file name conversion for object files (i.e. extensions .obj, .OBJ, .o and .O) if needed. * tests/compile4.test: Test the above. 2010-08-21 Ralf Wildenhues Speed up removal of auxiliary linker output files for ltlibraries. * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just one `rm' invocation. Report by Bob Friesenhahn. Improve robustness of mdate-sh script. * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure $ls_command is word-split properly upon invocation. (error): New function. (main): Use it. Improve error checking to avoid endless loop in case $ls_command gave bogus output. Fix eval quotation. * tests/mdate6.test: New test, to expose eval quotation error. * tests/Makefile.am: Update. 2010-08-18 Stefano Lattarini Fix potential regressions in depcomp{3,5}.test. * tests/depcomp3.test: Do not uselessly escape the character `$' in makefile rules, when it's used to expand a make macro. * tests/depcomp5.test: Likewise. 2010-08-17 Stefano Lattarini Ralf Wildenhues Docs: clarify how to avoid automatic dependencies tracking. * doc/automake.texi (Automatic dependency tracking): Mention that automatic dependencies tracking is enabled by default, but that the package developer can disable it altogether. Add a reference to the proper section for a more in-depth explanation. Fix typo in manual (`Makefile.in' instead of `Makefile.am'). * doc/automake.texi (Automatic dependency tracking): Fix typo. 2010-08-16 Bruno Haible Don't hide the table of contents. * doc/automake.texi: Move the table of contents to the beginning. 2010-08-16 Peter Rosin Optimize compile script on MSYS. * lib/compile (func_file_conv): Add new argument 'lazy' which takes an optional list of conversion types where the requested conversion isn't needed. (func_cl_wrapper): Take advantage of the above for cases where MSYS is doing the conversion for us. Suggested by Ralf Wildenhues. 2010-08-16 Peter Rosin Support more C++ file extensions for MSVC in the compile script. * lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp file extension as C++, unless it's given a hint. So hint about .cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on .c, .cpp, .CPP, .lib, .LIB and .Lib files. * tests/compile3.test: Test the C++ hinting. 2010-08-12 Peter Rosin Enable the use of "link -lib" as the wrapped archiver. * lib/ar-lib: Enable the use of "link -lib" as the wrapped archiver, as well as allowing some other options to be passed through to the wrapped archiver. * tests/ar-lib.test: Test the above. 2010-08-10 Stefano Lattarini Tweak and/or extend some `acloca*.test' tests. * tests/aclocal8.test: Ensure verbose printing of captured output. * tests/aclocal.test: Likewise. Also, add trailing `:' command. * tests/acloca19.test: Likewise. * tests/aclocal5.test: Add trailing `:' command, and prefer `$me' over hard-coded test name. * tests/aclocal6.test: Likewise. * tests/aclocal18.test: Add trailing `:' command, and make some grepping slightly stricter. * tests/acloca14.test: Likewise. Also, prefer `diff' over `cmp', and add some "cosmetic" blank lines. 2010-08-09 Stefano Lattarini Tweak and extend tests `pr[!0-9]*.test'. * tests/primary3.test: Add trailing `:' command. * tests/primary.test: Make grepping of Automake's stderr stricter. Also, add trailing `:' command, and cosmetic changes in spacing. * tests/primary2.test: Likewise. * tests/prefix.test: Enable `errexit' shell flags, and related changes. Add a trailing `:' command. * tests/proginst.test: Likewise. Modernize, improve and extend tests for PR (`pr[0-9]*.test'). * tests/pr2.test: Add trailing `:' command. * tests/pr229.test: Likewise. * tests/pr401.test: Likewise. * tests/pr401b.test: Likewise. * tests/pr401c.test: Likewise. * tests/pr300-prog.test: Likewise, plus cosmetic changes in spacing. * tests/pr300-lib.test: Likewise. * tests/pr300-ltlib.test: Likewise, and ensure verbose printing of captured make stdout. * tests/pr211.test: Add trailing `:' command. Also, use the `configure.in' stub created by ./defs, rather than writing it from scratch. * tests/pr204.test: Likewise, plus cosmetic spacing changes. * tests/pr287.test: Likewise, and move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). * tests/pr220.test: Make grepping of Automake's stderr stricter. Also, add trailing `:' command, and cosmetic changes in spacing. * tests/pr224.test: Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Do not export `CC=gcc' to configure explicitly (it's already exported globally in ./defs, since we have "gcc" in $required). Use the stub for `configure.in' created by ./defs, rather than writing it from scratch. Do not create dummy files required by "gnu" mode (e.g. README, NEWS), since we run automake in foreign mode anyway. * tests/pr72.test: Enable `errexit' shell flags, and related changes. Extend existing checks a bit. * tests/pr9.test: Likewise. Also, avoid obsolescent constructs in the generated `configure.in', and extend existing checks over the generated tarball a bit. * tests/pr87.test: Enable `errexit' shell flags, and related changes. Add a trailing `:' command. Also, do not create dummy files required by "gnu" mode (e.g. README, NEWS), since we run automake in foreign mode anyway. * tests/pr243.test: Avoid obsolescent constructs in the generated `configure.in'. Enable the `errexit' shell flag, and related changes. Cosmetic changes to spacing, add trailing `:' command, and add a "FIXME" comment. * tests/pr266.test: Likewise, and add explicit command line switch `--enable-dependency-tracking' to the ./configure call. * tests/pr279.test: Avoid obsolescent constructs in the generated `configure.in'; also, use the `configure.in' stub created by ./defs, rather than writing it from scratch. Enable `errexit' shell flag, and related changes. Add trailing `:' command. * tests/pr279-2.test: Likewise, and make grepping of Makefile.in stricter. * tests/pr307.test: Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Escape literal dots in grep regular expressions. Also, add a trailing `:' command, and cosmetic changes to spacing. Tests for PR: add excerpts from original bug report, for clarity. * tests/pr2.test: Ditto. * tests/pr9.test: Likewise. * tests/pr72.test: Likewise. * tests/pr87.test: Likewise. * tests/pr211.test: Likewise. * tests/pr220.test: Likewise. * tests/pr224.test: Likewise. * tests/pr229.test: Likewise. * tests/pr243.test: Likewise. * tests/pr266.test: Likewise. * tests/pr279.test: Likewise, and tell to keep it in sync with its sister test. * tests/pr279-2.test: Likewise. 2010-08-08 Stefano Lattarini Tweak, extend and improve tests `cond[a-z]*.test'. * tests/condd.test: Add trailing `:' command. Typofix in comment. * tests/condhook.test: Make sure target `install-data-hook' is not called by `make install', but that data files are installed. Use proper m4 quoting in configure.in. Add trailing `:' command. * tests/condhook2.test: New test, sister test of condhook, with inverted semantic. * tests/condinc2.test: Use proper m4 quoting in configure.in. Prefer trailing `:' command over trailing `Exit 0'. * tests/condman2.test: Enable errexit shell flag, and related changes. Add trailing `:' command. * tests/condman.test: Likewise. Also, do not create useless dummy manpages, and use proper m4 quoting in configure.in. * tests/condman3.test: New test, similar to condman.test, but it also runs ./configure and "make install", and check the installed files. * tests/Makefile.am (TESTS): Updated. Modernize, improve and/or extend tests `colon*.test. * tests/colon.test: Rely on the `configure.in' stub created by `./defs', rather than writing one from scratch. Do not create a useless dummy file. Add trailing `:' command. * tests/colon4.test: Enable the `errexit' shell flag, and related changes. Rely on the `configure.in' stub created by `./defs', rather than writing one from scratch. * tests/colon7.test: Enable `errexit' shell flag, and related changes. Improve the generated `configure.in' file. Add trailing `:' command. * tests/colon2.test: Likewise. Also, add some new checks. * tests/colon5.test: Improve the generated `configure.in' file. Add new, much deeper checks. Add trailing `:' command. * tests/colon6.test: Likewise. * tests/colon3.test: Add trailing `:' command. Remove useless comments and echos. Improve the generated `configure.in' file. make some grepping tests stricter. Add a "FIXME" comments about planned improvements. Improve and extend tests `asm*.test'. * tests/asm.test: Use configure.in stub generated by ./defs, and avoid obsoleted autoconf constructs. Make grepping of Automake stderr stricter. Do not create useless source file. Improve verbose messages. Minor cosmetic changes. Tell to keep it in sync with other sister tests asm*.test. * tests/asm2.test: Likewise. * tests/asm3.test: Likewise. Modernize, improve and/or extend test scripts `conf*.test'. * tests/confh5.test: Cosmetic changes. * tests/conff.test: Likewise. * tests/confdeps.test: Likewise. * tests/conflnk.test: Likewise. * tests/conflnk2.test: Likewise. * tests/confsub.test: Likewise. * tests/confvar.test: Likewise, and make grepping of Makefile.in stricter. * tests/confvar2.test: Likewise. * tests/conflnk3.test: Cosmetic changes. Re-enable a temporarily disabled test (which didn't work with autoconf <= 2.59, but now we are requiring autoconf 2.62, so...) * tests/conflnk4.test: Cosmetic changes, and extend existing tests accordingly to "TODO" comments. * tests/conff2.test: Make grepping of Automake's stderr stricter. Add some comments explaining why we don't use the `configure.in' stub preset be ./defs. * tests/confh.test: Use the `configure.in' stub created by ./defs, rather than writing one from scratch, and do not call AC_OUTPUT. Enable `errexit' shell flag, and related changes. Prefer diff over cmp to compare text files. Prefer perl over sed to fetch the value of $(DIST_COMMON) from Makefile.in. Make grepping of the contents of $(DIST_COMMON) stricter. * tests/confh4.test: Use the `configure.in' stub created by ./defs, rather than writing one from scratch. Make grepping of Makefile.in stricter. * tests/confh5.test: Make grepping of `config.h' stricter. Add a comment. * tests/configure.test: Avoid obsolescent constructs in generated `configure.ac'. Do not write `configure.in' two times. Escape literal dots in grep regular expressions. * tests/confincl.test: Enable `errexit' shell flag, and related changes. Prefer fgrep over grep. Other cosmetic changes. * tests/config.test: Renamed to ... * tests/confh6.test: ... this. Fix m4 quoting in `configure.in', and make grepping of `config.h' and `config.h.in' stricter. * tests/conf2.test: Renamed ... * tests/confh7.test: ... to this. Use the `configure.in' stub created by ./defs, rather than writing one from scratch. Try to run the checks both with and without AC_PROG_CC and AC_OUTPUT in `configure.in'. * tests/Makefile.am (TESTS): Updated. Minor improvements and fixes in tests `depcomp*.test'. * tests/depcomp.test: Do not create useless dummy source files. Add a trailing `:' command. * tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure it's not in in the environment, rather than exporting it with an empty value. Do not pass CC=gcc to configure, as that's already done in ./defs since we have gcc in $required. Ensure verbose printing of captured stderr, and normalize its checking. Add a trailing `:' command. * tests/depcomp3.test: Quote literal dots and dollar characters in grep regexps. Always use `: >' rather than `touch' to create empty files. Explicitly declare phony targets as such in the created Makefile.am. Add a trailing `:' command. * tests/depcomp4.test: Quote literal dots and dollar characters in grep regexp. Explicitly declare phony targets as such in the created Makefile.am. Ensure verbose printing of captured makes' stoud/stderr. Add a trailing `:' command. * tests/depcomp5.test: Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Quote literal dots and dollar characters in grep regexps. Explicitly declare phony targets as such in the created Makefile.am. Add a trailing `:' command. * tests/depcomp6.test: Consistently use m4 quoting in the generated configure.in. Cosmetic fixes to spacing. Make the "dummy" `if' statement required by OpenBSD's sh `set -e' more robust, and add explanatory comments to it. * tests/depcomp7.test: Likewise, and add a trailing `:' command. Separate failing part of test `all.test'. * tests/all.test: Keep only (x)failing part of the test. Working checks moved out to ... * tests/all2.test: ... this new test. * tests/Makefile.am (TESTS): Updated. Modernize, improve and extend tests `subobj*.test'. * tests/subobjname.test: Add trailing `:' command. * tests/subobj.test: Make grepping of `Makefile.in' stricter. Escape literal dots in grep regexps. * tests/subobj2.test: Add trailing `:' command. Do not use the unportable fgrep option `-e'. * tests/subobj3.test: Add trailing `:' command. (configure.in): Use proper m4 quoting, and avoid obsolescent constructs. * tests/subobj8.test: Likewise. Also, enable `errexit' shell flag, with related changes * tests/subobj4.test: Likewise. Also, make grepping of `Makefile.in' stricter. * tests/subobj5.test: Add trailing `:' command. Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). (configure.in): Use the stub created by `./defs', rather than writing it from scratch, and avoid obsolescent constructs. * tests/subobj6.test: Add trailing `:' command. Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Do not create useless dummy ac-init file `f'. * tests/subobj7.test: Do not create useless dummy ac-init file `f'. (configure.in): Use the stub created by `./defs', rather than writing it from scratch, and avoid obsolescent constructs. * tests/subobj9.test: Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Fail the test if `make distcheck' fails. Ensure verbose printing of captured make stdout. Avoid useless fork by doing simple grep instead of using test -n "`COMMAND | grep ...`". (configure.in): Normalize the call to AC_INIT w.r.t. other tests. (Makefile.am): Explicitly mark target "print" as phony. * tests/subobj10.test: Removed duplicated call to `set -e'. Add trailing `:' command. (configure.in): Normalize the call to AC_INIT w.r.t. other tests. Remove a couple of obsoleted tests. * tests/fpinstall.test: Removed. * tests/fpinst2.test: Likewise. * tests/Makefile.am (TESTS): Updated. Bootstrap: updated HACKING entry. * HACKING ("Working with git"): Explain how to override the autoconf and autom4te programs used by the bootstrap process. Bootstrap: fixlet. * bootstrap: Do not remove `lib/Automake/Config.pm' anymore, since we don't generate it. Correctly quote arguments of `eval' builtin. Fixed a botched error message. Removed an extra blank line. Bootstrap: don't search perl in $PATH. * bootstrap: Do not explicitly search perl in $PATH anymore. ($PATH_SEPARATOR): Removed, it's no more needed. Bootstrap: let the user choose which autoconf to use. * bootstrap ($AUTOCONF): New variable, from the environment. ($AUTOM4TE): Likewise, for clarity. Use "$AUTOCONF" instead of calling "autoconf" directly. Minor improvements to tests ar*.test. * tests/ar.test: Add trailing `:' command. * tests/ar2.test: Likewise, and make grepping of generated Makefile.in stricter. 2010-08-06 Peter Rosin Add new auxiliary 'ar-lib' script, wrapping Microsoft lib. * lib/ar-lib: New auxiliary script. * lib/Makefile.am: Add above. * tests/ar-lib.test: New test. * tests/Makefile.am: Add above. * automake.in (@common_files): Distribute the 'ar-lib' script. * doc/automake.texi (Auxiliary Programs): Mention the new 'ar-lib' script. (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR. * NEWS: Update. 2010-08-07 Ralf Wildenhues Fix shell pattern negation in compile script. * lib/compile (func_file_conv): Use `!' not `^' for pattern negation. 2010-08-08 Ralf Wildenhues Fix maintainer-check failure. * tests/cond5.test: Quote sleep argument, this isn't about time stamp differences. Sync auxiliary files from upstream. * lib/config.guess, lib/config.sub, lib/texinfo.tex: Sync from upstream. 2010-08-06 Stefano Lattarini Work around a nasty bug (segfault) of Solaris make. * lib/am/check.am (recheck, recheck-html): Trim trailing spaces from $list, to avoid triggering a nasty bug (potential segfault) on Solaris make. 2010-08-06 Peter Rosin Make cond5.test more robust on MSYS. * tests/cond5.test: Add delay before the first kill attempt to cater for problems with MSYS bash. 2010-08-01 Peter Rosin Wrap some MSVC options in the compile script. * lib/compile: MSVC supports naming the output file, the option is just not called -o, so transform -o into the appropriate form for MSVC. Also wrap some other options while at it (-L, -l, -Wl, -Xlinker and -I) and convert file names to windows form where needed for those options to make MSVC more usable in an autotooled environment. * doc/automake.texi (Auxiliary Programs): Document the above extension of the compile script. * NEWS: Updated. * tests/defs.in: New required entry 'cl'. * tests/compile3.test: New test. * tests/compile4.test: New test. * tests/compile5.test: New test. * tests/Makefile.am: Update. 2010-07-31 Ralf Wildenhues Add example git work flow; discuss merge --log in HACKING. * HACKING: Update. Suggestion by Stefano Lattarini. Add more hints for debugging make rules. * doc/automake.texi (Debugging Make Rules): Show command to find out expanded values of variables; point to makefile debugger. * THANKS: Update. Prompted by suggestion from Ludovic Courtès and Andy Wingo. 2010-07-27 Patrick Welche (tiny change) Fix typo in the manual. * doc/automake.texi (Scripts): Fix typo. 2010-07-27 Ralf Wildenhues Document current policy for development with git. * HACKING (Working with git): Overhaul. Prompted by suggestion from Stefano Lattarini. Fix AM_COND_IF for gone-invalid condition shell expression. * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE variable, rather than re-evaluating the shell expression for the condition. * tests/cond40.test: Extend test. * NEWS: Update. Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty. * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty to avoid shell syntax error if the m4 expansion is empty. * tests/cond40.test: Enhance test. Coverage: bogus option to AM_INIT_AUTOMAKE. * tests/init2.test: New test. * tests/Makefile.am: Update. 2010-07-21 Stefano Lattarini Modernize and improve test scripts `subdir*.test'. * tests/subdir.test: Enable `errexit' shell flag, and related changes. Use the `configure.in' stub created by `./defs', rather than writing one from scratch. * tests/subdir2.test: Likewise. * tests/subdir4.test: Likewise. * tests/subdir3.test: Enable `errexit' shell flag, and related changes. Do not create useless dummy source files. * tests/subdir5.test: Make grepping of Makefile.in (in topdir and in subdirs) stricter. Some minor changes to keep it more in sync with the related test `subdir8.test'. * tests/subdir8.test: Likewise (but with the related test being `subdir5.test' here). * tests/subdir6.test: Cosmetic change in spacing. * tests/subdir9.test: Define and use new variable `$distdir'. Add trailing `:' command. * tests/subdir10.test: Cosmetic consistency-related change. * tests/subdirbuiltsources.test: Cosmetic changes in spacings. (configure.in): Use stub created by `./defs', rather than writing it from scratch. Do not use obsoleted and/or deprecated forms of autoconf/automake macros. Modernize and improve test scripts `dist*.test'. * tests/distcleancheck.test: Do not add useless `-e' option to a $MAKE call. Extend test by grepping stderr of make. * tests/distcom2.test: Do not run the same test script on the Makefile.in twice, but save its output in an intermediate file instead. Make grepping of DIST_COMMON definition stricter. Display the content of more files, to ease debugging. Add a trailing `:' command. Improved heading comments w.r.t. sister test(s). * tests/distcom6.test: Likewise, and avoid to uselessly run autoconf. * tests/distcom3.test: Ensure verbose printing of captured stdout and stderr. Make grepping of captured stderr stricter. Also, add trailing `:' command. * tests/distcom4.test: Declare the target `test' in the generated Makefile.am as `.PHONY'. Display content of more files, to ease debugging. Add trailing `:' command. * tests/distcom5.test: Likewise. Also, factor out common sed script in subroutine `extract_distcommon'. * tests/distcom7.test: Prefer cat + here-doc over echo to write test Makefile.am files. Add a trailing `:' command. * tests/distname.test: Prefer `gzip -d' over `gunzip'. Move the call to `set -e' earlier. Be stricter and more verbose in the checking of the generated tarball. (configure.in): Use the stub provided by ./defs, instead of writing it from scratch. Avoid obsoleted constructs. Remove useless call to `AM_PROG_CC_C_O'. * tests/distdir.test: Various minor improvements/normalizations. * tests/distlinks.test: Likewise. 2010-07-18 Stefano Lattarini Improve and extend test cond5.test. * tests/cond5.test: Do not blindly sleep 60 seconds before polling the background automake process, but poll it every 10 seconds for at most 30 times (this makes the test both faster on good machines, and more resilient to spurious timeout-due failures when in low priority or on heavily-loaded systems). Check also that automake writes the expected error messages on the standard error. Enable `errexit' flag, and related changes. Rely on the `configure.in' stub created by `./defs', rather than writing one from scratch. 2010-06-26 Ralf Wildenhues Update program --help output to match current GCS. * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL is not defined, for compatibility to Autoconf < 2.64. * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and PACKAGE_URL. (sc_diff_automake_in_automake): Update number of diff lines for additional substitutions. * aclocal.in (usage): Use PACKAGE_BUGREPORT. Point to Automake home page and GNU general help page. * automake.in (usage): Likewise. * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email address. (Introduction, Creating amhello, amhello Explained, Options): Use it throughout. * lib/Automake/Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT. * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global. * lib/Automake/ChannelDefs.pm: Use it for footer of fatal messages. Clean up @var handling in the manual. * doc/automake.texi: Throughout the manual, lower-case @var names, replace a few one-character names. 2010-06-26 Stefano Lattarini Fix typo-related bug in test script silent5.test. * tests/silent5.test: Use $EGREP, not $GREP (which is not even defined). Tests: remove useless repetitions of `foreign' automake option. * tests/multlib.test (configure.in): Remove useless use of `foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is already in $AUTOMAKE by default, so no point in repeating it). * tests/subobj10.test: Likewise. * tests/subobj9.test: Likewise. * tests/lex3.test (Makefile.am): Similarly, remove useless use of `foreign' option in AUTOMAKE_OPTIONS. * tests/lex5.test: Likewise. * tests/pr279.test: Likewise. * tests/pr279-2.test: Likewise. * tests/specflg3.test: Likewise. * tests/target-cflags.test: Likewise. Drop useless requirement "gzip" in lex5.test. * tests/lex5.test ($required): Do not list "gzip", as it's never used. 2010-06-24 Stefano Lattarini Fix bugs in test script silent5.test. * tests/silent5.test: Fixed a nasty bug (due to the use of grep instead of egrep) that could have led to false negatives. 2010-06-21 Stefano Lattarini Add a test checking that distributed broken symlinks cause `make dist' to fail. * tests/distlinksbrk.test: New test. * tests/Makefile.am (TESTS): Updated. 2010-06-21 Ralf Wildenhues Fix minor testsuite issues, update docs, for Yacc/Lex changes. * doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS and AM_LFLAGS, LFLAGS in the order in which they now appear in the rules. * NEWS: Update. * tests/lflags.test, tests/lflags2.test, tests/yflags.test, tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to please maintainer-check. Ensure generated C files contain a declaration, to please compilers. 2010-06-21 Stefano Lattarini Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and $(FLAGS) precedence. * automake.in: Fix registration of languages "Lex", "Lex (C++)", "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS). * tests/Makefile.am (XFAIL_TESTS): Updated accordingly. * NEWS: Updated. New tests, exposing bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and $(FLAGS) precedence. * tests/lflags.test: New test, check that user $(LFLAGS) takes precedence over automake (AM_LFLAGS) and (foo_LFLAGS). Still xfailing. * tests/lflags2.test: Likewise. * tests/yflags.test: New test, check that user $(YFLAGS) takes precedence over automake (AM_YFLAGS) and (foo_YFLAGS). Still xfailing. * tests/yflags2.test: Likewise. * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly. 2010-06-20 Stefano Lattarini Modernize, improve and extend tests `suffix*.test'. * tests/suffix3.test: Enable `errexit' shell flag, and related changes. * tests/suffix4.test: Likewise. * tests/suffix6.test: Likewise, and do not create a useless dummy source file. * tests/suffix7.test: Likewise. * tests/suffix5.test: Enable `errexit' shell flag, and related changes. Make grepping of Makefile.in slightly stricter. * tests/suffix.test: Enable `errexit' shell flag, and related changes. Also, do not redirect grep output to /dev/null, as this might unmotivatedly hide useful information. * tests/suffix2.test: Move setting of `errexit' shell flag earlier in the script (just after inclusion of ./defs). Use a more idiomatic way to count text occurrences in Makefile.in with grep. Do not create useless dummy source files. * tests/suffix10.test: Ensure verbose printing of captured make stdout. Minor cosmetic changes. * tests/suffix8.test: Likewise. Also, drop useless call to the env(1) utility, and make grepping of make output stricter by using $FGREP rather than plain grep. * tests/suffix11.test: Likewise. * tests/suffix12.test: Likewise. * tests/suffix9.test: Prefer cat + here-doc over echo to append to the `configure.in' stub. Cosmetic changes. * tests/suffix13.test: Cosmetic spacing change. 2010-06-13 Stefano Lattarini Add useful comment in test script ext.test. * tests/ext.test: Add a comment explaining why an apparently useless `if' statement is indeed required. 2010-06-13 Stefano Lattarini Add useful comment in test script obsolete.test. * tests/obsolete.test: Add a comment explaining why we need an indirection in adding $AUTOUPDATE to $required. Normalize whitespaces in 'tests/Makefile.am'. * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the definition of this variable. Parallel tests generation: improve comments (tiny change). * tests/Makefile.am ($(parallel_tests)): Added useful comment to generated tests. Tests defs: truly get rid of `$am_defs_included' (unused variable) * tests/defs.in ($am_defs_included): Remove, its now unused. It should have been removed in a previous changeset, but the removal was done only partially (oversight). 2010-06-12 Ralf Wildenhues Remove a couple of unneeded conditionals from tests. * tests/pr243.test, tests/pr266.test, tests/strip.test: No need for the FOOTEST conditional. 2010-06-12 Stefano Lattarini Modernize, improve and/or fix various test scripts. * tests/symlink3.test: Deleted, separated into two new, more complete tests ... * tests/forcemiss.test: ... this one ... * tests/forcemiss2.test: ... and this one. * tests/symlink2.test: Enable `errexit' shell flag, make test stricter, and skip it if symlink creation is not supported. * tests/postproc.test: Enable `errexit' shell flag, related changes, and a couple of unrelated cosmetic changes. * tests/recurs.test: Use the `configure.in' stub created by `./defs', rather than writing one from scratch. Make grepping of Automake stderr slightly stricter. * tests/substtarg.test: Likewise. * tests/strip.test: Likewise, and move the call to `set -e' earlier (just after the inclusion of `./defs'). Also, make sure that the script installed by `make install-script' is equal to the original one. * tests/substref.test: Use the `configure.in' stub created by `./defs', rather than writing one from scratch. Move the call to `set -e' earlier (just after the inclusion of `./defs'). Avoid to explicitly export CC for configure (that's already done in ./defs). Avoid potential problems with unpredictable make output. Finally, make grepping of Makefile.in stricter. * tests/substre2.test: Ensure verbose printing of the captured make's output, and make its grepping slightly stricter. * tests/cygwin32.test: Enable `errexit' shell flag, and related changes. Also, do not create useless dummy source/data files. * tests/scripts.test: Likewise. * tests/recurs2.test: Likewise. Also, use the `configure.in' stub created by `./defs'. * tests/Makefile.am (TESTS): Updated. Modernize, improve and/or fix tests `pluseq*.test. * tests/pluseq5.test: Append to configure.in using cat with an here-doc, not using echo. * tests/pluseq10.test: Make sure that the captured output of `make' command is always displayed. Where possible, use $FGREP instead of grep (this change makes some checks slightly stricter). * tests/pluseq8.test: Enable `errexit' shell flag, with related changes. * tests/pluseq.test: Likewise. Also, do not create useless dummy data files, and use better m4 quoting in generated configure.in. * tests/pluseq2.test: Likewise. Also, append to configure.in using cat with an here-doc, not using echo. * tests/pluseq3.test: Likewise. * tests/pluseq4.test: Likewise. * tests/pluseq6.test: Likewise. * tests/pluseq7.test: Do not create useless dummy source file. * tests/pluseq9.test: Slightly extended w.r.t. the grepping of Automake stderr. Some unrelated cosmetic changes. 2010-06-12 Stefano Lattarini cscope.test: ensure verbose printing of captured stderr. * tests/cscope.test: Print captured stderr before failing. 2010-06-12 Stefano Lattarini Testsuite: ensure verbose printing of captured stderr. * tests/acloca18.test: Print captured stderr before either failing or grepping it. Be sure to send captured stderr to stderr, not to stdout. * tests/ansi3b.test: Likewise. * tests/cond39.test: Likewise. * tests/configure.test: Likewise. * tests/missing3.test: Likewise. * tests/missing6.test: Likewise. * tests/output-order.test: Likewise. * tests/pr300-ltlib.test: Likewise. * tests/python6.test: Likewise. * tests/python7.test: Likewise. * tests/python8.test: Likewise. * tests/python9.test: Likewise. * tests/subobj.test: Likewise. * tests/vars3.test: Likewise. * tests/missing4.test: Likewise, and fix a call to grep not to use the `-c' flag. * tests/ansi3.test: Likewise, and rely on the `configure.in' stub created by `./defs', rather than writing one from scratch. Enable `errexit' shell flag in various tests. * tests/backsl.test: Enable the `errexit' shell flag, and related changes. * tests/backsl2.test: Likewise. * tests/block.test: Likewise. * tests/canon2.test: Likewise. * tests/canon4.test: Likewise. * tests/comment2.test: Likewise. * tests/condlib.test: Likewise. * tests/cond15.test: Likewise, and prefer $FGREP over grep. * tests/canon3.test: Likewise. Also, avoid to create an useless dummy source file. * tests/acoutpt2.test: Enable the `errexit' shell flag, and some related changes. Do some cosmetic improvements in the generated `configure.in' file. * tests/cond4.test: Likewise. * tests/cond14.test: Likewise. * tests/condinc.test: Likewise. * tests/cond7.test: Likewise. Also, remove useless setting of AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am. * tests/ansi.test: Enable the `errexit' shell flag, and related changes. Extended, esp. by running autoconf, ./configure and make, and by looking into the distdir. 2010-06-12 Stefano Lattarini Ralf Wildenhues Extend tests/README w.r.t. trailing `:' in test scripts. * tests/README (section "Writing test cases" subsection "Do"): Explain why apparently redundant trailing `:' and `Exit 0' in test scripts can indeed be useful. 2010-06-11 Stefano Lattarini Improve determination of PATH separator in bootstrap script. * bootstrap: Determine what the PATH separator is the same way autoconf does. Minor improvements in bootstrap script. * bootstrap: Consistently use two-spaces indentation. Cosmetic improvement to comments. ($me): New variable, containing program basename. Prepend it to all error messages. Testsuite now works with BSD make in parallel mode. * tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO, which are exported by BSD make when run in parallel mode, and which can confuse make processes spawned by our testsuite. This change fixes a lot of spurious failure when the testsuite is run with BSD make in parallel mode. 2010-06-09 Stefano Lattarini Modernize, improve and/or fix various test scripts. * tests/sanity.test: Rely on the `configure.in' stub created by `./defs', rather than writing one from scratch. * tests/depend2.test: Likewise. Also, call `set -e' just after the inclusion of `./defs', instead that later in the script. * tests/canon5.test: Avoid a useless `|| Exit 1' after a call to $AUTOMAKE, and improve the positioning of an $ACLOCAL call. * tests/exeext4.test: Use $FGREP instead of grep, where possible. Make auxiliary rules in the generated Makefile more silent. These changes make some checks slightly stricter. * tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails. * tests/gettext2.test: Place final `:' at the end of the script, rather than in the middle. * tests/exeext.test: Call `set -e' just after the inclusion of `./defs', instead that later in the script. * tests/extra5.test: Likewise. * tests/confdeps.test: Likewise. Also, prefer `mv -f' over plain `mv', just to be sure. * tests/depcomp.test: Enable `errexit' shell flag, with related changes. Also, modernize the generated configure.in. * tests/cond9.test: Likewise. Also, rely on the `configure.in' stub created by `./defs', rather than writing one from scratch. * tests/cond10.test: Likewise. * tests/depcomp2.test: Likewise. * tests/depend3.test: Likewise. * tests/distcom7.test: Likewise. * tests/fortdep.test: Likewise. Also, remove definition of AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am, since that flag is already provided by $AUTOMAKE. * tests/mdate.test: Made stricter, by checking that Automake actually failed, and by making a stricter grep on the error message. Also, set shell `errexit flag'. * tests/python2.test: Improved verbose messages. Make test `ammissing.test' stricter. * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly. Enable `errexit' shell flag. 2010-06-08 Stefano Lattarini Ralf Wildenhues Fix error in generation of parallel tests. * tests/defs.in ($am_skip_defs): New variable, to be used when ./defs must be sourced multiple times. If set, unset it and only define $srcdir; otherwise, also go through the rest of the script. ($am_defs_included): Remove, no more needed. * tests/Makefile.am ($(parallel_tests)): Update accordingly, using only $srcdir from defs. Fixes potential test failures of tests that use $required. 2010-06-08 Stefano Lattarini Enable `errexit' shell flag in some test scripts. * tests/subcond.test: Enabled `errexit' shell flag, and related minor changes. * tests/subst.test: Likewise. * tests/vars.test: Likewise. * tests/version4.test: Likewise. * tests/vpath.test: Likewise. * tests/vtexi2.test: Likewise. * tests/werror.test: Likewise. * tests/whoami.test: Likewise. * tests/tags.test: Likewise, and avoid to crate an useless dummy header file. * tests/acsilent.test: Likewise, and don't use an easily-avoided command substitution. * tests/unused.test: Likewise, and don't use an easily-avoided command substitution. * tests/version.test: Likewise, and avoid deprecated constructs in the generated `configure.in'. * tests/version2.test: Likewise, and avoid deprecated constructs in the generated `configure.in'. 2010-06-07 Stefano Lattarini Ralf Wildenhues Improve declaration of dependencies in the testsuite. * tests/Makefile.am (check_SCRIPTS): Remove. Instead, let ... ($(TEST_LOGS)): ... all test logs depend on the scripts. * test/gen-parallel-tests: For each parallel test foo-p.test, let `foo-p.log' also depend on `foo.test', since it is sourced. 2010-06-06 Ralf Wildenhues Coverage for TAGS_DEPENDENCIES warning. * tests/tags2.test: New test. * tests/Makefile.am: Update. Coverage for use of anachronistic variables. * tests/oldvars.test: New test. * tests/Makefile.am: Update. Testsuite coverage for bogus macro file serial numbers. * tests/acloca18.test: Also test ill-formed serial numbers and serial numbers after macro definitions. Coverage for aclocal diagnosing underquoted macros. * tests/acloca23.test: New test. * tests/Makefile.am: Update. 2010-06-06 Ralf Wildenhues Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests. * tests/ldadd.test: Enable errexit. Use AUTOMAKE_fails so the verbose log contains all output. * tests/mdate.test: Likewise. Prompted by Stefano Lattarini's change to discover.test. 2010-06-06 Ralf Wildenhues More minor message fixes. * aclocal.in (scan_file): Fix recommended info command line. * automake.in (handle_lib_objects): No need to prepend function name to prog_error message. (handle_tags): Add missing word and missing space in error message. (handle_dist): Add missing closing single quote in message. Line-wrap one long message for readability. 2010-06-06 Stefano Lattarini Ralf Wildenhues Fix distcheck failure with distributed generated parallel tests. * tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir) being different from the value at developer `make dist' time. * tests/defs.in: Protect against multiple inclusion, by using ... ($am_defs_included): ... this new variable. ($srcdir): Do not compute, but simply define to `@abs_srcdir@' as substituted by configure. Report, suggestions and first fix by Ralf Wildenhues, final patch by Stefano Lattarini. 2010-06-06 Stefano Lattarini Improve tests link*.test (enable `errexit' shell flag). * tests/link_c_cxx.test: Enable `errexit shell flag, and related changes. Also, do not create useless source files. * tests/link_dist.test: Likewise. * tests/link_f90_only.test: Likewise. * tests/link_f_only.test: Likewise. * tests/link_fc.test: Likewise. * tests/link_fccxx.test: Likewise. * tests/link_fcxx.test: Likewise. 2010-06-06 Ralf Wildenhues Improve ext.test semantics, avoid OpenBSD sh errexit issue. * tests/ext.test: Inside shell compound command, use `if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to fix failure with OpenBSD sh introduced with last patch. Actually ensure that a rule for .EXT.o is created for each known extension EXT. 2010-06-06 Stefano Lattarini Enable `errexit' shell flag in some test scripts. * tests/dash.test: Enable `errexit' shell flag, and related changes. * tests/defun.test: Likewise. * tests/defun2.test: Likewise. * tests/dejagnu.test: Likewise. * tests/double.test: Likewise. * tests/distcom2.test: Likewise. * tests/empty2.test: Likewise. * tests/empty3.test: Likewise. * tests/empty4.test: Likewise. * tests/exdir.test: Likewise. * tests/ext.test: Likewise. * tests/extra.test: Likewise. * tests/extra2.test: Likewise. * tests/extra3.test: Likewise. * tests/extra4.test: Likewise. * tests/flibs.test: Likewise. * tests/fnoc.test: Likewise. * tests/fo.test: Likewise. * tests/instexec.test: Likewise. * tests/ltdeps.test: Likewise. * tests/nodep.test: Likewise. * tests/nodepcomp.test: Likewise. * tests/f90only.test: Likewise, and remove botched/obsoleted comments and unnecessary commands. * tests/fonly.test: Likewise, and remove botched/obsoleted comments and unnecessary commands. * tests/discover.test: Likewise, and made stricter. Enable `errexit' shell flag in all tests cxx*.test. * tests/cxx.test: Enabled `errexit' shell flag, and related minor changes. * tests/cxxansi.test: Likewise. * tests/cxxcpp.test: Likewise. * tests/cxxlibobj.test: Likewise. * tests/cxxlink.test: Likewise. * tests/cxxo.test: Likewise. Enable `errexit' shell flag in various tests. * tests/acoutnoq.test: Enabled `errexit' shell flag, and related minor changes. * tests/acoutpt.test: Likewise. * tests/acoutqnl.test: Likewise. * tests/amassign.test: Likewise. * tests/ansi2.test: Likewise. * tests/ansi4.test: Likewise. * tests/badprog.test: Likewise. * tests/checkall.test: Likewise. * tests/clean.test: Likewise. * tests/colneq2.test: Likewise. * tests/colon.test: Likewise. * tests/colon5.test: Likewise. * tests/colon6.test: Likewise. * tests/comment.test: Likewise. * tests/compile_f90_c_cxx.test: Likewise. * tests/compile_f_c_cxx.test: Likewise. * tests/cond3.test: Likewise. * tests/cond6.test: Likewise. * tests/cond13.test: Likewise. * tests/conf2.test: Likewise. * tests/confvar.test: Likewise. * tests/confvar2.test: Likewise. * tests/cond8.test: Likewise, plus a cosmetic change. * tests/confh4.test: Likewise. Also, add in the heading comments an excerpt from the original bug report which motivated the creation of this test, to make its purpose clearer. 2010-06-06 Ralf Wildenhues Rewrite manual to be gender-neutral. * doc/automake.texi (GNU Build System) (Standard Directory Variables, General Operation, CVS) (Hard-Coded Install Paths, Dependencies As Side Effects): Rewrite text to not contain gender-specific pronouns when speaking about developers or users, either by avoiding pronouns or by addressing them as `you' instead. * THANKS: Update. Report by Christina Gratorp. * AUTHORS: Update. 2010-06-06 Stefano Lattarini Tiny fix in silent8.test (display output of `make' command). * tests/silent8.test: Make sure that the captured output of `make' command is always displayed. Make tests on user extensibility of silent-rules mode stricter. * tests/silent6.test: Made stricter w.r.t. the grepping of the output produced by `make'. * tests/silent7.test: Likewise. Tests on silent-mode for C/Libtool made stricter. * tests/silent.test: Made stricter w.r.t. the grepping of the output produced by `make'. * tests/silent2.test: Likewise. * tests/silent4.test: Likewise. * tests/silent9.test: Likewise. * tests/silent3.test: Likewise, and add a final `make distclean' command to keep it better in sync with tests/silent{4,9}.test. Improved test silent5.test. * tests/silent5.test: Remove by hand all generated C files after non-verbose builds, to ensure the following builds are clean. Try to clean and rebuild with the same verbosity and without removing generated sources in between, to check that this does not trigger a different set of rules. Make grepping of make's output stricter. Improved/added some comments. New tests for Automake silent-mode with Fortran. * tests/silentf77.test: New test. * tests/silentf90.test: Likewise. * tests/Makefile.am (TESTS): Updated accordingly. New test `silentcxx.test' (Automake silent-mode with C++). * tests/silentcxx.test: New test. * tests/Makefile.am (TESTS): Updated accordingly. New test `silentyacc.test' (Automake silent-mode with Yacc). * tests/silentyacc.test: New test. * tests/Makefile.am (TESTS): Updated accordingly. New test `silentlex.test' (Automake silent-mode with Lex). * tests/silentlex.test: New test. * tests/Makefile.am (TESTS): Updated accordingly. Relax tests on silent-rules to cater to overly verbose makes. * tests/silent.test: When testing silent builds, don't fail if make's output simply contains the `mv' substring, but only if it contains the `mv ' substring (note the trailing space). * tests/silent2.test: Likewise. * tests/silent3.test: Likewise. * tests/silent4.test: Likewise. * tests/silent5.test: Likewise. * tests/silent9.test: Likewise. 2010-05-23 Stefano Lattarini Extend test on `nostdinc' automake option. * tests/nostdinc.test: Enable `errexit' shell flag. Related and unrelated minor changes. Make the grepping of the generated Makefile.in slightly stricter. Generate and run configure, so that the generated Makefile can be grepped too. 2010-05-23 Ralf Wildenhues Make gnupload portable to EBCDIC hosts. * lib/gnupload: Use literal newline as argument for 'tr' rather than \015, for EBCDIC hosts. Also, avoid unportable nested double-quotes and backquotes. * THANKS: Update. Report from Eric Blake and Steve Goetze via gnulib. 2010-05-23 Stefano Lattarini Fix Autoconf version required by Automake's configure. Automake configure script used to tell that automake required autoconf 2.60 or later, but then it checked for autoconf >= 2.62, and if that was not found, it gave an error saying that Automake required configure 2.61a-341 or later. This change should eliminate such inconsistencies. * configure.ac ($required_autoconf_version): New variable. Use it throughout. 2010-05-23 Ralf Wildenhues Fix truncated comment in Makefile.am. * Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished sentence in comment. Report by Stefano Lattarini. Relax silent8.test for NetBSD make. * tests/silent8.test: Accept ./foo.info in output as well. Fix unportable sed script in maintainer-check test. * Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to not contain semicolon after 'b' or brace commands, for NetBSD. Wildcards are not portable to NetBSD make. * doc/automake.texi (Wildcards): Document portability issue. * tests/extra10.test, tests/extra11.test, tests/extra12.test: Require GNU make. 2010-05-23 Stefano Lattarini Make test for configure.in vs. configure.ac stricter. * tests/configure.test: Use a configure.in file that provokes an automake error, to ensure configure.ac is preferred. Avoid possible false negatives in dejagnu7.test. * tests/dejagnu7.test: Enable shell `errexit' flag. Also, avoid unportable use of fgrep option `-e'. Fix conflnk3.test to work with Solaris/Heirloom Sh. * tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE' instead of respectively `test -e FILE' and `test ! -e FILE', since Solaris Sh doesn't grok the latter. Do not SKIP the test if the shell doesn't support `test -e'. 2010-04-25 Ralf Wildenhues Warning and error message formatting cleanups. * aclocal.in (parse_arguments, main): Remove trailing period or newline in error or warning messages, avoid capitalization of the first word of a message. * automake.in (check_user_variables, handle_languages) (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files) (scan_autoconf_files, cond_stack_if, require_file_internal) (usage, generate_makefile, parse_arguments): Likewise. * lib/Automake/ChannelDefs.pm (set_strictness): Likewise. * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise. * lib/Automake/Options.pm (set_strictness): Likewise. * lib/Automake/Rule.pm (define): Likewise. * lib/Automake/Variable.pm (define, variables_dump): Likewise. * tests/ltinstloc.test, tests/suffix11.test: Adjust expected error message. * lib/Automake/Channels.pm (setup_channel): Reword error message to be the same as in msg. Fix placing of ellipses in English text and synopses. * Makefile.am: Be sure to add a space before `...' in natural language text. * automake.in (scan_autoconf_traces): Likewise. * lib/Automake/Rule.pm (define): Likewise. * lib/Automake/Variable.pm (define): Likewise. * lib/am/dejagnu.am: Likewise. * lib/am/progs.am: Likewise. * lib/gnupload (dprint, upload): Likewise. * tests/confdeps.test: Likewise. * tests/location.test: Adjust expected output. * automake.in (usage): In synopsis, use singular for OPTION, * remove space before ellipsis. * aclocal.in (usage): Likewise. Also, fix indentation. Fix more duplicate message prefixes. * lib/Automake/XFile.pm (seek): Do not prepend $me. ($me): Remove now-unused package-global. * aclocal.in (check_acinclude): Remove duplicate 'warning: ' prefix. Fix typo in manual. * doc/automake.texi (Simple Tests using parallel-tests): Add missing closing parenthesis. Fix leftover call to removed function macros_dump. * automake.in (read_main_am_file): Call variables_dump, not macros_dump. Print actual error before list of variables. 2010-04-22 Stefano Lattarini Minor improvements in comments of test `silent3.test'. * tests/silent3.test: Tell to keep it in sync with `silent9.test' too. 2010-04-25 Ralf Wildenhues testsuite: ensure verbose printing of captured output. * tests/acloca14.test, tests/acloca18.test, tests/aclocal.test, tests/fort2.test, tests/help.test, tests/missing3.test, tests/missing6.test: Print captured stdout or stderr before grepping it. 2010-04-20 Stefano Lattarini Make test badopt.test stricter (by enabling `set -e'). * tests/badopt.test: Add call to `set -e'. Due to this change, an unexpected failure in the call to `$ACLOCAL' (whose outcome was previously unchecked) would cause the whole test to fail. Also, bumped the copyright years. Make test for configure.in vs. configure.ac stricter. * tests/configure.test: Use a configure.in file that provokes an automake error, to ensure configure.ac is preferred. Use `set -e' in confsub.test (avoids possible false negatives). * tests/confsub.test: Enable shell `errexit' flag, and related changes (this helps avoiding some possible minor false negatives). Also, bumped copyright years. 2010-04-20 Ralf Wildenhues Fix -Werror handling for presence of configure.in and configure.ac. * lib/Automake/Variable.pm (Automake::Variable): Do not initialize $configure_ac at the global level, before command-line arguments have been parsed. (require_variables): Initialize it here. * tests/configure.test: New test. * tests/Makefile.am: Update. Report by Stefano Lattarini. 2010-04-20 Stefano Lattarini Avoid possible false negatives in confh5.test. * tests/confh5.test: Enable shell `errexit' flag, and bumped copyright years. Due to this change, any unexpected failure in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or a failure in grepping expected text in output files should now cause the whole test to fail. 2010-04-17 Stefano Lattarini Fixed typo in POD documentation of Automake::Channels. * lib/Automake/Channels.pm: Fixed typo in POD documentation: @<...> was used instead of C<...>. 2010-04-14 Stefano Lattarini Refactor tests on Automake TESTS color output. * tests/color.test: Tests using the expect program moved out to... * tests/color2.test: ... this new file. * tests/Makefile.am (TESTS): Extended accordingly. 2010-04-12 Stefano Lattarini Fix typos in comments in test confh5.test * tests/confh5.test: Fix a couple of typos in comments. Avoid possible false negatives in canon-name.test. * tests/canon-name.test: Enable shell `errexit' flag. Improve test description. 2010-04-11 Ralf Wildenhues Print 'warnings are treated as errors' note if needed. * lib/Automake/Channels.pm: Fix typo in comment. (_print_message): If -Werror is enabled, print a 'warnings are treated as errors' note before the first such warning. * tests/warnopts.test: Adjust comment to mention expected warning. Adjust code to ignore 'warnings are treated as errors' note. * tests/location.test: Adjust expected output with -Werror. * tests/werror4.test: New test. * tests/Makefile.am: Update. * NEWS: Update. Ensure we don't print 'warning:' or 'error:' twice. * Makefile.am (sc_ensure_testsuite_has_run): New helper rule. (sc_tests_logs_duplicate_prefixes): New rule, to check for wrong-looking warning and error messages in the test suite logs. * aclocal.in (scan_configure_dep, scan_file): Remove duplicate `warning: ' prefix. * tests/vars3.test: Rename variable to avoid false positive. Prepend type to warning, error, and fatal messages. For the first part of messages of types `error' or `fatal', prepend `error: ' to the message. Prepend `warning: ' to warning messages, whatever the setting of -Werror. * lib/Automake/Channels.pm (partial): Move up definition. (_format_message): Emit `header' and `footer' strings only with the first resp. last part of a set of partial messages. * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the end of the module. (Automake::ChannelDefs): Setup warning channels with header `warning: ', error and fatal messages with header `error: '. * tests/condinc2.test, tests/ltinstloc.test: Adjust expected error messages. * tests/comment5.test: Likewise. Also, include stack notes should not start with `error:'. * tests/location.test: Likewise. Also, try both -Werror and -Wno-error. * NEWS: Update. Report by Bruno Haible. Fix capitalization of error messages, reword one message. * lib/Automake/Variable.pm (define): Do not capitalize the first word in the error message. * automake.in (require_file_internal): Likewise. Also, reword and line-wrap for better readability. * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test: Adjust tests. Fix connected warnings about obsolete exeext override. * lib/Automake/Rule.pm (define): Merge two warnings that belong together, by setting the 'partial' flag for the first one. Fix per-Makefile.am setting of -Werror. Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one Makefile.am would carry over to other Makefile.am files treated afterwards by the same thread, causing inconsistent and unstable exit status values. * lib/Automake/Channels.pm (dup_channel_setup) (drop_channel_setup): Save and restore the setting of $warnings_are_errors. * tests/werror3.test: New test. * tests/Makefile.am: Adjust. * NEWS: Update. 2010-04-11 Stefano Lattarini Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh. * tests/confh5.test: In the generated Makefile.am: do not use `test ! -e FILE' to check for the non-existence of a file, since that is not supported by Solaris/Heirloom Sh. Make test `aclocal3.test' stricter. * tests/aclocal3.test: Add call to `set -e'. Fail if $ACLOCAL succeds unexpectedly. Add tests checking that symlinks are resolved by `make dist'. * tests/distlinks.test: New test. * tests/Makefile.am (TESTS): Updated accordingly. Suggested by observations from Ralf Wildenhues. 2010-04-11 Ralf Wildenhues Use -9 for maximum xz compression with dist-xz. * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz. * NEWS, THANKS: Update. Report by Pavel Sanda. 2010-04-11 Stefano Lattarini Avoid possible false negatives in cond46.test. * tests/cond46.test: Enable shell `errexit' flag (and bumped copyright years). Due to this change, the testcase should now fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose outcomes were previously unchecked), and on failures in grepping the expected diagnostic in Automake stderr. 2010-04-04 Stefano Lattarini Generated tests are now just a thin layer around other tests. * tests/Makefile.am: Rewrite the rule to generate the `*-p.test' test scripts so that any of them simply includes the corresponding `*.test' script (after setting `$parallel_tests' to `yes'). * tests/.gitignore: Add wildcard for temporary files used in the generation of `*-p.test' tests. 2010-03-30 Stefano Lattarini Avoid an unportable use of `$status' shell variable. * Makefile.am (path-check): Don't use the `$status' shell variable in the target's rules, as it's special in Zsh (equivalent to `$?', and readonly). Avoid another use of `chmod -R'. * Makefile.am (path-check): To be safe, do not use `chmod -R' on $(distdir) before removing it (as Solaris `chmod -R' touches symlink targets). Instead, use the cleanup strategy used in distdir.am. 2010-03-28 Ralf Wildenhues Remove uses of @acronym and @sc. * doc/automake.texi (Public Macros, Limitations on File Names): Remove all usage of @acronym and @sc in the manual. Suggested by Karl Berry. 2010-03-13 Karl Berry GNU hello uses fdl.texi, not gpl.texi. * doc/automake.texi (Texinfo): Adjust example to upstream change. 2010-03-06 Ralf Wildenhues Formatting cleanups in macro comments. * automake.in, lib/Automake/Channels.pm, lib/Automake/FileUtils.pm, lib/Automake/Options.pm, lib/Automake/Variable.pm, lib/Automake/XFile.pm, m4/options.m4, m4/substnot.m4: Fix macro comment format. 2010-03-04 Stefano Lattarini Ralf Wildenhues Avoid generation of `tests/defs-p' file. * tests/defs.in: In the generated `configure.in' snippet: call `AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell variable `parallel_tests' is set to `yes'. * tests/Makefile.am (defs-p): Target removed. (check_SCRIPTS): Removed `defs-p'. (clean-local-check): Do not unlink `defs-p' anymore. ($(parallel_tests)): Transformation rules for the test scripts adjusted. * tests/gen-parallel-tests: Selection rules for the test scripts adjusted. * tests/parallel-tests.test: Set `$parallel_tests' to `yes' then include `./defs' (rather than simply including `./defs-p'). * tests/parallel-tests2.test: Likewise. * tests/parallel-tests3.test: Likewise. * tests/parallel-tests4.test: Likewise. * tests/parallel-tests5.test: Likewise. * tests/parallel-tests6.test: Likewise. * tests/parallel-tests7.test: Likewise. * tests/parallel-tests8.test: Likewise. * tests/parallel-tests9.test: Likewise. * tests/parallel-tests10.test: Likewise. * tests/README (Section "Writing Test Cases" subsection "Do"): Adjusted the parts referring to tests checking `parallel-tests' behaviour. Some other minor related improvements. * tests/.gitignore (defs-p): Removed. 2010-03-04 Stefano Lattarini Remove redundant unset of variable TESTS from some test scripts. * tests/color.test: Do not unset the `TESTS' variable, as it's already unset in the `defs' file. * tests/check5.test: Likewise. * tests/check8.test: Likewise. * tests/check9.test: Likewise. * tests/check10.test: Likewise. * tests/check11.test: Likewise. * tests/parallel-tests.test: Likewise. * tests/parallel-tests3.test: Likewise. * tests/parallel-tests4.test: Likewise. * tests/parallel-tests5.test: Likewise. * tests/parallel-tests6.test: Likewise. * tests/parallel-tests7.test: Likewise. 2010-03-01 Ralf Wildenhues Fix cscope test on systems without working Fortran compiler. * tests/cscope.test: Skip remainder of test if `$MAKE all' fails. * THANKS: Update. Report by Peter Johansson. 2010-02-24 Antonio Diaz Diaz (tiny change) Ralf Wildenhues Add lzip compression support. * automake.in (handle_dist): Recognize dist-lzip. (make_paragraphs): Map LZIP to dist-lzip. * doc/automake.texi (Dist): Add dist-lzip. (Options): Likewise. * lib/Automake/Options.pm (_process_option_list): Add dist-lzip. * lib/am/distdir.am (dist dist-all): Add command to create an lzip-compressed tarball. (distcheck): Handle lzip-compressed tarballs just like the others. * tests/defs.in: Test for lzip, too. * tests/lzip.test: New file, based on nogzip.test. * tests/Makefile.am (TESTS): Add lzip.test. * NEWS: Update. 2010-02-22 Karl Berry Improve help message of mdate-sh. * mdate-sh: mention actual output format in help message. 2010-02-22 Ralf Wildenhues Deprecate dist-lzma in favor of dist-xz. * doc/automake.texi (The Types of Distributions, Options): Adjust text to reflect renaming of lzma to xz. * NEWS: Update. Missing deprecation noted by Antonio Diaz Diaz. 2010-02-20 Stefano Lattarini Add tests about support of wildcards in EXTRA_DIST. * tests/extra10.test: New test, check basic support of wildcards in EXTRA_DIST. * tests/extra11.test: New test, check more complex usage of wildcards in EXTRA_DIST. * tests/extra12.test: New test, check usage of wildcards in EXTRA_DIST when $builddir != $srcdir. * tests/Makefile.am (TESTS): Updated accordingly. Necessity of these new tests suggested by Braden McDaniel and Ralf Wildenhues. 2010-02-08 Simon Josefsson Fix copyright statement in gnupload script. * lib/gnupload: Fix copyright statement. 2010-02-06 Dmitry V. Levin (tiny change) Ralf Wildenhues Fix exit status of signal handlers in shell scripts. The value of `$?' on entrance to signal handlers in shell scripts cannot be relied upon, so set the exit code explicitly to 128 + SIG. * lib/am/check.am (am__check_pre): Use `exit 143' in signal handler. * lib/elisp-comp: Likewise. * lib/install-sh: Likewise. * lib/ylwrap: Likewise. Also, fix script to trap signal 13, not 3. * NEWS, THANKS: Update. Bug report, analysis, and initial patch by Dmitry V. Levin. 2010-02-06 Karl Berry Improve gnupload usage text. * gnupload (usage): Shorten to make more likely to fit on a tty line. Mention CMD in the synopsis. With ..., plural is implied. 2010-01-28 Christos Kontas (tiny change) Fix some typos in the manual * doc/automake.texi (Nested Packages, Rebuilding): Fix typos. 2010-01-24 Ralf Wildenhues Fix silent-rules output for disabled dependency tracking. * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable expansion code to also work in the case where %AMDEP% expands to FALSE at config.status time, using new substitution string %VERBOSE-NODEP%. * automake.in (verbose_nodep_flag): New function, appending `@am__nodep@' to the verbose-variable name. (handle_languages): If dependencies are not disabled, use it to set %VERBOSE-NODEP%. * m4/depend.m4: Substitute am__nodep as '_no', so the second verbose-variable will always expand to an empty string, if dependencies are enabled. * tests/silent5.test: Also test --disable-dependency-tracking; also test per-target flags for non-C language files. * tests/silent9.test: New test, like silent4.test but disable dependency tracking. * tests/Makefile.am: Adjust. * NEWS, THANKS: Update. Report by Dmitry V. Levin . 2010-01-17 Stefano Lattarini Slighty improve tests acoutbs.test and acoutbs2.test. * tests/acoutbs2.test: Enable `errexit' shell flag. Check that autoconf and configure work, that the file `zot' is created by configure, and that no file containing a backslash in its name is created. * tests/acoutbs.test: Likewise, plus updated copyright years. Fix test acoutbs2.test. * tests/acoutbs2: In the generated configure.in: add proper calls to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of PACKAGE and VERSION. Add a call to aclocal before calling automake. Updated copyright years. * tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test. Add forgotten test scripts to $(TESTS). * tests/Makefile.am (TESTS): Added test scripts present on the filesystem, which were erroneously left out from $(TESTS): acoutbs2.test, badopt.test, extra2.test. (XFAIL_TESTS): Added acoutbs2.test. 2010-01-17 Ralf Wildenhues Sync auxiliary files from upstream. * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub: Sync from upstream. Bump copyright years. * aclocal.in (write_aclocal, version): Bump copyright years. * automake.in (gen_copyright, version): Likewise. * doc/automake.texi: Likewise. Rotate ChangeLog. * ChangeLog.09: New file, rotated from ... * ChangeLog: ... here. * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09. ----- Copyright (C) 2010, 2011 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. ;; Variables: ;; coding: utf-8 ;; End: