lib/am


Log

Author Commit Date CI Message
Ralf Wildenhues a6da48d3 2010-11-14T17:53:49 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. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues d7c1679b 2010-10-03T12:29:40 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. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b8c1325a 2010-10-03T11:42:12 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. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9e126f15 2010-10-02T18:38:34 Merge branch 'fix-tests-empty-regression' into maint * fix-tests-empty-regression: Revert "parallel-tests: avoid command-line length limit issue."
Ralf Wildenhues 614b643e 2010-09-26T09:21:14 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 <Ralf.Wildenhues@gmx.de> 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. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini c423cdb4 2010-09-22T21:26:09 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.
Eric Blake 978dfcf5 2010-09-17T06:31:33 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. Signed-off-by: Eric Blake <eblake@redhat.com>
Ralf Wildenhues 24e3b4ee 2010-09-07T04:38:08 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.
Ralf Wildenhues ccb31f6a 2010-09-07T04:35:49 Posix 2008 requires make to set errexit. * lib/am/check.am: Update comment.
Stefano Lattarini e7aa360a 2010-08-06T00:40:55 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.
Ralf Wildenhues 97cab581 2010-06-06T10:53:03 Merge branch 'je-silent' into maint * je-silent: Relax silent-rules tests to cater to verbose makes. Fix silent-rules output for disabled dependency tracking.
Ralf Wildenhues b410859d 2010-04-11T19:43:20 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. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Dmitry V. Levin dbfabdfc 2010-01-30T22:21:19 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<SIGNAL>. * 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. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues c150e6c8 2010-01-24T12:36:47 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 <ldv@altlinux.org>. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 72c9d14d 2010-01-17T12:08:19 Bump copyright years. * aclocal.in (write_aclocal, version): Bump copyright years. * automake.in (gen_copyright, version): Likewise. * doc/automake.texi: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues f1175f85 2009-12-29T19:42:41 Fix and complete copyright notices in Makefile.am files. * Makefile.am: Use single-`#' comment for copyright notice, so that it also appears in the generated Makefile.in file. * doc/Makefile.am: Likewise. * doc/amhello/Makefile.am: Likewise. * doc/amhello/src/Makefile.am: Likewise. * lib/Automake/Makefile.am: Likewise. * lib/Automake/tests/Makefile.am: Likewise. * lib/Makefile.am: Likewise. * lib/am/Makefile.am: Likewise. * m4/Makefile.am: Likewise. * tests/Makefile.am: Add copyright notice. Report of missing copyright notice by Stefano Lattarini. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Antonio Diaz Diaz 8fa396f2 2009-12-05T14:45:30 Replace unlzma, gunzip, bunzip2 with pack tool -d invocation. * lib/am/distdir.am (distcheck): Use lzma -d, gzip -d, bzip2 -d, instead of the respective un$tool invocation, to avoid depending on another tool. * THANKS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering efb68994 2009-11-28T21:05:33 do not put world-writable directories in distribution tarballs * lib/am/distdir.am (distdir): Do not make all directories group- or world-writable. Instead, use 755. * tests/subpkg4.test (test-distdir-is-readable): Check for new, more restricted permissions.
Jim Meyering e58e5b45 2009-10-31T17:47:58 Don't let an envvar setting of "$fail" cause build failure. Without this change, in a project using an automake-generated Makefile, "make fail=anything" would fail inappropriately, due to the `test -z "$$fail"' at the end of this emitted rule: * lib/am/subdirs.am ($(RECURSIVE_TARGETS)): Initialize "fail=" to keep an envvar setting of that variable from causing unwarranted failure. ($(RECURSIVE_CLEAN_TARGETS)): Likewise. * tests/subdir10.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues f6b3f7fb 2009-09-06T13:06:32 Avoid sleeping for one second most of the time in sanity check. * m4/sanity.m4 (AM_SANITY_CHECK): Try sanity check first without sleeping for a second, and only if that failed, sleep and try again, to avoid the delay in the common case of a configure script that is older than a second, or a system with sub-second time stamp granularity. Report and different patch by Jim Meyering. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 218e678b 2009-05-24T09:03:00 parallel-tests: avoid GNU make 3.80 substitution bug. * lib/am/check.am [PARALLEL_TESTS] (check-TESTS): Remove any `.log' entries from `$(TEST_LOGS)' even if the list is nonempty, to work around GNU make 3.80 substitution reference issue with trailing white space in the variable. * tests/parallel-tests10.test: New test. * tests/parallel-tests6.test: Update comment. * tests/Makefile.am: Update. * NEWS: Update. Report by Bob Friesenhahn. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 2505a3e3 2009-05-17T16:25:01 Version 1.11. * configure.ac: Bump version to 1.11. * doc/automake.texi (Releases): Add line for 1.11. Remove line for 1.10b. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fcf2f560 2009-05-17T15:32:40 Revert Automake license to GPLv2+. Automake will move to GPLv3+ once the Exception statement has been rewritten to use the new GPLv3 exception language. This change does not impact the COPYING file that may be installed by `automake --add-missing'. * COPYING: Revert to GPLv2. All uses changed. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 0e411a04 2009-05-17T12:03:47 Cope with parallel BSD make -jN semantics. When BSD `make -jN' is used without `-B' which enables backwards compatible semantics, it may reuse the same shell for several commands within a rule; so ensure we do not leave it in a different directory, nor `exit 0' early in a multi-command rule. * lib/am/distdir.am (distcheck): After running `distcleancheck', change back to original working directory. * lib/am/remake-hdr.am (%CONFIG_HIN%): Run autoheader in a subshell. * lib/am/mans.am (uninstall-man%SECTION%): Do not `exit 0' early in a rule that consists of several shell invocations. Parallel NetBSD `make -jN' without `-B' will use only one shell for all commands, but won't respawn one after `exit 0'. Fixes notrans.test failure. * tests/makej2.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues de458bcc 2009-05-17T11:55:14 Fix typo in comment. * lib/am/install.am: Fix typo. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b6bebfca 2009-05-03T09:59:21 Fix copyright years in *.am files. * lib/am/check.am, lib/am/check2.am, lib/am/distdir.am, lib/am/program.am, lib/am/tags.am: Fix copyright years. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 553f13a3 2009-05-03T09:47:58 distdir: avoid duplicate `find' traversal with subpackages. * lib/am/distdir.am (distdir) [%?SUBDIRS%]: When recursing, set `am__skip_mode_fix'. [%?TOPDIR_P%]: When `$(am__skip_mode_fix)' is set, avoid tree walk. * tests/subpkg4.test: New test, to ensure that we still walk the whole tree while fixing permissions. We don't ensure it is walked once only. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9fe82598 2009-05-03T09:32:44 Disable test cleanup trap with OSF1/Tru64 sh. * configure.ac: Test whether /bin/sh has working 'set -e' in conjunction with an exit trap. Set $am_cv_sh_errexit_works accordingly, substitute sh_errexit_works, and warn about leftover test directories with broken shells like Tru64 /bin/sh. * tests/defs.in: Do not install any traps with broken shells. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 3ebd4b8c 2009-04-25T10:48:11 Indent rule commands consistently with a TAB. * lib/am/check.am ($(TEST_SUITE_LOG)): Consistently use TAB, not spaces, for indentation of commands, even if indentation may not be needed at all. * lib/am/texinfos.am (install-info-am): Likewise. * THANKS: Update. Prompted by report from John Calcote. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 68ce3ae9 2009-04-25T10:43:09 parallel-tests: fix recheck* targets for non-GNU make. * lib/am/check.am (recheck recheck-html): Override AM_MAKEFLAGS to portably transport the TEST_LOGS settings through the recursive `make' invocations. Fixes parallel-tests9.test failure with Solaris make. * tests/parallel-tests9.test: Also ensure that the test summary is correct for `recheck'. Suggestion by Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues ad9df850 2009-04-19T08:09:13 Merge branch 'mh-vala-support' into next * mh-vala-support: More minor fixups to vala support. Improve Vala support. Minor fixups for Vala support. Support Vala in non-recursive builds; more tests and fixes. Initial support for the vala programming language.
Jürg Billeter 62796cb9 2009-04-05T15:16:48 Improve Vala support. * automake.in: Update to Vala 0.7.0 semantics, recover from removal of built sources, support silent-rules, drop _PKGNAME variables * doc/automake.texi, NEWS: Update. * lib/am/vala.am: Bump copyright years. * m4/vala.m4: Likewise. * tests/vala.test: Remove obsolete grep tests. * tests/vala1.test: Likewise. * tests/vala2.test: Test full build, distcheck, and distclean. * tests/vala3.test: Likewise, also test with subdir-objects. * tests/vala4.test: Bump copyright years. * tests/vala5.test: New test for per-target flags, expected to fail. * tests/Makefile.am: Update. * THANKS: Update. Signed-off-by: Jürg Billeter <j@bitron.ch> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 6c4b250d 2009-04-19T07:59:42 Merge branch 'next' (early part) into mh-vala-support * 'next' (early part): (135 commits) parallel-tests: LOG_COMPILER for tests without known extension. More node renaming in the manual. Fix instdir-java.test failure. Fix testsuite failures due to nonexistent `dirlist' entries. Fix typo in manual. Avoid test failure due to paranoid TAR_OPTIONS envvar setting. Use more common spelling in diagnostic: s/canonic/canonical/. Post-release version bump. Version 1.10b. Minor NEWS update. Reorganize nodes in the manual. Update AM_RECURSIVE_TARGETS for parallel-tests. parallel-tests: New target recheck-html. Rewrite maintainer-check in separate tests, parallelizable. Fix maintainer-check failure. Fix latex warning in manual. Sync auxiliary files from upstream. parallel-tests: redo lazy checking: recheck and RECHECK_LOGS. parallel-tests: do not mark check-TESTS as `.MAKE'. parallel-tests: warn about $(srcdir), $(top_srcdir) in TESTS. ...
Ralf Wildenhues babf1633 2009-04-10T13:31:28 parallel-tests: let VERBOSE=yes output appear before summary. * lib/am/check.am ($(TEST_SUITE_LOG)): In `VERBOSE=yes' mode, output contents of `$(TEST_SUITE_LOG)' before, rather than after the test suite summary. This ensures that the email address appears near the end of the output; also, the log file already starts with a result summary anyway. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 79f2c3e2 2009-04-10T13:26:16 parallel-tests: `clean recheck' should not rerun all tests. * lib/am/check.am (recheck, recheck-html): Do not rerun all tests if `$(TEST_SUITE_LOG)' does not exist. * tests/parallel-tests2.test: Adjust recheck test. * tests/parallel-tests9.test: Adjust recheck-html test. * NEWS: Update. Suggestion by Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 1692795d 2009-04-09T00:16:35 parallel-tests: Fix driver for nonempty executable extension. * automake.in (handle_tests): New substitution `%am__EXEEXT%', defined as 'FALSE' for non-generic rules, or if no programs are built at all. Otherwise, define it as configure conditional. * lib/am/check2.am [%am__EXEEXT%] (%EXT%$(EXEEXT).log): New conditional generic rule. * m4/init.m4: Hook an m4_provide of `_AM_COMPILER_EXEEXT' onto Autoconf's `_AC_COMPILER_EXEEXT' macro. (AM_INIT_AUTOMAKE): If `_AM_COMPILER_EXEEXT' has been provided at `AC_CONFIG_COMMANDS_PRE' time, then introduce a conditional `am__EXEEXT', defined to true iff `$EXEEXT' is nonempty. * tests/check5.test: Only match `_EXEEXT_[1-9]' here, to avoid false positives stemming from `@am__EXEEXT_TRUE@'. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues aea50a7d 2009-04-07T22:54:28 Do not remove texinfo outputs upon mostlyclean. * lib/am/texinfos.am: New substitutions %MOSTLYCLEAN%, %MAINTCLEAN%. (clean-aminfo): New target, remove %TEXICLEAN% if nonemtpy, declare phony. Hook this target to ... (clean-am): ... this and ... (?CYGNUS?clean-info): ... this. (maintainer-clean-aminfo): Remove %MAINTCLEAN% if nonempty, for later. (mostlyclean-aminfo): Remove %MOSTLYCLEAN%. * automake.in (handle_texinfo_helper): Return three arrays $MOSTLYCLEAN, $TEXICLEAN, $MAINTCLEAN, instead of one array. Only put LaTeX helper files in $MOSTLYCLEAN, the rest in $TEXICLEAN for now. (handle_texinfo): Accept these, chop off extra newline, and substitute them in `texinfos.am'. * NEWS: Update. * tests/txinfo33.test: New test. * tests/Makefile.am: Update. Report by Bruno Haible. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fcf4d469 2009-04-06T22:02:58 Remove superfluous line from recheck recheck-html. * lib/am/check.am (recheck recheck-html): Remove superfluous line, introduced bogusly in last commit. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Akim Demaille 68b7dc1d 2009-04-06T07:03:16 parallel-tests: redo check-html, recheck, recheck-html. * lib/am/check.am (recheck, recheck-am): Remove. (recheck-TESTS): Rename to ... (recheck): ... this and rewrite, factored ... (recheck-html): ... with this rule. Pass TEST_LOGS rather than RECHECK_LOGS to `check' and `check-html', respectively, to avoid running outdated tests. Invoking the public macros ensures `check_SCRIPTS' etc. are created in time. Do not output errors for tests that were not run yet. If the testsuite has not run at all, run all tests. (check-html): Run `check' target, not `check-TESTS', to ensure `check_SCRIPTS' etc. are created in time. (.PHONY, .MAKE, AM_RECURSIVE_TARGETS): Adjust contents. * tests/parallel-tests2.test: Expose the check-html and recheck-html issues. * tests/parallel-tests9.test: Expose the recheck issues. Bugs in previous version pointed out by Akim, who already had them fixed in his original version. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 72bae12c 2009-03-31T00:54:04 Post-release version bump. * configure.ac, NEWS: Bump version to 1.10c. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues dd363d92 2009-03-29T23:23:16 Version 1.10b. * configure.ac, NEWS: Bump version to 1.10b. * doc/automake.texi (Releases): Add statistics for 1.10b. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b6bcc69d 2009-03-29T01:23:30 Update AM_RECURSIVE_TARGETS for parallel-tests. * lib/am/check.am [PARALLEL_TESTS] (AM_RECURSIVE_TARGETS): Add check, recheck, check-html, recheck-html. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 1c503be3 2009-03-29T01:21:01 Merge branch 'ad-parallel-tests' into next * ad-parallel-tests: parallel-tests: New target recheck-html. parallel-tests: redo lazy checking: recheck and RECHECK_LOGS. parallel-tests: do not mark check-TESTS as `.MAKE'. parallel-tests: warn about $(srcdir), $(top_srcdir) in TESTS. check-html: Always create HTML output, note conversion failure. parallel-tests: per-extension test driver: <EXT>_LOG_COMPILER. parallel-tests: also record logs of SKIPped tests. Minor optimization in parallel-tests text box creation.
Ralf Wildenhues 83b03f37 2009-03-29T01:17:51 parallel-tests: New target recheck-html. * lib/am/check.am [PARALLEL_TESTS] (recheck-html): New phony, recursive target. Factor common implementation with `check-html'. * doc/automake.texi (Tests): Document recheck-html. * tests/parallel-tests2.test: Test it. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fe936f64 2009-03-29T00:59:46 Merge branch 'master' into next * master: Rewrite maintainer-check in separate tests, parallelizable. Fix maintainer-check failure. Fix latex warning in manual. Sync auxiliary files from upstream. manual: minor cleanups. Sane (un)install for empty directory variables. Ensure that empty directory variables work with empty content variables. Use --tag=FC with libtool also for .f90 files. DISTFILES containing a directory and files in that directory. Fix a documentation typo. Define AM_RECURSIVE_TARGETS, for gnulib's GNUmakefile. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 8f33eec4 2009-03-28T22:58:34 parallel-tests: redo lazy checking: recheck and RECHECK_LOGS. Replace the LAZY_TEST_SUITE API with a simpler yet more powerful one: RECHECK_LOGS specifies those tests which are to be removed in any case before testing. Provide a `recheck' convenience target to set RECHECK_LOGS to all failed and unexpectedly passed tests. Document several ways to limit the set of tests run. * lib/am/check.am [PARALLEL_TESTS] (RECHECK_LOGS): New variable, default to $(TESTS_LOGS). (check-TESTS): Remove $(RECHECK_LOGS) not $(TEST_LOGS). Drop use of LAZY_TEST_SUITE. ($(TEST_SUITE_LOG)): Do not output note about lazy rerun, as LAZY_TEST_SUITE is gone. (recheck): New target. (recheck-am, recheck-TESTS): New internal targets. * doc/automake.texi (Tests): Update @vindex for TESTS and TEST_LOGS. Replace description of LAZY_TEST_SUITE with a list of ways the set of tests to be run can be modified. Document RECHECK_LOGS and the recheck target. * tests/defs.in: Unset RECHECK_LOGS not LAZY_TEST_SUITE. * tests/parallel-tests.test: Adjust, replacing LAZY_TEST_SUITE with corresponding RECHECK_LOGS settings, and add another RECHECK_LOGS test. * tests/parallel-tests9.test: New test, test `recheck'. * tests/Makefile.am: Update. Suggestion and different implementation by Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues c4e28424 2009-03-28T22:52:22 parallel-tests: do not mark check-TESTS as `.MAKE'. * lib/am/check.am [PARALLEL_TESTS] (.MAKE): Remove check-TESTS. This rule removes files, which should not be executed with BSD `make -n'. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 868fb045 2009-03-28T21:01:43 check-html: Always create HTML output, note conversion failure. * lib/am/check.am (check-html): Create `$(TEST_SUITE_HTML)' in any case. Exit unsuccessfully if HTML creation failed. * tests/parallel-tests2.test: Amend test to expose this. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 66c2dcaa 2009-03-11T23:55:26 parallel-tests: per-extension test driver: <EXT>_LOG_COMPILER. For test files with extension <ext>, introduce the internal variable <EXT>_LOG_COMPILE, which expands to $(<EXT>_LOG_COMPILER) $(AM_<EXT>_LOG_FLAGS) $(<EXT>_LOG_FLAGS). Turn also the lib/Automake/tests testsuite over to the new test driver. * doc/automake.texi (Tests): Document `EXT_LOG_COMPILER' and `EXT_LOG_FLAGS'. * lib/am/check2.am: Insert `%COMPILE%' right before test. * automake.in (handle_tests): Substitute `COMPILE' for check2, empty for tests without extension, and `$(ext_LOG_COMPILE)' for extension `ext'. In the latter case, define it from the public components. * configure.ac (AM_INIT_AUTOMAKE): Use `parallel-test' globally. * tests/Makefile.am (AUTOMAKE_OPTIONS): Remove, not needed here any more. * lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Split ... (PL_LOG_COMPILER, PL_LOG_FLAGS): ... into these new variables. (TESTS_EXTENSIONS): New variable, initialize to `.pl'. * tests/parallel-tests7.test: New test. * tests/Makefile.am: Update. Suggestion by Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9bfd7e89 2009-03-28T18:04:48 Sane (un)install for empty directory variables. This patch fixes all install and uninstall rules to behave sanely when $(wheredir) is the empty string, but $(where_HOW) is nonempty, for all kinds of values of `where' and `HOW'. * lib/am/data.am (install-%DIR%%PRIMARY%, uninstall-%DIR%%PRIMARY%): Do not touch the install tree if the corresponding directory variable $(%NDIR%dir) is empty. * lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA): Likewise. * lib/am/libs.am (install-%DIR%LIBRARIES, uninstall-%DIR%LIBRARIES): Likewise. * lib/am/lisp.am (install-%DIR%LISP, uninstall-%DIR%LISP): Likewise. * lib/am/ltlib.am (install-%DIR%LTLIBRARIES, uninstall-%DIR%LTLIBRARIES): Likewise. * lib/am/mans.am (install-man%SECTION%, uninstall-man%SECTION%): Likewise. * lib/am/progs.am (install-%DIR%PROGRAMS, uninstall-%DIR%PROGRAMS): Likewise. * lib/am/python.am (install-%DIR%PYTHON, uninstall-%DIR%PYTHON): Likewise. * lib/am/scripts.am (install-%DIR%SCRIPTS, uninstall-%DIR%SCRIPTS): Likewise. * lib/am/texinfos.am (install-dvi-am, install-html-am, install-pdf-am) (install-ps-am, uninstall-dvi-am, uninstall-html-am, uninstall-pdf-am) (uninstall-ps-am): Likewise. * tests/instdir2.test, tests/instdir-java.test, tests/instdir-lisp.test, tests/instdir-ltlib.test, tests/instdir-prog.test, tests/instdir-python.test, tests/instdir-texi.test: New tests. * tests/Makefile.am: Update. * NEWS: Update. Suggestion by Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues df4f77d0 2009-03-11T21:03:00 parallel-tests: also record logs of SKIPped tests. * lib/am/check.am [PARALLEL_TESTS] ($(TEST_SUITE_LOG)): Record SKIPs as well. Suggested by Jim Meyering. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Peter Breitenlohner 3a12ed5e 2009-03-22T10:11:14 DISTFILES containing a directory and files in that directory. For PR automake/533: When the source tree contains non-writable files or directories (as happens during distcheck), and directories or entries thereof are listed multiple times in variables to be distributed, then the corresponding directories below $(distdir) need to be made writable recursively. Since file modes should not change, they need to be copied recursively using `cp -f'. * lib/am/distdir.am: Handle this situation. * tests/distdir.test: Extend test to those cases. * NEWS: Update. Report by Peter Breitenlohner. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9003cc9b 2009-03-22T09:53:19 Define AM_RECURSIVE_TARGETS, for gnulib's GNUmakefile. This new macro lists all public targets which invoke `make' recursively, or depend on targets which do so. It allows to prevent parallelism selectively, when multiple targets are passed on the `make' command line. * lib/am/distdir.am [%?SUBDIRS%] (AM_RECURSIVE_TARGETS): New macro. * lib/am/subdirs.am (AM_RECURSIVE_TARGETS): Likewise. * lib/am/tags.am [%?SUBDIRS%] (AM_RECURSIVE_TARGETS): Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 64b35b50 2009-03-22T09:39:14 Minor optimization in parallel-tests text box creation. * lib/am/check.am [PARALLEL-TESTS] (am__text_box): Use only one awk invocation, rather than several tools, to create a text box. Suggestion from Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues d4cc23b0 2009-03-14T11:14:38 Merge branch 'ad-parallel-tests' into next * ad-parallel-tests: Fix LAZY_TEST_SUITE handling and $(TEST_SUITE_LOG) recreation. Fix parallel-tests with empty $(TESTS) for BSD make. Mark check-html and check-TESTS as recursive for BSD make. Match XFAIL_TESTS correctly with Solaris make. Use append mode to capture parallel test output. parallel-tests: Fix summary output. Overhaul of tests/README. Documentation for the parallel-tests driver. New tests for `parallel-tests'. parallel-tests: Ensure backward-compatible semantics. Parallel test execution: new option `parallel-tests'.
Ralf Wildenhues 4c7f26e8 2009-03-11T20:36:14 Fix LAZY_TEST_SUITE handling and $(TEST_SUITE_LOG) recreation. * lib/am/check.am (check-TESTS): Expand `$(TEST_LOGS)' only once in the rule command, for systems with low command line limits. Remove $(TEST_SUITE_LOG) even in LAZY_TEST_SUITE mode. ($(TEST_SUITE_LOG)): Always recreate $(TEST_SUITE_LOG). Mention lazy mode in the summary output. * tests/parallel-tests.test: Test LAZY_TEST_SUITE semantics. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 67f40eda 2009-03-10T23:57:01 Fix parallel-tests with empty $(TESTS) for BSD make. * lib/am/check.am [PARALLEL_TESTS] ($(TEST_SUITE_LOG)): Ignore empty line stemming from empty $(TEST_LOGS), to avoid counting zero tests as one. (check-TESTS): If `$(TESTS)' is empty, override TEST_LOGS to be empty, rather than `.log', for BSD make. * tests/parallel-tests6.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9e741eeb 2009-03-10T22:09:45 Mark check-html and check-TESTS as recursive for BSD make. * lib/am/check.am [PARALLEL_TESTS] (.MAKE): Add check-TESTS and check-html prerequisites. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues f6cc7d0f 2009-03-10T22:02:15 Match XFAIL_TESTS correctly with Solaris make. * lib/am/check.am [PARALLEL_TESTS]: VPATH rewriting may have changed test names, so srcdir needs to be taken into account explicitly when checking against the list of tests expected to fail. Fixes spurious FAILures from XFAIL_TESTS. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 5a17fc03 2009-03-10T21:10:25 parallel-tests: Fix summary output. * lib/am/check.am (am__text_box): Fix unportable sed script, replacing `\n' in the right hand side of an `s' command with a literal newline. Kudos to Bruno Haible for the newline idea. * tests/parallel-tests.test: Update test to expose this. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Akim Demaille 9aa1e525 2009-03-08T11:29:03 Parallel test execution: new option `parallel-tests'. * automake.in (handle_tests): Set new conditional PARALLEL_TESTS when reading check.am. Handle option `parallel-tests' and all its semantics. Define macros TEST_EXTENSIONS, TEST_SUITE_LOG, TEST_SUITE_HTML, TEST_LOGS, TEST_LOGS_TMP, suffix rules if applicable, and per-target rules for other tests. Add all log files to %clean_files at the `MOSTLY_CLEAN' level. * lib/Automake/Options.pm (_process_option_list): Accept `parallel-tests'. * lib/am/check.am [!PARALLEL_TESTS] (check-TESTS): Move existing testsuite driver under this new conditional. [PARALLEL_TESTS] (am__rst_title, am__rst_section, am__text_box am__sh_e_setup) (am__check_pre, am__check_post): New internal macros. ($(TEST_SUITE_LOG), check-TESTS, .log.html, check-html): New rules. * lib/am/check2.am: New file. * lib/am/Makefile.am (dist_am_DATA): Add check2.am. * tests/Makefile.am (AUTOMAKE_OPTIONS): Use `parallel-tests'. (clean-local): Renamed from distclean-local. * tests/defs.in: Drop VERBOSE handling, not needed here any more. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues cae4a474 2009-03-11T19:50:16 Drop extra line from compile rules when `silent' is not used. * lib/am/depend2.am [!%FASTDEP%]: Only use the `%VERBOSE% @AM_BACKSLASH@' extra line if ?VERBOSE?. Report by Ralf Corsepius. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues c65e0662 2009-03-10T22:59:00 Keep `--silent-rules' across triggered automake reruns. * automake.in (usage): Reformat to be a bit clearer. (handle_configure): Remove substitutions %STRICTNESS% and %USE-DEPS% in favor of a new substitution %AUTOMAKE-OPTIONS% that carries over all needed flags. * lib/am/configure.am (%MAKEFILE-IN%): Adjust rule. * tests/flavor.test: New test, to ensure --$flavor (gnu, gnits, foreign, cygnus), --ignore-deps, and --silent-rules are preserved across automake reruns. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jan Engelhardt e0bd4af1 2009-03-07T15:58:07 Implement `silent' build rules. * automake.in (ccer): New field in the language structure. Initialize it for all registered languages. (verbose_var, verbose_flag, verbose_dispatch) (silent_flag, define_verbose_var, define_verbose_tagvar) (define_verbose_libtool): New functions. (handle_languages, handle_programs, handle_libraries) (handle_ltlibraries, handle_configure) (define_compiler_variable, define_linker_variable) (define_per_target_linker_variable): Use them where appropriate to define variables to implement the silent output machinery. * lib/Automake/Options.pm (_process_option_list): Accept `silent', turning off `portability-recursive'. * lib/am/depend2.am: Add %VERBOSE% and %SILENT% prefixes where appropriate. * lib/am/lex.am: Likewise. * lib/am/library.am: Likewise. * lib/am/ltlibrary.am: Likewise. * lib/am/program.am: Likewise. * lib/am/yacc.am: Likewise. * m4/init.m4 (AM_INIT_AUTOMAKE): Substitute, but do not define, AM_BACKSLASH. * tests/defs.in: Unset `V', to avoid influencing inner tests. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues a88a2a27 2009-03-07T10:42:34 Improve NetBSD 'make -n' output for many standard targets. * automake.in (handle_tags): Let .MAKE depend on `tags-recursive' and `ctags-recursive' if appropriate. (handle_all): Likewise for `all'. (do_check_merge_target): Likewise for `check-am' and `check'. * lib/am/ansi2knr.am (.MAKE): Depend on %ANSI2KNR-DIR%/ansi2knr. * lib/am/install.am [%?maybe_BUILT_SOURCES%] (.MAKE): Depend on `install'. * tests/maken3.test, tests/maken4.test: New tests. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 31a0b6b5 2009-03-07T09:00:19 Improve `make -n dist' and `make -n distcheck' for GNU make. Ensure that `make -n dist' and `make -n distcheck' do not change files, due to GNU make executing rules containing `$(MAKE)'. * lib/am/distdir.am (distdir): Separate the creation of `$(distdir)/$$subdir' for `$(DIST_SUBDIRS)' and the recursion into the `$(DIST_SUBDIRS)' in two separate rule commands. (distcheck): Exit recursive rule early when run with `make -n', as detected by a witness file. * tests/maken.test, tests/maken2.test: New tests. * tests/Makefile.am: Update. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Peter Breitenlohner b3457376 2009-03-07T01:06:18 Extract correct man section from files in man_MANS. * lib/am/mans.am: Extract correct man section in the presence of multiple dots in the file base name and/or directory components. * tests/man5.test: New test case. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues d22169ba 2009-03-01T16:51:34 Fix recursive html and install-* doc rules for BSD make. * automake.in (%required_targets): Add html-am, install-html-am, install-dvi-am, install-pdf-am, install-ps-am, install-info-am. * tests/txinfo32.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 55b11a93 2009-03-01T16:47:45 Fix comment typo. * lib/am/distdir.am (distcheck): Fix typo in comment. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b74717c0 2009-01-20T20:58:48 Bump copyright years. * aclocal.in (write_aclocal, version): Bump copyright years. * automake.in (gen_copyright, version): Likewise. * doc/automake.texi: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 0fb020fa 2008-12-21T22:38:37 Revamp semantics for `missing help2man' and manpage distribution. Previously, `missing help2man' would create a missing man page containing an error message, and exit 1. This does not play well with `make': the next run will see this particular man page as being up to date, and will only error out on the next generated man page, if any; repeat until all pages are done. This patch changes `missing' to exit successfully in this case, but `make dist' will ensure that no such man pages are packaged. * lib/missing: Exit successfully even if we create a replacement page due to missing help2man. * automake.in (make_paragraphs): Define %HAVE-MANS% to be true if this makefile deals with man pages. * lib/am/distdir.am (distdir): If %INSTALL-MAN% and %HAVE-MANS%, check that no man page in $(MANS) contains the replacement text from `missing'. * tests/man4.test: New test. * tests/Makefile.am: Update. * NEWS: Reorder a bit, update. * THANKS: Update. Report by Werner Lemberg and Karl Berry. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues e9a942a1 2008-11-27T21:46:36 Cope with whitespace in $MISSING and $install_sh. * configure.ac (am_AUTOHEADER): New substitution, save the value of $AUTOHEADER before AM_INIT_AUTOMAKE may add $MISSING. * tests/defs.in: Use am_AUTOHEADER. * lib/am/install.am: Fix typo. * m4/install-sh.m4 (AM_PROG_INSTALL_SH): Add suitable single-quote quoting to install_sh, but only if needed. * m4/missing.m4 (AM_MISSING_HAS_RUN): Add suitable double-quote quoting to MISSING, but only if needed. * m4/sanity.m4 (AM_SANITY_CHECK): Abort configure if `pwd` or $srcdir contain shell meta-characters that cannot be handled; space and tab are allowed in the former only. * tests/sanity.test: New test. * tests/Makefile.am: Adjust. * NEWS: Update. Reports by Jim Meyering and others. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering 7e2cfbf0 2008-11-22T12:02:36 Add xz compression support. * NEWS: Mention xz, as well as lzma (xz will displace lzma). * automake.in (handle_dist): Recognize dist-xz. (make_paragraphs): Map XZ to dist-xz. * doc/automake.texi (Dist): Add dist-xz. (Options): Likewise. * lib/Automake/Options.pm (_process_option_list): Accept dist-xz. * lib/am/distdir.am (dist-xz): New rule. (dist dist-all): Add command to create an xz-compressed tarball. (distcheck): Handle xz-compressed tarballs just like the others. * tests/xz.test: New file, based on nogzip.test. * tests/Makefile.am (TESTS): Add xz.test. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Charles Wilson 454cbc4c 2008-11-11T23:34:47 Cleanup config.lt in case LT_OUTPUT is in use. * lib/am/libtool.am [TOPDIR_P] (distclean-libtool): clean up config.lt as well as libtool. * tests/libtoo11.test: New test. * tests/Makefile.am: Update. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues d016ef1e 2008-11-04T22:42:23 Multiple 'make uninstall' should not fail even for TEXINFOS. * lib/am/texinfos.am (uninstall-info-am): Do not fail due to install-info if the installed file does not exist (any more). * tests/txinfo26.test: Issue multiple `make uninstall'. * tests/instmany-mans.test: Likewise. * tests/instmany-python.test: Likewise. * tests/instmany.test: Likewise. * tests/txinfo26.test: Likewise. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 937775c8 2008-10-26T19:29:25 Parallel automake execution: AUTOMAKE_JOBS. * lib/Automake/Config.in (perl_threads): New global. * automake.in: Use it. If the perl supports interpreter-based threading, then use `threads' and `Thread::Queue'. (handle_makefile, handle_makefiles_serial): New functions, factored out from main. (get_number_of_threads): New function, compute number of threads to use, based on environment variable `AUTOMAKE_JOBS' and number of independent makefiles. (handle_makefiles_threaded): New function. Spawn threads, use thread queue to distribute handling the different makefiles. Collect $exit_code values from threads. (main): Use new functions. * aclocal.in: No threads here. * configure.ac: Substitute PERL_THREADS; enabled with perl >= 5.7.2 and when ithreads are available. * bootstrap (dosubst): Likewise. * Makefile.am (do_subst): Likewise. * lib/Automake/Makefile.am (do_subst): Likewise. * lib/Automake/ChannelDefs.pm: Use `Automake::Config' and `threads'. (verb): Prepend thread ID (tid) to verbose messages. * lib/Automake/Channels.pm (msg): Before exiting, flush stderr, needed for worker threads. * lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Also include the build tree path, so Config.pm is found. * tests/parallel-am.test: New test. * tests/Makefile.am: Update. * doc/automake.texi (Invoking Automake): Document AUTOMAKE_JOBS. * NEWS, THANKS: Update. Report about long execution times by Joakim Tjernlund and others. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9c0bda62 2008-10-12T22:22:39 Nicer 'make dist' output. * lib/am/distdir.am (distdir): Hide the complex script used for computing the relative subdirs; echo the sub-make command. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
William Pursell 8f126edc 2008-10-12T21:51:18 Fix grammar w.r.t. plurals in test reports. * lib/am/check.am: Fix singular/plural forms in test reports. * tests/check10.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues ae4ab510 2008-10-10T07:44:01 Minor fixups for Vala support. * automake.in: $(VALAFLAGS) comes after $(AM_VALAFLAGS). * doc/automake.texi (Vala Support): Add some references, document AM_VALAFLAGS, streamline a bit. * lib/am/vala.am: Copyright blurb. * m4/vala.m4 (AM_PROG_VALAC): Rewrite using AS_VERSION_COMPARE. * tests/vala.test: Fix minor nits. * tests/vala1.test: Likewise. * tests/vala2.test: Likewise. * tests/vala3.test: Likewise. * tests/vala4.test: New test, for version argument of AM_PROG_VALAC. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Mathias Hasselmann 2749b1e7 2008-10-09T20:06:20 Initial support for the vala programming language. * automake.in: Add %known_libraries, lang_vala_rewrite, lang_vala_finish and lang_vala_target_hook to support the Vala programming language. Register Vala language hooks. * lib/am/vala.am: Empty rules file to prevent creation of depend2 based rules for Vala code. * lib/am/Makefile.am (dist_am_DATA): Add vala.am. * m4/vala.m4: Provide AC_PROG_VALAC for detecting the Vala compiler. * m4/Makefile.am (dist_m4data_DATA): Add vala.m4. * tests/vala.test: Test Vala support. * tests/Makefile.am: Update. Signed-off-by: Mathias Hasselmann <mathias.hasselmann@gmx.de> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 4792c5df 2008-09-20T17:33:29 Remove unneeded per-rule *INSTALL variables. * NEWS: Update. * lib/am/data.am (%DIR%%PRIMARY%_INSTALL): Remove. (install-%DIR%%PRIMARY%): Adjust. * lib/am/libs.am (%DIR%LIBRARIES_INSTALL): Remove. (install-%DIR%LIBRARIES): Adjust. * lib/am/ltlibs.am (%DIR%LTLIBRARIES_INSTALL): Remove. (install-%DIR%LTLIBRARIES): Adjust. * lib/am/progs.am (%DIR%PROGRAMS_INSTALL): Remove. (install-%DIR%PROGRAMS): Adjust. * lib/am/python.am (%DIR%PYTHON_INSTALL): Remove. (install-%DIR%PYTHON): Adjust. * lib/am/scripts.am (%DIR%SCRIPT_INSTALL): Remove. (install-%DIR%SCRIPTS): Adjust. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 91d9d817 2008-09-20T15:38:26 Compactify program rules using ternary operators. * lib/am/progs.am (install-%DIR%PROGRAMS): Uglify^WCompactify using ternary operators `%KEY?TRUE:FALSE%'. (uninstall-%DIR%PROGRAMS): Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues e8ec58ac 2008-09-20T12:30:48 Do not reorder nobase ltlib installation. This patch changes back the order of installation of nobase LTLIBRARIES to that in which files are listed in the variables. It does not fix the issue of strict dependency ordering, as implied by *_LIBADD, but as before allows to steer the order by listing the libraries in nobase_*_LTLIBRARIES appropriately. As an advantage over the state of 1.10, multiple consecutive nobase libraries to be installed in the same directory are passed to libtool in one invocation. * lib/am/ltlib.am (install-%DIR%LTLIBRARIES) [!%?BASE%]: Do not reorder libraries upon installation. Remove spurious empty line. * tests/ltorder.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues e3209619 2008-09-20T11:42:31 Man pages for automake and aclocal. * configure.ac (HELP2MAN): New substitution. * doc/Makefile.am (dist_man1_MANS, MAINTAINERCLEANFILES) (update_mans): New macros. ($(srcdir)/aclocal-$(APIVERSION).1) ($(srcdir)/automake-$(APIVERSION).1): New rules, generate man pages from the command line help with help2man. ($(srcdir)/aclocal.1, $(srcdir)/automake.1): New rules, for `.so' man page links to the versioned pages. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 00c3eb23 2008-09-13T09:55:23 install: cope with non-injective $(transform). * lib/am/progs.am (install-%DIR%PROGRAMS): Rewrite rule to not try to use the installed name as key in a hash, so destructive $(transform) scripts still work. * lib/am/scripts.am (install-%DIR%SCRIPTS): Likewise. * tests/transform.test: Fix test to look in right place for installed files. * tests/transform2.test: New test. * tests/Makefile.am: Adjust. Report by Jim Meyering. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 7726a26a 2008-09-13T09:32:13 Faster install for libtool outputs. * lib/am/ltlib.am (install-%DIR%LTLIBRARIES): Invoke `libtool --mode=install' with multiple libraries at once. (%DIR%LTLIBRARIES_INSTALL): No need to use install_sh any more. * lib/am/progs.am (install-%DIR%PROGRAMS): Likewise, remove much of the libtool special-casing by invoking it for multiple programs at once. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues ca414ef9 2008-09-07T11:10:26 Fast install and uninstall for SCRIPTS. * lib/am/scripts.am [%?INSTALL%]: Include inst-vars.am independent of `%?BASE%'. (install-%DIR%SCRIPTS): Install multiple scripts at once, using awk and a number of sed scripts. (uninstall-%DIR%SCRIPTS): Compute the installed names, and remove them, all at once. (%DIR%SCRIPT_INSTALL) [!BASE]: No need to use install-sh any more. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 4295fe33 2008-09-07T10:56:19 Multi-file install for PROGRAMS. * lib/am/progs.am (install-%DIR%PROGRAMS): Allow to install several programs with one install invocation, when not using libtool; employs some trickery to cater for nobase_, $(EXEEXT), create needed directories, libtool, while only forking a constant number of times in the fast path; uses awk and sed also in the default path. (%DIR%PROGRAMS_INSTALL) [!BASE]: No need to use install-sh any more. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 8c9f415b 2008-09-07T10:43:33 Enhance cleaning of programs in libtool mode. * lib/am/progs.am (clean-%DIR%PROGRAMS) [?LIBTOOL?]: Fork less often, avoid removing programs twice if $(EXEEXT) is empty. * tests/nobase-libtool.test: Also test PROGRAMS, in order to exercise the code path. * THANKS: Update. Report by Toralf Förster. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 2cfd4806 2008-09-07T09:59:52 Reliable multi-file install for man pages. * lib/am/mans.am: Include inst-vars.am. (install-man%SECTION%): Gather lists of man pages to install, and install up to 40 of those that do not have to be renamed at once. Fail if installation of any file fails. (uninstall-man%SECTION%): Rewrite to use fewer sed invocations. * doc/automake.texi (Man pages): Hint the user to the fast path. Indentation fix. * tests/instmany-mans.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 7c02797d 2008-09-07T09:25:02 Faster `make uninstall'; fast install for JAVA. * lib/am/inst-vars.am (am__nobase_strip_setup) (am__nobase_strip): New macros. (am__nobase_list): Factorize. * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use them, for a constant number of forks per uninstall. * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise. * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise. * lib/am/progs.am (uninstall-%DIR%PROGRAMS): Fast uninstall. * lib/am/python.am (uninstall-%DIR%PYTHON): Fast uninstall. Echo all `rm' commands that are are executed. * lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA): Fast install and uninstall. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues f4d1f9e2 2008-09-07T09:11:34 AIX ranlib dislikes spaces in the argument. * lib/am/libs.am (install-%DIR%LIBRARIES): Fix instsh.test failure on AIX due to ranlib and whitespace in the directory. * THANKS: Update. Report by John F Trudeau. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 120031b8 2008-09-07T08:42:47 Fail upon install or ranlib failure, part two. * lib/am/java.am (install-%DIR%JAVA): Fail upon install failure. * lib/am/lisp.am (install-%DIR%LISP): Likewise. * lib/am/ltlib.am (install-%DIR%LTLIBRARIES): Likewise. * lib/am/libs.am (install-%DIR%LIBRARIES): Likewise, for `install' as well as `ranlib'. * lib/am/progs.am (install-%DIR%PROGRAMS): If `install' fails, return its exit failure, not 1. * tests/instfail.test: New test, for PROGRAMS (without libtool), LIBRARIES, including nobase variants. * tests/instfail-info.test: Likewise, for TEXINFOS. * tests/instfail-java.test: Likewise, for JAVA. * tests/instfail-libtool.test: Likewise, for PROGRAMS (with libtool) and LTLIBRARIES. * tests/Makefile.am: Adjust. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 196abe9a 2008-09-07T00:43:38 Exit upon `install' failure, part one. * lib/am/data.am (install-%DIR%%PRIMARY%): Exit if any install command fails. * lib/am/python.am (install-%DIR%PYTHON): Likewise. * lib/am/scripts.am (install-%DIR%SCRIPTS): Likewise. * lib/am/texinfos.am (install-dvi-am, install-html-am) (install-info-am:, install-pdf-am): Likewise. * tests/instmany.test: New test, for SCRIPTS, DATA, and HEADERS. * tests/instmany-python.test: New test, for PYTHON. * tests/Makefile.am: Adjust. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 92a09f69 2008-09-06T23:40:34 Fix multi-file installation for files in srcdir. For files that can live in the build tree or the source tree, we have to expect that prepending `$(srcdir)/' to each name will let the install command line exceed length limitations. Thus use a new macro, $(am__base_list), to install in chunks of 40 files, similar to what we do for nobase_* files. There, lower the limit to 40, too. * lib/am/inst-vars.am (am__install_max): Lower to 40. (am__base_list): New macro. * lib/am/data.am (install-%DIR%%PRIMARY%) [%?BASE%]: Use it. * lib/am/texinfos.am (install-dvi-am, install-html-am) (install-info-am, install-pdf-am, install-ps-am): Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 1fb0f1ce 2008-09-04T22:04:37 For all possibly-relative subdirs, use $(am__cd). Up to now, $(am__cd) was only used within backquotes, to avoid extraneous output. This patch also uses it for every `cd' to a relative subdir, to prevent CDPATH from entering an unwanted directory. * Makefile.am (maintainer-check): Fix current check for $(am__cd) within backquotes a bit. Add new check for `cd' to a relative subdir. * automake.in (handle_tags, handle_configure): Adjust rules. * lib/am/ansi2knr.am: Likewise. * lib/am/configure.am: Likewise. * lib/am/distdir.am: Likewise. * lib/am/remake-hdr.am: Likewise. * lib/am/subdirs.am: Likewise. * lib/am/tags.am: Likewise. * lib/am/texibuild.am: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues d6c6e48d 2008-08-31T08:23:24 Copyright year updates. * lib/am/header-vars.am: Update copyright years. * lib/am/remake-hdr.am: Likewise. * lib/am/tags.am: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 7456aefd 2008-08-22T13:19:04 Fix rebuilding of removed subdir/Makefile.in files. * lib/am/configure.am (%MAKEFILE-IN%) [?!TOPDIR_P?]: If subdir/Makefile.in was removed, am--refresh would not update it. Fix up for it by running the per-directory rebuild rule. * tests/remake6.test, tests/remake6.test: New tests. * tests/Makefile.am: Adjust. * NEWS, THANKS: Update. Report and initial patch by Ilya N. Golubev. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 63316731 2008-06-18T00:37:42 Introduce macro $(am__mv) to facilitate 'libtool --dry-run'. * lib/am/depend.am (am__mv): New macro, set to 'mv -f'. * lib/am/depend2.am: Use throughout to move the temporary depfile *.Tpo to its final destination *.Po. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 24abcf7f 2008-06-18T00:19:16 New variable am__install_max. * lib/am/inst-vars.am (am__install_max): New variable. (am__nobase_list): Use it. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>