Stefano Lattarini [Thu, 7 Jun 2012 17:14:30 +0000 (19:14 +0200)]
cleanup: simplify subroutine '&saw_extension'
* automake.in (saw_extension): Now that we use the '%extension_seen'
hash only as a set (it's keys being its elements), we can simplify
the implementation of this function accordingly.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 7 Jun 2012 17:14:12 +0000 (19:14 +0200)]
cleanup: remove subroutine '&saw_sources_p'
* automake.in (saw_sources_p): Remove, its implementation is now so
trivial that it's easier to inline it into ...
(handle_languages): ... it's only caller.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 7 Jun 2012 17:13:39 +0000 (19:13 +0200)]
cleanup: remove unused '&count_files_for_language' subroutine
* automake.in (count_files_for_language): Remove. Its only remaining
caller (saw_sources_p) has stopped calling it in the previous commit.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 7 Jun 2012 17:12:43 +0000 (19:12 +0200)]
automake: simplify '&saw_sources_p'
This is just a minor cleanup. No semantic change is intended.
* automake.in (saw_sources_p): Since its now-only caller calls it with
the '0' argument, remove the code paths that assumed the argument could
be '1', and assume no arguments.
(handle_languages): Drop the arguments '0' in the '&saw_sources_p'
invocation.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 7 Jun 2012 17:12:11 +0000 (19:12 +0200)]
tags: look at $(am__tagged_files) to decide whether to activate
This is just a preparatory refactoring in view of future changes.
* automake.in (handle_tags): To decide whether to include the tags rules,
rely on whether the automake-defined variable $(SOURCES) is non-empty,
rather than on the fact that '&saw_sources(1)' returns true.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 7 Jun 2012 18:13:37 +0000 (20:13 +0200)]
tags: new var $(am__tagged_files) to list all files to run taggers on
This change reduce code duplication a little, and will be needed by
future simplifications.
* automake.in (handle_tags): Define a new 'am__tagged_files' private
make variable that lists all files to run taggers (mkid, cscope, ctags,
etc) on. Drop the now-useless transform '%CONFIG%' when including
'tags.am'.
* lib/am/tags.am: Use it in several recipes and dependencies list to
reduce code duplication.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 7 Jun 2012 17:41:37 +0000 (19:41 +0200)]
tags (cscope): also process $(TAGS_FILES)
* lib/am/tags.am (cscopelist): Also scan the files (if any) listed in
the '$(TAGS_FILES) variable, for consistency by what is done by the
'ID', 'TAGS' and 'CTAGS' rules.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 7 Jun 2012 17:19:15 +0000 (19:19 +0200)]
tags (ID, cscope): also process config header (if any)
* lib/am/tags.am (cscopelist, ID): Also scan the file given by the
'%CONFIG%' transform, for consistency by what is done by the 'TAGS'
and 'CTAGS' rules.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 2 Jun 2012 07:54:17 +0000 (09:54 +0200)]
Merge branch 'maint'
* maint:
news: document deprecation of configure.in
news: put planned backward compatibilities early
sync: update files from upstream with "make fetch"
maint: deprecate 'configure.in' as autoconf input
maint: post-release minor version bump
release: stable release 1.12.1
copyright: update copyright years in a couple of files
tests: avoid spurious failures with Solaris 9 cscope program
maintcheck: fix a spurious failure
perf: beginning of a performance testsuite
aclocal: declare function prototypes, do not use '&' in function calls
news: support for configure.in will be dropped in future automake versions
tests: fix botched heading comments in 'lex-clean-cxx.sh'
[ng] maintcheck: some tweaks and fixlets
help: fix a typo in the list of warning categories
maint: version bump after beta release
release: beta release 1.12.0b (will become 1.12.1)
release: remove overly picky check
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 2 Jun 2012 07:34:29 +0000 (09:34 +0200)]
news: document deprecation of configure.in
* NEWS (Warnings and deprecations): We now warn if 'configure.in' is
used instead of 'configure.ac' as autoconf input.
(Future backward-incompatibilities): Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 2 Jun 2012 07:24:29 +0000 (09:24 +0200)]
news: put planned backward compatibilities early
* NEWS (Future backward-incompatibilities): Put them in the news
entries for the future 1.12.2 release.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 1 Jun 2012 18:24:20 +0000 (20:24 +0200)]
sync: update files from upstream with "make fetch"
* lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 1 Jun 2012 17:15:29 +0000 (19:15 +0200)]
maint: deprecate 'configure.in' as autoconf input
It has been years since that has been deprecated in the documentation,
in favour of 'configure.ac':
Previous versions of Autoconf promoted the name configure.in, which
is somewhat ambiguous (the tool needed to process this file is not
described by its extension), and introduces a slight confusion with
config.h.in and so on (for which '.in' means "to be processed by
configure"). Using configure.ac is now preferred.
It's now time to start giving runtime warning about the use of
'configure.in', so that support for it can be removed in future
versions of autoconf/automake.
See also, in the Autoconf repository, commit 'v2.69-4-g560f16b' of
2012-05-23, "general: deprecate 'configure.in' as autoconf input".
* lib/Automake/Configure_ac.pm: Issue a warning in the 'obsolete'
category if 'configure.in' is detected. Since this module is synced
from Automake, this change is to be backported there (and will be
soon).
* t/help.sh: Adjust.
* t/configure.sh: Adjust and enhance.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 1 Jun 2012 16:55:14 +0000 (18:55 +0200)]
maint: post-release minor version bump
* configure.ac (AC_INIT): Bump version number to 1.12.1a.
* m4/amversion.m4: Likewise (automatically regenerated by
"make bootstrap").
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 1 Jun 2012 13:50:03 +0000 (15:50 +0200)]
release: stable release 1.12.1
* configure.ac (AC_INIT): Bump version number to 1.12.1.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 1 Jun 2012 13:47:17 +0000 (15:47 +0200)]
copyright: update copyright years in a couple of files
* doc/help2man, t/aclocal-verbose-install.sh: Update copyright,
thanks to "make update-copyright".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 1 Jun 2012 10:37:41 +0000 (12:37 +0200)]
tests: avoid spurious failures with Solaris 9 cscope program
* t/cscope.tap: Also check that the cscope program in use supports the
'-q' option; if this is not the case, some cscope usages in the generated
Makefiles would fail, so we must skip the checks involving those usages.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 1 Jun 2012 09:49:16 +0000 (11:49 +0200)]
maintcheck: fix a spurious failure
* Makefile.am (test_subdirs): Add 't/perf'. Fix spurious failure
of the 'maintainer-check-list-of-tests' target.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 29 May 2012 09:58:02 +0000 (11:58 +0200)]
perf: beginning of a performance testsuite
Some tests in the Automake testsuite already aims only at verifying
the performance, rather than the correctness, of some operations.
Still, they are somewhat shoehorned and forced into the PASS/FAIL
framework (say, with the 'ulimit' shell builtin used to verify some
operation doesn't take up too much time or memory), but that is
conceptually a stretch, and has already caused problems in practice
(see automake bug#11512 for an example).
So we start moving the "performance tests" out of the testsuite proper,
and make them run only "on demand" (when the user exports the variable
'AM_TESTSUITE_PERF' to "yes"). Ideally, we should provide those tests
with a custom runner/driver that measures and displays the relevant
performance information, but doing that correctly and with the right
APIs is definitely more difficult, so we leave it for a later step
(an hope we'll take such a step eventually).
* t/cond29.sh: Move ...
* t/perf/cond.sh: ... here, and adjust.
* t/testsuite-recheck-speed.sh: Move ...
* t/perf/testsuite-recheck.sh: ... here.
* t/testsuite-summary-speed.sh: Move ...
* t/perf/testsuite-summary.sh: ... here.
* t/list-of-tests.mk (perf_TESTS): New variable, listing the tests in
the 't/perf' directory.
(handwritten_TESTS): Adjust.
* defs: Skip any tests in the 't/perf/' subdirectory unless the
'AM_TESTSUITE_PERF' variable is set to "yes" or "y".
* .gitignore: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 29 May 2012 07:36:26 +0000 (09:36 +0200)]
Merge branch 'fix-pr11543' into maint
* fix-pr11543:
aclocal: declare function prototypes, do not use '&' in function calls
Stefano Lattarini [Mon, 28 May 2012 11:32:03 +0000 (13:32 +0200)]
aclocal: declare function prototypes, do not use '&' in function calls
This change will also fix automake bug#11543 (from a report by Matt
Burgess).
* aclocal.in: Declare prototypes for almost all functions early, before
any actual function definition (but omit the prototype for the dynamically
generated '&search' function). Add prototypes to any function definition.
Remove '&' from function invocations (i.e., simply use "func(ARGS..)"
instead of "&func(ARGS...)").
* THANKS, NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 28 May 2012 11:52:34 +0000 (13:52 +0200)]
news: support for configure.in will be dropped in future automake versions
The use of configure.in as Autoconf input has been deprecated for a
very long time in the Autoconf documentation, and the next version of
Autoconf (2.70) will start warning about it ar runtime as well (see
commit 'v2.69-4-g560f16b' or 2012-05-23, "general: deprecate
'configure.in' as autoconf input", in the Autoconf's git repository).
* NEWS (Future backward-incompatibilities): Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 27 May 2012 17:33:26 +0000 (19:33 +0200)]
missing: support AC_CONFIG_HEADERS in addition to obsolete AC_CONFIG_HEADER
* missing (autoheader*): Do not look only for AC_CONFIG_HEADER when
grepping configure.ac, but also for AC_CONFIG_HEADERS: the latter has
been preferred to the former by several years now in Autoconf.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 27 May 2012 17:05:14 +0000 (19:05 +0200)]
missing: don't bother checking for AM_CONFIG_HEADER: it is gone now
* missing (autoheader*): Do not look for AM_CONFIG_HEADER when
grepping configure.ac: it is not supported anymore (has been in
fact deleted in commit v1.12-15-gd2ca168 of 2012-04-27, "m4: delete
several obsolete macros").
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 27 May 2012 16:47:46 +0000 (18:47 +0200)]
docs: remove mention of AM_CONFIG_HEADER: it is obsolete and removed now
* doc/automake.texi (Variables used when building a program): Remove
obsolete mention of AM_CONFIG_HEADER as an alias to AC_CONFIG_HEADERS.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 26 May 2012 16:01:23 +0000 (18:01 +0200)]
tests: fix botched heading comments in 'lex-clean-cxx.sh'
* t/lex-clean-cxx.sh: This file tests lex, not yacc.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 25 May 2012 16:49:07 +0000 (18:49 +0200)]
[ng] maintcheck: some tweaks and fixlets
* syntax-checks.mk (sc_no_brace_variable_expansions): Do not complain
about ${MAKEVAR} usages in comments: they might be legitimate. This
change is not strictly required for mainline automake, but will help
in the Automake-NG branch.
* sc_tests_here_document_format: Relax a bit, so that usages like
"cout << "string" << endl;" in the test scripts (usages which can be
used in here documents defining C++ sources) are not flagged as uses
of bad delimiters for here documents. This change is not strictly
required for mainline automake, but will help in the Automake-NG
branch, and will anyway be more future proof w.r.t. possible future
testsuite additions.
(sc_tests_Exit_not_exit): Do not whitelist lines containing $PERL
explicitly (that was only required for one test); instead ...
* t/ext2.sh: ... use "exit (1)" instead of "exit 1" in the perl
invocation of the guilty script.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 25 May 2012 12:50:05 +0000 (14:50 +0200)]
Merge branch 'am-init-automake'
* am-init-automake:
init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 19 May 2012 09:47:26 +0000 (11:47 +0200)]
init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore
This is a follow-up on commit v1.12-66-g27136df of 2012-05-06, "init: warn
against obsolete usage of AM_INIT_AUTOMAKE".
With this change, we drop support for the two-arguments and three-arguments
invocation forms of the AM_INIT_AUTOMAKE macro, as in either of:
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE)
* NEWS, doc/automake.texi: Update.
* m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments
invocation form as a hard error.
* t/aminit-moreargs-deprecation.sh: Renamed ...
* t/aminit-moreargs-deprecation.sh: ... to this, and updated to check
the new semantics.
* t/ac-output-old.tap: Adjust by avoiding old-style uses of AC_INIT
and AM_INIT_AUTOMAKE.
* t/acsilent.sh: Likewise.
* t/dirlist.sh: Likewise.
* t/dirlist2.sh: Likewise.
* t/req.sh: Likewise.
* t/nodef.sh: Remove as obsolete.
* t/version.sh: Likewise.
* t/version2.sh: Likewise.
* t/backcompat.sh: Likewise.
* t/backcompat2.sh: Likewise.
* t/backcompat3.sh: Likewise.
* t/backcompat5.sh: Likewise.
* t/backcompat4.sh: Renamed ...
* t/backcompat-acout.sh: ... to this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 21 May 2012 13:44:14 +0000 (15:44 +0200)]
help: fix a typo in the list of warning categories
* lib/Automake/ChannelDefs.pm (usage): s/none'/none/.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 19 May 2012 13:27:21 +0000 (15:27 +0200)]
maint: version bump after beta release
* configure.ac (AC_INIT): Bump version number to 1.12.0c.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 19 May 2012 13:18:43 +0000 (15:18 +0200)]
release: beta release 1.12.0b (will become 1.12.1)
* configure.ac (AC_INIT): Bump version number to 1.12.0b.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 19 May 2012 13:11:36 +0000 (15:11 +0200)]
release: remove overly picky check
* Makefile.am (git-tag-release): Do not check that the version number
NEWS is updated w.r.t. $(VERSION); given the new way we manage NEWS,
that would cause gratuitous spurious failures.
* HACKING: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 19 May 2012 12:13:39 +0000 (14:13 +0200)]
Merge branch 'parallel-tests-default'
* parallel-tests-default:
check: the parallel-tests driver is now the default
Stefano Lattarini [Sat, 19 May 2012 12:09:55 +0000 (14:09 +0200)]
Merge branch 'maint'
* maint:
ylwrap: preserve subdirectories in "#line" munging
ylwrap: preparatory refactoring
Stefano Lattarini [Sat, 19 May 2012 11:22:12 +0000 (13:22 +0200)]
Merge branch 'ylwrap-line-filename' into maint
* ylwrap-line-filename:
ylwrap: preserve subdirectories in "#line" munging
ylwrap: preparatory refactoring
Stefano Lattarini [Fri, 18 May 2012 16:00:51 +0000 (18:00 +0200)]
check: the parallel-tests driver is now the default
The old serial testsuite driver is still supported, and can be activated
by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773'
of 2012-02-20, "automake: new option 'serial-tests'").
* lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op
(but still explicitly recognized, for backward compatibility), while the
'serial-tests' option is recognized and registered.
* automake.in: Adjust to ensure that the parallel test harness is used by
default; mostly, this amounts at using "! option('serial-tests')" where
"option('parallel-tests')" was used before.
* NEWS, doc/automake.texi: Update.
* configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is
redundant now.
* defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests'
when the serial testsuite harness is to be used, and no option otherwise.
* lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of
conditional '%PARALLEL_TESTS%'.
* lib/test-driver: Adjust heading comments.
* t/ax/extract-testsuite-summary.pl: Likewise.
* t/check-exported-srcdir.sh: Likewise.
* t/check-subst.sh: Likewise.
* t/java-compile-run-nested.sh: Likewise.
* t/parallel-tests-dry-run-1.sh: Likewise.
* t/parallel-tests-dry-run-2.sh: Likewise.
* t/parallel-tests-interrupt.sh: Likewise.
* t/parallel-tests-many.sh: Likewise.
* t/test-metadata-global-log.sh: Likewise.
* t/tests-environment-backcompat.sh: Likewise.
* m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment.
* t/check8.sh: Likewise.
* t/check-tests-in-builddir.sh: Likewise.
* t/java-compile-run-flat.sh: Adjust a botched comment.
* t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests'
option.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/aclocal-path-precedence.sh: Likewise.
* t/dist-aux-many-subdirs.sh: Likewise.
* t/parallel-tests-no-color-in-log.sh: Likewise.
* t/parallel-tests-reset-term.sh: Likewise.
* t/parallel-tests-subdir.sh: Likewise.
* t/check-no-test-driver.sh: Fix setup to adjust to the changed
semantics. Update heading comments.
* t/parallel-tests-driver-install.sh: Adjust to the new semantic.
* t/test-driver-is-distributed.sh: Simplified according to the
new semantics.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 18 May 2012 12:31:36 +0000 (14:31 +0200)]
Merge branch 'maint'
* maint:
tests: use 'parallel-tests' Automake option by default
doc: fix location of Automake's own test-suite.log file
yacc tests: avoid a spurious failure with Sun C++ 5.9
self tests: cater for /bin/ksh symlinked to Zsh
tests: fix spurious failures due to dpkg install-info
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 15 May 2012 14:12:09 +0000 (16:12 +0200)]
tests: use 'parallel-tests' Automake option by default
This will help our transition from 'serial-tests' to 'parallel-tests'
as the default test suite driver enabled by a TESTS assignment in the
input Makefile.am. Note that that change of default will only take
place in master, though.
* defs: Pass the 'parallel-tests' option to the AM_INIT_AUTOMAKE
invocation in the created 'configure.ac' stub, unless the variable
'am_serial_tests' is set to "yes". Don't pay attention anymore to
the 'am_parallel_tests' variable, that's obsolete now.
* defs-static.in: Warn if the 'am_serial_tests' variable is set in the
environment; conversely, don't warn anymore about 'am_parallel_tests'
being set in the environment.
* Makefile.am (AM_TESTS_ENVIRONMENT): Nullify the 'am_serial_tests'
variable instead of the now-obsolete 'am_parallel_tests' one.
* syntax-checks.mk (sc_tests_obsolete_variables): Also warn against
uses of 'am_parallel_tests', which is now deprecated in favor of
'am_serial_tests'. Similarly, if a use of 'parallel_tests' is seen,
suggest using 'am_serial_tests' instead, not 'am_parallel_tests'.
* gen-testsuite-part: Now that we use the 'parallel-tests' by default
in our tests, we need to completely change the logic and semantics of
generation of sibling tests for those tests that check the Automake
generated testsuite harness itself. Do that, and give a complete
explanation of the new logic and semantics in the relevant comments.
* t/README: Update.
* Lots of test cases: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 17 May 2012 10:36:23 +0000 (12:36 +0200)]
doc: fix location of Automake's own test-suite.log file
* doc/automake.texi (Reporting Bugs): The global testsuite log of
Automake is now (basically since we have removed make recursion from
the Automake's build system) saved in the file 'test-suite.log', not
in the file 'tests/test-suite.log'. Adjust accordingly.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Nikolai Weibull [Wed, 16 May 2012 16:16:41 +0000 (18:16 +0200)]
ylwrap: preserve subdirectories in "#line" munging
If Automake is used in non-recursive mode and one of the inputs is a
yacc file, for example, "src/grammar.y", ylwrap will remove too many
directories from the output file when it adjusts the paths in it.
This results in #line directives referring to "grammar.y" instead of
"src/grammar.y".
This is a result of $input_rx simply taking all the directory
components of the absolute input path and removing them.
One solution is to store the path passed to ylwrap and replace
$input_rx with it. This is what we do.
Suggestion and initial patch (without tests) by Nikolai Weibull:
<http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html>
Final patch by Stefano Lattarini.
* lib/ylwrap ($input_sub_rx): New.
When munging the #line directives, substitute '$input_rx' with it,
instead of stripping it altogether.
Adjust comments.
* t/yacc-line.sh, t/lex-line: Adjust and extend.
* NEWS, THANKS: Update.
Copyright-paperwork-exempt: yes
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 16 May 2012 15:35:05 +0000 (17:35 +0200)]
ylwrap: preparatory refactoring
This commit should cause no semantic change in the ylwrap behaviour.
It will only be needed in light of a future change. See:
<http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html>
* lib/ylwrap (get_dirname, quote_for_sed): New functions, factoring
out some non-trivial code. Use them where appropriate.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 16 May 2012 14:26:39 +0000 (16:26 +0200)]
yacc tests: avoid a spurious failure with Sun C++ 5.9
* t/yacc-cxx.sh (parse1.yy): When calling the 'getchar' function declared
in the #included <cstdio>, fully qualify it as std::getchar', to avoid
Sun C++ 5.9 erroring out with:
"parse1.yy", line 5: Error: The function "getc" must have a prototype.
* t/yacc-clean-cxx.sh (sub1/parsefoo.yxx): Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 16 May 2012 14:10:06 +0000 (16:10 +0200)]
self tests: cater for /bin/ksh symlinked to Zsh
* t/self-check-reexec.tap: When searching for a suitable non-Bash
shells, be sure to reject any shell that is Zsh "in disguise" (as
can be found on some Debian systems, where /bin/ksh can be symlinked
to /bin/zsh4). This is required because our testsuite does not
support older versions of Zsh, and that was causing the test to fail
in the setup just described.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 16 May 2012 13:50:14 +0000 (15:50 +0200)]
tests: fix spurious failures due to dpkg install-info
* t/install-info-dir.sh: Skip some checks if 'install-info' is the one
from dpkg, not the one from GNU info; the former might try to create
files in '/var/backups/', causing spurious failures like this for any
non-root user:
install-info(.../install-info-dir.dir/_inst/info/foo.info): \
creating new section `Dummy utilities'
cp: cannot create regular file `/var/backups/infodir.bak': \
Permission denied
install-info(.../install-info-dir.dir/_inst/info/foo.info): \
could not backup .../install-info-dir.dir/_inst/info/dir in \
/var/backups/infodir.bak: No such file or directory
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 13 May 2012 12:10:25 +0000 (14:10 +0200)]
Merge branch 'maint'
* maint:
tests: fix spurious failure due to i18n issue
tests: add few missing 'cc' and 'c++' requirements
Stefano Lattarini [Sat, 12 May 2012 06:42:37 +0000 (08:42 +0200)]
tests: fix spurious failure due to i18n issue
Fixes automake bug#11452.
* t/parallel-tests-fork-bomb.sh: Export LANG, LANGUAGE and LC_ALL to
'C', to ensure error messages will be in English, and thus avoiding
possible false negatives in our grepping of them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 10 May 2012 12:32:27 +0000 (14:32 +0200)]
tests: add few missing 'cc' and 'c++' requirements
Without that requirements, the configure-time overrides of CC and CXX
wouldn't be honored in the affected tests.
* t/silent-yacc.sh ($required): Require 'cc'.
* t/silent-yacc-headers.sh: Likewise.
* t/silent-lex.sh: Likewise.
* t/lex-clean.sh: Likewise.
* t/lex-depend.sh: Likewise.
* t/lex-line.sh: Likewise.
* t/lex-depend.sh: Likewise.
* t/lex-pr204.sh: Likewise.
* t/yacc-deleted-headers.sh: Likewise.
* t/yacc-line.sh: Likewise.
* t/yacc-depend.sh: Likewise.
* t/yacc-depend2.sh: Likewise.
* t/yacc-dist-nobuild-subdir.sh: Likewise.
* t/yacc-bison-skeleton.sh: Likewise.
* t/yacc-bison-skeleton-cxx.sh ($required): Require 'c++'.
* t/yacc-clean-cxx.sh: Likewise.
* t/yacc-d-cxx.sh: Likewise.
* t/yacc-cxx.sh: Likewise.
* t/yacc-mix-c-cxx.sh ($required): Require 'cc' and 'c++'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 8 May 2012 11:22:59 +0000 (13:22 +0200)]
fixup: s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/ in 't/confsub.sh'
Issue introduced in the recent merge 'v1.12-101-g12405c9'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 8 May 2012 10:49:36 +0000 (12:49 +0200)]
Merge branch 'maint'
* maint:
tests: fix a spurious failure with dash
test defs: fix indentation (cosmetic change)
tests: remove obsolete uses of $sh_errexit_works
configure: search a sturdy POSIX shell to be used in the testsuite
tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
fixup: distribute t/README
init: warn against obsolete usage of AM_INIT_AUTOMAKE
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 7 May 2012 20:11:28 +0000 (22:11 +0200)]
Merge branch 'testsuite-saner-shell' into maint
* testsuite-saner-shell:
tests: fix a spurious failure with dash
test defs: fix indentation (cosmetic change)
tests: remove obsolete uses of $sh_errexit_works
configure: search a sturdy POSIX shell to be used in the testsuite
tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
Stefano Lattarini [Mon, 23 Apr 2012 17:03:33 +0000 (19:03 +0200)]
tests: fix a spurious failure with dash
The dash shell, at least version 0.5.5.1, doesn't always bail out
with a syntax error when a stray "fi" in encountered:
$ dash -c ":; fi"; echo stat = $?
stat = 0
See also the relevant bug report:
<http://permalink.gmane.org/gmane.comp.shells.dash/717>
This behaviour was causing a spurious error in our testsuite. Fix it.
* t/self-check-exit.tap: Use a stray parentheses rather than a stray
'fi' to trigger a syntax error.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Dec 2011 12:23:31 +0000 (13:23 +0100)]
test defs: fix indentation (cosmetic change)
* defs (exit trap): Fix indentation left botched by previous
patch 'v1.11b-51-g626bf65'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Dec 2011 12:23:31 +0000 (13:23 +0100)]
tests: remove obsolete uses of $sh_errexit_works
After the last changes, configure will ensure that the shell
selected to run the test scripts can correctly propagate exit
status to the exit trap when 'set -e' is in effect.
* configure.ac (sh_errexit_works): Do not AC_SUBST it anymore.
* defs-static.in (sh_errexit_works): Do not initialize
from the AC_SUBST value anymore.
* defs (trap): Trap the EXIT signal unconditionally.
* t/self-check-explicit-skips.sh: Do not skip the test if
'$sh_errexit_works' is != "yes", this check doesn't make
sense anymore.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-exit.tap: Assume the exit trap is always
installed by ./defs.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Dec 2011 12:23:31 +0000 (13:23 +0100)]
configure: search a sturdy POSIX shell to be used in the testsuite
* configure.ac: Add code (partially inspired to checks in gnulib's
'tests/init.sh') to search for a good-enough, not-buggy POSIX/XSI
shell to be used in our testsuite. Accordingly AC_SUBSTitute the
variable 'AM_TEST_RUNNER_SHELL'.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Dec 2011 12:23:31 +0000 (13:23 +0100)]
tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
This is just a preparatory refactoring for future changes.
* configure.ac (AM_TEST_RUNNER_SHELL): New variable, defined
to $SHELL', and AC_SUBST'd.
* Makefile.am (LOG_COMPILER): Redefine from $(SHELL) to
$(AM_TEST_RUNNER_SHELL).
* defs: Adjust to use $AM_TEST_RUNNER_SHELL instead
of $CONFIG_SHELL and/or $SHELL, where appropriate. Minor
opportunistic changes.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-sanity.sh: Likewise.
* t/self-check-tap.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-env-sanitize.tap: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 6 May 2012 11:33:09 +0000 (13:33 +0200)]
fixup: distribute t/README
Since commit v1.11-2128-g8e02441 of 2012-04-06, "maint: no more make
recursion in Automake's build system" we haven't been distributing the
testsuite README file in our release tarballs. Oops.
* Makefile.am (EXTRA_DIST): Add 't/README'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 31 Mar 2012 14:39:32 +0000 (16:39 +0200)]
init: warn against obsolete usage of AM_INIT_AUTOMAKE
Support for the two- and three-arguments invocation forms of the
AM_INIT_AUTOMAKE macro, as in:
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
or:
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE)
will be removed in the next major Automake release (1.13).
Such usages have already been deprecated in the documentation
starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs,
news: document planned removal of obsolete macros and features".
We now start giving runtime warnings as well (in the 'obsolete'
category).
* NEWS: Update.
* m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments
form invocation.
* automake.in (scan_autoconf_traces): Likewise.
* doc/automake.texi: Minor adjustments. Add an @anchor to the
location where it's described how to modernize outdated invocation
of AM_INIT_AUTOMAKE, so that it can be referenced from automake
warning/error messages.
* t/aminit-moreargs-deprecation.sh: New test.
* tests/list-of-tests.mk: Add it.
* tests/ac-output-old.tap: Adjust by calling automake with the
warnings in the 'obsolete' category disabled.
* t/backcompat.test: Likewise.
* t/backcompat3.test: Likewise.
* t/backcompat5.test: Likewise.
* t/backcompat6.test: Likewise.
* t/version.test: Likewise.
* t/version2.test: Likewise.
* t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE
invocations, and use proper m4 quoting.
* t/pr87.test: Likewise.
* t/confsub.test: Likewise.
* t/install2.test: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 6 May 2012 09:04:45 +0000 (11:04 +0200)]
Merge branch 'maint'
* maint:
m4: prepend m4 builtins with "m4_"
docs: fix clumsy grammar in the scripts-based testsuite chapter
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 6 May 2012 08:15:59 +0000 (10:15 +0200)]
m4: prepend m4 builtins with "m4_"
The comments in 'lib/autoconf/autoconf.m4' from Autoconf 2.69 read:
We discourage the use of the non prefixed macro names: M4sugar maps
all the builtins into 'm4_'. Autoconf has been converted to these
names too. But users may still depend upon these, so reestablish
them.
Alas, in our init.m4 files, we were still using m4 builtins without
prefixing them with "m4_". Not nice for a package that is one of the
major clients of Autoconf, and an integral part of the GNU Autotools!
Fix the issue.
* m4/init.m4 (AM_INIT_AUTOMAKE): Use 'm4_define' and 'm4_defn' instead
of 'define' and 'defn'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 5 May 2012 19:48:49 +0000 (21:48 +0200)]
require: autoconf >= 2.65; related simplifications
The new support for Objective C++ (to be added in Automake 1.12.1) can be
simplified if we assume Autoconf version 2.65 or later (2.65 being the
version that introduced support for Objective C++). Since such an Autoconf
version is two and half years old now (and will likely be almost three
years old when Automake 1.13 gets released), requiring it is acceptable.
This will also simplify testing and maintenance of Automake, because we'll
need to test with fewer Autoconf version, and possibly rely on new Autoconf
features.
* NEWS (Version requirements): Automake 1.13 will require Autoconf
2.65 or later.
* configure.ac ($required_autoconf_version): Bump to 2.65.
* m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf >= 2.65.
Assume AC_PROG_OBJCXX is unconditionally defined.
* m4/depout.m4: Adjust a comment about a nugget of defensive programming.
* t/ext.sh: Assume that AC_PROG_OBJCXX is unconditionally defined,
and that we are using Autoconf >= 2.65. Related simplifications.
* t/objc-megademo.sh: Likewise.
* t/objcxx-basic.sh: Likewise.
* t/objcxx-deps.sh: Likewise.
* t/objcxx-flags.sh: Likewise.
* t/objcxx-minidemo.sh: Likewise.
* t/nodep2.sh: Likewise.
* t/backcompat3.sh: Assume AC_INIT accepts an URL argument.
* t/depend5.sh: Adjust a comment.
* syntax-checks.mk (sc_test_names): Delete this check as now useless:
autoconf >= 2.65 (>= 2.63, actually) can handle arguments to AC_INIT
that contain or are m4 builtins or predefined macros.
(m4_builtin): Delete this now-useless variable as well, was used only
by the check above.
(syntax_check_rules): Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Nick Alcock [Fri, 4 May 2012 14:14:43 +0000 (15:14 +0100)]
docs: fix clumsy grammar in the scripts-based testsuite chapter
* doc/automake.texi (Scripts-based Testsuites): "We'll have later" is
a rare example of English in the Automake manual clearly not written
by a native English-speaker: while comprehensible, it can be better
formulated.
Copyright-paperwork-exempt: yes
Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 5 May 2012 17:28:35 +0000 (19:28 +0200)]
Merge branch 'maint'
* maint:
tests: use append mode to capture parallel make output
parallel-tests: separate different logs with an empty line
Stefano Lattarini [Sat, 5 May 2012 17:22:40 +0000 (19:22 +0200)]
tests: use append mode to capture parallel make output
This should fix the spurious failure reported in automake bug#11413.
This is due to the fact that the redirected output of parallel make
can racily loose lines. For example, if GNU make (3.82) is run on
a Makefile like this:
all = 0 1 2 3 4 5 6 7 8 9
default: $(all)
$(all):
@sleep 0.$$(($RANDOM % 10)); echo $@
and has its standard output redirected in overwrite-mode to a regular
file, it looses a line of that output every 15 runs or so on a Fedora
17 system with 64 ppc64 cores and Linux 3.3.1. Redirection in append
mode does not suffer of this problem.
See also similar commit 'Release-1-10-280-g6426999' of 2009-03-10,
"Use append mode to capture parallel test output", which tackled a
similar problem for 't/parallel-tests3.sh' and 't/lisp8.sh'.
* t/tap-more.sh: Use append mode for output from "make -j", to avoid
dropped lines.
* t/parallel-tests3.sh, t/lisp8.sh: Enhance comments.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 5 May 2012 14:39:10 +0000 (16:39 +0200)]
Merge branch 'parallel-tests-performance' into maint
* parallel-tests-performance:
parallel-tests: separate different logs with an empty line
Stefano Lattarini [Sat, 5 May 2012 14:33:36 +0000 (16:33 +0200)]
parallel-tests: separate different logs with an empty line
After commit v1.12-21-g5eeb366 "parallel-tests: optimize global log
creation", the log files copied in the global log are not anymore
separated by a blank line, causing unclear output like this:
FAIL: test1
===========
output from test 1
FAIL: test2
===========
output from test 2
where we would want something like this:
FAIL: test1
===========
output from test 1
FAIL: test2
===========
output from test 2
Fix this regression.
* lib/am/check.am (am__create_global_log): Print an extra empty line
after having displayed the content of a '.log' file.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 5 May 2012 08:57:27 +0000 (10:57 +0200)]
Merge branch 'maint'
* maint:
maintcheck: avoid a couple of spurious failures
maintcheck: reduce code duplication, increase coverage
Stefano Lattarini [Fri, 4 May 2012 16:09:02 +0000 (18:09 +0200)]
maintcheck: avoid a couple of spurious failures
* t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use
"std::cout <<", not "cout <<", to avoid triggering a spurious
failure by the syntax check 'sc_tests_here_document_format'.
Cherry-picked from yesterday's commit v1.12-81-g7f3f467, that
had erroneously been applied to 'master' only rather than to
'maint'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 5 May 2012 00:01:20 +0000 (02:01 +0200)]
maintcheck: reduce code duplication, increase coverage
* syntax-checks.mk: Move ...
(sc_tests_plain_aclocal,
sc_tests_plain_autoconf,
sc_tests_plain_perl,
sc_tests_plain_autoupdate,
sc_tests_plain_automake,
sc_tests_plain_make,
sc_tests_plain_autoheader,
sc_tests_plain_autoreconf,
sc_tests_plain_autom4te): ... all these targets ...
(sc_tests_plain_egrep_fgrep): ... and part of this target ...
(sc_tests_plain_check_rules): ... into this variable, and
reimplement their recipes ...
($(sc_tests_plain_check_rules)): ... with this static pattern
rule. Enhance the coverage they offer a little since we are
at it.
(sc_m4_am_plain_egrep_fgrep): New rule, the part of the old
'sc_tests_plain_egrep_fgrep' rule that checked for use of
'fgrep' and 'egrep' in *.am and *.m4 fragments (rather than
in test scripts).
(syntax_check_rules): Update.
* t/dist-formats.tap: Fix bad use of "make" instead of "$MAKE"
revealed by the extra coverage.
* t/cond5.sh, t/auxdir-autodetect.sh: Cosmetic changes to avoid
spuriously triggering the maintainer checks due to the
enhanced coverage.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 4 May 2012 16:09:02 +0000 (18:09 +0200)]
maintcheck: avoid a couple of spurious failures
* t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use
"std::cout <<", not "cout <<", to avoid triggering a spurious
failure by the syntax check 'sc_tests_here_document_format'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 4 May 2012 15:46:51 +0000 (17:46 +0200)]
Merge branch 'maint'
* maint:
tests: avoid spurious failure on missing Obj C/C++ compiler
objc, objc++: test support for compilation flags
objc, objc++: add stress test
objc, objc++: test automatic dependency tracking
objc: reorganize basic tests
objc++, objc: add first semantic tests
objc++: add first basic test
news: announce initial support for Objective C++
objc++: test support for '.mm' suffix in _SOURCES entries
objc++: add documentation
objc++: initial support for Objective C++
Stefano Lattarini [Fri, 4 May 2012 15:32:08 +0000 (17:32 +0200)]
Merge branch 'objc++' into maint
* objc++:
tests: avoid spurious failure on missing Obj C/C++ compiler
Stefano Lattarini [Fri, 4 May 2012 15:31:06 +0000 (17:31 +0200)]
tests: avoid spurious failure on missing Obj C/C++ compiler
* t/objc-megademo.sh: Arrange the test to SKIP, not FAIL, if there is
no Objective C or no Objective C++ compiler. Since we are at it, remove
some checks that were actually testing Autoconf (not Automake) behaviour.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 4 May 2012 11:24:23 +0000 (13:24 +0200)]
Merge branch 'objc++' into maint
* objc++:
objc, objc++: test support for compilation flags
objc, objc++: add stress test
objc, objc++: test automatic dependency tracking
objc: reorganize basic tests
objc++, objc: add first semantic tests
objc++: add first basic test
news: announce initial support for Objective C++
objc++: test support for '.mm' suffix in _SOURCES entries
objc++: add documentation
objc++: initial support for Objective C++
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 3 May 2012 15:30:56 +0000 (17:30 +0200)]
dist: don't bother putting README first in $(DIST_COMMON)
Comments on some of our automake-time pre-processing of $(DIST_COMMON)
said that it was done in order to "put README first because it then
becomes easier to make a Usenet-compliant shar file". But such a
format is hardly relevant anymore, and not worth the (albeit small)
added complexity.
* automake.in (handle_dist): Don't sort @dist_common.
(for_dist_common): Delete this function, is not used anymore.
* lib/am/distdir.am (DISTFILES): Remove obsolete comment.
* t/distcom4.sh: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 2 May 2012 16:15:41 +0000 (18:15 +0200)]
Merge branch 'always-support-silent-rules'
* always-support-silent-rules:
silent rules: support for them is always active now
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 2 May 2012 16:14:55 +0000 (18:14 +0200)]
Merge branch 'maint'
* maint:
news: document improvement in parallel-tests performance
tests: fix spurious failure due to autom4te caching
news: fix typos
aclocal: error out again on unrecognized arguments
parallel-tests: save few forks when possible
parallel-tests: optimize global log creation
parallel-tests: optimize 'recheck' target for speed
coverage: add performance tests on some parallel-tests aspects
Stefano Lattarini [Wed, 2 May 2012 16:04:25 +0000 (18:04 +0200)]
news: document improvement in parallel-tests performance
* NEWS: Document the improved performances of the parallel-tests targets
'check' and 'recheck'. See recent commits:
- v1.12-20-gf5733aa of 2012-04-26,
"parallel-tests: optimize 'recheck' target for speed"
- v1.12-21-g5eeb366 of 2012-02-26,
"parallel-tests: optimize global log creation"
- v1.12-22-g4c2dd6e of 2012-04-30,
"parallel-tests: save few forks when possible"
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 2 May 2012 15:47:56 +0000 (17:47 +0200)]
tests: fix spurious failure due to autom4te caching
Reported by Peter Breitenlohner :
<http://lists.gnu.org/archive/html/automake-patches/2012-05/msg00045.html>
* t/suffix.sh: Remove stale autom4te.cache directories, to prevent racy,
spurious failures (using 'aclocal --force' was not enough, since the cache
was still picked up by the following automake call).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 1 May 2012 13:04:37 +0000 (15:04 +0200)]
objc, objc++: test support for compilation flags
* t/objc-flags.sh, t/objcxx-flags.sh: New tests.
* t/list-of-tests.mk: Add them.
Co-authored-by: Peter Breitenlohner <peb@mppmu.mpg.de>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner [Mon, 30 Apr 2012 14:11:03 +0000 (16:11 +0200)]
objc, objc++: add stress test
* t/objc-megademo.sh: New test, trying out a package using all
of C, C++, Objective C and Objective C++ at the same time.
* t/list-of-tests.mk: Add it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 30 Apr 2012 13:17:13 +0000 (15:17 +0200)]
objc, objc++: test automatic dependency tracking
* t/objc-deps.sh, t/objcxx-deps.sh: New tests.
* t/list-of-tests.mk: Add them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 30 Apr 2012 12:30:42 +0000 (14:30 +0200)]
objc: reorganize basic tests
* t/objc.sh, t/objc2.sh: Removed, merged into ...
* t/objc-basic.sh: ... this new test.
* t/objcxx-basic.sh: Add reference to new sister test.
* t/list-of-tests.mk: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 30 Apr 2012 12:17:44 +0000 (14:17 +0200)]
objc++, objc: add first semantic tests
* t/objcxx-minidemo.sh: New test.
* t/objc-minidemo.sh: Likewise.
* t/list-of-tests.mk: Add them.
Co-authored-by: Peter Breitenlohner <peb@mppmu.mpg.de>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner [Thu, 26 Apr 2012 23:00:27 +0000 (01:00 +0200)]
objc++: add first basic test
* t/objcxx-basic.sh: New test.
* t/list-of-tests.mk: Add it.
Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 2 May 2012 10:51:09 +0000 (12:51 +0200)]
Merge branch 'parallel-tests-performance' into maint
* parallel-tests-performance:
parallel-tests: save few forks when possible
parallel-tests: optimize global log creation
parallel-tests: optimize 'recheck' target for speed
coverage: add performance tests on some parallel-tests aspects
Stefano Lattarini [Wed, 2 May 2012 07:48:11 +0000 (09:48 +0200)]
news: fix typos
* NEWS (Bugs fixed in 1.12.1): Fix botched indentation of an entry,
add a forgotten "and", remove a redundant "the".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 1 May 2012 22:13:10 +0000 (00:13 +0200)]
aclocal: error out again on unrecognized arguments
Starting from commit v1.11-662-g52246cc of 2102-02-18, "cmdline parsing:
move into a dedicated perl module", aclocal has been silently ignoring
non-option arguments instead of correctly reporting them.
Fix this regression.
* t/aclocal.sh: Update to catch the regression.
* aclocal.in (parse_arguments): Explicitly reject non-option arguments.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 2 May 2012 08:52:18 +0000 (10:52 +0200)]
Merge branch 'cygnus-remove'
* cygnus-remove:
cygnus: remove support for Cygnus-style trees
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 2 May 2012 08:26:12 +0000 (10:26 +0200)]
Merge branch 'maint'
* maint:
cosmetics: fix typo in aclocal m4 directory README
cygnus: warn when it's used (flagged as 'obsolete' now)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 2 May 2012 07:59:46 +0000 (09:59 +0200)]
Merge branch 'cygnus-deprecate' into maint
* cygnus-deprecate:
cygnus: warn when it's used (flagged as 'obsolete' now)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Andrew Eikum [Tue, 1 May 2012 14:18:56 +0000 (09:18 -0500)]
cosmetics: fix typo in aclocal m4 directory README
* m4/acdir/README: Add forgotten "if".
* THANKS: Update.
Copyright-paperwork-exempt: yes
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 1 May 2012 12:23:04 +0000 (14:23 +0200)]
silent rules: support for them is always active now
Before this change, support for silent rules was optional and activated
only if the 'silent-rules' option was specified.
The rationale behind that behaviour was that the silent-rules machinery
originally only worked with make implementations supporting nested
variables expansions, which isn't (or wasn't) a POSIX-specified features;
so that packages wanting to be "extra-portable" couldn't use the
silent-rules machinery at all.
But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011,
"silent-rules: fallback for makes without nested vars" (motivated
by automake bugs #9928 and #10237), Makefiles generated when the
'silent-rules' option is enabled can work also with those make
implementations that don't support nested variables expansion (albeit
the configure-time selected verbosity cannot be overridden at make
runtime in such case).
In light of that, and since silent rules are disabled by default even
when the 'silent-rules' option is given (unless the developer explicitly
makes them enabled by default be calling "AM_SILENT_RULES([yes])" in
configure.ac), we can now have the support for silent rules always
enabled.
The 'silent-rules' option will thus become a no-op, but will reaming a
valid option for the time being, for better backward-compatibility.
A collateral effect of this change is that the use of the 'silent-rules'
option will not anymore automatically disable the warnings in the
'portability-recursive' category.
The present change is basically a backport of the Automake-NG commit
'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for
them is always active now". Stemmed by this thread on the Automake-NG
list:
<http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html>
* automake.in: Enable silent-rules machinery unconditionally. Reword
some comments. Do not switch off warnings in the category
'portability-recursive' anymore if the 'silent-rules' option is
given.
* m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally.
* lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option.
Do not bother anymore checking that it is set in 'configure.ac'.
* t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES.
* t/silent2.sh: Likewise.
* t/silent3.sh: Likewise.
* t/silent4.sh: Likewise.
* t/silent8.sh: Likewise.
* t/silent9.sh: Likewise.
* t/silent-lex.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-many-generic.sh: Likewise.
* t/silent-yacc-headers.sh: Likewise.
* t/silent-yacc.sh: Likewise.
* t/silentcxx-gcc.sh: Likewise.
* t/silentcxx.sh: Likewise.
* t/silentf77.sh: Likewise.
* t/silentf90.sh: Likewise.
* t/help-silent.sh: Likewise.
* t/silent-configsite.sh: Likewise, and other minor adjustments.
* t/silent7.sh: Likewise. Also, extend to check that silent rules
are disabled by default, and remove obsoleted checks about the
'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'.
* t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'.
Call automake with '-Wno-portability-recursive'. Remove other
obsoleted checks.
* t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in
'configure.ac' to disable warning in the 'portability-recursive'
category anymore.
* t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure.
* t/silent-amopts.sh: Remove as obsolete.
* t/silent-nowarn.sh: Likewise.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.
* doc/automake.texi: Update and simplify accordingly.
* configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 1 May 2012 12:28:39 +0000 (14:28 +0200)]
Merge branch 'maint'
* maint:
fixup: botched edit in bootstrap.sh
Stefano Lattarini [Tue, 1 May 2012 12:25:51 +0000 (14:25 +0200)]
fixup: botched edit in bootstrap.sh
* bootstrap.sh (dosubst): Fix botched option ("G" instead of "g")
in a sed "s///" expression. Issue introduced in today's commit
'v1.12-17-g5f810d0'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 1 May 2012 12:04:56 +0000 (14:04 +0200)]
Merge branch 'maint'
* maint:
news: fix confusing wording
news: fixed weaknesses in build system and testsuite
bootstrap: consistently use correct copyright year
fixup: remove leftover "TERM=ansi" definition in 't/color.sh'
Stefano Lattarini [Tue, 1 May 2012 11:42:52 +0000 (13:42 +0200)]
news: fix confusing wording
Reported by Dave Hart.
* NEWS (Future backward-incompatibilities): Fix possibly confusing
wording about the upcoming requirement of Autoconf >= 2.65.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 1 May 2012 11:32:42 +0000 (13:32 +0200)]
news: fixed weaknesses in build system and testsuite
* NEWS (Bugs fixed in 1.12.1): Report that several weaknesses in the
Automake's own build system and test suite have been fixed. See for
example recent commits:
- commit v1.12-5-geb7e8f3, for bug#11345
- commit v1.12-5-g63e07a9, for bug#11346
- commit v1.12-5-gf31fe4f
- commit v1.12-10-gab14841
- commit v1.12-19-g807f3cf, for bug#11369
- commit v1.12-20-gd330368, for bug#11369
- bug#11387, pre-emptively solved by commit v1.12-4-g444618b
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 1 May 2012 10:43:22 +0000 (12:43 +0200)]
bootstrap: consistently use correct copyright year
Suggested by Peter Johansson in the discussion about automake bug#11356:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11356#41>
* boostrap.sh (dosubst): Don't initialize the substituted value for the
release year from the current year (using `date +%Y`); instead, do it
through ...
($RELEASE_YEAR): ... this new statically-defined variable. To ensure it
won't get out-of-sync, it will be automatically updated ...
* Makefile.am (update-copyright): ... by this target's recipe.
Since are at it, fix a botched output redirection for an error message,
i.e., use ">&2" instead of ">&1".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 30 Apr 2012 21:25:18 +0000 (23:25 +0200)]
fixup: remove leftover "TERM=ansi" definition in 't/color.sh'
It should have actually be removed in commit 'v1.12-23-gb105d40'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>