platform/upstream/automake.git
10 years agorelease: stable micro release 1.13.4 v1.13.4
Stefano Lattarini [Fri, 14 Jun 2013 15:42:46 +0000 (17:42 +0200)]
release: stable micro release 1.13.4

* configure.ac (AC_INIT): Bump version number to 1.13.4.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agosync: update config.guess
Stefano Lattarini [Fri, 14 Jun 2013 12:40:49 +0000 (14:40 +0200)]
sync: update config.guess

* lib/config.guess: This.  Actually, only the timestamp has been
updated (apparently, it was mistakenly not updated in the previous
real change to the script).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoMerge branch 'fix-pr14560' into micro
Stefano Lattarini [Wed, 12 Jun 2013 19:21:38 +0000 (21:21 +0200)]
Merge branch 'fix-pr14560' into micro

* fix-pr14560:
  lang, suffix rules: don't require C stuff needlessly
  tests: expose automake bug#14560

10 years agoTHANKS: update e-mall address for Ralf Corsepius
Stefano Lattarini [Wed, 12 Jun 2013 17:41:40 +0000 (19:41 +0200)]
THANKS: update e-mall address for Ralf Corsepius

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agolang, suffix rules: don't require C stuff needlessly
Stefano Lattarini [Tue, 11 Jun 2013 19:20:18 +0000 (21:20 +0200)]
lang, suffix rules: don't require C stuff needlessly

This change fixes automake bug#14560: when two or more user-defined suffix
rules were present in a single Makefile.am, automake would needlessly
include definition of some make variables related to C compilation in the
generated Makefile.in.

* automake.in (handle_languages): Fix logic to decide whether or not to
include definitions of C compilation related variables in the generated
Makefile.in: instead of doing so when two or more user-defined suffix
rules are seen (which is a completely bogus criterion), do so when two
or more compiled languages are used.
* lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used.
(@EXPORT): Adjust.
* t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script
'suffix-extra-c-stuff-pr14560.sh', which now passes.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: expose automake bug#14560
Stefano Lattarini [Sat, 8 Jun 2013 15:36:07 +0000 (17:36 +0200)]
tests: expose automake bug#14560

Automake needlessly generates definition of make variables related
to C compilation when two or more user-defined suffix rules are
present in a single Makefile.am.

* t/suffix-extra-c-stuff-pr14560.sh: New test, exposing the bug.
This test is still xfailing.
* t/no-extra-c-stuff.sh: New test, check for a potential related
regression.  This regression is not actually present here (so this
test passes), but it still took place in our first attempt at
fixing bug#14560 -- so this test has proven to be actually useful.
* t/no-extra-makefile-code.sh: Improve comments, and tighten the
grepping checks a little.
* t/list-of-tests.mk (handwritten_TESTS): Add the new tests.
(XFAIL_TESTS): Add the new xfailing test.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agomaint: add a missing copyright notice
Stefano Lattarini [Sun, 9 Jun 2013 09:31:58 +0000 (11:31 +0200)]
maint: add a missing copyright notice

* t/ax/deltree.pl: Here.  Issue revealed by "make update-copyright".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agosync: update config.guess from upstream
Stefano Lattarini [Sun, 9 Jun 2013 08:35:25 +0000 (10:35 +0200)]
sync: update config.guess from upstream

* lib/config.guess: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: expose automake bug#13928
Stefano Lattarini [Sat, 8 Jun 2013 20:00:32 +0000 (22:00 +0200)]
tests: expose automake bug#13928

* t/subobj-indir-pr13928.sh: New test, still xfailing.
* t/subobj-vpath-pr13928.sh: Likewise.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agocomments: fix some out-of-sync refs to test scripts
Stefano Lattarini [Sat, 8 Jun 2013 15:56:34 +0000 (17:56 +0200)]
comments: fix some out-of-sync refs to test scripts

Those script has been renamed since those comments where written.

* lib/Automake/Rule.pm: Adjust.
* lib/am/distdir.am: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: expose automake bug#13940
Stefano Lattarini [Sat, 8 Jun 2013 15:47:30 +0000 (17:47 +0200)]
tests: expose automake bug#13940

* t/override-conditional-pr13940.sh: New test, still xfailing.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Add it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoconfigure: remove an obsolete TODO comment
Stefano Lattarini [Mon, 3 Jun 2013 19:15:50 +0000 (21:15 +0200)]
configure: remove an obsolete TODO comment

* configure.ac: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agopost-release: micro version bump (1.13.3a)
Stefano Lattarini [Mon, 3 Jun 2013 19:13:34 +0000 (21:13 +0200)]
post-release: micro version bump (1.13.3a)

* configure.ac: Bump version: 1.13.3 -> 1.13.3a
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agorelease: stable micro release 1.13.3 v1.13.3
Stefano Lattarini [Mon, 3 Jun 2013 16:03:24 +0000 (18:03 +0200)]
release: stable micro release 1.13.3

* configure.ac (AC_INIT): Bump version number to 1.13.3.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotypofix: fix grammaro in comments in t/tags-pr12372.sh
Peter Rosin [Mon, 3 Jun 2013 14:19:52 +0000 (16:19 +0200)]
typofix: fix grammaro in comments in t/tags-pr12372.sh

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoNEWS: minor fixlets, re-wording, and better text wrapping
Stefano Lattarini [Mon, 3 Jun 2013 13:12:18 +0000 (15:12 +0200)]
NEWS: minor fixlets, re-wording, and better text wrapping

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: slightly stricter checks in t/cxx-demo.sh
Stefano Lattarini [Mon, 3 Jun 2013 10:01:02 +0000 (12:01 +0200)]
tests: slightly stricter checks in t/cxx-demo.sh

This is a follow-up to the commit fixing automake bug#14493.

