Stefano Lattarini [Fri, 31 May 2013 09:42:38 +0000 (11:42 +0200)]
maint: version bump after beta release 1.13b
* configure.ac (AC_INIT): Bump version number to 1.13c.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 31 May 2013 08:51:38 +0000 (10:51 +0200)]
release: beta release 1.13b (will become 1.14)
* configure.ac (AC_INIT): Bump version number to 1.13b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 30 May 2013 13:41:34 +0000 (15:41 +0200)]
Merge branch 'micro' into maint
* micro:
maint: support new Automake versioning scheme in tagging/uploading rules
announcement: can be generated from development snapshots as well
announcement: can be generated from development snapshots as well
announcement: be less strict in the paring of NEWS
maint: version bump after beta release 1.13.2b
release: beta release 1.13.2b (will become 1.13.3)
sync: update config.guess from upstream
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
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>
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>
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>
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>
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>
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>
Stefano Lattarini [Thu, 30 May 2013 09:55:48 +0000 (11:55 +0200)]
Merge branch 'micro' into maint
* micro:
NEWS: document recent testsuite fixes (MinGW/MSYS related)
depcomp: avoid trailing backslash in depfile for depmode=msvc7
tests: prune some weed in a non-POSIX test
tests: avoid a spurious failure on MSYS
Peter Rosin [Thu, 30 May 2013 09:31:02 +0000 (11:31 +0200)]
automake: assume we can always pass '-o' to the C compiler
It is assumed that we can pass -c -o to the C compiler, so remove
some special casing and always do that.
This change is similar in spirit to v1.13.1d-217-g7299c4d "depend: assume
we can always pass '-o' to the C compiler"
This change also happen to fix a testsuite failure
(t/silent-many-languages.sh) when mixing MSVC and GNU fortran, which
have different default object file extensions (.obj vs. .o). This
difference in object file extension is not handled well and caused
Automake to look for MSVC objects with .o extension. Always using -o
makes MSVC create .o object files and linking succeeds. Not that
anybody recommends mixing toolchains or anything.
* bin/automake.in (handle_languages): Remove conditional modification
of 'output_flag' entry for 'c'.
(register_language ('name' => 'c')): Add 'output_flag' entry set to '-o'.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
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>
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>
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>
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>
Stefano Lattarini [Wed, 29 May 2013 12:54:47 +0000 (14:54 +0200)]
Merge branch 'micro' into maint
* micro:
t/README: document "run_make", discourage "make -e"
cosmetics: tiny whitespace fixlets
tests: avoid a spurious failure with MSVC
tests: avoid a spurious failure on non-POSIX systems
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>
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>
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>
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>
Stefano Lattarini [Wed, 29 May 2013 08:39:58 +0000 (10:39 +0200)]
Merge branch 'micro' into maint
* micro:
NEWS: fix typos and grammaros
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
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>
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
Stefano Lattarini [Tue, 28 May 2013 19:26:28 +0000 (21:26 +0200)]
NEWS: fix typo
Reported-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 28 May 2013 19:04:39 +0000 (21:04 +0200)]
Merge branch 'micro' into maint
* micro:
NEWS: report recent documentation fix about AM_PROG_MKDIR_P
NEWS: Automake 2.0 will assume "rm -f" without args work
NEWS: fix a couple of typos in older entries
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>
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>
Stefano Lattarini [Tue, 28 May 2013 18:09:54 +0000 (20:09 +0200)]
NEWS: on assuming "rm -f" without arguments work
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
Stefano Lattarini [Tue, 28 May 2013 15:53:03 +0000 (17:53 +0200)]
Merge branch 'micro' into maint
* micro:
docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
maint: sanity checks in 'check-minimal-autoconf' convenience target
maint: test minimal supported autoconf through convenience target
maint: install minimal supported autoconf through convenience targets
test-lib: typofix in comments
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>
Stefano Lattarini [Tue, 28 May 2013 15:45:25 +0000 (17:45 +0200)]
docs: AM_PROG_CC_C_O: correct imprecise statements about it
* doc/automake.texi: Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Stefano Lattarini [Sun, 26 May 2013 18:40:12 +0000 (20:40 +0200)]
Merge branch 'micro' into maint
* micro:
tests: remove an "unworthy" FIXME comment
tests: remove one obsolete workaround for long-lifted limitations
tests: couple of minor tweaks in demo tests in C++ and Libtool
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>
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>
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>
Stefano Lattarini [Sun, 26 May 2013 12:09:20 +0000 (14:09 +0200)]
Merge branch 'micro' into maint
* micro:
tests: adjust or remove some obsolete comments
tests: remove some useless 'unset' of variables
Stefano Lattarini [Sun, 26 May 2013 11:54:29 +0000 (13:54 +0200)]
NEWS: document deprecation of 'shar' and 'compress' dist formats
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 26 May 2013 11:30:52 +0000 (13:30 +0200)]
Merge branch 'prog-cc-c-o-work' into maint
* prog-cc-c-o-work:
tests: some tests make no sense if "$CC -c -o" doesn't work
AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
Stefano Lattarini [Sun, 26 May 2013 10:52:07 +0000 (12:52 +0200)]
m4: rename minuso.m4 -> prog-cc-c-o.m4
The new name is much clearer.
* m4/minuso.m4: Rename ...
* m4/prog-cc-c-o.m4: ... like this.
* m4/Makefile.in (dist_automake_DATA): Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
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>
Stefano Lattarini [Sun, 26 May 2013 10:04:48 +0000 (12:04 +0200)]
Merge branch 'micro' into maint
* micro:
tests: avoid a couple of extra sleep with GNU make
NEWS: document testsuite work for 1.13.3
lint: remove a couple of obsolete syntax checks
lint: cosmetics: use #-comments, not ##-comments
lint: cosmetics: some reordering
lint: recipes of syntax check require GNU grep; ensure it is used
lint: better name for a syntax check
tests: rename $am_make_rc_got -> $am_make_rc
tests: ensure $required is not set too late
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
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>
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>
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>
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>
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>
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>
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>
Stefano Lattarini [Wed, 15 May 2013 13:48:08 +0000 (15:48 +0200)]
tests: some tests make no sense if "$CC -c -o" doesn't work
So just skip them, to avoid spurious failures when running
"make check-no-cc-c-o".
* t/ax/am-test-lib.sh (require_tool): New requirement '-c-o'.
* t/subobj10.sh ($required): Add it.
* gen-testsuite-part (%depmodes): Adjust so that tests that
use 'makedepend' will be skipped if the compiler is being
forced not to grasp "-c -o".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 15 May 2013 08:14:46 +0000 (10:14 +0200)]
AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
** Theoretical problems of AC_PROG_CC_C_O:
Both cc and $CC are checked to see if they support the '-c' and '-o'
options together.
This behaviour is highly inconsistent with that of the other macros
related to C compiler checks -- which test only $CC.
It can also cause unwarranted uses of the 'compile' script on systems
where the default 'cc' is inferior, but the user is compiling with a
proper, different compiler (e.g., gcc).
** Practical problems with our previous implementation of C support m4
macros in Automake:
- AM_PROG_AR must now be called *before* AC_PROG_CC; this wasn't the
case before, and it turns out there are packages in the wild that
relied on the old behaviour.
- The cross-referenced requirements and macro rewrites juggled among
AC_PROG_CC, AC_PROG_CC_C_O and AM_PROG_CC_C_O caused warnings in
autoconf; for example, in our test 't/libobj3.sh', we could see
warnings like these (here slightly tweaked for legibility):
configure.ac:5: AC_REQUIRE: `AC_PROG_CC' expanded before required
autoconf/c.m4:567: AC_PROG_CC_C_O is expanded from...
autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from...
autoconf/lang.m4:329: AC_LANG_COMPILER_REQUIRE is expanded from...
autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
m4sugar/m4sh.m4:639: AS_IF is expanded from...
autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
aclocal.m4:70: AM_PROG_AR is expanded from...
configure.ac:5: the top level
** Fix all of that:
We fix all of the described issues with a new internal m4 macro
_AM_PROG_CC_C_O (inspired to, but not based on, AC_PROG_CC_C_O) that
gets tacked on to AC_PROG_CC automatically (this is done in the
Automake-generated aclocal.m4) and that takes care of checking and
adjusting '$CC' for "-c -o" support.
The macro AM_PROG_CC_C_O is still present, but is now just a thin
wrapper around such Automake-enhanced AC_PROG_CC.
It is worth noting that the present patch causes three slight
*backward-incompatibilities*:
1. The name cache variable used by AM_PROG_CC_C_O is no longer
computed (at configure runtime!) from the content of '$CC',
but is statically defined as 'am_cv_prog_cc_c_o'.
2. 'cc' is no longer checked by AM_PROG_CC_C_O, only '$CC' is.
3. AM_PROG_CC_C_O no longer AC_DEFINE the C preprocessor symbol
'NO_MINUS_C_MINUS_O'.
Given however that the third change can easily be worked around, that
the first two changes can be legitimately seen as bug fixes, and that
the new semantics introduced by such changes will simplify the transition
to Automake 2.0 (when the 'subdir-objects' will always be enabled
unconditionally), we believe they are acceptable to be shipped with
Automake 1.14.
With this patch, we also revert some of the testsuite adjustments done
in previous commit v1.13.2-178-g9877109 of 2013-05-24 (compile: rewrite
AC_PROG_CC with AM_PROG_CC_C_O contents). Such adjustments are no longer
needed.
* m4/minuso.m4 (_AM_PROG_CC_C_O): New internal macro, basically and
adjusted version of a merge between Autoconf-provided AC_PROG_CC_C_O
and our old implementation of AM_PROG_CC_C_O.
(AM_PROG_CC_C_O): Redefine as a simple wrapper around AC_PROG_CC.
* m4/init.m4 (AC_PROG_CC): Append _AM_PROG_CC_C_O, not AM_PROG_CC_C_O,
to the pre-existing expansion of this macro.
* m4/ar-lib.m4 (AM_PROG_AR): No longer require it to be expanded after
AC_PROG_CC.
* t/aclocal-deps.sh: Move AC_PROG_CC invocation after AC_PROG_RANLIB
and AM_PROG_AR invocations. Things should work this way too (as they
used to).
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/alloca.sh: Move AC_PROG_CC invocation after AM_PROG_AR invocation.
* t/condlib.sh: Likewise.
* t/aclocal-deps.sh: Move AC_PROG_CC invocation after LT_INIT and
AM_PROG_AR invocations. Make autoconf and autoheader warnings fatal.
* t/am-prog-cc-c-o.sh: Adjust to the new semantics, enhance a little,
and reduce code duplication.
* t/ccnoco.sh: Make autoconf warnings fatal.
* t/subpkg.sh: Likewise.
* t/ccnoco-lib.sh: Likewise, and fix a comment.
* t/link_cond.sh: Enhance a couple of error messages.
* configure.ac: Drop "nullification" of AM_PROG_CC_C_O.
* NEWS: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 14 May 2013 14:08:32 +0000 (16:08 +0200)]
compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
This is a much simpler rewrite than the one we attempted in the past,
and that was later removed by commit 'v1.13.1d-137-g32eb770' of
2013-05-11 (compile: avoid AC_PROG_CC messy rewrite).
Not only this change simplifies the code a little, but has the welcome
collateral effect of making automatic dependency tracking work better
with compilers that doesn't grasp the '-c' and '-o' options together.
Issues in that setup have been caught by several failures in the target
'check-no-cc-c-o'.
Unfortunately, this change has less welcome collateral effects:
1. AM_PROG_AR must now be called *after* AC_PROG_CC;
2. Autoconf emits extra warnings when used with Automake-generated
aclocal.m4.
These are unacceptable regressions for a release, but since we are
going to fix them soon enough in a follow-up patch (surely to be
applied before Automake 1.14 is released) we don't worry too much.
* m4/init.m4: Redefine AC_PROG_CC early, to automatically invoke
AM_PROG_CC_C_O as well. Accordingly, drop now-unneeded "automagical"
AM_PROG_CC_C_O expansion at later time (which took place thanks to
a AC_CONFIG_COMMANDS_PRE call).
* m4/minuso.m4 (AM_PROG_CC_C_O): Ensure the expansion of the body
of this macro takes place with C as "current Autoconf language" (use
AC_LANG_PUSH/AC_LANG_POP).
* m4/ar-lib.m4 (AM_PROG_AR): Likewise. Also, require this macro to
be expanded *after* AC_PROG_CC (so that any rewrite of $CC, if required,
has already taken place).
* t/add-missing.tap: Adjust to avoid spurious failures.
* t/aclocal-deps.sh: Likewise, by having AM_PROG_AR called *after*
AC_PROG_CC.
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/alloca.sh: Likewise.
* t/condlib.sh: Likewise.
* t/discover.sh: Likewise.
* t/objc-megademo.sh: Likewise.
* t/ccnoco.sh: Extend a little.
* t/ccnoco-deps.sh: New test.
* t/ccnoco-lib.sh: Likewise.
* t/ccnoco-lt.sh: Likewise.
* t/list-of-tests.mk: Add them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
Stefano Lattarini [Fri, 24 May 2013 10:17:59 +0000 (12:17 +0200)]
Merge branch 'micro' into maint
* micro:
tests: use append mode to capture parallel make output
tests: new convenience target 'check-parallel'
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
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>
Stefano Lattarini [Thu, 23 May 2013 18:48:03 +0000 (20:48 +0200)]
tests: avoid few lingering $MAKE redirections
These were present in the 'maint' branch, but not in the 'micro' branch.
Their occurrences has been found by the 'sc_tests_no_run_make_redirect'
maintainer check.
* t/fort2.sh: Adjust.
* t/preproc-demo.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 23 May 2013 18:12:17 +0000 (20:12 +0200)]
Merge branch 'micro' into maint
* micro:
tests: avoid '$MAKE' redirections, use 'run_make' instead
tests: avoid use of redirected 'run_make' invocations
lint: warn against redirected 'run_make' invocations
comments: next GNU make release 4.0, not 3.83
tests: fix a potential spurious failure due to global config.site
HACKING: it's OK to do testsuite refactoring in a micro version
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
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>
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>
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>
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>
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>
Stefano Lattarini [Wed, 22 May 2013 13:59:06 +0000 (15:59 +0200)]
Merge branch 'micro' into maint
* micro:
tests: remove some code duplication
cosmetics: remove a couple of extra whitespaces in tests
tests: two minor fixups
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>
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>
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>
Stefano Lattarini [Tue, 21 May 2013 22:09:30 +0000 (00:09 +0200)]
Merge branch 'micro' into maint
* micro:
tests: run_make: options to do command redirection
tests: only activate 'unset' alias if required
tests: better idiom to override make macro defs on the cmdline
test-lib: minor style changes
test-lib: fix botched function name in an error message
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
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>
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>
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>
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>
Stefano Lattarini [Mon, 20 May 2013 08:58:43 +0000 (10:58 +0200)]
Merge branch 'micro' into maint
* micro:
maintcheck: minor tweaks and fixlets
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
Stefano Lattarini [Sun, 19 May 2013 20:10:23 +0000 (22:10 +0200)]
tests: fix a spurious failure on NetBSD 5.1
* t/dist-shar.sh ($required): Also require the 'unshar' program.
Apparently, NetBSD has a 'shar' program but not the corresponding
'unshar' one.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 19 May 2013 14:48:19 +0000 (16:48 +0200)]
texi: build version.texi and stamp-vti in srcdir
Do so even when the 'info-in-builddir' option is present, or when
the corresponding '*.info' files are listed in $(CLEANFILES) or in
$(DISTCLEANFILES).
This fixes failures in the following tests, when they are run with
$MAKE pointing to FreeBSD make:
- txinfo-nodist-info.sh
- txinfo23.sh
- txinfo24.sh
- txinfo28.sh
- txinfo25.sh
BTW, notice that the test 'txinfo-builddir.sh' fails with FreeBSD make
as well, but that is due to a known FreeBSD make VPATH issue (the same
described in automake bug#7884). But that is not a regression, since
the 'info-in-builddir' option will be new in Automake 1.14. Moreover,
we already warn in the manual that the use of that option can indeed
cause problems with VPATH builds done by non-GNU make.
* bin/automake.in (handle_texinfo_helper): New local variable
'$soutdir'. Use it instead of '$outdir' where appropriate (in
particular, in the transform used on file 'texi-vers.am'.
* t/txinfo-builddir.sh: Adjust to avoid spurious failures.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 19 May 2013 10:24:48 +0000 (12:24 +0200)]
tests: fix a botched heading comment
* t/parallel-tests-recheck-pr11791.sh: Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 19 May 2013 10:22:22 +0000 (12:22 +0200)]
tests: fix another spurious with FreeBSD make
* t/parallel-tests-recheck-pr11791.sh: Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 18 May 2013 22:09:30 +0000 (00:09 +0200)]
tests: fix a spurious failure with FreeBSD make
Failures due to known VPATH support issues in that make implementation
(the same issues that have been causing the long-standing bug#7884).
* t/lex-multiple.sh: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 18 May 2013 13:23:20 +0000 (15:23 +0200)]
Merge branch 'micro' into maint
* micro:
lisp: fix a failure with Solaris /usr/xpg4/bin/sh
tests: sanitize 'unset' usages
tests: fix some botched/outdated comments
tests: use perl, not find+rm, to remove temporary directories
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>
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>
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>