lib/am


Log

Author Commit Date CI Message
Stefano Lattarini a16b838b 2012-05-05T16:39:10 Merge branch 'parallel-tests-performance' into maint * parallel-tests-performance: parallel-tests: separate different logs with an empty line
Stefano Lattarini 952d91c0 2012-05-05T16:33:36 parallel-tests: separate different logs with an empty line After commit v1.12-21-g5eeb366 "parallel-tests: optimize global log creation", the log files copied in the global log are not anymore separated by a blank line, causing unclear output like this: FAIL: test1 =========== output from test 1 FAIL: test2 =========== output from test 2 where we would want something like this: FAIL: test1 =========== output from test 1 FAIL: test2 =========== output from test 2 Fix this regression. * lib/am/check.am (am__create_global_log): Print an extra empty line after having displayed the content of a '.log' file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f9dbb0a6 2012-05-02T12:51:09 Merge branch 'parallel-tests-performance' into maint * parallel-tests-performance: parallel-tests: save few forks when possible parallel-tests: optimize global log creation parallel-tests: optimize 'recheck' target for speed coverage: add performance tests on some parallel-tests aspects
Stefano Lattarini 4c2dd6e0 2012-04-30T22:18:24 parallel-tests: save few forks when possible * lib/am/check.am (am__check_pre): Save some forks, by analyzing more carefully the value of '$@' to decide how to extract its dirname part, and whether that should be created as a directory. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b105d40d 2012-04-30T20:44:50 color-tests: coloring can be forced on non-ANSI terminals as well Before this change, colorization of testsuite output was suppressed whenever the terminal was recognized to be a "dumb" one, incapable of handling ANSI coloring (i.e., when the environment variable TERM had a value of "dumb"). This happened even when the AM_COLOR_TESTS variable was set to a value of "always". Such a behaviour was suboptimal and slightly confusing; in fact, if a user wants to force coloring of testsuite output that is being redirected to a regular file, he should be able to do so even if his terminal is not capable of handling ANSI colors -- in fact, such terminal wouldn't be involved with the testsuite output in any way, so why should it be allowed to influence it? Thus, we now enable coloring of test output whenever AM_COLOR_TESTS is set to "always", irrespective of the value of the TERM environment variable. * NEWS: Update. * lib/am/check.am [%?COLOR%] (am__tty_colors): Activate colorization of testsuite output whenever AM_COLOR_TESTS has the value of "always". * t/ax/tap-summary-aux.sh: Export the TERM environment variable to "dumb" when forcing colorization of the testsuite output; this should *not* prevent such colorization from taking place, and we want to check that this expectation really holds. * t/ax/testsuite-summary-checks.sh: Likewise. * t/color.sh: Likewise, and adjust some grepping checks. * t/tap-color.sh: Likewise. Also, remove redundant "make check" invocation since we are at it. * t/color2.sh: Likewise, and check that exporting TERM=dumb actually prevents testsuite output colorization when AM_COLOR_TESTS is unset. * t/parallel-tests-reset-term.sh: Relax, to prevent it from failing spuriously due to the new semantic. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5eeb3660 2012-02-26T00:30:18 parallel-tests: optimize global log creation With this change, the time required to execute the test case 'testsuite-summary-speed.sh' has dropped as follows: + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, GNU make 3.81: - 1 run: 4 minutes => 30/40 seconds + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, Solaris CCS make: - 2 runs: 6 minutes => 30 seconds + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, GNU make 3.82: - 5 runs: 7 minutes => 1 minute and 10 seconds * lib/am/check.am ($(TEST_SUITE_LOG)): Optimize for speed, by avoiding lots of forks with the help of ... (am__create_global_log): ... this new internal variable, basically defining a smart awk program, and ... (am__global_test_result_rx, am__copy_in_global_log_rx): ... these new internal variables, used by the one above. (am__rst_section): Remove as obsolete * t/rst-formatting.trs: Remove. * t/list-of-tests.mk: Update. * t/testsuite-summary-count-many.sh: Improve its stress testing by using 1 million tests rather than just 5 thousands: we can afford this with our new optimization, and still have the test completed in a reasonable time. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f5733aab 2012-04-26T22:25:35 parallel-tests: optimize 'recheck' target for speed With this change, the time required to execute the test case 'testsuite-recheck-speed.sh' has dropped as follows: + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, GNU make 3.81: - 1 run: 6 minutes => 40 seconds + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, Solaris CCS make: - 4 runs: 3 minutes => 1 minute + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, GNU make 3.82: - 5 runs: 4 minutes => 1 minute 30 seconds * lib/am/check.am (recheck): Optimize for speed, by avoiding lots of forks with the help of ... (am__list_recheck_tests): ... this new internal variable, basically defining a proper awk program, and ... (am__recheck_rx): ... this other new internal variable, used by the one above. * t/test-trs-recover2.sh: Relax by not checking for a very corner case ('.log' and '.trs' files both unreadable) that we don't handle anymore. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f46359b4 2012-04-18T11:40:15 parallel-tests: 'recheck' must depend on 'all' Fixes automake bug#11252. When a developer experience one or more failures in the testsuite, a good workflow is for him to modify its program's sources to fix the bug thus revealed, run "make recheck" to verify that the change has indeed solved the testsuite failures previously experienced, and then run "make check" to verify that the change has not introduced any new failure or regression. Unfortunately, this apparently natural workflow couldn't have worked until now, since the Automake-provided 'recheck' target (which didn't depend on 'all') wouldn't have causes the program to be recompiled, and the failed tests would have thus been run with the older, buggy version of the program, failing the same way as before. * lib/am/check.am (recheck): Depend on 'all'. * t/parallel-tests-recheck-depends-on-all.sh: New test. * t/list-of-tests.mk: Add it. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 944ec778 2012-04-14T09:55:41 parallel-tests: print error messages on stderr, not stdout * lib/am/check.am ($(TEST_SUITE_LOG)): Be sure to print error messages on stderr, not on stdout. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f4b8c585 2012-04-13T14:36:31 Merge branch 'maint' * maint: install: shell parameter expansions can be used in directory names
Stefano Lattarini e9c2b9e9 2012-04-13T14:16:29 Merge branch 'fix-pr11232' into maint * fix-pr11232: install: shell parameter expansions can be used in directory names
Dmitry V. Levin 0bb60761 2012-04-12T16:24:23 install: shell parameter expansions can be used in directory names Fixes automake bug#11232. GNU automake used to support shell parameter expansion and command substitutions in installation directories, but that was inadvertently broken by commit v1.11-759-g368f1c4 "install: don't create empty dirs when an empty 'foo_PRIMARY' is used" of 18-03-2012, where shell quoting of generated MKDIR_P command was changed from double to single quotes in 3 places, while some 21 other places still use double quotes for generated MKDIR_P commands. * lib/am/data.am: Use double quotes for generated "mkdir -p" commands. * lib/am/libs.am: Likewise. * lib/am/ltlib.am: Likewise. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9fe2ba38 2012-04-01T21:55:09 texinfo: don't clutter the builddir when using modern texi2dvi In modern versions of texi2dvi (at least since version 1.135, which comes with Texinfo 4.13) the '-o' option does not imply anymore the '--clean' option. As a consequence, lots of TeX-generated auxiliary files are now left in the build directory by the 'pdf', 'ps' and 'dvi' rules. This is especially annoying with non-recursive setups having the '.texi' files in a subdirectory, as in: info_TEXINFOS = doc/foo.texi In this case, the stray auxiliary files are left in the top build directory (since TeX is run from there). See for example: <http://lists.gnu.org/archive/html/bug-bison/2012-04/msg00002.html> See also automake bug#11146. * lib/am/texibuild.am: Call 'texi2dvi' and 'texi2pdf' with the '--clean' option. Update comments accordingly. * tests/txinfo-noclutter.test: New test. * tests/txinfo18.test: Remove as obsolete, the still relevant parts of it moved into the new test. * tests/list-of-tests.mk: Adjust. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 84bf694b 2012-03-28T22:50:27 Merge branch 'maint' * maint: cosmetics: don't make the generated Config.pm executable maint: reduce use of recursion in automake build system + Extra non-trivial extra edits follows. * lib/Makefile.am (amdir): Deleted this definition, it is already provided by a proper AC_SUBST in configure.ac. (dist_am_DATA): Remove 'am/ansi2knr.am', 'am/check-html.am' and 'am/multilib.am'. (dist_perllib_DATA): Remove 'Automake/Struct.pm'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini feeb7f6a 2012-03-28T17:03:25 maint: reduce use of recursion in automake build system Recursive make-based build systems tend to be slower, more fragile and less faithful than "flat" ones. See Peter Miller's article "Recursive Make Considered Harmful" for more a more in-depth discussion: <http://miller.emu.id.au/pmiller/books/rmch/> While in the case of automake this isn't a big problem (given the small size of its build systems), it still creates occasional glitches and annoyances. So, with this change, we start making less use of make recursion in the Automake's own build system (future changes will reduce it even more). * lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their content merged ... * lib/Makefile.am: ... here, with required adjustments. * configure.ac (AC_CONFIG_FILES): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7a56bed0 2012-03-27T22:40:20 Merge branch 'maint' * maint: depcomp: support tcc (Tiny C Compiler) tests: workaround for automatic linker determination and conditionals info: allow user to inhibit pruning of '${infodir}/dir' vala tests: fix spurious failures with older valac (<= 0.7.2) tests: fix a timestamp issue, and other minor buglets tests: fix spurious failure with older autoconf build: remove duplicated entries in $(TESTS) + Extra non-trivia edits: * tests/link_cond.test: Use 'configure.ac', not 'configure.in'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 619c1b26 2012-03-27T13:10:16 info: allow user to inhibit pruning of '${infodir}/dir' This should have ideally been part of commit 'v1.11-519-g1ec1668' of 23-11-2011 "info: allow user to inhibit creation/update of '${infodir}/dir'". Well, better late than never. * lib/am/texinfos.am (uninstall-info-am): Don't look anymore at the output of "install-info --version" to decide whether to use it to update the '${infodir}/dir' or not; instead, honour the environment variable 'AM_UPDATE_INFO_DIR'. To avoid code duplication with ... (install-info-am): ... the recipe of this target, move common code out to ... (am__can_run_installinfo): ... this new internal variable. * tests/install-info-dir.test: Enhance. * doc/automake.texi (Texinfo): Update. * NEWS: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini db1138c5 2012-03-18T22:31:45 Merge branch 'maint' * maint: install-mans: avoid spurious failure with NetBSD make install: don't create empty dirs when an empty 'foo_PRIMARY' is used aclocal: remove a couple of useless imports aclocal: create local directory where to install m4 files Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 45ffbe9f 2012-03-18T22:19:45 install-mans: avoid spurious failure with NetBSD make * lib/am/mans.am: After the changes introduced by previous commit v1.11-759-g368f1c4, some manpage installation recipes started to fail spuriously on NetBSD 5.1 make. Apparently, the system make there eats backslashes used to escape whitespace characters in the relevant recipes. Revert to slightly slower but safer idioms that avoid the need of such escaping. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 368f1c4c 2012-03-16T23:48:53 install: don't create empty dirs when an empty 'foo_PRIMARY' is used Fixes automake bug#11030 and bug#10997. An empty declaration of "foo_PRIMARY" in a Makefile.am used to cause the generated install rules to create the directory $(foodir) anyway, even if nothing was to be installed there. While this could be seen as a convenient way to create a $(foodir) directory upon "make install" (respecting $(DESTDIR) settings and such), it also caused problems with conditionals; for example, an input of: if FALSE pgkdata_DATA = something endif caused the generated install rules to unconditionally create the $(pkgdatadir) directory (see automake bug#10997). Also, a user wanting to create an empty directory upon installation can easily do so with a custom install hook, as in: installdirs-local: $(MKDIR_P) $(DESTDIR)$(foodir) install-data-hook: installdirs-local On the other hand, the old behavior of "always create $(foodir), even if 'foo_PRIMARY' is empty" was harder and more tricky to override. Thus, from now on, an empty declaration of "foo_PRIMARY" will not cause the directory $(foodir) to be created upon "make install" anymore. * lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid creating an installation directory if no files are actually to be installed there. * tests/instdir-empty.test: Remove, it was testing a semantic opposite to the one we now want and implement. * tests/instdir-no-empty.test: New test, check the new semantic. * tests/instdir-cond.test: Enhance. Move the still-failing part of the test ... * tests/instdir-cond2.test: ... here. * tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update. * tests/java3.test: Adjust to avoid spurious failures. * HACKING, NEWS, THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 295c5f26 2012-03-15T09:16:46 Merge branch 'maint' * maint: python: avoid failures due to $(am__py_compile) being undefined python: expose automake bug#10995 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Steven Drake 819005ae 2012-03-15T09:12:00 python: avoid failures due to $(am__py_compile) being undefined Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf. * lib/am/python.am: Move the definition of 'am__py_compile' to ensure it is always emitted in the output Makefile.in. Previously, this wouldn't have happened if the input Makefile.am contained a 'noinst_PYTHON' declaration before a 'python_PYTHON' one. * tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and 'python.test'. * NEWS: Update. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini de58d25e 2012-02-23T15:15:26 am: do not quote `like this', as per GCS recommendation This patch converts the automake-provided '*.am' fragments, and related files, to the use of new quoting format 'like this' or "like this" rather than `like this'. * lib/am/check.am: Update quoting format throughout, in comments and diagnostic. Some related rewordings, reformatting, and removal of redundant commands since we are at it. * lib/am/configure.am: Likewise. * lib/am/dejagnu.am: Likewise. * lib/am/depend2.am: Likewise. * lib/am/distdir.am: Likewise. * lib/am/inst-vars.am: Likewise. * lib/am/install.am: Likewise. * lib/am/lang-compile.am: Likewise. * lib/am/lisp.am: Likewise. * lib/am/ltlib.am: Likewise. * lib/am/mans.am: Likewise. * lib/am/progs.am: Likewise. * lib/am/remake-hdr.am: Likewise. * lib/am/subdirs.am: Likewise. * lib/am/tags.am: Likewise. * lib/am/texi-vers.am: Likewise. * lib/am/texibuild.am: Likewise. * lib/am/texinfos.am: Likewise. * lib/am/yacc.am: Likewise.
Stefano Lattarini e1606b32 2012-02-18T13:59:26 parallel-tests: fix another BSD parallel make issue When BSD make is run in parallel mode, it apparently strips any leading directory component from the automatic variable '$*' (of course, against what POSIX mandates). This was causing FreeBSD 9.0 make and NetBSD 5.1 make to spuriously fail with automake-generated test harnesses if subdir tests were present *and* make was being run in parallel mode. This issue affected also the Automake own testsuite. * lib/am/check2.am (am__set_b): New internal variable. (%OBJ%, %EXT%.log, %EXT%$(EXEEXT).log): Use it to work around the described BSD make issue. * tests/parallel-tests3.test: Enhanced to expose the bug. * tests/parallel-tests-subdir.test: Enhance a little, since we are at it. * NEWS: Update.
Stefano Lattarini b5788178 2012-02-17T13:29:19 Merge branch 'maint' * maint: dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
Stefano Lattarini 4df475a2 2012-02-17T11:52:13 dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS) * lib/am/header-vars.am (am__make_dryrun): Be smarter and more correct in handling shell metacharacters in $(MAKEFLAGS).
Stefano Lattarini 641a5a4b 2012-02-16T10:46:23 maint: run "make update-copyright"
Stefano Lattarini f4d2f3b7 2012-02-15T18:29:57 Merge branch 'yl-work-for-master' * yl-work-for-master: (44 commits) tests: truly use Lex and Yacc selected by configure news: fix grammaros related to Yacc yacc/lex tests: avoid spurious skips with non-GNU make fixup: remove double news entry tests: workaround for shells with broken 'set -e' tests: avoid spurious failure with non-bison yacc tests: fix spurious failures due to missing 'yywrap()' function fixup: list of yacc/lex tests was botched tests: work around bug#7884 in many yacc/lex tests yacc/lex tests: remove an unneeded workaround for bug#8485 yacc/lex tests: avoid too much failures with FreeBSD make yacc-dist-nobuild.test: add reference to bug#7884 yacc tests: fix bug in 'yacc-cxx.test' lex tests: fix spurious link errors on Solaris lex: "make clean" removes .c files from non-distributed .l lex tests: make test on Lex dependency tracking more "semantic" lex tests: remove erroneous check about ylwrap distribution yacc tests: "make clean" removes C++ files from non-distributed .y tests: add a workaround for automake bug#8485 tests: add a couple of inter-tests reference ...
Stefano Lattarini b2c1adfe 2012-02-14T21:23:04 check: fix test-suite.log formatting with NetBSD sed * lib/am/check.am (am__rst_section): Tweak to ensure en extra final newline is printed also with NetBSD sed. Issue revealed by a failure of 'test-metadata-global-result.test'. * tests/rst-formatting.test: New test, checking the internal variables '$(am__rst_title)' and '$(am__rst_section)'. * tests/list-of-tests.mk: Add it.
Stefano Lattarini 2a2500ce 2012-02-14T14:07:12 Merge branch 'maint' * maint: fixup: do not tickle makefile-deps.test with the make_dryrun code gitattributes: custom merge driver for ChangeLog not needed anymore gitattributes: use "union" merge driver for NEWS
Peter Rosin 4ced60d7 2012-02-14T12:55:32 fixup: do not tickle makefile-deps.test with the make_dryrun code * lib/am/header-vars.am (am__make_dryrun): Avoid code matching '^ *:' in the Makefile, as that tickles makefile-deps.test.
Stefano Lattarini e6c40d4b 2012-02-12T15:06:17 Merge branch 'yacc-work' into yl-work-for-master * yacc-work: (37 commits) fixup: list of yacc/lex tests was botched tests: work around bug#7884 in many yacc/lex tests yacc/lex tests: remove an unneeded workaround for bug#8485 yacc/lex tests: avoid too much failures with FreeBSD make yacc-dist-nobuild.test: add reference to bug#7884 yacc tests: fix bug in 'yacc-cxx.test' lex tests: fix spurious link errors on Solaris lex: "make clean" removes .c files from non-distributed .l lex tests: make test on Lex dependency tracking more "semantic" lex tests: remove erroneous check about ylwrap distribution yacc tests: "make clean" removes C++ files from non-distributed .y tests: add a workaround for automake bug#8485 tests: add a couple of inter-tests reference lex tests: require just `lex' instead of `flex' fix typo in ChangeLog (2011-05-04) tests defs: use `skip_' for skipping yacc/lex related tests lex/yacc tests: remove redundant $distdir definition coverage: test lex-generated "#line" directives postprocessing tests: minor improvements to a couple of yacc tests tests: fix spurious failure in test 'yacc-d-cxx.test' ... + Extra non-trivial edits: * tests/defs.in: Delete; the differences from maint has been merged into 'tests/defs' and 'tests/defs-static.in'. * tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to skip the whole test case if yacc (resp. lex) is missing. (bison): New, set up the environment so that 'bison -y' will be used as the yacc program. (useless_vpath_rebuild, yl_distcheck): Moved in from 'tests/defs.in'. * tests/defs-static.in ($YACC, $LEX): Default to the values determined at configure time, and allow them to be overridden by the more namespace-safe variables '$AM_TESTSUITE_YACC' and '$AM_TESTSUITE_LEX' respectively. * tests/Makefile.am (do_subst): Also substitute '@YACC@' and '@LEX@'. * Several tests: Fix requirements declarations, by preferring 'lex' and 'yacc' over 'flex' and 'bison' whenever possible.
Stefano Lattarini b1d998fb 2012-02-09T18:15:43 Merge branch 'maint' * maint: tests: fix a timestamp-related spurious failures dryrun: fix regression with '$(am__make_dryrun)' test defs: function 'is_newest' now works also with directories
Stefano Lattarini 947ce0ed 2012-02-07T11:12:59 dryrun: fix regression with '$(am__make_dryrun)' In commit v1.11-683-gda0964e of 05-02-2012, we introduced a new variable '$(am__make_dryrun)' that could be used in recipes to determine whether make is running in dry mode (e.g., as with "make -n"). Unfortunately, the idiom we used fails to take into account the case in which $(MAKEFLAGS) contains one or more variable definitions whose value is a whitespace-separated list; for example, if we invoke make as: make check TESTS="n1.test n2.test" then the better make implementations out there (at least modern GNU make and BSD make) will export MAKEFLAGS to the following value: TESTS=n1.test\ n2.test So a shell loop like the one we used in $(am__make_dryrun): for flag in $$MAKEFLAGS; do ... won't behave as expected: the shell word-splitting rules will break up the entry for TESTS into the two distinct entries "TESTS=n1.test\" and "n2.test", and this second entry will goad our $(am__make_dryrun) code into thinking that make is performing a dry run! So now we simply loop over the expanded value of $(MAKEFLAGS). This solves the regression, but alas, is more brittle in case the users passes on the command line a macro value containing unbalanced " or ' quotes, or shell metacharacters like, say, '`' or '('. This should almost never happen though, so we don't worry about it now; we will revisit the issue only when and if we receive bug reports in this area. * lib/am/header-vars.am (am__make_dryrun): Fix. * tests/make-dryrun.test: New test. * tests/list-of-tests.mk: Add it.
Stefano Lattarini df6841b7 2012-02-06T23:17:32 Merge branch 'maint' into yacc-work * maint: (75 commits) test defs: function 'is_newest' now works also with directories refactor: new variable telling whether make is running in "dry mode" ...
Stefano Lattarini d029740b 2012-02-05T21:22:01 parallel-tests: more uses for '$(am__make_dryrun)' With this change we refactor some recipes of the parallel-tests harness to make them use, where appropriate, the new internal variable '$(am__make_dryrun)' (introduced in the 'maint' branch) when they need to determine whether make is running in "dry mode", i.e., with "make -n". This allows for some simplifications and for improved uniformity. * lib/am/check.am (check-TESTS recheck): Use $(am__make_dryrun) and simplify accordingly. (am--redo-logs): Delete this internal helper recipe, merged into ... ($(TEST_SUITE_LOG)): ... this, with the help of $(am__make_dryrun). recipe accordingly.
Stefano Lattarini d2d18dca 2012-02-05T18:37:45 Merge branch 'maint' * maint: refactor: new variable telling whether make is running in "dry mode" tests: do not clobber the modified CC
Stefano Lattarini da0964eb 2012-01-23T21:02:05 refactor: new variable telling whether make is running in "dry mode" We define a new variable '$(am__make_dryrun)', that can be used in recipes to determine whether make is running in "dry mode" (as with "make -n") or not. This is useful in rules that invoke make recursively, and are thus executed also with "make -n" -- either because they are declared as dependencies to '.MAKE' (NetBSD make) or because their recipes contain the "$(MAKE)" string (GNU and Solaris make). * lib/am/header-vars.am (am__make_dryrun): New variable. * lib/am/check.am (check-TESTS recheck): Use it, and simplify recipe accordingly. * lib/am/distdir.am (distdir): Likewise. * lib/am/lisp.am ($(am__ELCFILES)): Likewise.
Peter Rosin dde91c54 2012-02-01T16:28:48 Merge branch 'maint'
Stefano Lattarini c3e4962a 2012-01-31T12:52:24 cleanup: remove unused .am file * lib/am/comp-vars.am: Remove. This file has stopped being useful since commit 'Release-1-4d-206-g3334f9a' of 09-04-2001, and should have been removed back then. But apparently only its contents were removed, leaving the file empty but still present in the repository. Or maybe this situation is the consequence of a minor blunder in the conversion from CVS to Git; either way, this is not a big deal.
Stefano Lattarini bd34a47c 2012-01-21T11:33:44 multilib: move to contrib This follows up on commit v1.11-665-gc5df21e of 2012-01-17, "multilib: deprecate, will be moved to contrib". See also: <http://lists.gnu.org/archive/html/automake-patches/2012-01/msg00109.html> * NEWS: Update. * automake.in ($seen_multilib): Remove. (scan_autoconf_traces): Don't trace 'AM_ENABLE_MULTILIB', and don't handle it anymore. (handle_multilib): Remove. (generate_makefile): Don't call it anymore. * doc/automake.texi: Remove documentation about multilib support, related macros, and helper files. * m4/multi.m4: Delete. * m4/Makefile.am (dist_automake_ac_DATA): Remove it. * lib/am/multilib.am: Delete. * lib/am/Makefile.am (dist_am_DATA): Remove it. * contrib/multilib/multilib.am: New file, adapted from extracts of a Makefile.in generated with automake multilib support. We did this instead of moving and editing 'lib/am/multilib.am' because it allows us to license this file with a liberal license that will permit users to copy-and-paste it in non-GPLed Makefile.am files too). * lib/symlink-tree, lib/config-ml.in: Move ... * contrib/multilib: ... in here. * lib/Makefile.am (dist_script_DATA, dist_pkgvdata_DATA): Update. * contrib/multilib/README: New file. * contrib/Makefile.am (EXTRA_DIST): Add the files created or moved in 'contrib/multlib'. * tests/multilib.test: Update and enhance a little. * tests/help-multilib.test: Likewise.
Stefano Lattarini 0a9d201c 2012-01-17T15:06:05 check: move ".log -> .html" conversion in contrib That feature has been deprecated in the 1.11.x series, and marked for removal from the automake core in the 1.12 release. Here we implement such removal. Reference: <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> See also commit 'v1.11-650-g20f2ac9'. * doc/automake.texi, NEWS: Update. * lib/am/check.am: Don't include 'check-html.am' anymore. * lib/am/check-html.am: Move ... * contrib/check-html.am: ... to this, and adjust comments. * lib/am/Makefile.am (dist_am_DATA): Update. * contrib/Makefile.am (EXTRA_DIST): Likewise. * tests/parallel-tests2.test: Adjust. * tests/parallel-tests-dryrun.test: Remove checks on the ".log -> .html" conversion. * tests/test-driver-custom-html.test: Remove as obsolete. * tests/test-driver-custom-no-html.test: Likewise. * tests/tap-html.test: Likewise. * tests/list-of-tests.mk: Don't list removed tests anymore.
Stefano Lattarini 9928ea5c 2012-01-16T20:06:08 Merge branch 'maint' * maint: recheck: fix interaction with "make -n" vala: avoid potential useless remakes (minor bugfix) vala: enhance tests recheck: behave better with non-GNU make check: separate .log -> .html conversion from core testsuite harness docs: deprecate .log -> .html conversion by parallel-tests tests: list some forgotten test cases in $(TESTS) maintcheck: consistency of list of test scripts build: explicitly declare some targets as .PHONY maint: remove obsolete/broken maintainer targets build: improve silencing of automake build system tests: move list of tests in its own Makefile fragment + Extra non-trivial edits: * tests/parallel-tests2.test: Obvious edits to merge the slightly inconsistent enhancements to coverage done in master with those done in maint. * lib/am/check.am (check-TESTS, recheck): Sweeping and rather complex changes to merge the considerable divergences between maint and master in a way that is meaningful and, where possible, retains the semantic changes from both maint and master.
Stefano Lattarini 8fec2399 2012-01-13T22:39:47 recheck: fix interaction with "make -n" * lib/am/check.am (recheck): Ensure the recipe does not erroneously remove '.log' files when running under "make -n". For the sake of NetBSD make, this also means that ... (.MAKE): ... this cannot depend on 'recheck' anymore. * tests/parallel-tests-dryrun.test: New test. * tests/list-of-tests.mk: Add it.
Stefano Lattarini d9a7182e 2012-01-13T18:53:43 recheck: behave better with non-GNU make * automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with the value of the '@check' array, containing the list of early test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)', etc. * lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'. (check, recheck): Unify the implementation of their recipes, with different code paths taken depending on the name of the target. This makes the implementation of "recheck" less brittle in the process (especially when non-GNU make and AM_MAKEFLAGS overriding are involved). * lib/am/check-html.am (check-html, recheck-html): Likewise. * tests/check.test: Adjust to avoid spurious failure. * tests/parallel-tests2.test: Improve coverage.
Stefano Lattarini 20f2ac90 2012-01-13T17:56:13 check: separate .log -> .html conversion from core testsuite harness That feature is to be deprecated in the 1.11.x series, and removed from the automake core in the 1.12 release, where it will instead be offered in a semi-independent extra '*.am' fragment. So let's start better separating the .log -> .html conversion from the "core code" of the parallel-tests harness. Reference: <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> * lib/am/check.am (.log.html, check-html, recheck-html): Move these targets ... * automake.in (handle_tests): ... and the initialization of the TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML) file ... * lib/am/check-html.am: ... in this new file, with related (minor) refactorings, enhancements and simplifications. * lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust. * lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'. * tests/parallel-tests2.test: Improve coverage.
Stefano Lattarini a23d5bdc 2012-01-13T13:20:34 Merge branch 'maint' * maint: dist: avoid $(distdir) removal failure on MSYS/MinGW tests: fix spurious failure of 'get-sysconf.test' coverage: expose automake bug#10470 (distcheck-related) tests: make 'aclocal-install-absdir.test' executable tests: require GNU make in 'vala-vapth.test' vala: fix VPATH builds tests: fix some bugs in the vala-vpath test
Stefano Lattarini dfb5e52f 2012-01-11T18:09:07 dist: avoid $(distdir) removal failure on MSYS/MinGW This change fixes automake bug#10470. On MSYS (1.0.17) it is not possible to remove a directory that is in use, and this, together with timing issues, could cause spurious failures in the cleanup code of the "distcheck" recipe. In fact, it should be noted that assuming a directory can be removed while it the CWD of a running process is a POSIX violation: "If the directory is the root directory or the current working directory of any process, it is unspecified whether the function succeeds, or whether it shall fail and set errno to [EBUSY]." * lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some seconds and retry, to give potential "pending" processes some time to exit and "release" the directory. * tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'. Report and suggestions by Peter Rosin and Eric Blake.
Stefano Lattarini 96fef7a3 2012-01-06T23:37:09 dist: distdir not unconditionally removed anymore for xz and lzip This change fixes automake bug#10444 a.k.a. bug#10448. The 'dist-xz' and 'dist-lzip' recipes were erroneously using '$(am__remove_distdir)' instead of '$(am__post_remove_distdir)' to cleanup the '$(distdir)'; so a "make dist" issued in a package using (say) gzip and xz compression would have failed to properly created the gzip tarball, since the distdir was unconditionally removed by "make dist-xz" upon its completion, instead of being left populated for the following "make dist-gzip". The problem with 'dist-xz' was introduced in the merge commit `v1.11-1142-g47587d1', and the problem with 'dist-lzip' was introduced in the merge commit `v1.11-1673-gc1b14e9' * lib/am/distdir.am (dist-xz): Use '$(am__post_remove_distdir)', not '$(am__remove_distdir)'. (dist-lzip): Likewise.
Stefano Lattarini 254227b6 2012-01-05T13:41:13 parallel-tests: avoid trailing backslashes in make recipes The new testsuite-harness could generate recipes with a trailing backslash character (possibly followed by blank characters only), in the very common case where the user hadn't defined the special $(AM_TESTS_FD_REDIRECT) variable. This caused spurious syntax errors with at least older bash versions (e.g., bash 2.05b), and could be potentially unportable to other weaker shells. See automake bug#10436: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10436> and coreutils bug#10427: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8> * lib/am/check2.am: Rework line breaks so that no backslash can be at the end of a line. * tests/parallel-tests-trailing-bslash.test: New test. * tests/list-of-tests.mk: Add it. Report and diagnosis by Paul Eggert.
Stefano Lattarini d1fbc759 2012-01-05T20:09:24 Merge branch 'maint' * maint: parallel-tests: avoid issue with overly long lines in sed input Additional edits: * NEWS: Remove entry from merged commit, since that will also be present in the NEWS file of automake 1.11.3. * lib/am/check.am (check-TESTS, recheck, recheck-html): Rework merged changes to adapt them to the different form these recipes has assumed in the master branch (w.r.t. the maint branch).
Stefano Lattarini e3b0e124 2012-01-05T15:13:30 parallel-tests: avoid issue with overly long lines in sed input See automake bug#10437: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10437> and coreutils bug#10427: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8> * lib/am/check.am (recheck, recheck-html): In order to strip trailing whitespace from the definition of the `$list' variable, we used to invoke sed in a way that could cause it to get passed overly long input lines, causing spurious failures. So rework the logic of the recipe to avoid any sed invocation, relying on simpler shell idioms instead. (check-TESTS): Reorganize the recipe to be more similar to the one of `recheck', for consistency and simplicity. * NEWS: Update. Report and analysis by Paul Eggert.
Stefano Lattarini 5b13742f 2012-01-03T23:26:56 Merge branch 'maint' * maint: install: pkglibexec_SCRIPTS is a valid prefix/primary combination coverage: expose automake bug#10128 progs, libs: implement EXTRA_foo_DEPENDENCIES tests: fix spurious failures in 'pr300*.test'
Stefano Lattarini f4e221b6 2012-01-02T09:40:13 progs, libs: implement EXTRA_foo_DEPENDENCIES Backported from commit `v1.11-377-g6edafbb'. The feature implemented by that change is quite unobtrusive, so adding it to a maintenance release is acceptable. Also, there have been requests from real-world users for this feature since it has been implemented in master; see automake bug#9320: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9320> and this short discussion on the automake list: <http://lists.gnu.org/archive/html/automake/2010-11/msg00099.html> It would be a pity to make such users wait even more (until Automake 1.12 is out) before they could start using this feature. Thus we backport it, so that it will appear in the next maintenance version of automake (1.11.3). * 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.
Stefano Lattarini 02e90723 2012-01-01T13:23:19 dist: remove support for lzma (superseded by xz and lzip) See also commit `v1.11-611-ge637fa2' (from maint), where support for lzma compression of distribution archive had been deprecated. * NEWS: Update. * lib/Automake/Options.pm: Error out if the `dist-lzma' option is used. * lib/am/distdir.am: Remove all support for the creation of a lzma-compressed distribution archive. * tests/lzma.test: Update.
Stefano Lattarini c1b14e96 2012-01-01T11:14:27 Merge branch 'maint' * maint: tests: make 'lzip.test' executable dist: obsolete support for lzma (superseded by xz and lzip) test defs: more granular overriding of the make program docs: fix a couple broken anchors dist: add support for lzip compression docs: fix paragraph names for automake and aclocal invocations tests: fix spurious failure due to autom4te caching fix: last entry in ChangeLog tests: tweak tests on silent-rules for makes without nested vars silent-rules: fallback for makes without nested vars
Antonio Diaz Diaz 0878bd34 2011-12-30T14:35:18 dist: add support for lzip compression * NEWS: Update. * automake.in (handle_dist): Recognize dist-lzip. (make_paragraphs): Map LZIP to dist-lzip. * doc/automake.texi (Dist, Options): Describe dist-lzip. * lib/Automake/Options.pm (_process_option_list): Recognize `dist-lzip'. * lib/am/distdir.am (dist-lzip): New target. (DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'. (dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed tarball. (distcheck): Handle lzip-compressed tarballs just like the others. * tests/lzip.test: New test. * tests/Makefile.am (TESTS): Add it.
Stefano Lattarini f0645e2d 2011-12-27T22:01:12 Merge branch 'maint' into yacc-work * maint: (34 commits) tests: drop unnecessary requirement in 'subpkg.test' gitlog-to-changelog: new auxiliary script, synced from gnulib docs: "aclocal --install -I /abs/dir" actually copies files docs: fix node names for automake and aclocal invocations gitignore: use only one .gitignore file, in the top-level directory tests: one more fixlet for gettext macros requirement tests: fix handling of gettext macros requirement tests: fix failure due to debugging code forgotten into a test tests: avoid spurious failure of libtool and gettext tests hacking: distribute it, and mention it in the ChangeLog regex: deprecate the obsolete macro AM_WITH_REGEX maint: distribute .xz tarballs, not .bz2 ones maint: better use of autoconf 2.68 features cosmetics: use proper m4 quoting in configure.ac include: avoid "deleted .am file" problem tests: better handling of gettext and libtool requirements fix: typos and grammaros in comments of the new test tests: report useful system information in 'test-suite.log' python: remove relics for Python 1.5 support configure: remove extraneous 'eval's from AM_RUN_LOG invocations ...
Stefano Lattarini 23acc630 2011-12-23T10:15:29 Merge branch 'master' into testsuite-work * tests/gettext-macros.test: In the generated `get.sh' file, use `skip_all_', not `skip_'. * tests/libtool-macros.test: Likewise. * tests/list-of-tests.mk: Update.
Stefano Lattarini 72c8dcb2 2011-12-22T22:16:12 Merge branch 'maint' into master. * m4/regex.m4: Bump serial number by some notches, for good measure. Prefer the deprecation message from maint over that from master. * m4/python.m4: Bump serial number. * tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'. (canon7.log): Likewise. (extradep2.log): Likewise. (ar-lib4.log): Likewise. (ar-lib6a.log): Likewise. (ar-lib6b.log): Likewise. (vartypo2): Likewise. (posixsubst-ltlibraries.log): Likewise. * tests/defs: Adjust the path of the included `get.sh' scripts generated by `libtool-macros.test' and `gettext-macros.test'. * aclocal.m4: Delete, it's auto-generated now. * configure: Likewise. * Makefile.in: Likewise. * doc/Makefile.in: Likewise. * m4/Makefile.in: Likewise. * tests/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lib/am/Makefile.in: Likewise. * lib/Automake/Makefile.in: Likewise. * lib/Automake/tests/Makefile.in: Likewise. * .gitignore: Correctly ignored the autogenerated files that are not committed anymore.
Stefano Lattarini 9f7864ba 2011-10-16T14:57:37 include: avoid "deleted .am file" problem * automake.in (handle_configure): When processing `configure.am', also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether `MAKEFILE-IN-DEPS' is empty or not. * lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?] (%MAKEFILE-IN-DEPS%): New target without dependencies, to avoid the "deleted .am file" problem. Emit this only when `?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an "empty" dependency declaration. * tests/deleted-am.test: Make grepping of error message stricter. * tests/dist-missing-am.test: Likewise. * tests/remake-deleted-am.test: New test. * tests/remake-deleted-am-2.test: Likewise. * tests/remake-deleted-am-subdir.test: Likewise. * tests/remake-renamed-am.test: Likewise. * tests/makefile-deps.test: Likewise. * tests/Makefile.am (TESTS): Add the new tests. * NEWS: Update. Fixes automake bug#9768. Report by Peter Johansson. See also commit `Release-1-10-40-gd0ebf71', which fixed a similar problem for .m4 files included by configure.ac.
Stefano Lattarini e9150626 2011-12-08T22:54:18 repo: don't commit generated files in the git repository anymore It has been quite some time since autoconf and libtool have stopped committing the generated autotools files in their git repositories, with no significant ill effects we're aware of. It's true that the autoconf bootstrap process has now the minor annoyance that a pre-installed autoconf is required to complete it; but luckily automake will not have a similar annoyance, since our bootstrap script take care, through some hoops, to use the very automake and aclocal versions from the current git checkout to generate the required aclocal.m4 and Makefile.in files. In fact, this has been a necessity also in the past, because automake has been known to use in its own build system new development features that hadn't been present in any previously released automake distribution. * aclocal.m4: Delete. * configure: Likewise. * Makefile.in: Likewise. * doc/Makefile.in: Likewise. * lib/Automake/Makefile.in: Likewise. * lib/Automake/tests/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lib/am/Makefile.in: Likewise. * m4/Makefile.in: Likewise. * tests/Makefile.in: Likewise. * .gitignore: Ignore configure, aclocal.m4, and all the Makefile.in files. * configure.ac (AC_PREREQ): New macro call, to require the latest autoconf (2.68 for the moment).
Stefano Lattarini a9edac6c 2011-12-15T18:41:22 Merge branch 'maint' into 'yacc-work' Extra edits: * tests/silent-lex.test: Provide a dummy `yywrap()' function, to avoid link errors on systems that doesn't provide a "lex library". See also commit `v1.11-546-gca0ba5d'. Commits merged from maint (34 commits): readme: reference webpages for automake mailing lists readme: update advice about testsuite execution readme: don't reference the old homepage at sources.redhat.com hacking: some more fixlets * NEWS: Fix typo in 'make dist-bzip2' description. release: don't run "make distcheck" automatically hacking: update on-line documentation for stable releases only hacking: described release procedure applies to beta releases too readme: the documentation is production quality now hacking: tell about platform-testers mailing list hacking: we don't use sources.redhat.com anymore hacking: miscellaneous minor fixes dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings news: fix typos, grammaros and suboptimal wording maint: sync auxiliary files from upstream tests: fix spurious failures due to missing 'yywrap()' function depcomp: spelling fix tests: fix 'distcheck-override-infodir.test' on Cygwin cosmetics: typofix in comments coverage: undistributed '.am' and '.m4' files are diagnosed coverage: required but missing '.am' and '.m4' files are diagnosed coverage: expose automake bug#10111 in the testsuite fix: regenerate doc/Makefile texinfo: work around Solaris 10 xpg4 shell bug in install rules configure: report perl version in config.log tests: fix spurious failure with older install-info maintcheck: fix spurious failure in 'color2.test' tests: fix spurious error in 'uninstall-fail.test' on Solaris tests: fix typo in 'uninstall-fail.test' tests: avoid a spurious failure of 'ltinit.test' MinGW tests: testsuite is now safe to run with dmake in parallel mode tests: fix spurious failures w.r.t. parallel make and colorization Merge branch 'fix-pr9579' into maint tests: fix spurious failure in 'distcheck-override-infodir.test' tests: avoid another failure of 'uninstall-fail.test' on Solaris
Stefano Lattarini 8d3466c8 2011-12-10T00:58:13 Merge branch 'master' into testsuite-work
Stefano Lattarini 47587d15 2011-12-10T00:46:13 Merge branch 'maint' Commits merged from maint: dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings news: fix typos, grammaros and suboptimal wording maint: sync auxiliary files from upstream tests: fix spurious failures due to missing 'yywrap()' function depcomp: spelling fix tests: fix 'distcheck-override-infodir.test' on Cygwin cosmetics: typofix in comments coverage: undistributed '.am' and '.m4' files are diagnosed coverage: required but missing '.am' and '.m4' files are diagnosed coverage: expose automake bug#10111 in the testsuite fix: regenerate doc/Makefile texinfo: work around Solaris 10 xpg4 shell bug in install rules configure: report perl version in config.log tests: fix spurious failure with older install-info maintcheck: fix spurious failure in 'color2.test' tests: fix spurious error in 'uninstall-fail.test' on Solaris tests: fix typo in 'uninstall-fail.test' Extra edits: * ChangeLog: Remove mention of commit 6da46f31 (2010-10-05), which has been superseded by commit c8e01d58 (2011-12-09). Fix entry relative to that commit, to adapt to differences between maint and master.
Jim Meyering c8e01d58 2011-12-09T23:17:18 dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings Before the present change, automake-generated `dist-xz' rule used a hard-coded `xz -9'. That was a problem because on this front, xz differs from gzip and bzip2. While the latter two don't incur any run-time decompression penalty for using a higher compression level, specifying -9 with xz imposes a potentially fatal virtual memory requirement on any client that wants to decompress your tar.xz file. People have complained that a tarball compressed with -9 cannot be uncompressed in a low-memory environment (wrt-based embedded). Hence, instead of defaulting to -9, which is useful only for very large tarballs, it defaults to -e (equivalent to -6e). This limits the default memory requirements imposed on decompressors, yet still gives very good compression ratios. * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made it impossible to override. Actually don't default to -9, either, since that induced inordinately large virtual memory usage when merely decompressing. Instead, use its XZ_OPT envvar, defaulting to -e if not defined. Suggested by Lasse Collin. (dist, dist-all) [?XZ?]: Likewise (dist-bzip2): Similarly, do not hard-code -9, but do continue to use -9 by default. Honor the BZIP2 envvar. (dist, dist-all) [?BZIP2?]: Likewise * NEWS: Update. * doc/automake.texi (The Types of Distributions): Describe the newly enabled environment variables. This is inspired to commit v1.11-389-g6da46f3, with additional changes to reflect that the xz compression level should default to -e, not -9.
Stefano Lattarini a4eeb532 2011-11-19T19:53:57 texinfo: work around Solaris 10 xpg4 shell bug in install rules * lib/am/texinfos.am (install-html-am): Use an extra variable indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh. Bug revealed by a failure of `txinfo21.test'. See also: <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
Stefano Lattarini 91ea62ab 2011-11-05T16:16:26 Merge branch 'maint' into yacc-work * maint: maint-mode: fix botched configure messages fix: regenerate Makefiles info: allow user to inhibit creation/update of '${infodir}/dir' dejagnu: allow the package developer to extend site.exp * THANKS: Fix whitespace issue. deps: partially revert commit `v1.11-512-geeee551' dejagnu: ensure 'srcdir' is defined as a relative directory Fix testsuite failure of check12.test without DejaGNU. Extend and improve tests on DejaGnu support.
Stefano Lattarini 5012480b 2011-11-03T15:39:02 Merge branch 'master' into testsuite-work Commits merged from master: - tests: various minor tweakings, mostly related to AM_PROG_AR - maint-mode: fix botched configure messages - fix: regenerate Makefiles - tests: few improvements to some `ar-lib' related tests - info: allow user to inhibit creation/update of '${infodir}/dir' - warnings: new 'extra-portability' category, for AM_PROG_AR - ar-lib: new 'AM_PROG_AR' macro, triggering the 'ar-lib' script Extra testsuite adjustments: * tests/instspc.tap: Adjust to new portability requirements due to the new AM_PROG_AR macro. * tests/lex-lib.test: Likewise. * tests/extra-portability2.test: Use `$am_original_AUTOMAKE' instead of the obsolete `$original_AUTOMAKE'. * tests/list-of-tests.mk: Update.
Stefano Lattarini a778e9e1 2011-11-03T11:37:30 Merge branch 'maint' * maint: maint-mode: fix botched configure messages fix: regenerate Makefiles info: allow user to inhibit creation/update of '${infodir}/dir'
Stefano Lattarini 76928ddf 2011-10-25T11:45:24 Merge branch 'master' into testsuite-work * master: fix: date in recent ChangeLog entry tests: fix spurious failures due to missing 'yywrap()' function dejagnu: allow the package developer to extend site.exp * THANKS: Fix whitespace issue. deps: partially revert commit `v1.11-512-geeee551' dejagnu: ensure 'srcdir' is defined as a relative directory
Stefano Lattarini 8c695f69 2011-10-25T11:34:11 Merge branch 'maint' * maint: dejagnu: allow the package developer to extend site.exp * THANKS: Fix whitespace issue. deps: partially revert commit `v1.11-512-geeee551' dejagnu: ensure 'srcdir' is defined as a relative directory
Stefano Lattarini 1ec16686 2011-10-23T13:19:21 info: allow user to inhibit creation/update of '${infodir}/dir' With this change, we allow the user to request the install-info rules not to update the `${infodir}/dir' file, by exporting the environment variable `AM_UPDATE_INFO_DIR' to the value "no". This is especially useful to distro packagers, and is a definite improvement over our previous hack of looking whether the `install-info' program was the Debian or GNU version -- hack which had been silently broken with recent versions of debian install-info BTW (probably since dpkg 1.15.4, 2009-09-06). This change fixes automake bug#9773. See also Debian Bug#543992. * lib/am/texinfos.am: Don't look anymore at the output of `install-info --version' to decide whether to use it to update the `${infodir}/dir' or not; instead, honour the environment variable `AM_UPDATE_INFO_DIR'. * tests/install-info-dir.test: New test. * tests/Makefile.am (TESTS): Add it. * tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted interferences from the environment. * doc/automake.texi (Texinfo): Update. * NEWS: Likewise. * THANKS: Likewise. Report by Jonathan Nieder.
Stefano Lattarini 9b5ced02 2011-10-22T20:51:43 Merge branch 'dejagnu-siteexp-extend' into maint * dejagnu-siteexp-extend: dejagnu: allow the package developer to extend site.exp
Stefano Lattarini beef7a66 2011-02-01T09:52:43 dejagnu: allow the package developer to extend site.exp Fixes automake bug#7873. * lib/am/dejagnu.am (site.exp): Depend from the files listed in $(EXTRA_DEJAGNU_SITE_CONFIG), if any. Append their contents to the generated site.exp (still preserving user edits). * doc/automake.texi (Dejagnu Tests): Update. * tests/dejagnu-siteexp-append.test: New test. * tests/dejagnu-siteexp-extend.test: Likewise. * tests/dejagnu-siteexp-useredit.test: Likewise.รน * NEWS: Update. * tests/Makefile.am (TESTS): Update. Suggestion by Rainer Orth.
Stefano Lattarini 6a2fe818 2011-10-22T20:42:17 Merge branch 'dejagnu-srcdir-discrepancy' into maint * dejagnu-srcdir-discrepancy: dejagnu: ensure 'srcdir' is defined as a relative directory Fix testsuite failure of check12.test without DejaGNU. Extend and improve tests on DejaGnu support.
Stefano Lattarini 0f3b3e84 2011-10-20T22:55:38 Merge branch 'maint' into yacc-work * maint: tests: fix spurious failures with "chatty" make implementations tests: fix spurious failure on fast machines tests: avoid spurious failure of 'uninstall-fail.test' on Solaris tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin tests: avoid spurious failure in 'parallel-tests3.test' tests: fix spurious failure with FreeBSD make and Yacc in VPATH tests: fix spurious failure with autoconf 2.62 docs: avoid using colon character inside arguments of @pxref parallel-tests: warn on conditional TEST_EXTENSIONS definition parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS tests: fix spurious failure in 'insthook.test' maintcheck: fix spurious failure regenerate Makefile.in
Stefano Lattarini 58c019e0 2011-10-20T14:39:53 Merge branch 'test-protocols' into testsuite-work * test-protocols: cosmetics: remove obsolete comment coverage: conditional contents in LOG_DRIVER variables coverage: LOG_DRIVER variables can be defined through AC_SUBST tests: fix spurious failure with Solaris /bin/sh threaded-am: better serialization for required config files automake: refactor, break up 'require_file_internal' dist: separate auxiliary file instantiation from DIST_COMMON update refactor: rename a subroutine to a more proper name dist: truly always distribute files in AC_REQUIRE_AUX_FILE dist: simplify automake code accordingly to the previous changes dist: auxiliary files can be distributed from subdir Makefiles
Stefano Lattarini ded01c88 2011-01-13T20:33:26 dejagnu: ensure 'srcdir' is defined as a relative directory This change fixes automake bug#7833. * lib/am/dejagnu.am (check-DEJAGNU): Prefer using plain $(srcdir) over calculating and using the absolute path of $(srcdir). * tests/dejagnu-relative-srcdir.test: New test. * tests/dejagnu-absolute-builddir.test: Likewise. * tests/Makefile.am (TESTS): Update. Report by Ian Lance Taylor. Suggestions by Ralf Wildenhues.
Stefano Lattarini 326ecba2 2011-09-30T12:12:43 dist: auxiliary files can be distributed from subdir Makefiles With this change, we make it possible for a subdir Makefile.am to distribute files in the config auxdir; while this means that some files might be copied multiple times, it simplify some logic in the automake script, and fix at least one important bug. In fact, before this change, the auxiliary script `test-driver' was not being distributed as expected when TESTS was defined only in a subdir Makefile (which is a pretty common setup indeed). Now this does not happen anymore: so the present change fixes automake bug#9546. Another welcome collateral effect is that `dist-auxfile-2.test' now passes. OTOH, the present changes *breaks threaded automake*. The reason is that automake needs to serialize file installations spawned by `--add-missing' (this isn't for cosmetic reasons, but is really needed to avoid possible race conditions and botched output files). Currently the code that installs required files is intertwined with the code that declares the DIST_COMMON variables; so, upon de-serialization, the definition of DIST_COMMON might get emitted in the wrong Makefile.in. Some follow-up refactoring in automake will soon take care of remedying this situation. For the moment, we just declare some "parallel-am" tests as xfailing. * automake.in (maybe_push_required_file): Add ad-hoc handling for the case where the directory part of the required file is different from the subdir where the current Makefile.am resides, but is equal to the "config-aux directory" ($config_auxdir). This is needed to allow a construct in a non-top-level Makefile.am to require a file in the config-aux directory. * tests/test-driver-is-distributed.test: Extend and adjust. This test now passes. * tests/java-compile-run-nested.test: Call automake with the `-a' option to ensure that the `test-driver' auxiliary script gets correctly installed. This test now passes. * tests/distcom-subdir.test: New test. * tests/dist-readonly.test: Likewise. * tests/dist-repeated.test: Likewise. * tests/dist-auxdir-many-subdirs.test: Likewise. * tests/distcom7.test: Removed, it's obsolete now. * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
Stefano Lattarini 8356631e 2011-10-06T22:14:15 Merge branch 'test-protocols' into testsuite-work * test-protocols: fix: improve latest ChangeLog entry after merge parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS tests: fix spurious error in 'test-extensions.test' tests: fix spurious failure in 'insthook.test' maintcheck: fix spurious failure regenerate Makefile.in
Stefano Lattarini 80795e05 2011-10-06T22:09:30 Merge branch 'master' into test-protocols
Stefano Lattarini 30eb17ff 2011-10-06T21:42:06 Merge branch 'maint'
Stefano Lattarini 736fde9f 2011-10-06T16:14:46 Merge branch 'fix-pr9579' into maint * fix-pr9579: maintcheck: fix spurious failure regenerate Makefile.in
Stefano Lattarini 0773a998 2011-10-06T16:10:40 maintcheck: fix spurious failure * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid complaints from the `sc_no_brace_variable_expansions' maintainer check.
Stefano Lattarini fc78d517 2011-10-06T14:46:44 Merge branch 'test-protocols' into testsuite-work
Stefano Lattarini 0da79637 2011-10-06T14:29:31 Merge branch 'master' into test-protocols
Stefano Lattarini 8b27c5b5 2011-10-06T13:56:49 Merge branch 'maint' * maint: fix: make a test script executable coverage: expose automake bug#9651 parallel-tests: automake error our on invalid TEST_EXTENSIONS fix: regenerate Makefile docs: don't suggest installing `.m4' files in hard-coded location distuninstallcheck: fail also when only one file is left installed
Stefano Lattarini 6399e59a 2011-10-06T13:50:06 Merge branch 'maint' into yacc-work * maint: (28 commits) fix: make a test script executable coverage: expose automake bug#9651 parallel-tests: automake error our on invalid TEST_EXTENSIONS fix: regenerate Makefile fix: regenerate Makefile.in files maintcheck: fix usage of `cd' instead of `$(am__cd)' docs: don't suggest installing `.m4' files in hard-coded location distuninstallcheck: fail also when only one file is left installed uninstall: "make uninstall" before "make install" works tests: fix tests on aclocal search path precedences fix: typo in NEWS docs: document planned precedence changes in aclocal search path aclocal: handle ACLOCAL_PATH environment variable tests: fix spurious failure in 'primary-prefix-valid-couples.test' docs: deprecate JAVA primary docs: clearer distinction between `.java' with javac and with gcj java: complain if java_JAVA is used but $(javadir) is undefined coverage: test interactions of `nobase_' and `nodist_' java: fix various blunders in test 'java-mix.test' cosmetics: fix various typos and grammaros ...
Stefano Lattarini 6816b316 2011-10-01T19:22:37 Merge branch 'fix-pr9579' into maint * fix-pr9579: distuninstallcheck: fail also when only one file is left installed
Stefano Lattarini 03ad7465 2011-09-28T17:00:42 Merge branch 'test-protocols' into testsuite-work * test-protocols: fix: regenerate Makefile.in files tap/awk: account for unusual korn shell signal handling behaviour tap/awk: handle exit statuses > 256 (seen on few korn shells) maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini c481ac95 2011-09-28T16:59:47 Merge branch 'master' into test-protocols * master: fix: regenerate Makefile.in files maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini 68b42720 2011-09-28T16:58:52 Merge branch 'maint' * maint: fix: regenerate Makefile.in files maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini 2126b691 2011-09-28T16:46:58 fix: regenerate Makefile.in files
Stefano Lattarini a2803e6a 2011-09-28T13:17:13 maintcheck: fix usage of `cd' instead of `$(am__cd)' * lib/am/inst-vars.am (am__uninstall_files_from_dir): Use `$(am__cd)', not plain `cd'.
Stefano Lattarini 8ccc53c4 2011-09-28T11:28:27 Merge branch 'test-protocols' into testsuite-work * test-protocols: uninstall: "make uninstall" before "make install" works tests: fix tests on aclocal search path precedences
Stefano Lattarini f67e562d 2011-09-28T11:17:33 Merge branch 'master' into test-protocols * master: uninstall: "make uninstall" before "make install" works tests: fix tests on aclocal search path precedences
Stefano Lattarini 58d91b7f 2011-09-28T11:11:51 Merge branch 'maint' * maint: uninstall: "make uninstall" before "make install" works
Stefano Lattarini a2498fe8 2011-09-23T16:06:59 distuninstallcheck: fail also when only one file is left installed This change fixes automake bug#9579. * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring a potential `dir' file created by install-info and left installed. Also, be more careful about "this can't happen" kind of errors. (am__distuninstallcheck_listfiles): New internal helper macro. * tests/distcheck-pr9579.test: New test. * tests/distcheck-override-infodir.test: Likewise. * tests/Makefile.am (TESTS): Add them. * NEWS, THANKS: Update. Report by Nick Bowler.
Stefano Lattarini eae5cfa9 2011-09-23T22:50:14 uninstall: "make uninstall" before "make install" works This change fixes automake bug#9578. * lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal macro, that defines a shell code fragment to uninstall files from a given directory. * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code duplication and improve consistency and correctness. * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise. * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise. * lib/am/mans.am (uninstall-man%SECTION%): Likewise. * lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise. * lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise. * tests/uninstall-pr9578.test: New test. * tests/uninstall-fail.test: New test. * tests/Makefile.am (TESTS): Add them. * NEWS, THANKS: Update. Report by Nick Bowler.