* t/cxx-demo.sh: Also check that the built program returns the
correct (i.e., zero) exit status when run.  And improve comments
a little while at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: fix spurious failure when 'etags' program is Exuberant Ctags
Stefano Lattarini [Mon, 3 Jun 2013 09:45:29 +0000 (11:45 +0200)]
tests: fix spurious failure when 'etags' program is Exuberant Ctags

Fixes automake bug#14517.

* t/tags-pr12372.sh: If the 'etags' program in use supports the
'--langmap' option, use it.  That is required to avoid spurious
failures with Exuberant Ctags (at least version 5.8), which by
default do not generate any tags for file extensions it doesn't
recognize.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: fix spurious failure due to missing sleeps
Stefano Lattarini [Mon, 3 Jun 2013 09:27:49 +0000 (11:27 +0200)]
tests: fix spurious failure due to missing sleeps

Fixes automake bug#14528.

* THANKS: Give credit to that bug's original reporter.

* t/remake-configure-dependencies.sh: Add few missing '$sleep'
invocations.  I thought that the sleeps implicit in the configure
invocation were enough, but they were not, actually.  Here is what
can happen:

  1. The config.status script is generated by a configure run.
  2. ./config.status and make are run.
  3. The 'print-version' script is modified.
  4. Since that script is listed in $(CONFIGURE_DEPENDENCIES),
     autoconf is re-run.
  5. On a fast-enough machine, the three steps 2-4 above, even
     combined, might have taken less than a second to run;
  6. If the filesystem doesn't have a sub-second timestamp
     resolution, that means the newly-generated configure has
     the same timestamp of the old config.status;
  7. So, config.status is not re-run, and the Makefiles are
     not updated.
  8. Spurious failure!

So we really need more explicit sleeps.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agomaint: support new Automake versioning scheme in tagging/uploading rules
Stefano Lattarini [Thu, 30 May 2013 13:30:02 +0000 (15:30 +0200)]
maint: support new Automake versioning scheme in tagging/uploading rules

