Ralf Wildenhues [Sat, 18 Apr 2009 21:03:17 +0000 (23:03 +0200)]
manual: add FAQ `Debugging Make Rules'.
* doc/automake.texi (Debugging Make Rules): New FAQ section.
(Top, FAQ): Adjust menus, and capitalization of the description
of the `Hard-Coded Install Paths' node.
(Multiple Outputs): Add comment to restore font-lock for vim.
Suggestion by Karl Berry.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 19 Apr 2009 10:46:36 +0000 (12:46 +0200)]
Let XFile::lock warn and fail with parallel non-GNU make, too.
* lib/Automake/XFile.pm (lock): Also match `-j' for parallel BSD
make, and `-P' for parallel HP-UX make.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 19 Apr 2009 07:47:01 +0000 (09:47 +0200)]
Fix AM_PROG_VALAC version requirement detection.
* m4/vala.m4 (AM_PROG_VALAC): Remove `Vala ' from valac
--version string before comparing versions.
* tests/vala2.test: Require version 0.7.0 for the test.
Fixes failures of vala2.test and vala3.test with older valac.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 19 Apr 2009 00:19:20 +0000 (02:19 +0200)]
Correctly treat all assignments with bogus trailing comments.
Before this patch, automake would silently fail to diagnose and
to copy into the output those variable assignments which are
preceded by a comment, and end in backslash newline comment.
* automake.in (read_am_file): When determining whether an
escaped newline followed by a comment is an error, correctly use
the parser state, not the contents of a saved comment, which
could still be carried over from a comment before an assignment.
* NEWS: Update.
* tests/commen11.test: New test.
* tests/Makefile.am: Update.
Report by Karl Berry.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 19 Apr 2009 06:50:46 +0000 (08:50 +0200)]
Merge branch 'next'
* next: (64 commits)
More minor fixups to vala support.
Improve Vala support.
testsuite: do not fail on systems without read permissions.
testsuite: parallel make fixes.
silent-rules reorganization, --enable-silent-rules switch.
manual: Add note about parallelism and tests ordering.
Fix maintainer-check failure.
parallel-tests: more testsuite exposure.
parallel-tests: let VERBOSE=yes output appear before summary.
parallel-tests: `clean recheck' should not rerun all tests.
parallel-tests: Fix driver for nonempty executable extension.
Fix a couple of $(EXEEXT)-related testsuite failure.
Document last change in NEWS.
Fix renamed objects with subdir-objects and other languages.
Do not remove texinfo outputs upon mostlyclean.
testsuite: unset TESTS, TEST_LOGS, to avoid interference.
testsuite: generate $(parallel_tests) just when needed.
Remove superfluous line from recheck recheck-html.
parallel-tests: redo check-html, recheck, recheck-html.
parallel-tests: LOG_COMPILER for tests without known extension.
...
Ralf Wildenhues [Sun, 19 Apr 2009 06:09:13 +0000 (08:09 +0200)]
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.
Ralf Wildenhues [Sun, 19 Apr 2009 06:06:51 +0000 (08:06 +0200)]
More minor fixups to vala support.
* automake.in (lang_vala_finish_target): Fix typo in comment.
* doc/automake.texi (Vala Support): Fix typo. Declare vala
support as "initial".
* NEWS: Likewise, declare vala support as "initial".
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jürg Billeter [Sun, 5 Apr 2009 13:16:48 +0000 (15:16 +0200)]
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 [Sun, 19 Apr 2009 05:59:42 +0000 (07:59 +0200)]
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 [Tue, 14 Apr 2009 21:42:14 +0000 (23:42 +0200)]
testsuite: do not fail on systems without read permissions.
* tests/instfail-info.test: Do not use the `non-root'
requirement for testing whether files may be made unreadable;
instead use `test -r' and skip the test if that still works.
* tests/instfail-java.test: Likewise.
* tests/instfail-libtool.test: Likewise.
* tests/instfail.test: Likewise.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/instmany.test: Likewise.
* tests/parallel-tests9.test: Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Tue, 14 Apr 2009 21:09:15 +0000 (23:09 +0200)]
testsuite: parallel make fixes.
This patch fixes a couple of testsuite bugs exposed with
`MAKE=make\ -jN make check'.
* tests/libtoo10.test: Do not run `clean' in same $MAKE
invocation as `all check'. Fixes test failure with parallel
NetBSD `make -jN'.
* tests/nobase.test: Be sure to create a directory before
creating files in it. Fixes test failure with MAKE=`make -jN'
for NetBSD make. This issue is hidden with parallel GNU make
due to its parallel breadth first update order.
* tests/parallel-tests3.test: Skip if $MAKE contains `-j',
GNU make will use the environment variable $MAKE for recursion
and thus run in parallel even if `$MAKE -j1' was used on the
command line in the test. Also, after running the test proper,
wait long enough so that background jobs have finished and there
are no open files left when the cleanup code runs.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Karl Berry [Tue, 14 Apr 2009 19:43:08 +0000 (21:43 +0200)]
manual: improve markup: itemize list in `Extending'.
* doc/automake.texi (Extending): Use `@item's for user override
semantics.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 13 Apr 2009 21:17:39 +0000 (23:17 +0200)]
silent-rules reorganization, --enable-silent-rules switch.
This patch introduces a configure-time option to set the default
verbosity. Since configure now needs to know whether the
`silent-rules' automake option was set, the latter can only be
set within AM_INIT_AUTOMAKE, or with a new AM_SILENT_RULES macro
but not any more through AUTOMAKE_OPTIONS or the automake
command line option `--silent-rules'.
* automake.in (define_verbose_var): Define the default verbose
variable in terms of `$(AM_DEFAULT_VERBOSITY)'.
(handle_configure): Do not pass `--silent-rules' to automake.
(scan_autoconf_traces): Trace `AM_SILENT_RULES'. If seen,
enable global `silent-rules' option.
(usage): Do not document `--silent-rules'.
(parse_arguments): Do not accept `--silent-rules'.
* doc/automake.texi (Options): Overhaul. Document
AM_SILENT_RULES, --enable-silent-rules, --disable-silent-rules,
AM_DEFAULT_VERBOSITY. Show an example for user-added variables
for less verbose output.
(Invoking Automake): Remove documentation for `--silent-rules'.
(Public Macros): Document `AM_SILENT_RULES'.
* NEWS: Update.
* lib/Automake/Options.pm (_process_option_list): Accept
`silent-rules' only as option in configure.ac.
* m4/init.m4 (AM_INIT_AUTOMAKE): If the `silent-rules' option
was enabled, require `AM_SILENT_RULES'; move AM_BACKSLASH
initialization to ...
* m4/silent.m4 (AM_SILENT_RULES): ... this new file, new macro.
Deal with `--enable-silent-rules' switch; define
AM_DEFAULT_VERBOSITY.
* m4/Makefile.am (dist_m4data_DATA): Add silent.m4.
* tests/dollarvar.test: Remove tests for `--silent-rules', use
`AM_SILENT_RULES'.
* tests/flavor.test: Remove test for `--silent-rules'.
* tests/silent.test: Use `AM_SILENT_RULES' instead of
`AUTOMAKE_OPTIONS = silent-rules'; use `--enable-silent-rules'.
* tests/silent2.test: Likewise.
* tests/silent3.test: Likewise.
* tests/silent4.test: Likewise.
* tests/silent5.test: Likewise.
* tests/silent6.test: Likewise. Test `AM_SILENT_RULES' as well
as `AM_INIT_AUTOMAKE([silent-rules])' instead of
`--silent-rules'.
* tests/silent7.test: Use `AM_SILENT_RULES' instead of
`AUTOMAKE_OPTIONS = silent-rules'; ensure the latter is rejected.
Test combinations of --enable-silent-rules and
--disable-silent-rules with `make V=0' and `make V=1'.
Suggestion for configure-time switch by Bob Friesenhahn.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 13 Apr 2009 11:36:19 +0000 (13:36 +0200)]
manual: Add note about parallelism and tests ordering.
* doc/automake.texi (Simple Tests using parallel-tests):
Dependencies between test logs work for tests with known
extensions only. Hint that tests should be prepared to be run
in parallel.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 13 Apr 2009 11:35:06 +0000 (13:35 +0200)]
Fix maintainer-check failure.
* tests/suffix13.test: Use Exit not exit.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 13 Apr 2009 11:29:25 +0000 (13:29 +0200)]
bin_PROGRAMS = $(EXTRA_PROGRAMS) should work.
* automake.in (am_install_var): For `PROGRAMS' primary, strip
`$(EXEEXT)' here already, so the name uniquifying works even
when we look at names repeatedly, with inconsistent executable
extension; through variable references, we might have added
the extension ourselves earlier.
(handle_programs): No need to strip `$(EXEEXT)' here any more.
* tests/extra8.test: New test.
* tests/Makefile.am: Update.
* THANKS: Update.
Report by Daniel Richard G.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering [Fri, 10 Apr 2009 14:25:05 +0000 (16:25 +0200)]
Fix grammar in comments and documentation.
* doc/automake.texi (API versioning): Fix grammar.
* automake.in: Fix grammar in comment.
* lib/Automake/ChannelDefs.pm: Likewise.
* tests/ext2.test: Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Fri, 10 Apr 2009 11:37:31 +0000 (13:37 +0200)]
parallel-tests: more testsuite exposure.
* tests/parallel-tests.test: Also test overriding TEST_LOGS and
TESTS.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Fri, 10 Apr 2009 11:31:28 +0000 (13:31 +0200)]
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 [Fri, 10 Apr 2009 11:26:16 +0000 (13:26 +0200)]
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 [Wed, 8 Apr 2009 22:16:35 +0000 (00:16 +0200)]
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 [Wed, 8 Apr 2009 22:15:32 +0000 (00:15 +0200)]
Fix a couple of $(EXEEXT)-related testsuite failure.
* tests/check8.test: Allow executable extensions in test suite
output.
* tests/check9.test: Add `$(EXEEXT)' manually to @substituted@
XFAIL_TESTS entries.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 8 Apr 2009 18:02:55 +0000 (20:02 +0200)]
Document last change in NEWS.
* NEWS: Update for last patch.
Florian Briegel [Tue, 7 Apr 2009 21:16:01 +0000 (23:16 +0200)]
Fix renamed objects with subdir-objects and other languages.
* automake.in: Fixed bug when building with renamed objects
and foreign languages.
* tests/suffix13.test: New test.
* tests/Makefile.am: Adjust.
* THANKS: Update.
Reports by Florian Briegel and Stepan Kasal.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Tue, 7 Apr 2009 20:54:28 +0000 (22:54 +0200)]
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 [Mon, 6 Apr 2009 20:14:04 +0000 (22:14 +0200)]
testsuite: unset TESTS, TEST_LOGS, to avoid interference.
* tests/defs.in: Unset TESTS, TEST_LOGS.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 6 Apr 2009 20:08:30 +0000 (22:08 +0200)]
testsuite: generate $(parallel_tests) just when needed.
* tests/Makefile.am (check_SCRIPTS): No need to list
$(parallel_tests) here, they can be generated as needed during
the test run, following our recommendation in the manual.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 6 Apr 2009 20:02:58 +0000 (22:02 +0200)]
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 [Mon, 6 Apr 2009 05:03:16 +0000 (07:03 +0200)]
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 [Sat, 4 Apr 2009 10:14:14 +0000 (12:14 +0200)]
parallel-tests: LOG_COMPILER for tests without known extension.
* automake.in (handle_tests): If we don't match a known
extension, define `LOG_COMPILER' as `$(LOG_COMPILE)
$(AM_LOG_FLAGS) $(LOG_FLAGS)' and use it as %COMPILE% in check2.
* doc/automake.texi (Simple Tests using parallel-tests):
Document it. In the examples, suggest using the AM_*LOG_FLAGS
flags in Makefile.am rather than the variables without `AM_'
prefix.
* lib/Automake/tests/Makefile.am (AM_PL_LOG_FLAGS): Renamed from
(PL_LOG_FLAGS): ... this variable, intended for the user.
* tests/parallel-tests7.test: Extend test.
* NEWS: Update.
Suggestion by Akim Demaille.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 4 Apr 2009 09:10:02 +0000 (11:10 +0200)]
More node renaming in the manual.
* doc/automake.texi (Top): Adjust menu to ...
(API Versioning): ... this node being renamed from ...
(API versioning): ... this, and ...
(Wildcards): ... this being renamed from ...
(wildcards): ... this.
Report by Karl Berry.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Andreas Schwab [Fri, 3 Apr 2009 05:20:53 +0000 (07:20 +0200)]
Fix instdir-java.test failure.
* tests/instdir-java.test: Don't require gcj. Skip if javac is
not available.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 1 Apr 2009 18:36:22 +0000 (20:36 +0200)]
Fix testsuite failures due to nonexistent `dirlist' entries.
* tests/defs.in: When parsing `$aclocaldir/dirlist', only add
existing directories D to aclocal `-I D' flags, as aclocal
errors on nonexisting directories.
Report and analysis by Andreas Schwab.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Akim Demaille [Tue, 31 Mar 2009 19:45:14 +0000 (21:45 +0200)]
Fix typo in manual.
* doc/automake.texi (Simple Tests using parallel-tests): Fix
typo.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering [Tue, 31 Mar 2009 19:11:06 +0000 (21:11 +0200)]
Avoid test failure due to paranoid TAR_OPTIONS envvar setting.
* tests/txinfo18.test: Don't let a TAR_OPTIONS=--keep-old-files
environment variable setting cause test failure. Fixed in
texi2dvi 4.13.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering [Tue, 31 Mar 2009 19:06:28 +0000 (21:06 +0200)]
Use more common spelling in diagnostic: s/canonic/canonical/.
* automake.in (check_typos): s/canonic/canonical/.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 30 Mar 2009 22:54:04 +0000 (00:54 +0200)]
Post-release version bump.
* configure.ac, NEWS: Bump version to 1.10c.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 29 Mar 2009 21:23:16 +0000 (23:23 +0200)]
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 [Sun, 29 Mar 2009 21:05:38 +0000 (23:05 +0200)]
Minor NEWS update.
* NEWS: Minor update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 29 Mar 2009 05:48:08 +0000 (07:48 +0200)]
Reorganize nodes in the manual.
Avoid texinfo sectioning commands without nodes, by either
introducing new nodes along with menus, or using headings
commands. Adjust all references.
* doc/automake.texi: Throughout the manual, adjust references to
new or changed node names. Rename `non-configured' to
`unconfigured', capitalize headings and section names better.
(Top): List new menus and nodes introduced below.
(Length Limitations): Renamed from ...
(Length limitations): ... this.
(aclocal Options): Renamed from ...
(aclocal options): ... this.
(Macro Search Path): Renamed from ...
(Macro search path): ... this. Rename subsubsections to
subsubheadings.
(Public Macros, Obsolete Macros, Private Macros): Renamed from
(Public macros, Obsolete macros, Private macros): ... these.
(Conditional Subdirectories): Introduce sub menu and split ...
(SUBDIRS vs DIST_SUBDIRS, Subdirectories with AM_CONDITIONAL)
(Subdirectories with AC_SUBST, Unconfigured Subdirectories):
... into these new nodes. Adjust subsection names to node
names.
(Conditional Sources): Rename subsubsections to subsubheadings.
(Conditional Programs): Likewise.
(Program Variables): Renamed from ...
(Program variables): ... this.
(Libtool Issues): Introduce sub menu and split into ...
(Required file ltmain.sh not found)
(Objects created both with libtool and without): ... these new
nodes.
(Other Objects, Built Sources): Renamed from ...
(Other objects, Built sources): ... these.
(Built Sources Example): Renamed from ...
(Built sources example): this. Rename unnumberedsubsecs to
subsubheadings.
(Man Pages): Renamed from ...
(Man pages): ... this.
(Install): Introduce sub menu and split into ...
(Basics of Installation, The Two Parts of Install)
(Extending Installation, Staged Installs)
(Install Rules for the User): ... these new nodes.
(Dist): Introduce sub menu and split into ...
(Basics of Distribution, Fine-grained Distribution Control)
(The dist Hook, Checking the Distribution)
(The Types of Distributions): ... these new nodes.
(Tests): Introduce sub menu and split into ...
(Simple Tests, Simple Tests using parallel-tests, DejaGnu Tests)
(Install Tests): ... these new nodes.
(Conditionals): Move the portability paragraph up, introduce sub
menu and split into ...
(Usage of Conditionals, Limits of Conditionals): ... these new
nodes. Link to several sections throughout the manual that deal
with specific usage of conditionals.
(CVS): Rename subsections to subheadings.
(maintainer-mode): Likewise.
(Limitations on File Names): Renamed from ...
(limitations on file names): ... this.
(Flag Variables Ordering): Rename subsections to subheadings.
(Renamed Objects): Renamed from ...
(Renamed objects): ... this.
(Dependency Tracking Evolution): Introduce sub menu and split
into ...
(First Take on Dependencies, Dependencies As Side Effects)
(Dependencies for the User, Techniques for Dependencies)
(Recommendations for Tool Writers)
(Future Directions for Dependencies): ... these new nodes.
Report by Karl Berry.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 29 Mar 2009 00:23:30 +0000 (01:23 +0100)]
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 [Sun, 29 Mar 2009 00:21:01 +0000 (01:21 +0100)]
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 [Sun, 29 Mar 2009 00:17:51 +0000 (01:17 +0100)]
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 [Sat, 28 Mar 2009 23:59:46 +0000 (00:59 +0100)]
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 [Sat, 28 Mar 2009 23:48:37 +0000 (00:48 +0100)]
Rewrite maintainer-check in separate tests, parallelizable.
* Makefile.am (sc_diff_automake_in_automake, sc_perl_syntax)
(sc_no_brace_variable_expansions, sc_rm_minus_f)
(sc_no_for_variable_in_macro, sc_mkinstalldirs)
(sc_pre_normal_post_install_uninstall, sc_perl_no_undef)
(sc_perl_no_split_regex_space, sc_cd_in_backquotes)
(sc_cd_relative_dir, sc_perl_at_uscore_in_scalar_context)
(sc_perl_local_no_parens, sc_perl_local)
(sc_AMDEP_TRUE_in_automake_in, sc_tests_make_without_am_makeflags)
(sc_tests_plain_make, sc_tests_plain_autoconf)
(sc_tests_plain_autoupdate, sc_tests_plain_automake)
(sc_tests_here_document_format, sc_tests_Exit_not_exit)
(sc_tests_automake_fails, sc_tests_plain_aclocal)
(sc_tests_plain_perl, sc_tests_required_after_defs)
(sc_tests_overriding_macros_on_cmdline, sc_tests_plain_sleep)
(sc_tests_plain_egrep_fgrep, sc_mkdir_p, sc_perl_at_substs)
(sc_unquoted_DESTDIR, sc_tabs_in_texi, sc_at_in_texi): New rules,
all phony, all listed in ...
(syntax_check_rules): ... this new variable and split out from ...
(maintainer-check): ... this rule. Depend on $(syntax_check_rules).
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 28 Mar 2009 23:53:40 +0000 (00:53 +0100)]
Fix maintainer-check failure.
* Makefile.am (maintainer-check): Do not complain if DESTDIR is
passed as argument to `make'.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 28 Mar 2009 23:39:17 +0000 (00:39 +0100)]
Fix latex warning in manual.
* doc/automake.texi (Cross-Compilation): Fix underfull hbox.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 28 Mar 2009 23:38:47 +0000 (00:38 +0100)]
Sync auxiliary files from upstream.
* INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
lib/texinfo.tex: Sync from upstream.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 28 Mar 2009 21:58:34 +0000 (22:58 +0100)]
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 [Sat, 28 Mar 2009 21:52:22 +0000 (22:52 +0100)]
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 [Sat, 28 Mar 2009 20:49:02 +0000 (21:49 +0100)]
parallel-tests: warn about $(srcdir), $(top_srcdir) in TESTS.
* automake.in (handle_tests): Warn about portability issue
concerning generated TESTS files listed with a `$(srcdir)/'
or `$(top_srcdir)/' prefix.
* doc/automake.texi (TESTS): Document this issue. Mention that
the parallel-tests driver is still experimental.
* tests/parallel-tests8.test: New test.
* tests/Makefile.am: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 28 Mar 2009 20:01:43 +0000 (21:01 +0100)]
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 [Wed, 11 Mar 2009 22:55:26 +0000 (23:55 +0100)]
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 [Mon, 24 Nov 2008 08:50:20 +0000 (09:50 +0100)]
manual: minor cleanups.
* doc/automake.texi (Yacc and Lex): Adjust spacing in example.
(Mixing Fortran 77 With C and C++): Drop unneeded @page breaks.
Ralf Wildenhues [Sat, 28 Mar 2009 17:04:48 +0000 (18:04 +0100)]
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 [Sat, 28 Mar 2009 17:03:15 +0000 (18:03 +0100)]
Ensure that empty directory variables work with empty content variables.
This test ensures that, if both $(wheredir) and $(where_HOW) are
the empty string, then the `install' and `uninstall' rules behave
sanely, for several directory variables `wheredir' and several
primaries `HOW'.
* tests/instdir.test: New test.
* tests/Makefile.am: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 23 Mar 2009 20:47:19 +0000 (21:47 +0100)]
Use --tag=FC with libtool also for .f90 files.
* automake.in: Set 'libtool_tag' for language `fc'.
* tests/fort5.test: Grep for the tag.
* THANKS: Update.
Report by John R. Cary.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 11 Mar 2009 20:03:00 +0000 (21:03 +0100)]
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 [Sun, 22 Mar 2009 09:11:14 +0000 (10:11 +0100)]
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>
Jim Meyering [Sun, 22 Mar 2009 09:00:27 +0000 (10:00 +0100)]
Fix a documentation typo.
* doc/automake.texi (Headers): Clarify the note telling when it's
better not to use noinst_HEADERS.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 22 Mar 2009 08:53:19 +0000 (09:53 +0100)]
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 [Sun, 22 Mar 2009 08:39:14 +0000 (09:39 +0100)]
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 [Sat, 14 Mar 2009 10:14:38 +0000 (11:14 +0100)]
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 [Sat, 14 Mar 2009 10:13:18 +0000 (11:13 +0100)]
Merge branch 'je-silent' into next
* je-silent:
Rename `silent' mode to `silent-rules' mode.
`silent' mode unconditionally overrides portability-recursive.
Drop extra line from compile rules when `silent' is not used.
Keep `--silent-rules' across triggered automake reruns.
Provide variables for silencing of user rules.
Redo variable naming for `silent' machinery.
Let -Wportability turn on/off the portability-recursive channel.
New automake command line option `--silent-rules'.
Documentation and tests for the `silent' option.
Implement `silent' build rules.
New channel `portability-recursive'.
Ralf Wildenhues [Sat, 14 Mar 2009 10:02:34 +0000 (11:02 +0100)]
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 11 Mar 2009 19:36:14 +0000 (20:36 +0100)]
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 [Tue, 10 Mar 2009 22:57:01 +0000 (23:57 +0100)]
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 [Tue, 10 Mar 2009 21:09:45 +0000 (22:09 +0100)]
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 [Tue, 10 Mar 2009 21:02:15 +0000 (22:02 +0100)]
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 [Tue, 10 Mar 2009 20:33:47 +0000 (21:33 +0100)]
Use append mode to capture parallel test output.
* tests/lisp8.test: Use append mode for output from `make -j',
to avoid dropped lines.
* tests/parallel-tests3.test: Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Tue, 10 Mar 2009 20:10:25 +0000 (21:10 +0100)]
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>
Ralf Wildenhues [Sun, 8 Mar 2009 13:08:18 +0000 (14:08 +0100)]
Overhaul of tests/README.
* tests/README: General overhaul. Mention parallel test suite
execution, the test-suite.log file; document `Exit' vs. `exit',
`defs' vs. `defs-p', the naming of `parallel-tests' tests.
* README: Simplify, point to tests/README.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 8 Mar 2009 13:07:37 +0000 (14:07 +0100)]
Documentation for the parallel-tests driver.
* doc/automake.texi (Tests, Options): Document the `parallel-tests'
option, including new features of the test driver.
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 8 Mar 2009 13:05:56 +0000 (14:05 +0100)]
New tests for `parallel-tests'.
* tests/parallel-tests.test: New file, to expose a bunch of
features of `parallel-tests': VERBOSE, clean, TEST_SUITE_LOG,
test dependencies, DISABLE_HARD_ERRORS.
* tests/parallel-tests2.test: New file, test check-html.
* tests/parallel-tests3.test: New file, test concurrency.
* tests/parallel-tests4.test: New file, test suffix rules.
* tests/parallel-tests5.test: New file, demonstrate compile/test
concurrency.
* tests/defs.in: Add a `required' check for rst2html.
* tests/Makefile.am: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 8 Mar 2009 13:04:38 +0000 (14:04 +0100)]
parallel-tests: Ensure backward-compatible semantics.
For each test in Automake's test suite that uses TESTS, generate
an identical one that uses the `parallel-tests' option, for
coverage of backward-compatible functionality.
* tests/gen-parallel-tests: New file, generates distributed
Makefile.am snippet tests/parallel-tests.am to list all tests
that use the TESTS interface but not yet the `parallel-tests'
option, with names mangled to use suffix `-p.test', in ...
(parallel_tests): ... this new make macro.
* tests/Makefile.am ($(srcdir)/parallel-tests.am)
($(parallel_tests), defs-p): New rules.
(TESTS): Add check11.test and $(parallel_tests).
(check_SCRIPTS): Add defs-p, $(parallel_tests).
(check-clean-local): Remove `defs-p'.
(EXTRA_DIST): Distribute gen-parallel-tests.
(MAINTAINERCLEANFILES): New variable, remove $(parallel_tests).
* bootstrap: Generate parallel-tests.am.
* tests/check8.test: Check for circular dependencies in rules.
* tests/check11.test: New test, check that SKIPs are not counted
as passed tests.
* tests/defs.in: Unset DISABLE_HARD_ERRORS, LAZY_TEST_SUITE,
VERBOSE, so the tests are not influenced by the way our test
suite is invoked.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Akim Demaille [Sun, 8 Mar 2009 10:29:03 +0000 (11:29 +0100)]
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 [Thu, 12 Mar 2009 21:03:43 +0000 (22:03 +0100)]
Ignore warnings from autom4te about Libtool macros.
* tests/ltinstloc.test: When testing for presence of warnings,
filter out any that are not interesting for this test, e.g.,
warnings about installed files or about bogusly named cache
variables in libtool.m4, emitted by recent Autoconf when older
Libtool is used.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Thu, 12 Mar 2009 06:40:20 +0000 (07:40 +0100)]
Rename `silent' mode to `silent-rules' mode.
* automake.in (define_verbose_var, verbose_flag)
(define_verbose_tagvar, handle_options, handle_languages)
(handle_configure, parse_arguments): Rename the `silent' option
to `silent-rules', so it coincides with the `--silent-rules'
command line option; adjust all code and comments.
* lib/Automake/Options.pm (_process_option_list): Likewise.
* doc/automake.texi (Invoking Automake, Libtool Flags, Options):
Likewise.
* NEWS: Adjust.
* tests/dollarvar.test, tests/silent.test, tests/silent2.test,
tests/silent3.test, tests/silent4.test, tests/silent5.test,
tests/silent6.test, tests/silent7.test: Likewise.
Suggestion by Jan Engelhardt.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 11 Mar 2009 19:53:24 +0000 (20:53 +0100)]
`silent' mode unconditionally overrides portability-recursive.
* automake.in (parse_arguments): Don't handle a global `silent'
option here; instead, ...
(handle_options): ... handle the "normal" `silent' option here.
Override `portability-recursive' here, at the last point we deal
with options, instead ...
* lib/Automake/Options.pm (_process_option_list): ... of here.
* tests/silent6.test: Replace unportable make snippet, remove
FIXME note, add more test cases of options passed in the various
locations.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 11 Mar 2009 18:50:16 +0000 (19:50 +0100)]
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 [Tue, 10 Mar 2009 21:59:00 +0000 (22:59 +0100)]
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>
Ralf Wildenhues [Mon, 9 Mar 2009 21:06:22 +0000 (22:06 +0100)]
Relax depcomp test for MSVC to not require minuso.
* m4/depend.m4 (_AM_DEPENDENCIES): When checking the msvisualcpp
and msvcmsys depmodes, do not require `-c -o' to work just yet.
It is not needed by the depcomp script for these depmodes, and
works around the ordering issue between the tests.
Report by Peter Rosin.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 9 Mar 2009 20:57:49 +0000 (21:57 +0100)]
Provide variables for silencing of user rules.
* automake.in (handle_languages): Always define `AM_V_GEN' and
`AM_V_at'.
* doc/automake.texi (Options): Document these flags.
* tests/silent7.test: New test.
* tests/Makefile.am: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 9 Mar 2009 20:45:57 +0000 (21:45 +0100)]
Redo variable naming for `silent' machinery.
The public variables are named `AM_V_' plus the compiler
short-hand now, e.g.: AM_V_CC, AM_V_CXXLD, AM_V_GEN. The
dispatch variables are internal details and begin with
`am__v_'.
* automake.in (verbose_var): Update comment.
(verbose_private_var): New function. Order functions so that
ones not needed outside this section are listed first.
(verbose_dispatch): Remove, no need to factor this.
(define_verbose_var, define_verbose_libtool): Use
verbose_private_var.
(define_verbose_tagvar): Likewise; and simplify.
Report by Jan Engelhardt.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Mon, 9 Mar 2009 20:20:20 +0000 (21:20 +0100)]
Let -Wportability turn on/off the portability-recursive channel.
* lib/Automake/ChannelDefs.pm (switch_warning): switch
`portability-recursive' channel as well if changing the
`portability' channel.
* tests/dollarvar2.test: New test.
* tests/Makefile.am: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Peter Rosin [Mon, 9 Mar 2009 15:53:11 +0000 (16:53 +0100)]
* tests/compile2.test: Fix typo.
Ralf Wildenhues [Sat, 7 Mar 2009 15:01:34 +0000 (16:01 +0100)]
New automake command line option `--silent-rules'.
* automake.in (parse_arguments): Accept `--silent-rules; let it
override command line warning settings.
(usage): Document it.
* doc/automake.texi (Invoking Automake): Document it.
* NEWS: Update.
* tests/dollarvar.test: Also test `--silent-rules'.
* tests/pr300-ltlib.test: Use `$MAKE V=1' to enable verbose
output, which is matched later in the test.
* tests/silent6.test: New test.
* tests/Makefile.am: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 7 Mar 2009 14:59:24 +0000 (15:59 +0100)]
Documentation and tests for the `silent' option.
* NEWS: Update.
* doc/automake.texi (Invoking Automake): `silent' turns off some
portability warnings.
(Libtool Flags): `silent' silences libtool.
(Options): Document the `silent' flag.
* tests/dollarvar.test, tests/silent.test, tests/silent2.test,
tests/silent3.test, tests/silent4.test, tests/silent5.test: New
tests.
* tests/Makefile.am: Update.
* Makefile.am (maintainer-check): Ignore `DESTDIR' and `V' when
checking for make variables that should not be overridden from
the command line.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jan Engelhardt [Sat, 7 Mar 2009 14:58:07 +0000 (15:58 +0100)]
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 [Sat, 7 Mar 2009 14:57:22 +0000 (15:57 +0100)]
New channel `portability-recursive'.
Add new channel for portability warnings about recursive make
variable expansions `$(var1$(var2))'. Enable it alongside
`-Wportability'.
* lib/Automake/ChannelDefs.pm (Automake::ChannelDefs): Register
channel `portability-recursive'.
* lib/Automake/Variable.pm (_VARIABLE_CHARACTERS)
(_VARIABLE_RECURSIVE_PATTERN): New variables.
(check_variable_expansions): Diagnose recursive variable
expansions through the new channel.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 7 Mar 2009 09:42:34 +0000 (10:42 +0100)]
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 [Sat, 7 Mar 2009 08:00:19 +0000 (09:00 +0100)]
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>
Ralf Wildenhues [Sat, 7 Mar 2009 06:40:06 +0000 (07:40 +0100)]
Solaris make testsuite fixes.
* tests/check10.test: When a rule fails, Solaris make will
output the complete command that failed; in this case the test
suite driver. Adjust the test to not bogusly match lines from
the driver, rather than its output.
* tests/distcleancheck.test: Avoid triggering VPATH rewriting,
not desirable in this test.
* tests/specflg10.test: Use BUILT_SOURCES to specify an
intermediate target, so Solaris make knows what to do.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 7 Mar 2009 00:41:29 +0000 (01:41 +0100)]
testsuite: SKIP compile tests if configure found no compiler.
* tests/depend6.test: configure will exit 77 if AC_PROG_CC found
no working compiler. Allow the test to be SKIPped in that case.
* tests/postproc.test: Likewise.
* tests/pr243.test: Likewise.
* tests/pr266.test: Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 7 Mar 2009 00:27:11 +0000 (01:27 +0100)]
Fix maintainer-check fallout.
* tests/compile2.test: Use `Exit', not `exit'.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Peter Breitenlohner [Sat, 7 Mar 2009 00:06:18 +0000 (01:06 +0100)]
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 [Fri, 6 Mar 2009 06:34:08 +0000 (07:34 +0100)]
manual: Fix logic in AM_MAINTAINER_MODE description.
* doc/automake.texi (maintainer-mode): Fix logic in
AM_MAINTAINER_MODE description.
* THANKS: Update.
Report by Daniel Kahn Gillmor.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Thu, 5 Mar 2009 19:02:03 +0000 (20:02 +0100)]
* lib/gnupload: Change conffile name to `.gnuploadrc'.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
William Pursell [Mon, 1 Dec 2008 21:06:10 +0000 (21:06 +0000)]
Replace bare `automake' with `@command{automake}' or `Automake'.
* doc/automake.texi: Avoid bare `automake' in the manual,
replacing occurrences with `@command{automake}' when the command
is meant, and `Automake' when speaking about the software
package in general.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 4 Mar 2009 20:19:49 +0000 (21:19 +0100)]
* lib/depcomp: Various portability and quoting nits.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>