* maint.mk (base_version_rx: Drop.
(rx-0, rx-1): New.
(stable_major_version_rx, stable_minor_version_rx, beta_version_rx):
Update.
(stable_micro_version_rx, alpha_version_rx: New.
(determine_release_type): Adjust.
(web-manual-update): Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoannouncement: can be generated from development snapshots as well
Stefano Lattarini [Thu, 30 May 2013 13:18:11 +0000 (15:18 +0200)]
announcement: can be generated from development snapshots as well

And not only from checkouts corresponding exactly from a beta
or stable release.  That was only getting in the way of proper
testing for the 'announcement' recipe.

* maint.mk (determine_release_type): If the make variable
DEVEL_SNAPSHOT is set, do not error out if the current version
denotes a development snapshot (e.g., "1.13.2c" or "1.99a").
(announcement): Relax, by also accepting to run from development
snapshots, not only stable or beta releases.  Do so by defining
the target-specific variable DEVEL_SNAPSHOT to "yes".
(print-release-type): Micro enhancement while at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoannouncement: can be generated from development snapshots as well
Stefano Lattarini [Thu, 30 May 2013 13:16:44 +0000 (15:16 +0200)]
announcement: can be generated from development snapshots as well

And not only from checkouts corresponding exactly from a beta
or stable release.  That was only getting in the way of proper
testing for the 'announcement' recipe.

* maint.mk (determine_release_type): If the make variable
DEVEL_SNAPSHOT is set, do not error out if the current version
denotes a development snapshot (e.g., "1.13.2c" or "1.99a").
(announcement): Relax, by also accepting to run from development
snapshots, not only stable or beta releases.  Do so by defining
the target-specific variable DEVEL_SNAPSHOT to "yes".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoannouncement: be less strict in the paring of NEWS
Stefano Lattarini [Thu, 30 May 2013 13:00:52 +0000 (15:00 +0200)]
announcement: be less strict in the paring of NEWS

So that the file generated by "make announcement" is correct also
for beta releases.

* maint.mk (announcement): Relax the awk program processing NEWS a
little.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agomaint: version bump after beta release 1.13.2b
Stefano Lattarini [Thu, 30 May 2013 12:58:01 +0000 (14:58 +0200)]
maint: version bump after beta release 1.13.2b

* configure.ac (AC_INIT): Bump version number to 1.13.2c.
* m4/amversion.m4: Likewise (autoupdated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agorelease: beta release 1.13.2b (will become 1.13.3) v1.13.2b
Stefano Lattarini [Thu, 30 May 2013 12:01:49 +0000 (14:01 +0200)]
release: beta release 1.13.2b (will become 1.13.3)

* configure.ac (AC_INIT): Bump version number to 1.13.2b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agosync: update config.guess from upstream
Stefano Lattarini [Thu, 30 May 2013 11:19:43 +0000 (13:19 +0200)]
sync: update config.guess from upstream

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoNEWS: document recent testsuite fixes (MinGW/MSYS related)
Stefano Lattarini [Thu, 30 May 2013 09:28:02 +0000 (11:28 +0200)]
NEWS: document recent testsuite fixes (MinGW/MSYS related)

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agodepcomp: avoid trailing backslash in depfile for depmode=msvc7
Peter Rosin [Thu, 30 May 2013 08:49:42 +0000 (10:49 +0200)]
depcomp: avoid trailing backslash in depfile for depmode=msvc7

When compiling a file without any dependencies (no #includes), the
msvc7 depmode (and consequently msvc7msys) generates a depfile
Makefile fragment with the last line ending with a backslash. This
is less robust than needed.

Fixes automake bug#14501.

* lib/depcomp (msvc7): Finish off the depfile Makefile fragment with
an empty line.
(scriptversion): Update.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
10 years agotests: prune some weed in a non-POSIX test
Peter Rosin [Wed, 29 May 2013 15:10:40 +0000 (17:10 +0200)]
tests: prune some weed in a non-POSIX test

Fixes automake bug#14494.

* t/distcheck-pr10470.sh: Make sure the test-driver is installed. Adjust
to run_make changes. Adjust grep pattern to match new output.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: avoid a spurious failure on MSYS
Peter Rosin [Wed, 29 May 2013 14:53:55 +0000 (16:53 +0200)]
tests: avoid a spurious failure on MSYS

Fixes automake bug#14493.

* t/cxx-demo.sh: Strip CR characters from the program output.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
10 years agot/README: document "run_make", discourage "make -e"
Stefano Lattarini [Wed, 29 May 2013 12:16:19 +0000 (14:16 +0200)]
t/README: document "run_make", discourage "make -e"

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agocosmetics: tiny whitespace fixlets
Stefano Lattarini [Wed, 29 May 2013 11:55:48 +0000 (13:55 +0200)]
cosmetics: tiny whitespace fixlets

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: avoid a spurious failure with MSVC
Peter Rosin [Wed, 29 May 2013 10:06:17 +0000 (12:06 +0200)]
tests: avoid a spurious failure with MSVC

Fixes automake bug#14498.

* t/yacc-bison-skeleton.sh: inline was not standardized prior to C99.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
10 years agotests: avoid a spurious failure on non-POSIX systems
Peter Rosin [Wed, 29 May 2013 10:01:07 +0000 (12:01 +0200)]
tests: avoid a spurious failure on non-POSIX systems

Fixes automake bug#14495.

* t/lex-header.sh: Make sure unistd.h isn't included.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
10 years agoNEWS: fix typos and grammaros
Stefano Lattarini [Wed, 29 May 2013 08:20:48 +0000 (10:20 +0200)]
NEWS: fix typos and grammaros

Reported-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoMerge branch 'suffix-rules-work' into micro
Stefano Lattarini [Tue, 28 May 2013 20:04:25 +0000 (22:04 +0200)]
Merge branch 'suffix-rules-work' into micro

* suffix-rules-work:
  NEWS: document fix for bug#14441
  Automake::Rule: consistently prepend underscore to private variables
  Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
  Automake::Rule: adjust comments and POD according to previous changes
  Automake::Rule: make private variables lexically scoped
  suffix rules: better distinction between builtin and user-derived
  Automake::Rule: expose suffix rules as a function, not a scalar
  tests: expose automake bug#14441

10 years agoNEWS: report recent documentation fix about AM_PROG_MKDIR_P
Stefano Lattarini [Tue, 28 May 2013 18:51:42 +0000 (20:51 +0200)]
NEWS: report recent documentation fix about AM_PROG_MKDIR_P

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoNEWS: Automake 2.0 will assume "rm -f" without args work
Stefano Lattarini [Tue, 28 May 2013 18:48:11 +0000 (20:48 +0200)]
NEWS: Automake 2.0 will assume "rm -f" without args work

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoNEWS: fix a couple of typos in older entries
Stefano Lattarini [Tue, 28 May 2013 17:29:11 +0000 (19:29 +0200)]
NEWS: fix a couple of typos in older entries

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agodocs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
Stefano Lattarini [Tue, 28 May 2013 15:52:15 +0000 (17:52 +0200)]
docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake

See the 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' file in the 'maint'
branch (as of commit v1.13.2-201-gd99e3f3) for details.

* doc/automake.texi: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agomaint: sanity checks in 'check-minimal-autoconf' convenience target
Stefano Lattarini [Tue, 28 May 2013 14:24:41 +0000 (16:24 +0200)]
maint: sanity checks in 'check-minimal-autoconf' convenience target

* maint.mk (check-minimal-autoconf): Here, check that autoconf seems
to be locally installed, and that such local install refers to the
correct expected minimal version.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agomaint: test minimal supported autoconf through convenience target
Stefano Lattarini [Tue, 28 May 2013 13:58:06 +0000 (15:58 +0200)]
maint: test minimal supported autoconf through convenience target

* maint.mk (check-minimal-autoconf): New convenience target.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agomaint: install minimal supported autoconf through convenience targets
Stefano Lattarini [Tue, 28 May 2013 13:13:46 +0000 (15:13 +0200)]
maint: install minimal supported autoconf through convenience targets

To make testing of Automake in conjunction with it easier and more
reproducible.  It might be nice to also have convenience targets to
actually automatically run the Automake testsuite with such autoconf
version, but that is left to later patches.

* configure.ac: AC_SUBST the definition of $required_autoconf_version.
* maint.mk (WGET): Move definition earlier.
(gnu-ftp, ac-v, ac-n, ac-p, ac-t, ac-l, ac-d): New auxiliary variables.
(fetch-minimal-autoconf, build-minimal-autoconf): New convenience
targets.
* .gitignore: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoNEWS: document fix for bug#14441
Stefano Lattarini [Tue, 28 May 2013 08:54:25 +0000 (10:54 +0200)]
NEWS: document fix for bug#14441

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoAutomake::Rule: consistently prepend underscore to private variables
Stefano Lattarini [Tue, 28 May 2013 08:56:30 +0000 (10:56 +0200)]
Automake::Rule: consistently prepend underscore to private variables

* lib/Automake/Rule.pm (%suffix_rules): Rename ...
(%_suffix_rules): ... like this.
(%suffix_rules_builtin): Rename ...
(%_suffix_rules_builtin): ... like this.
(reset, next_in_suffix_chain, register_suffix_rule, suffix_rules_count):
Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoAutomake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Stefano Lattarini [Mon, 27 May 2013 10:55:27 +0000 (12:55 +0200)]
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()

* lib/Automake/Rule.pm (suffix_rule): Rename ...
(next_in_suffix_chain): ... like this.
(%suffix_rules): Adjust comments.
(@EXPORT): Adjust.
* automake.in (derive_suffix): Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoAutomake::Rule: adjust comments and POD according to previous changes
Stefano Lattarini [Mon, 27 May 2013 10:30:14 +0000 (12:30 +0200)]
Automake::Rule: adjust comments and POD according to previous changes

* lib/Automake/Rule.pm: Here, in several places.
* automake.in (register_language): And a tiny adjustment here as well.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoAutomake::Rule: make private variables lexically scoped
Stefano Lattarini [Mon, 27 May 2013 10:24:02 +0000 (12:24 +0200)]
Automake::Rule: make private variables lexically scoped

* lib/Automake/Rule.pm (@_known_extensions_list): This one.
(@_suffixes): And this one.
(%_rule_dict): And this one.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agosuffix rules: better distinction between builtin and user-derived
Stefano Lattarini [Mon, 27 May 2013 09:14:22 +0000 (11:14 +0200)]
suffix rules: better distinction between builtin and user-derived

Fixes automake bug#14441.

* lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ...
(%suffix_rules_builtin): ... this lexical variable.
($suffix_rules): Remove, superseded by ...
(%suffix_rules): ... this lexical variable.
(suffix_rules, suffix_rules_count): Adjust.
(register_suffix_rule): Update '%suffix_rules_builtin' rather than
'%suffix_rules' if the location (as passed by the '$where' argument)
is an "internal" one (doesn't come from user-provided Makefile.am).
(reset): Simplify resetting of '%suffix_rules' to the default ones
accordingly.
* t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoAutomake::Rule: expose suffix rules as a function, not a scalar
Stefano Lattarini [Mon, 27 May 2013 08:44:06 +0000 (10:44 +0200)]
Automake::Rule: expose suffix rules as a function, not a scalar

This is just a preparatory refactoring in view of future patches.
No semantic change is intended.

* lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level
variable to a lexical variable.
(suffix_rule): New function, expose the details of $suffix_rules
that are actually required by code outside thus modules --- and
only those details, no more.
(@EXPORT): Adjust.
* automake.in (derive_suffix): Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: expose automake bug#14441
Stefano Lattarini [Sun, 26 May 2013 23:02:05 +0000 (01:02 +0200)]
tests: expose automake bug#14441

* t/suffix-custom-pr14441.sh: New test, still failing.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.

Helped-by: Felix Salfelder <felix@salfelder.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotest-lib: typofix in comments
Stefano Lattarini [Sun, 26 May 2013 18:51:57 +0000 (20:51 +0200)]
test-lib: typofix in comments

* t/ax/am-test-lib.sh: In here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: remove an "unworthy" FIXME comment
Stefano Lattarini [Sun, 26 May 2013 18:37:23 +0000 (20:37 +0200)]
tests: remove an "unworthy" FIXME comment

* t/location.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: remove one obsolete workaround for long-lifted limitations
Stefano Lattarini [Sun, 26 May 2013 18:34:14 +0000 (20:34 +0200)]
tests: remove one obsolete workaround for long-lifted limitations

* t/silent-many-languages.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: couple of minor tweaks in demo tests in C++ and Libtool
Stefano Lattarini [Sun, 26 May 2013 17:18:55 +0000 (19:18 +0200)]
tests: couple of minor tweaks in demo tests in C++ and Libtool

* t/cxx-lt-demo.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: adjust or remove some obsolete comments
Stefano Lattarini [Sun, 26 May 2013 10:42:04 +0000 (12:42 +0200)]
tests: adjust or remove some obsolete comments

* t/ax/am-test-lib.sh: Here.
* t/distcheck-configure-flags.sh: And here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: remove some useless 'unset' of variables
Stefano Lattarini [Sun, 26 May 2013 10:13:33 +0000 (12:13 +0200)]
tests: remove some useless 'unset' of variables

They are redundant, now that we no longer call "make -e".

* t/javaflags.sh: Don't unset JAVAC.
* t/lflags.sh: Don't unset LEX.
* t/lflags2.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: avoid a couple of extra sleep with GNU make
Stefano Lattarini [Sun, 26 May 2013 09:35:15 +0000 (11:35 +0200)]
tests: avoid a couple of extra sleep with GNU make

They are only required by BSD make in order to avoid spurious failures.

* t/deleted-am.sh: Here.
* t/parallel-tests-recheck-pr11791.sh: And here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoNEWS: document testsuite work for 1.13.3
Stefano Lattarini [Sun, 26 May 2013 09:23:29 +0000 (11:23 +0200)]
NEWS: document testsuite work for 1.13.3

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agolint: remove a couple of obsolete syntax checks
Stefano Lattarini [Sat, 25 May 2013 20:50:20 +0000 (22:50 +0200)]
lint: remove a couple of obsolete syntax checks

* syntax-checks.mk (sc_obsolete_requirements_rules): Remove
definition of this variable.
(modern-requirement.texi2dvi-o): Likewise.
(modern-requirement.makeinfo-html): Likewise.
($(sc_obsolete_requirements_rules)): Remove these obsolete
syntax checks.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agolint: cosmetics: use #-comments, not ##-comments
Stefano Lattarini [Sat, 25 May 2013 20:22:55 +0000 (22:22 +0200)]
lint: cosmetics: use #-comments, not ##-comments

* syntax-checks.mk: Here.  This makes sense because this file is
not meant to be processed by Automake, so the ##-comments are not
treated specially.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agolint: cosmetics: some reordering
Stefano Lattarini [Sat, 25 May 2013 20:20:44 +0000 (22:20 +0200)]
lint: cosmetics: some reordering

* syntax-checks.mk: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agolint: recipes of syntax check require GNU grep; ensure it is used
Stefano Lattarini [Sat, 25 May 2013 20:18:45 +0000 (22:18 +0200)]
lint: recipes of syntax check require GNU grep; ensure it is used

* syntax-checks.mk (sc_sanity_gnu_grep): New.
($(syntax_check_rules)): Depend on it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agolint: better name for a syntax check
Stefano Lattarini [Sat, 25 May 2013 19:36:35 +0000 (21:36 +0200)]
lint: better name for a syntax check

* syntax-checks.mk (sc_tests_make_without_am_makeflags): Rename ...
(sc_make_without_am_makeflags): ... like this.
(syntax_check_rules): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: rename $am_make_rc_got -> $am_make_rc
Stefano Lattarini [Fri, 24 May 2013 18:54:41 +0000 (20:54 +0200)]
tests: rename $am_make_rc_got -> $am_make_rc

The latter is more natural  More importantly, I keep misspelling
the former over and over.

* t/ax/am-test-lib.sh (run_make): Update.
* t/ax/tap-summary-aux.sh: Adjust.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/parallel-tests-exit-statuses.sh: Likewise.
* t/parallel-tests-extra-programs.sh: Likewise.
* t/parallel-tests-fd-redirect-exeext.sh: Likewise.
* t/parallel-tests-fd-redirect.sh: Likewise.
* t/parallel-tests-fork-bomb.sh: Likewise.
* t/parallel-tests-no-spurious-summary.sh: Likewise.
* t/parallel-tests-recheck-pr11791.sh: Likewise.
* t/parallel-tests-reset-term.sh: Likewise.
* t/tap-signal.tap: Likewise.
* t/test-driver-acsubst.sh: Likewise.
* t/test-driver-cond.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: ensure $required is not set too late
Stefano Lattarini [Fri, 24 May 2013 10:46:17 +0000 (12:46 +0200)]
tests: ensure $required is not set too late

And do so in a safer way, with a runtime check rather than a brittle
static maintainer check.

* t/ax/test-init.sh: Set the 'required' variable to readonly.
* syntax-checks.mk (sc_tests_required_after_defs): Remove.
(syntax_check_rules): No longer list it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: use append mode to capture parallel make output
Stefano Lattarini [Thu, 23 May 2013 23:13:40 +0000 (01:13 +0200)]
tests: use append mode to capture parallel make output

This will allow us to run the Automake testsuite forcing all the make
invocations in the test cases to run in parallel mode [1], but without
hitting the spurious failure reported in automake bug#11413.

See also:
<http://lists.gnu.org/archive/html/bug-make/2013-05/msg00135.html>

The make invocations in the test cases can be forced to run in parallel
mode by, e.g., invoking "make check" like this:

      make check AM_TESTSUITE_MAKE="make -j16"

The possible spurious failures hinted above are due to the fact that
the redirected output of parallel make can racily lose lines.  For
example, if GNU make (3.82) is run with -j10 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.  Redirection in append mode does not
suffer of this problem, as explained here:
<http://lists.gnu.org/archive/html/automake-patches/2009-03/msg00073.html>

See also previous commits v1.12-63-g45c1fcd of 2012-05-05 (tests: use
append mode to capture parallel make output) and Release-1-10-280-g6426999
of 2009-03-10 (Use append mode to capture parallel test output).

* t/ax/am-test-lib.sh (run_make): Adjust and enhance.
* t/lisp8.sh: Take advantage of the enhancement, nd stop doing output
redirection for $MAKE by hand.
* t/tap-more.sh: Likewise.
* t/parallel-tests-concurrency.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: new convenience target 'check-parallel'
Stefano Lattarini [Thu, 23 May 2013 22:44:59 +0000 (00:44 +0200)]
tests: new convenience target 'check-parallel'

To force the test scripts to invoke make in parallel mode.  This should
enhance coverage of use cases (make concurrency) that are becoming more
and more important with today multicore fast machines.

* Makefile.am (check-parallel): New .PHONY target.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: avoid '$MAKE' redirections, use 'run_make' instead
Stefano Lattarini [Thu, 23 May 2013 10:10:18 +0000 (12:10 +0200)]
tests: avoid '$MAKE' redirections, use 'run_make' instead

The use 'run_make' with  the -E, -O and -M option, it is more
idiomatic now.  Also, this way, centralized fixes and improvements
done in 'run_make' will automatically propagate through most of
the testsuite.

* syntax-checks.mk (sc_tests_no_run_make_redirect): Also check against
'$MAKE' invocations that uses output redirections (and not only against
'run_make' invocation that do so).
* Several tests: Adjust (and few minor cosmetic changes as well, while
at it).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: avoid use of redirected 'run_make' invocations
Stefano Lattarini [Wed, 22 May 2013 21:29:47 +0000 (23:29 +0200)]
tests: avoid use of redirected 'run_make' invocations

Instead, properly use the -E, -O, or -M options of run_make.
The occurrences of the 'run_make' invocations using output
redirection has been found by the recently-introduced maintainer
check 'sc_tests_no_run_make_redirect'.

* t/ax/tap-summary-aux.sh: Adjust.
* t/ax/testsuite-summary-checks.sh: Likewise.
* Several other tests: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agolint: warn against redirected 'run_make' invocations
Stefano Lattarini [Wed, 22 May 2013 20:34:12 +0000 (22:34 +0200)]
lint: warn against redirected 'run_make' invocations

The testsuite shell function 'run_make()' has the three options
-E, -O and -M to perform the various kind of output redirections,
so the test scripts should use them instead of redirecting the
output "by hand":

    run_make ARGS >stdout           =>  run_make -O ARGS
    run_make ARGS >stderr           =>  run_make -E ARGS
    run_make ARGS >stdout 2>stderr  =>  run_make -O -E ARGS
    run_make ARGS >output 2>&1      =>  run_make -M ARGS

See the commit message of v1.13.2-13-gc7cfa09, 2013-05-22
(tests: run_make: options to do command redirection) for an
explanation of why this is a good idea.

It's worth noting that the present patch only introduced a new
static maintainer check looking against the undesired idioms,
but doesn't yet remove usages of such idioms from the testsuite.
That will be done by follow-up patch(es).

* syntax-checks.mk (sc_tests_no_run_make_redirect): New check.
(syntax_check_rules): List it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agocomments: next GNU make release 4.0, not 3.83
Stefano Lattarini [Wed, 22 May 2013 21:42:09 +0000 (23:42 +0200)]
comments: next GNU make release 4.0, not 3.83

See: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00093.html>

* lib/am/header-vars.am (am__make_running_with_option): Adjust
comments.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: fix a potential spurious failure due to global config.site
Stefano Lattarini [Wed, 22 May 2013 18:39:59 +0000 (20:39 +0200)]
tests: fix a potential spurious failure due to global config.site

* t/instdir-no-empty.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoHACKING: it's OK to do testsuite refactoring in a micro version
Stefano Lattarini [Wed, 22 May 2013 18:13:41 +0000 (20:13 +0200)]
HACKING: it's OK to do testsuite refactoring in a micro version

Reported-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: remove some code duplication
Stefano Lattarini [Wed, 22 May 2013 11:00:48 +0000 (13:00 +0200)]
tests: remove some code duplication

* t/ax/am-test-lib (null_install): New function.
* t/instdir-java.sh: Use it instead of copied & pasted code.
* t/instdir-lisp.sh: Likewise.
* t/instdir-ltlib.sh: Likewise.
* t/instdir-prog.sh: Likewise.
* t/instdir-python.sh: Likewise.
* t/instdir-texi.sh: Likewise.
* t/instdir.sh: Likewise.
* t/instdir2.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agocosmetics: remove a couple of extra whitespaces in tests
Stefano Lattarini [Wed, 22 May 2013 09:09:39 +0000 (11:09 +0200)]
cosmetics: remove a couple of extra whitespaces in tests

* t/instdir.sh: Here.
* t/instdir2.sh: And here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: two minor fixups
Stefano Lattarini [Wed, 22 May 2013 08:56:07 +0000 (10:56 +0200)]
tests: two minor fixups

* t/make-keepgoing.tap: Here.
* t/parallel-tests-exit-statuses.sh: And here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: run_make: options to do command redirection
Stefano Lattarini [Tue, 21 May 2013 18:22:17 +0000 (20:22 +0200)]
tests: run_make: options to do command redirection

Let's improve the API of the 'run_make()' helper shell function by
adding three new options:

  -O   Save the standard output from make on disk, in a regular file
       named 'stdout'.

  -E   Save the standard error from make on disk, in a regular file
       named 'stderr'.

  -M   Save both the standard output and standard error from make on
       disk, in a regular file named 'output'. This option supersedes
       both the '-O' and '-E' options.

This new API has two main advantages.

  1. Its use will allow us to get rid of more cumbersome idioms
     like, e.g.,

       $MAKE check >stdout && { cat stdout; exit 1; }
       cat stdout

     That can now be substituted with a simpler one:

       run_make -e FAIL -O check

  2. More importantly, using the new API we will prevent any extra output
     from the shell traces of the code in run_make to be redirected along
     with the make stderr (where that was redirected).  This problem was
     present in usages like, e.g.,

       run_make TESTS=foo.test check 2>stderr && exit 1
       grep 'expected error message' stderr

     Such usages are now to be rewritten as follows:

       run_make -e FAIL -E TESTS=foo.test check
       grep 'expected error message' stderr

     ensuring that 'stderr' won't end up containing unrelated stuff.

Note that we do not convert in bulk the old idioms and the use of
redirected 'run_make' invocations with this patch.  We only convert
some occurrences, to ensure that the new implementation of 'run_make'
is sound enough.  More sweeping conversions will likely be done in
follow-up patches.

* t/ax/am-test-lib.sh (run_make): Enhance and implement the extended API.
* t/tap-xfail-tests.sh: Use the new 'run_make' API.
* t/test-driver-cond.sh: Likewise.
* t/tests-environment-fd-redirect.sh: Likewise.
* t/uninstall-fail.sh: Likewise.
* t/yacc-dist-nobuild.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: only activate 'unset' alias if required
Stefano Lattarini [Tue, 21 May 2013 09:59:21 +0000 (11:59 +0200)]
tests: only activate 'unset' alias if required

This makes the test logs easier to read for most shells (which do not
actually require that alias).  This is especially important now that
'unset' is used in the new 'run_make()' function, and that function is
likely going to be used more and more in the future.

* t/ax/test-lib.sh (_am_unset, unset): Only define this function and
alias if "unset VAR" returns a non-zero exit status when VAR is already
unset.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: better idiom to override make macro defs on the cmdline
Stefano Lattarini [Mon, 20 May 2013 09:23:01 +0000 (11:23 +0200)]
tests: better idiom to override make macro defs on the cmdline

We now do so with a new wrapper shell function 'run_make()', which
relies on the use of AM_MAKEFLAGS, avoiding the use of the '-e' make
option.  The use of that option (that causes the environment variables
to take precedence over the macro definitions in the Makefile) has
proved to be quite brittle in the past, causing annoying and sometimes
problematic spurious failures.  This has worsened in some still
unpublished work going on in development branches.  It's time to solve
the issue once and for all.

Note that we do not convert all uses of $MAKE in the testsuite right
away; we might do so in follow-up changes, with leisure, to avoid a
"patch bomb" effect (this commit is already too much of a bomb itself).
What we do in this commit is to get rid of all "$MAKE -e" invocations.

We admit that the implementation and feature-set of 'run_make()' are
far from perfect, but good enough for our current purposes.  We'll
improve 'run_make()' if and when the need arises.

* syntax-checks.mk (sc_tests_no_make_e): New syntax check, guard against
the use of "$MAKE -e".
(syntax_check_rules): Add it.
(sc_tests_overriding_macros_on_cmdline): Adjust.
(lint): New, alias for 'maintainer-check', for lazy typists.  Idea
backported from the 'maint' branch (Automake 1.13a).
* t/ax/am-test-lib.sh (run_make): New function.  Run $MAKE with the
given command-line arguments, handling command-line override of variable
definitions in a smart way (using AM_MAKEFLAGS if a non-GNU make
implementation is detected to be in use).
(useless_vpath_rebuild): Adjust to use 'run_make', to avoid a spurious
maintainer check failure.
(yl_distcheck): Use 'run_make' rather than bare '$MAKE'.
(single_quote, append_single_quoted, is_valid_varname): New auxiliary
function, used, directly or indirectly, by it.
* Many tests: Adjust to avoid the use of "$MAKE -e", and prefer the
use of 'run_make' in few other contexts as well, where it makes sense.
Other minor fixlets while at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotest-lib: minor style changes
Stefano Lattarini [Mon, 20 May 2013 13:17:11 +0000 (15:17 +0200)]
test-lib: minor style changes

* t/ax/am-test-lib.sh (require_tool): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotest-lib: fix botched function name in an error message
Stefano Lattarini [Mon, 20 May 2013 13:07:48 +0000 (15:07 +0200)]
test-lib: fix botched function name in an error message

* t/ax/am-test-lib.sh (useless_vpath_rebuild): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agomaintcheck: minor tweaks and fixlets
Stefano Lattarini [Mon, 20 May 2013 08:53:11 +0000 (10:53 +0200)]
maintcheck: minor tweaks and fixlets

* syntax-checks.mk: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agolisp: fix a failure with Solaris /usr/xpg4/bin/sh
Stefano Lattarini [Sat, 18 May 2013 11:35:16 +0000 (13:35 +0200)]
lisp: fix a failure with Solaris /usr/xpg4/bin/sh

* lib/am/lisp.am (.el.elc): By initializing the 'am__dir' properly
here.  For most shells, the lacking initialization, while technically
incorrect, didn't cause any issue in practice, because in those shells
"test -d" returns an exit status of 0. But with /usr/xpg4/bin/sh, the
shell complains like this: "test: argument expected", and returns a
non-zero exit status.  This caused testsuite failures in several lisp
tests.
Also, while we are at it, use more proper quoting in the recipe, to
ensure a missing initialization to now be caught by more forgiving
shells as well.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: sanitize 'unset' usages
Stefano Lattarini [Fri, 17 May 2013 11:45:44 +0000 (13:45 +0200)]
tests: sanitize 'unset' usages

In some shells (e.g., Solaris 10 /bin/ksh, or NetBSD 5.1 /bin/sh),
"unset VAR" returns a non-zero exit status in case the VAR variable
is already unset.  This doesn't interact well with our usage of
"set -e" in the testsuite.  So far, we've avoided spurious failures
by either explicitly ignoring the exit status from unset:

    unset VAR || :

or explicitly ensuring that a variable is set, before trying to
unset it:

    VAR=; unset VAR

But we can do better, by aliasing the 'unset' command to a custom
function that will take care of these details for us.  This will
avoid us annoying spurious failures in the future, failures that
have already bitten us too much times.  For an example, refer to
commit 'v1.12.2-88-g5b1dae5' of 2012-08-05 (tests: avoid tons of
spurious failures on NetBSD).

* t/ax/test-lib.sh (_am_unset): New function.
(unset): New alias to it.
(_am_exit): Adjust comments.
* t/ax/am-test-lib.sh: No need to temporary disable the 'errexit'
shell flag when unsetting variables that are potentially already
unset.
(am_process_requirements): Adjust to remove a now-useless
workaround related to unset.
* t/aclocal-macrodir.tap: Likewise.
* t/aclocal-macrodirs.tap: Likewise.
* t/auxdir-autodetect.sh: Likewise.
* t/ax/am-test-lib.sh: Likewise.
* t/ax/test-lib.sh: Likewise.
* t/check-tests-in-builddir.sh: Likewise.
* t/dist-formats.tap: Likewise.
* t/distcheck-configure-flags-am.sh: Likewise.
* t/distcheck-configure-flags.sh: Likewise.
* t/java-empty-classpath.sh: Likewise.
* t/javaflags.sh: Likewise.
* t/lflags.sh: Likewise.
* t/lflags2.sh: Likewise.
* t/lisp-flags.sh: Likewise.
* t/lisp6.sh: Likewise.
* t/missing-auxfile-stops-makefiles-creation.sh: Likewise.
* t/parallel-am.sh: Likewise.
* t/parallel-am2.sh: Likewise.
* t/parallel-am3.sh: Likewise.
* t/parallel-tests-log-override-recheck.sh: Likewise.
* t/pkg-config-macros.sh: Likewise.
* t/python-missing.sh: Likewise.
* t/python-too-old.sh: Likewise.
* t/python11.sh: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-report.sh: Likewise.
* t/self-check-seq.tap: Likewise.
* t/silent-configsite.sh: Likewise.
* t/suffix6c.sh: Likewise.
* t/tar-override.sh: Likewise.
* t/tests-environment-and-log-compiler.sh: Likewise.
* t/vala-configure.sh: Likewise.
* t/werror3.sh: Likewise.
* t/yflags-cmdline-override.sh: Likewise.
* t/yflags.sh: Likewise.
* t/yflags2.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: fix some botched/outdated comments
Stefano Lattarini [Thu, 16 May 2013 12:49:44 +0000 (14:49 +0200)]
tests: fix some botched/outdated comments

* t/ax/test-defs.in: Here.  Also, fix a couple of grammaros while at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: use perl, not find+rm, to remove temporary directories
Stefano Lattarini [Thu, 16 May 2013 12:18:55 +0000 (14:18 +0200)]
tests: use perl, not find+rm, to remove temporary directories

The File::Path::rmtree function from perl, if used right, is
more reliable and more portable of our past idiom:

    find $dirs -type d ! -perm -700 -exec chmod u+rwx {} ';';
    rm -rf $$dirs || exit 1

at least of the face of unreadable dirs/files and other similar
permission issues (and we have those in our test directories).

In fact, this change fixes some spurious failures seen in
"make distcheck" on Solaris 10.

* t/ax/deltree.pl: New.
* Makefile.am (EXTRA_DIST): Add it.
(clean-local-check): Use it.
* t/ax/test-lib.sh (rm_rf_): Use it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agotests: remove exec bit from all of them ('micro' branch)
Stefano Lattarini [Thu, 16 May 2013 10:18:43 +0000 (12:18 +0200)]
tests: remove exec bit from all of them ('micro' branch)

It gives the impression that they are directly runnable, as with
"./t/foo.sh", but it has been a while since that was the case.  Today,
tests are runnable only through "make check" or "./runtest".

This change is for the 'micro' branch (automake 1.13.2a).  It will
soon be followed by similar patches for the 'maint' branch (automake
1.13a) and the 'master' branch (automake 1.99a).

* t/*.sh, t/*.tap: Remove executable bit.
* maint.mk (sc_tests_executable): Remove.
(syntax_check_rules): Adjust.
* gen-testsuite-part: Set permissions of generated tests to
'444' (-r--r--r--), rather than 555 (-r-xr-xr-x).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agomaint: tests no longer need to have executable bit set
Stefano Lattarini [Thu, 16 May 2013 10:13:32 +0000 (12:13 +0200)]
maint: tests no longer need to have executable bit set

It has been a while since they are runnable only through "make check"
or "./runtest", and not directly.

* HACKING: Adjust.
* t/README: Likewise, and updated the surrounding text to get rid of
obsolete statements and advices.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agopost-release: micro version bump (1.13.2a)
Stefano Lattarini [Wed, 15 May 2013 20:44:43 +0000 (22:44 +0200)]
post-release: micro version bump (1.13.2a)

* configure.ac, m4/amversion.m4: Bump version: 1.13.2 -> 1.13.2a

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agorelease: stable micro release 1.13.2 v1.13.2
Stefano Lattarini [Wed, 15 May 2013 17:43:39 +0000 (19:43 +0200)]
release: stable micro release 1.13.2

* configure.ac (AC_INIT): Bump version number to 1.13.2.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agovala tests: skip in a cross compiler setup
Stefano Lattarini [Wed, 15 May 2013 20:05:21 +0000 (22:05 +0200)]
vala tests: skip in a cross compiler setup

The "vala + pkg-config" doesn't interact well with cross-compilation:
<https://mail.gnome.org/archives/vala-list/2012-September/msg00094.html>

That is causing annoying failures in our testsuite when it's run in
cross-compilation mode.  It's not worth trying too be overly smart and
work around these problems; just skip the affected tests instead.

* t/ax/am-test-lib.sh (require_tool): A new requirement 'valac', telling
that the test needs to compile Vala-generated C files.  In particular,
this causes the test to be skipped when using a cross-compiler.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoHACKING: miscellaneous fixes, updates and enhancements
Stefano Lattarini [Wed, 15 May 2013 17:34:41 +0000 (19:34 +0200)]
HACKING: miscellaneous fixes, updates and enhancements

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoNEWS: minor improvements to wording (about new versioning scheme)
Stefano Lattarini [Wed, 15 May 2013 17:13:13 +0000 (19:13 +0200)]
NEWS: minor improvements to wording (about new versioning scheme)

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agowarns: don't tell AM_PROG_MKDIR_P is going to be removed
Stefano Lattarini [Fri, 10 May 2013 21:59:02 +0000 (23:59 +0200)]
warns: don't tell AM_PROG_MKDIR_P is going to be removed

That is no longer true.  For a more extended rationale, see file
'PLANS/obsolete-removed/am-prog-mkdir-p.txt' in the maint branch
(as of commit v1.13.1d-132-g90ec3fe).

* automake.in (scan_autoconf_traces): So adjust the warning message
here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoautomake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
Stefano Lattarini [Fri, 10 May 2013 10:13:00 +0000 (12:13 +0200)]
automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agocosmetics: fix few typos, grammaros and missing whitespace
Stefano Lattarini [Fri, 10 May 2013 08:50:05 +0000 (10:50 +0200)]
cosmetics: fix few typos, grammaros and missing whitespace

* lib/am/*.am: In comments in some of these files.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agofixup: remove an obsolete comment
Stefano Lattarini [Fri, 10 May 2013 08:35:26 +0000 (10:35 +0200)]
fixup: remove an obsolete comment

* lib/am/header-vars.am (am__make_running_with_option): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agodocs: we still don't have the promised better Java interface
Stefano Lattarini [Thu, 9 May 2013 18:23:40 +0000 (20:23 +0200)]
docs: we still don't have the promised better Java interface

Reported by Michael Zucchi:
<http://lists.gnu.org/archive/html/automake/2013-05/threads.html>

See also automake bug#9088.

* doc/automake.texi (Java): Adjust and clarify.
* THANKS: Update.

Reported-by: Michael Zucchi <notzed@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
10 years agoannouncement: cater to more flexible NEWS format
Stefano Lattarini [Thu, 9 May 2013 11:55:15 +0000 (13:55 +0200)]
announcement: cater to more flexible NEWS format

* maint.mk (announcement): Here, be prepared to handle the case
in which the first section of the NEWS file is dedicated to report
future backward-incompatibilities and/or other warnings.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>