Stefano Lattarini [Wed, 18 Apr 2012 16:19:05 +0000 (18:19 +0200)]
Beta release 1.11d (will become 1.12)
* configure.ac (AC_INIT): Bump version number to 1.11d.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 18 Apr 2012 16:09:58 +0000 (18:09 +0200)]
tests: remove redundant 'set -e' calls
* t/aclocal-install-fail.sh: Do not set the 'errexit' shell flag,
as it is already set by './defs'.
* t/aclocal-install-mkdir.sh: Likewise.
* t/aclocal-no-install-no-mkdir.sh: Likewise.
* t/aclocal-verbose-install.sh: Likewise.
* t/instdir-no-empty.sh: Likewise.
* t/link_cond.sh: Likewise.
* t/python-pr10995.sh: Likewise.
* t/vala-vapi.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 18 Apr 2012 16:04:12 +0000 (18:04 +0200)]
tests: avoid spurious failures when cross-compiling
* t/parallel-tests-recheck-depends-on-all.sh: Skip the test
when cross-compiling.
* t/vala-vapi.sh: Skip tests that do not make sense when
cross-compiling.
* t/yacc-basic.sh: Likewise.
* t/yacc-cxx.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 18 Apr 2012 13:08:37 +0000 (15:08 +0200)]
maintainer-check: fix definition of $(ams) again
* syntax-checks.mk (ams): The previous change 'v1.11b-36-g127adfb' solved
one problem in the definition of this variable, but also caused it contain
the names of all the left-behind 't/*.dir' temporary test directories.
Fix that.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 18 Apr 2012 11:40:59 +0000 (13:40 +0200)]
maintainer-check: do not hang
* syntax-checks.mk (ams): The definition of this variable was invoking
the 'find' utility in an incorrect way, which resulted into the variable
being empty, thus reducing coverage in some maintainer check and making
other hang. Fix this.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 18 Apr 2012 09:40:15 +0000 (11:40 +0200)]
parallel-tests: 'recheck' must depend on 'all'
Fixes automake bug#11252.
When a developer experience one or more failures in the testsuite, a good
workflow is for him to modify its program's sources to fix the bug thus
revealed, run "make recheck" to verify that the change has indeed solved
the testsuite failures previously experienced, and then run "make check"
to verify that the change has not introduced any new failure or regression.
Unfortunately, this apparently natural workflow couldn't have worked until
now, since the Automake-provided 'recheck' target (which didn't depend on
'all') wouldn't have causes the program to be recompiled, and the failed
tests would have thus been run with the older, buggy version of the
program, failing the same way as before.
* lib/am/check.am (recheck): Depend on 'all'.
* t/parallel-tests-recheck-depends-on-all.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 16 Apr 2012 23:07:23 +0000 (01:07 +0200)]
vala tests: building libraries, and more on '.vapi' files
* t/vala1.sh: Remove, turned into ...
* t/vala-libs.sh: ... this functional test instead.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 16 Apr 2012 22:02:58 +0000 (00:02 +0200)]
automake: fix botched call to 'check_user_variables'
* automake.in (lang_vala_finish_target): The 'check_user_variables' function
takes an array, not an array ref, as argument; adjust its call accordingly.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 16 Apr 2012 21:42:41 +0000 (23:42 +0200)]
vala: cleanup rules are better and more complete now
* automake.in (lang_vala_finish_target): Ensure Vala-generated C sources
and header files and our custom stamp files are correctly cleaned.
* t/vala-headers.sh, t/vala-vpath.sh: Enhance.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 16 Apr 2012 21:10:50 +0000 (23:10 +0200)]
vala tests: check headers generation
* t/vala-headers.sh: New test, checking use of 'valac' options for
header generation (e.g., '-H', '--vapi', ...) in '$(..._VALAFLAGS)'.
* t/list-of-tests.mk: Add it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 16 Apr 2012 21:16:22 +0000 (23:16 +0200)]
vala tests: remove redundant libtool requirements and usages
* t/vala2.sh: Don't require libtool m4 macros, don't run libtoolize,
don't invoke AC_PROG_LIBTOOL: none of there is really needed.
* t/vala3.test: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 16 Apr 2012 20:35:18 +0000 (22:35 +0200)]
vala tests: some enhancements
* t/vala-vpath.sh, t/vala2.sh, t/vala3.sh, t/vala5.sh: Enhance a little.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 16 Apr 2012 17:18:08 +0000 (19:18 +0200)]
vala tests: few adjustments and improvements
* t/vala4.sh: Don't run 'libtoolize', it's not truly required.
($required): Don't require 'libtoolize'.
(configure.ac): Don't invoke 'AC_PROG_LIBTOOL'.
* t/vala-mix.sh ($required): Require 'cc'.
Avoid some calls to 'framework_failure_', they were only useful when
this test was xfailing (to ensure it wasn't failing for the wrong
reasons).
Ensure the stamp file is created in the source directory.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering [Sun, 15 Apr 2012 16:44:50 +0000 (18:44 +0200)]
build: use latest help2man, but without locale support
* doc/help2man: Update to latest (1.40.8), but built with
--disable-nls, which elides the less-portable locale-related
code, and with the "use 5.008" manually changed to "use 5.006".
Thanks to Brendan O'Dea for the tips.
* THANKS: Update Brendan's address.
Stefano Lattarini [Sat, 14 Apr 2012 07:55:41 +0000 (09:55 +0200)]
parallel-tests: print error messages on stderr, not stdout
* lib/am/check.am ($(TEST_SUITE_LOG)): Be sure to print error messages
on stderr, not on stdout.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 13 Apr 2012 16:56:24 +0000 (18:56 +0200)]
dist tests: fix reduced coverage due to typo
* t/dist-formats.tap: Append to 'Makefile.am', not to 'Makefil.am'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering [Fri, 13 Apr 2012 15:58:04 +0000 (17:58 +0200)]
build: use slightly older help2man, for improved portability
Fixes automake bug#11235
* doc/help2man: Downgrade to help2man-1.36.4, so that it does
not require Locale/gettext.pm, which is not available on a
default Fedora 16 installation. Reported by Stefano Lattarini.
Stefano Lattarini [Fri, 13 Apr 2012 15:57:12 +0000 (17:57 +0200)]
tests: avoid spurious failure when 'install-info' program is unavailable
From a report by Dmitry V. Levin:
<http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00085.html>
* t/install-info-dir.sh : When 'install-info' is unavailable, create a
dummy '${infodir}/dir' file by hand when that file is required by later
checks.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 13 Apr 2012 12:36:31 +0000 (14:36 +0200)]
Merge branch 'maint'
* maint:
install: shell parameter expansions can be used in directory names
Stefano Lattarini [Fri, 13 Apr 2012 12:16:29 +0000 (14:16 +0200)]
Merge branch 'fix-pr11232' into maint
* fix-pr11232:
install: shell parameter expansions can be used in directory names
Dmitry V. Levin [Thu, 12 Apr 2012 16:24:23 +0000 (16:24 +0000)]
install: shell parameter expansions can be used in directory names
Fixes automake bug#11232.
GNU automake used to support shell parameter expansion and command
substitutions in installation directories, but that was inadvertently
broken by commit v1.11-759-g368f1c4 "install: don't create empty dirs
when an empty 'foo_PRIMARY' is used" of 18-03-2012, where shell quoting
of generated MKDIR_P command was changed from double to single quotes
in 3 places, while some 21 other places still use double quotes for
generated MKDIR_P commands.
* lib/am/data.am: Use double quotes for generated "mkdir -p" commands.
* lib/am/libs.am: Likewise.
* lib/am/ltlib.am: Likewise.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 13 Apr 2012 09:11:03 +0000 (11:11 +0200)]
test defs: more environment cleanups
* defs (SH_LOG_COMPILER, SH_LOG_COMPILE, SH_LOG_FLAGS,
AM_SH_LOG_FLAGS, SH_LOG_DRIVER, SH_LOG_DRIVER_FLAGS,
AM_SH_LOG_DRIVER_FLAGS): Unset these variable to avoid
potential interferences from the environment.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 13 Apr 2012 08:07:54 +0000 (10:07 +0200)]
test defs: unset 'AM_UPDATE_INFO_DIR' environment variable
* defs (AM_UPDATE_INFO_DIR): Unset, to be sure to avoid unduly
interferences from the environment. See also automake bug#11204.
* THANKS: Add entry for David Fang.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering [Thu, 12 Apr 2012 13:07:19 +0000 (15:07 +0200)]
build: generate doc/*.1 files; include help2man
This change is required to avoid making a distributed file depend
on a generated (non-distributed) one. The preceding change
introduced one such dependency, with the distributed doc/*.1
depending on the generated aclocal and automake files. Here,
we avoid the problem by generating the doc/*.1 files rather than
distributing them.
* doc/help2man: New file, version 1.37.1.
* Makefile.am (EXTRA_DIST): Add doc/help2man.
(man1_MANS): Rename from $(dist_man1_MANS). Remove $(srcdir) prefix.
(CLEANFILES): Add these files here, rather than to
$(MAINTAINERCLEANFILES), since we are no longer distributing them.
(update_mans): Use doc/help2man, not $(HELP2MAN).
* configure.ac: Don't test for help2man, now that we bundle it.
Jim Meyering [Wed, 11 Apr 2012 19:25:48 +0000 (21:25 +0200)]
build: avoid parallel build failures
A parallel build would fail when two concurrent sub-make processes
tried to build lib/Automake/Config.pm. The loser would complain that
grep: lib/Automake/Config.pm-t: No such file or directory
chmod: cannot access `lib/Automake/Config.pm-t': No such file or\
directory
make[1]: *** [lib/Automake/Config.pm] Error 1
* Makefile.am (update_mans): Don't build lib/Automake/Config.pm here.
Instead, depend on it from the two rules that use it:
($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on it.
($(srcdir)/doc/automake-$(APIVERSION).1): Likewise.
[ Note that technically, the above is incorrect, since it makes those
distributed doc/*.1 files depend on generated aclocal and automake.
That problem is addressed by the following commit. ]
However, that was not enough, since even then, a parallel build
would still fail, now with this:
help2man: can't get `--help' info from automake-1.11a
Try `--no-discard-stderr' if option outputs to stderr
make: *** [doc/automake-1.11a.1] Error 1
a subsequent "make -j3" would create the missing file.
That was because help2man would invoke t/wrap/aclocal.in and
t/wrap/automake.in, each of which would require aclocal and
automake, yet those two files weren't guaranteed to be created.
Add explicit dependencies:
($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on aclocal.
($(srcdir)/doc/automake-$(APIVERSION).1): Depend on automake.
Stefano Lattarini [Thu, 12 Apr 2012 16:13:58 +0000 (18:13 +0200)]
news: remove older entry for "future backward incompatibilities"
* NEWS (New in 1.11.4): Remove subsection about "Future backward
incompatibilities"; they are now either documented changes for the
upcoming 1.12 release, or re-casted as planned future backward
incompatibilities for the next 1.13 release.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 12 Apr 2012 16:09:13 +0000 (18:09 +0200)]
news: document fixes for bug#11222 and bug#11229
* NEWS (Bugs fixed in 1.11.5): New, documenting the fixes.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 12 Apr 2012 16:04:19 +0000 (18:04 +0200)]
Merge branch 'maint'
* maint:
vala: fix distcheck with c/vala mixed projects
vala: fix vapi files handling
vala: test vapi files handling (still failing)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 12 Apr 2012 12:14:04 +0000 (14:14 +0200)]
Merge branches 'vala-fix-pr11222' and 'vala-fix-pr11229' into maint
* vala-fix-pr11222:
vala: fix vapi files handling
vala: test vapi files handling (still failing)
* vala-fix-pr11229:
vala: fix distcheck with c/vala mixed projects
Marc-Antoine Perennou [Thu, 12 Apr 2012 11:32:58 +0000 (13:32 +0200)]
vala: fix distcheck with c/vala mixed projects
Fixes automake bug#11229.
* automake.in (lang_vala_finish_target): Return early if the
current '_SOURCES' variable does not contain any '.vala' nor
'.vapi' source. Otherwise, the vala compiler will be called
without arguments, causing an error.
* tests/vala-mix.test: Enhance to catch the fixed bug.
Copyright-paperwork-exempt: yes
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 12 Apr 2012 11:19:22 +0000 (13:19 +0200)]
news: fix typo
* NEWS (Changes to Automake-generated testsuite harnesses): It's
'perl', not 'per'. Reported by Akim Demaille in a private mail.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Marc-Antoine Perennou [Wed, 11 Apr 2012 09:18:31 +0000 (11:18 +0200)]
vala: fix vapi files handling
Fixes automake bug#11222.
Issue introduced in commit 'v1.11-696-g51f61df' of 27-02-2012,
"vala: fix 'valac' calls for projects with mixed Vala/C", which
fixed automake bug#10894.
* automake.in (lang_vala_finish_target): Also recognize '.vapi'
as an extension for vala input files.
* tests/list-of-tests.mk (XFAIL_TESTS): Remove 'vala-vapi.test'.
Copyright-paperwork-exempt: yes
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 22:40:34 +0000 (00:40 +0200)]
vala: test vapi files handling (still failing)
Exposes automake bug#11222.
* tests/vala-vapi.test: New test, still failing.
* tests/list-of-tests.mk (handwritten_TESTS): Add it.
(XFAIL_TESTS): Likewise.
* THANKS: Update.
Copyright-paperwork-exempt: yes
Co-authored-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 20:02:37 +0000 (22:02 +0200)]
self checks: avoid spurious failures when keep_testdirs=yes
* t/self-check-cleanup.tap, t/self-check-dir.tap: Unset the
'keep_testdirs' environment variable, to avoid spurious errors
when the testsuite is run with "keep_testdirs=yes make check".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 19:21:39 +0000 (21:21 +0200)]
fixup: some weaknesses in a self-check test case
* t/self-check-cleanup.tap: This test contained several buglets
introduced in the recent row of commits that converted the Automake
build system to a non-recursive setup. Fix them. Since we are at
it, enhance the test to cover also the use of the 'keep_testdirs'
environment variable in order to keep the temporary test directories
around.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 19:01:39 +0000 (21:01 +0200)]
maintcheck: avoid yet more spurious failures (2)
Some maintainer checks were too greedy in processing 'Makefile.am'
files, looking for them even in temporary directories left behind
by the test cases, thus causing occasional spurious failures.
* syntax-checks.mk (ams): Ignore 'Makefile.am' files in the
temporary test directories.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 18:38:39 +0000 (20:38 +0200)]
maintcheck: avoid yet more spurious failures (1)
The 'sc_tests_makefile_variable_order' maintainer check is too
strict sometimes, blaming automake for outputting out-of-order
variables when this is in fact due to the result of post-processing
of third-party tools or custom test code.
* t/tap-doc2.sh: Ensure the final Makefile.in (that we hack by
hand) is removed, to avoid a spurious maintainer-check failure.
* t/gettext-macros.sh: Ensure that any leftover Makefile.in (that
is generated by gettext/autopoint) is removed, to avoid a spurious
maintainer-check failure.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 18:21:35 +0000 (20:21 +0200)]
hacking: fixlets w.r.t. the release procedure
* HACKING (Release procedure): Do not state that the result of
"make fetch" is woefully incomplete: this is not true anymore today.
Suggest to re-run the testsuite after a "make fetch", in case any
file has been updated.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 17:18:21 +0000 (19:18 +0200)]
maintcheck: fix spurious failures
* syntax-check.mk (sc_mkinstalldirs): Now the 'mkinstalldirs' is
listed in the top-level 'Makefile.am', not in 'lib/Makefile.am';
adjust the "whitelist" accordingly.
(sc_ensure_testsuite_has_run): The 'test-suite.log' file created by
"make check" is now placed in the top-level directory, not in the
't/' subdirectory. Adjust by using '$(TEST_SUITE_LOG)' instead of
an hand-crafted path for the 'test-suite.log' file.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 17:06:18 +0000 (19:06 +0200)]
maint: version bump after beta release
* configure.ac (AC_INIT): Bump version number to 1.11c, as per
HACKING suggestion.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 16:00:00 +0000 (18:00 +0200)]
Beta release 1.11b (will become 1.12)
* configure.ac (AC_INIT): Bump version number to 1.11b.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 15:51:59 +0000 (17:51 +0200)]
sync: some auxiliary files synced from upstream
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/INSTALL: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 2 Apr 2012 16:16:38 +0000 (18:16 +0200)]
hacking: described new branching policy for 1.12 an later
This change closes automake bug#11153.
* HACKING (Working with git): Document the new policy for automake
branching and merging, which will start being applied after 1.12 is
released:
- the maintenance branch will be 'maint', and we will cut the
maintenance releases directly from there;
- the development branch will be 'master', and we will cut the
new releases directly from there;
- 'maint' will be kept regularly merged into 'master'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 15:31:04 +0000 (17:31 +0200)]
vala tests: avoid spurious failure with older GObject
* t/vala2.sh: In the 'PKG_CHECK_MODULES' call in 'configure.ac',
don't require gobject >= 2.10, but just >= 2.4: that is enough in
order for the test to pass.
* t/vala3.sh: Likewise.
* t/vala5.sh: Likewise. Also, skip the test instead of failing
if the ./configure invocation fails: that is likely due to the
fact that the GObject library is too old or missing, and that is
not automake's fault.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 13:37:04 +0000 (15:37 +0200)]
vala tests: force the use of automatic dependency tracking
* t/vala-mix2.sh: Invoke ./configure with the option
'--enable-dependency-tracking', so that slower dependency
extractors are not rejected. This avoids a spurious failure
at least on Solaris when the Sun C compiler is used.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 13:25:37 +0000 (15:25 +0200)]
tests: avoid spurious failures in tests on C++ and lex
This is a follow-up to commit v1.11-2128-g7f2bc63 of 09-04-2012,
"tests: avoid spurious failures with non-flex 'lex' programs and
C++". It is required to avoid a couple of spurious failures on
Solaris and NetBSD systems (at least). See also automake bug#11185.
* t/lex-clean-cxx.sh (parsefoo.lxx): Do not declared the provided
dummy 'isatty' function as 'static', since that might conflict with
a declaration of it as 'extern' pulled in through other system
* t/lex-depend-cxx.sh (joe.ll): Likewise.
* t/README: Update advice, to avoid similar issues in the future.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 09:04:56 +0000 (11:04 +0200)]
Merge branch 'rmch'
* rmch:
maint: simplify generation of files with @substed@ stuff
t/README: update w.r.t. recent overhaul (non-recursive build system)
docs: fix names of relevant test cases in comments
NEWS: automake build systems avoids make recursion
maint: no more make recursion in Automake's build system
tests: rename 'tests/' => 't/', '*.test' => '*.sh'
tests: remove recipes that run tests with 'prove'
tests: move most helper scripts and files into the 'ax' subdirectory
Stefano Lattarini [Sun, 8 Apr 2012 22:17:48 +0000 (00:17 +0200)]
tests: avoid spurious failures with non-flex 'lex' programs and C++
This change fixes automake bug#11185.
The commit v1.11-2058-g6f4b08d of 06-03-2012, "tests: explicitly
state that our lexers do not require unistd.h" has broken the tests
'lex-clean-cxx.test' and 'lex-depend-cxx.test' on Solaris, where lex
is not flex and does not understand the "%option never-interactive"
directive. Remove the use of this directive, resorting to defining
a dummy 'isatty()' function instead to keep the flex-generated tests
able to compile also on MinGW/MSYS.
* tests/lex-clean-cxx.test (parsefoo.lxx): Define a dummy 'isatty()'
function.
* tests/lex-depend-cxx.test (joe.ll): Likewise.
* tests/README: Adjust. Fix an unrelated typo since we are at it.
Co-authored-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 8 Apr 2012 21:55:48 +0000 (23:55 +0200)]
tests: avoid a spurious failures for shells with busted 'set -e'
Some versions of the BSD Korn shell wrongly bail out when the
'errexit' shell flag is active and the left-hand command in a
"&&" list fails and that list is the *last* command of the body
of a "while" or "for" loop.
* tests/install-info-dir.test: Work around that behaviour.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 6 Apr 2012 16:08:39 +0000 (18:08 +0200)]
maint: simplify generation of files with @substed@ stuff
Use a proper "config.status --file=-" idiom to do most substitutions
in our generated files, to avoid too much duplications between the
various $(do_subst) commands in Makefile.am and the (explicit or
implicit AC_SUBST) invocation in configure.ac.
From a suggestion by Eric Blake and Federico Simoncelli:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00011.html>
* Makefile.am (do_subst): Rewrite to take advantage of the
"config.status --file=-" idiom.
(generated_file_finalize): New, to help checking that generated
files don't contain unexpanded '@substitutions@', and are made
read-only.
(automake, aclocal): Take advantage of the improved $(do_subst).
Improve comments.
(lib/Automake/Config.pm): Likewise, and of the new variable
$(generated_file_finalize) as well.
($(top_srcdir)/m4/amversion.m4): Likewise.
(defs-static): Likewise, and depend explicitly on 'Makefile'.
(do_subst_t): Remove as obsolete.
* THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 7 Apr 2012 11:35:45 +0000 (13:35 +0200)]
tests: remove redundant requirement
* tests/txinfo19.test ($required): Drop required "tex", it is not
really needed.
Add trailing ':' command since we are at it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 7 Apr 2012 11:04:14 +0000 (13:04 +0200)]
tests: make two test scripts executable
* tests/instdir-cond.test: Add executable bit.
* tests/instdir-cond2.test: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 6 Apr 2012 15:40:52 +0000 (17:40 +0200)]
t/README: update w.r.t. recent overhaul (non-recursive build system)
And other miscellaneous improvements since we are at it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 6 Apr 2012 15:34:50 +0000 (17:34 +0200)]
docs: fix names of relevant test cases in comments
* doc/automake.texi: In comments reporting which test(s) check a
given feature/idiom, fix the names of the referenced tests, to
reflect the recent 'tests/foo.test' => 't/foo.sh' "Great Rename".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 6 Apr 2012 14:29:29 +0000 (16:29 +0200)]
NEWS: automake build systems avoids make recursion
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 6 Apr 2012 13:20:54 +0000 (15:20 +0200)]
maint: no more make recursion in Automake's build system
We finally merge testsuite-related part of the Automake build
system with the top-level one. See also yesterday's commit
'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's
own build system".
* t/gen-testsuite-part: Move ...
* gen-testsuite-part: ... here, with required adjustments.
* t/defs-static.in: Move ...
* defs-static.in: ... here, with required adjustments. In
particular ...
($testsrcdir, $testbuilddir): Removed.
($top_testsrcdir): Renamed ...
($am_top_srcdir): ... to this.
($top_testbuilddir): Renamed ...
($am_top_builddir): ... to this.
* t/defs: Move ...
* defs: ... here, and adjust as required.
* t/Makefile.am: Merge ...
* Makefile.am: ... in here, with related adjustments and
simplifications.
* bootstrap: Adjust as required.
* syntax-checks.mk: Likewise.
* .gitignore: Likewise.
* t/ax/tap-setup.sh: Likewise.
* t/get-sysconf.sh: Likewise.
* t/help-multilib.sh: Likewise.
* t/multlib.sh: Likewise.
* t/parallel-tests2.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-reexec.tap: Likewise.
* t/self-check-sanity.sh: Likewise.
* t/yacc-d-cxx.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 6 Apr 2012 11:12:25 +0000 (13:12 +0200)]
tests: rename 'tests/' => 't/', '*.test' => '*.sh'
When we (soon) convert the Automake testsuite to a non-recursive
make setup, we'll have to fix the entries of $(TESTS) to be
prepended with the subdirectory they are in; this will increase
the length of $(TESTS), and thus increase the possibility of
exceeding the command-line length limits on some systems (most
notably, MinGW/MSYS). See automake bug#7868 for more information.
Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test'
script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test'
will become 't/foo.sh', which have the same number of characters.
* tests/: Rename ...
* t/: ... to this.
* t/*.test: Rename ...
* t/*.sh: ... to this.
* t/.gitignore: Removed as obsolete.
* t/defs: Adjust.
* t/gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Likewise.
* t/ccnoco.sh: Likewise.
* t/ccnoco3.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
* README: Likewise.
* bootstrap: Likewise
* configure.ac: Likewise.
* Makefile.am: Likewise.
* .gitignore: Likewise.
* syntax-check.mk: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 6 Apr 2012 10:34:49 +0000 (12:34 +0200)]
tests: remove recipes that run tests with 'prove'
Those recipes has served its purpose by helping us during the
development of TAP support in Automake, to ensure our TAP driver
didn't have gratuitous incompatibilities with the 'prove' test
runner. But they are now unused, out-of-date and bitrotting. So
it's better to just remove them. We can resurrect them at a later
time if the need arises.
* tests/Makefile.am (PROVE, AM_PROVEFLAGS, AM_PROVECMD): Remove
these variables.
(prove, installprove): Remove these targets and their recipe.
(EXTRA_DIST): Don't distribute 'ax/prove-runner' anymore.
* ax/prove-runner: Delete.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 5 Apr 2012 19:20:29 +0000 (21:20 +0200)]
tests: move most helper scripts and files into the 'ax' subdirectory
* tests/defs-static.in ($am_testauxdir): New variable.
* tests/testsuite-summary-checks.sh: Moved ...
* tests/ax/testsuite-summary-checks.sh: ... here.
* tests/trivial-test-driver: Moved ...
* tests/ax/trivial-test-driver: ... here.
* tests/tap-summary-aux.sh: Moved ...
* tests/ax/tap-summary-aux.sh: ... here.
* tests/distcheck-hook-m4.am: Moved ...
* tests/ax/distcheck-hook-m4.am: ... here.
* tests/prove-runner: Moved ...
* tests/ax/prove-runner: ... here.
* tests/depcomp.sh: Moved ...
* tests/ax/depcomp.sh: ... here.
* tests/tap-setup.sh: Moved ...
* tests/ax/tap-setup.sh: ... here.
* tests/tap-functions.sh: Moved ...
* tests/ax/tap-functions.sh: ... here.
* tests/plain-functions.sh: Moved ...
* tests/ax/plain-functions.sh: ... here.
* tests/extract-testsuite-summary: Moved ...
* tests/ax/extract-testsuite-summary.pl: .. . here.
* tests/gen-testsuite-part: Adjusted accordingly.
* tests/Makefile.am: Likewise.
* tests/defs: Likewise.
* syntax-check.mk: Likewise.
* Several tests: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 1 Apr 2012 09:48:47 +0000 (11:48 +0200)]
maint: remove most recursion in automake's own build system
Recursive make-based build systems tend to be slower, more fragile
and less faithful than "flat" ones. See Peter Miller's article
"Recursive Make Considered Harmful" for more a more in-depth
discussion:
<http://miller.emu.id.au/pmiller/books/rmch/>
While in the case of automake this isn't a big problem (given the
small size of its build systems), it still creates occasional
glitches and annoyances.
With this change, the use of recursion in Automake's own build
system is eliminated *but for the testsuite*. Converting that
is a little more tricky, and better left for a later change (or
series of changes).
See also commit v1.11-769-gfeeb7f6 of 28-03-2012.
* contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am,
doc/Makefile.am: Removed, their content merged ...
* Makefile.am: ... here, with required adjustments and few
other "opportunistic" changes.
(SUBDIRS): Update.
* configure.ac (AC_CONFIG_FILES): Likewise.
* .gitignore: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 5 Apr 2012 13:44:47 +0000 (15:44 +0200)]
tests: fix a spurious failures with non-GNU make
* tests/instdir-no-empty.test: Also pass proper AM_MAKEFLAGS to
make invocations that might recurse, to ensure the macro definitions
passed from the command line are properly propagated.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 1 Apr 2012 20:48:46 +0000 (22:48 +0200)]
texinfo: warn about future use of '--tidy'
Starting from the next major release of Automake (likely 1.13) we
want to start passing the '--tidy' option to texi2dvi and texi2pdf
invocations, so that auxiliary TeX-generated files can be kept
around (thus speeding up rebuilding of DVI and PDF output) without
cluttering the build directory too much.
Since the '--tidy' option was introduced in Texinfo 4.9 (as
documented in the Texinfo distribution's NEWS file), this also
means that Makefiles generated by future Automake versions will
require at least that version of Texinfo (at the time of writing
four years and nine months old).
The users should be warned about the planned behavioral change
and the new version requirement it will entail.
See also automake bug#11146.
* NEWS (Planned Backward Incompatibilities): Add entry about use
of the '--tidy' option and requirement of Texinfo 4.9.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 1 Apr 2012 19:55:09 +0000 (21:55 +0200)]
texinfo: don't clutter the builddir when using modern texi2dvi
In modern versions of texi2dvi (at least since version 1.135, which
comes with Texinfo 4.13) the '-o' option does not imply anymore the
'--clean' option. As a consequence, lots of TeX-generated auxiliary
files are now left in the build directory by the 'pdf', 'ps' and
'dvi' rules.
This is especially annoying with non-recursive setups having the
'.texi' files in a subdirectory, as in:
info_TEXINFOS = doc/foo.texi
In this case, the stray auxiliary files are left in the top build
directory (since TeX is run from there). See for example:
<http://lists.gnu.org/archive/html/bug-bison/2012-04/msg00002.html>
See also automake bug#11146.
* lib/am/texibuild.am: Call 'texi2dvi' and 'texi2pdf' with the
'--clean' option. Update comments accordingly.
* tests/txinfo-noclutter.test: New test.
* tests/txinfo18.test: Remove as obsolete, the still relevant parts
of it moved into the new test.
* tests/list-of-tests.mk: Adjust.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 2 Apr 2012 15:41:41 +0000 (17:41 +0200)]
hacking: autotools-generated files are not committed anymore
* HACKING (Working with git) Generated files like 'configure',
'Makefile.in' and 'aclocal.m4' are not committed anymore in our
git repository since some months. Remove obsoleted advices that
assumed they still were.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 2 Apr 2012 15:36:24 +0000 (17:36 +0200)]
hacking: simplify documentation of bootstrapping process
* HACKING (Working with git): Do not suggest that, to ensure the
bootstrapping process is performed with the latest autotools, the
developer could explicitly pass $AUTOCONF and $AUTOM4TE in the
environment to the ./bootstrap and ./configure invocations: that
is a little tricky and quite fragile. Instead, suggest to just
put modern-enough version of the autotools early in PATH.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 31 Mar 2012 20:07:32 +0000 (13:07 -0700)]
cosmetics: remove repeated line in comment, fix quoting
* automake.in: Drop a repeated line in a comment. In the same
comment, prefer quoting 'like this' rather than `like this'.
Issue introduced in one of the commits that converted from quoting
`like this' to quoting 'like this'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 31 Mar 2012 20:06:30 +0000 (13:06 -0700)]
cosmetics: remove useless import in automake script
* automake.in (Automake::Version): This import is not needed;
remove it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 31 Mar 2012 16:37:25 +0000 (18:37 +0200)]
Merge branch 'maint'
* maint:
docs: deprecate 'cygnus' mode, help the transition
Stefano Lattarini [Sat, 31 Mar 2012 09:04:41 +0000 (11:04 +0200)]
docs: deprecate 'cygnus' mode, help the transition
Support for "Cygnus-style" trees (so far enabled by the 'cygnus'
option) will be deprecated in one release of the next major series
(1.12.x) and removed in the next major release after that (1.13).
Better to start warning about this in the manual.
* docs/automake.texi: Warn about the oncoming deprecation of the
'cygnus' mode. Suggest some idioms that can be used to retain some
effects of the 'cygnus' option.
* THANKS: Update.
From a suggestion by Joseph S. Myers in automake bug#11034.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 22:31:47 +0000 (00:31 +0200)]
perl refactor: use modern semantics of 'open'
* lib/Automake/XFile.pm: Update comments and POD documentation to
suggest a more idiomatic/modern usage.
(open): Be more robust in detecting whether the created file handle
is being opened for writing.
* lib/Automake/FileUtils.pm (update_file, contents): Call the
'Automake::XFile' and 'File::IO' constructors with two arguments
rather than one; this change obsoletes ...
(open_quote): ... this subroutine, which has thus been removed.
(@EXPORT): Drop '&open_quote'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 20:50:27 +0000 (22:50 +0200)]
Merge branch 'maint'
* maint:
cosmetics: don't make the generated Config.pm executable
maint: reduce use of recursion in automake build system
+ Extra non-trivial extra edits follows.
* lib/Makefile.am (amdir): Deleted this definition, it is already
provided by a proper AC_SUBST in configure.ac.
(dist_am_DATA): Remove 'am/ansi2knr.am', 'am/check-html.am' and
'am/multilib.am'.
(dist_perllib_DATA): Remove 'Automake/Struct.pm'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 15:12:36 +0000 (17:12 +0200)]
cosmetics: don't make the generated Config.pm executable
* lib/Makefile.am (Automake/Config.pm): Don't make this executable,
there's not need for it to be (it's a perl module, not a script).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 15:03:25 +0000 (17:03 +0200)]
maint: reduce use of recursion in automake build system
Recursive make-based build systems tend to be slower, more fragile
and less faithful than "flat" ones. See Peter Miller's article
"Recursive Make Considered Harmful" for more a more in-depth
discussion:
<http://miller.emu.id.au/pmiller/books/rmch/>
While in the case of automake this isn't a big problem (given the
small size of its build systems), it still creates occasional
glitches and annoyances. So, with this change, we start making
less use of make recursion in the Automake's own build system
(future changes will reduce it even more).
* lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their
content merged ...
* lib/Makefile.am: ... here, with required adjustments.
* configure.ac (AC_CONFIG_FILES): Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 13:36:30 +0000 (15:36 +0200)]
news: sync with branch-1.11, fix mis-merges
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 12:31:36 +0000 (14:31 +0200)]
acinstall: remove, it has never been really used
Accordingly to the git history (see for example the 'README-alpha'
in commit 'Release-1-1e-39-g9beb4ec' of 06-10-1996), the 'acinstall'
script should have been used to install m4 files for aclocal. The
comments in this script report that "... A script is needed to do
this because we want to do serial-number checking; newer versions
of macro files should always be preferred".
But the 'acinstall' script has never been really used: for example,
the entry "actually use acinstall program" was removed (unfixed)
from the TODO file in commit 'Release-1-1k-12-g1201405' of
08-12-1996, and the only citation of 'acinstall' in the manual was
removed in commit 'Release-1-1l-37-g128c3d7' of 19-03-1997, and
never added back. In addition, the last non-trivial edit to the
script (that is, besides updates to the copyright notice) dates
back to 1996.
More importantly, now that aclocal supports the ACLOCAL_PATH
environment variable, installing m4 files directly in the
system-wide acdir is discouraged, and better left only to
distros' package managers (which already have their own way to
do so, with which third-party build systems should not directly
meddle).
So we just remove the 'acinstall' script.
* lib/acinstall: Remove.
* lib/Makefile.am (dist_script_DATA): Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 11:15:52 +0000 (13:15 +0200)]
maint: reorganize the source tree and make it less cluttered
* TODO: Move ...
* old/TODO: ... here. This is done because this file is quite
outdated, and today TODO and wishlist items are better handled
though the debbugs tracker.
* ChangeLog.00: Move ...
* old/ChangeLog.00: ... here.
* ChangeLog.01: Move ...
* old/ChangeLog.01: ... here.
* ChangeLog.02: Move ...
* old/ChangeLog.02: ... here.
* ChangeLog.03: Move ...
* old/ChangeLog.03: ... here.
* ChangeLog.04: Move ...
* old/ChangeLog.04: ... here.
* ChangeLog.09: Move ...
* old/ChangeLog.09: ... here.
* ChangeLog.11: Move ...
* old/ChangeLog.11: ... here.
* ChangeLog.96: Move ...
* old/ChangeLog.96: ... here.
* ChangeLog.98: Move ...
* old/ChangeLog.98: ... here.
* tests/ChangeLog-old: Move ...
* old/ChangeLog-tests: .. here.
* tests/Makefile.am (EXTRA_DIST): Adjust.
* Makefile.am (EXTRA_DIST): Likewise.
* .autom4te.cfg: New file, instructing the autotools to place the
autom4te cache directory in '.autom4te.cache' rather than in
'autom4te.cache'.
* .gitignore: Adjust.
* Makefile.am (maintainer-clean-local): Remove the '.autom4te.cache'
directory.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 27 Mar 2012 21:05:58 +0000 (23:05 +0200)]
news: we are going to drop 'cygnus' soonish
* NEWS (Future backward incompatibilities): Support for
"Cygnus-style" trees (so far enabled by the 'cygnus' option)
will be deprecated in the next minor release and removed in
in the next major release.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 27 Mar 2012 20:40:20 +0000 (22:40 +0200)]
Merge branch 'maint'
* maint:
depcomp: support tcc (Tiny C Compiler)
tests: workaround for automatic linker determination and conditionals
info: allow user to inhibit pruning of '${infodir}/dir'
vala tests: fix spurious failures with older valac (<= 0.7.2)
tests: fix a timestamp issue, and other minor buglets
tests: fix spurious failure with older autoconf
build: remove duplicated entries in $(TESTS)
+ Extra non-trivia edits:
* tests/link_cond.test: Use 'configure.ac', not 'configure.in'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 27 Mar 2012 15:55:07 +0000 (17:55 +0200)]
depcomp: support tcc (Tiny C Compiler)
This change fixes automake bug#11007.
Since git commit
0c928da9 of 21-06-2010, "tcc: Draft suppoprt for
-MD/-MF options" (sic, with typo in summary line), tcc has supported
automatic dependency generation with a command-line interface
similar to what old (pre-8.0) Intel compilers did. This caused
Automake-generated code for automatic dependency tracking to
recognize tcc dependency style as "icc". However, the format of
the dependency files generated by tcc is apparently different enough
from that of icc to cause spurious failures in the post-processing
operated by our 'depcomp' script on such files.
The failure was exposed with the development version of tcc 0.9.26
(as installed with debian package "tcc 0.9.26~git20120104.83d") by
test case 'depcomp-auto.tap' (available only in the master branch).
* lib/depcomp (icc): Cater to tcc as well. Update comments
accordingly.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 26 Mar 2012 13:26:46 +0000 (15:26 +0200)]
tests: workaround for automatic linker determination and conditionals
See automake bug#11089.
Automake is not very smart in automatically determining the command
to be used to link a program whose source files' languages are
conditionally defined. For example, an input like:
if HAVE_CXX
foo_SOURCES = more.c++
else
foo_SOURCES = less.c
endif
will cause the build rules for 'foo' to *unconditionally* use the
C++ compiler for linking, even when the 'HAVE_CXX' conditional
evaluates to false (which might mean that no C++ compiler is
available).
This behaviour is not really correct, but it's easy enough to work
around, and it's only relevant for fringe use cases (at best). So
let's just test that the workaround really works.
* tests/link_cond.test: New test.
* tests/list-of-tests.mk: Add it.
* THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 27 Mar 2012 11:10:16 +0000 (13:10 +0200)]
info: allow user to inhibit pruning of '${infodir}/dir'
This should have ideally been part of commit 'v1.11-519-g1ec1668'
of 23-11-2011 "info: allow user to inhibit creation/update of
'${infodir}/dir'". Well, better late than never.
* lib/am/texinfos.am (uninstall-info-am): Don't look anymore at the
output of "install-info --version" to decide whether to use it to
update the '${infodir}/dir' or not; instead, honour the environment
variable 'AM_UPDATE_INFO_DIR'. To avoid code duplication with ...
(install-info-am): ... the recipe of this target, move common code
out to ...
(am__can_run_installinfo): ... this new internal variable.
* tests/install-info-dir.test: Enhance.
* doc/automake.texi (Texinfo): Update.
* NEWS: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Bruno Haible [Mon, 26 Mar 2012 12:44:05 +0000 (14:44 +0200)]
vala tests: fix spurious failures with older valac (<= 0.7.2)
See automake bug#11093.
The Vala compiler before the 0.7.3 release does not support the
'--profile' option. But some of our tests were relying on it, so
skip those tests if the detected Vala compiler is too old.
* tests/vala-vpath.test, tests/vala-mix.test, tests/vala-mix2.test
(configure.in): Require vala version >= 0.7.3 in AM_PROG_VALAC call.
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 20 Feb 2012 13:04:46 +0000 (14:04 +0100)]
tests: fix a timestamp issue, and other minor buglets
Cherry picked from commit v1.11-1988-g82616f0 of 21-02-2012.
Reported by Panther Martin in automake bug#10848. See also
automake bug#11093.
* tests/conffile-leading-dot.test: Add a proper '$sleep' invocation,
to avoid spurious failures on fast systems without sub-second
timestamp resolutions. Add other minor related and unrelated
improvements and fixlets since we are at it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 16 Feb 2012 09:58:03 +0000 (10:58 +0100)]
tests: fix spurious failure with older autoconf
Cherry picked from commit v1.11-1950-gba5a89b of 16-02-2012.
* tests/conffile-leading-dot.test: Relax grepping of 'config.status'
stderr, to cater for older autoconf. Issue revealed by a failure
with autoconf 2.63 on Cygwin 1.5.25. See also automake bug#11093.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 24 Mar 2012 16:05:54 +0000 (17:05 +0100)]
fixup: update THANKS
* THANKS: Add entry for Tim Landscheidt.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 24 Mar 2012 15:50:38 +0000 (16:50 +0100)]
docs: terminate unfinished sentence, fix reference to a test case
* doc/automake.texi (Using the TAP test protocol): Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Tim Landscheidt [Fri, 23 Mar 2012 21:41:19 +0000 (21:41 +0000)]
docs: fix some small typos and grammaros
* doc/automake.texi (Using the TAP test protocol): Here ...
* tests/tap-doc2.test: ... and here.
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 24 Mar 2012 15:30:10 +0000 (16:30 +0100)]
build: remove duplicated entries in $(TESTS)
* tests/list-of-tests.mk (handwritten_TESTS): Remove duplicated
entries for test cases 'extra-portability*.test'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 23 Mar 2012 08:13:11 +0000 (09:13 +0100)]
maint: update TODO file
We don't have to make creation of $(foodir) conditional when
foo_PRIMARY is conditionally defined; that has been solved in
a more sweeping way by commit v1.11-759-g368f1c4 of March 18,
which solved bug#11030 and bug#10997.
The "check" target already depends on the "all" target.
Remove comment "investigate problems with conditionally defined
libraries"; it is aimed at automake 1.5 (!) and too terse and old
to be useful now.
Remove the 12 years old suggestion that "distcheck should make sure
that each file that uses _() is listed in POTFILES.in"; this is
handled by gnulib-provided syntax check 'sc_po_check' already today.
Don't tell to "Run automake before libtool"; automake does not
automatically run libtool anymore today.
Remove hint about the possibility to "rewrite automake in guile" or
"add a GUI": we are not going to do so.
The automatic de-ANSI-fication feature has already been remove, so
no need to suggest its potential removal in the future.
Remove reference to a prospective "cvs" option that could add some
cvs-specific rules. First of all, CVS is falling out of use today.
Secondly, and most to the point, instead of guessing which VCS
is going to be most popular and try to hack support for it into
automake, we should leave it to developer-specific makefile
fragments offered by projects like Gnulib to provide such rules
(they are already doing so with succcess).
About DOS support: it should actually be dropped, not extended.
Add link about Karl Berry's proposal of preferring HTML over Info
documentation installed in the local system:
<http://lists.gnu.org/archive/html/texinfo-devel/2012-03/msg00018.html>
Remove items about "beautification" of output Makefile.in; they
are pretty obvious, and mostly noise (after all, everybody prefers
clean output where possible). Leave it to any developer doing
future refactorings to find out low-hanging and/or high-impact
optimizations and beatifications of the generated Makefiles.
Remove item about internationalization: we're not going to
implement it.
Remove an item explicitly marked as "not that it matters".
The order of files in a distribution tarball does not really
matter, nobody has ever complained about it, so do not worry
about it.
Remove the suggestions about allowing hierarchy of dirs to share
one aclocal.m4 and about printing full file name of Makefile.am
or configure.in when giving error, in order to help very large
trees: nobody has ever complained about the current behaviours,
so no real need to change them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 21 Mar 2012 19:46:06 +0000 (20:46 +0100)]
fixup: bootstrapping issues with 'list-of-tests.mk'
* tests/list-of-tests.mk: This file is expected to be executed
directly with make from the bootstrap script, so we can't use
Automake '##' comments after line continuations.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 21 Mar 2012 19:35:24 +0000 (20:35 +0100)]
Merge branch 'maint'
* maint:
maint: move definition of XFAIL_TESTS near TESTS
Actually, after the trivial merge conflicts have been solved, what
this change actually does is moving the definition of XFAIL_TESTS
near that of handwritten_TESTS. But the rationale is the same of
that of commit 'v1.11-761-gabf40ce' (being merged here), and still
works, so all is good.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 21 Mar 2012 19:30:52 +0000 (20:30 +0100)]
maint: move definition of XFAIL_TESTS near TESTS
The $(TESTS) variable is defined in file 'tests/list-of-tests.mk',
while the $(XFAIL_TESTS) variable is defined in 'tests/Makefile.am'.
This means that when a new xfailing test is to be added, two files
must be touched; this is suboptimal and slightly confusing.
* tests/Makefile.am (XFAIL_TESTS): Definition moved ...
* tests/list-of-tests.mk: ... here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 19 Mar 2012 08:07:55 +0000 (09:07 +0100)]
tests: fix spurious failures caused by uses of 'configure.in'
Issue introduced by the recent merges of maint into master, and
revealed by "make maintainer-check".
* tests/aclocal-install-fail.test: Likewise.
* tests/aclocal-install-mkdir.test: Likewise.
* tests/aclocal-verbose-install.test: Likewise.
* tests/installdir.test: Likewise.
* tests/instdir-cond2.test: Likewise.
* tests/instdir-no-empty.test: Likewise.
* tests/python-pr10995.test: Likewise.
* tests/aclocal-no-install-no-mkdir.test: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 18 Mar 2012 21:31:45 +0000 (22:31 +0100)]
Merge branch 'maint'
* maint:
install-mans: avoid spurious failure with NetBSD make
install: don't create empty dirs when an empty 'foo_PRIMARY' is used
aclocal: remove a couple of useless imports
aclocal: create local directory where to install m4 files
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 18 Mar 2012 21:19:45 +0000 (22:19 +0100)]
install-mans: avoid spurious failure with NetBSD make
* lib/am/mans.am: After the changes introduced by previous commit
v1.11-759-g368f1c4, some manpage installation recipes started to
fail spuriously on NetBSD 5.1 make. Apparently, the system make
there eats backslashes used to escape whitespace characters in the
relevant recipes. Revert to slightly slower but safer idioms that
avoid the need of such escaping.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 16 Mar 2012 22:48:53 +0000 (23:48 +0100)]
install: don't create empty dirs when an empty 'foo_PRIMARY' is used
Fixes automake bug#11030 and bug#10997.
An empty declaration of "foo_PRIMARY" in a Makefile.am used to
cause the generated install rules to create the directory $(foodir)
anyway, even if nothing was to be installed there.
While this could be seen as a convenient way to create a $(foodir)
directory upon "make install" (respecting $(DESTDIR) settings and
such), it also caused problems with conditionals; for example, an
input of:
if FALSE
pgkdata_DATA = something
endif
caused the generated install rules to unconditionally create the
$(pkgdatadir) directory (see automake bug#10997).
Also, a user wanting to create an empty directory upon installation
can easily do so with a custom install hook, as in:
installdirs-local:
$(MKDIR_P) $(DESTDIR)$(foodir)
install-data-hook: installdirs-local
On the other hand, the old behavior of "always create $(foodir),
even if 'foo_PRIMARY' is empty" was harder and more tricky to
override.
Thus, from now on, an empty declaration of "foo_PRIMARY" will not
cause the directory $(foodir) to be created upon "make install"
anymore.
* lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am,
lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am,
lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid
creating an installation directory if no files are actually to be
installed there.
* tests/instdir-empty.test: Remove, it was testing a semantic
opposite to the one we now want and implement.
* tests/instdir-no-empty.test: New test, check the new semantic.
* tests/instdir-cond.test: Enhance. Move the still-failing part
of the test ...
* tests/instdir-cond2.test: ... here.
* tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update.
* tests/java3.test: Adjust to avoid spurious failures.
* HACKING, NEWS, THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 17 Mar 2012 08:43:35 +0000 (09:43 +0100)]
aclocal: remove a couple of useless imports
* aclocal.in (File::stat, Cwd): Remove these imports, they are not
really required.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 15 Mar 2012 15:50:40 +0000 (16:50 +0100)]
aclocal: create local directory where to install m4 files
Fixes automake bug#8168 and bug#10816.
A call like "aclocal -I m4 --install" used to fail if the 'm4'
directory wasn't pre-existing. This could be particularly
annoying when running in a checked-out version from a VCS like
git, which doesn't allow empty directories to be tracked.
* aclocal.in (File::Path): New import.
(scan_m4_dirs): Don't die if the first directory of type FT_USER
doesn't exist and the '--install' option was given; that directory
will be created later ...
(install_file): ... here. Change signature of this function: now
it takes as second argument the destination directory rather than
the destination file. Crate the destination directory if it
doesn't already exist. In verbose mode, tell what is being copied
where.
(write_aclocal): Update to the changes in 'install_file'.
* NEWS, THANKS: Update.
* tests/aclocal-install-fail.test: New test.
* tests/aclocal-install-mkdir.test: Likewise.
* tests/aclocal-no-install-no-mkdir.test: Likewise.
* tests/aclocal-verbose-install.test: Likewise.
* tests/list-of-tests.mk: Add them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 15 Mar 2012 08:16:46 +0000 (09:16 +0100)]
Merge branch 'maint'
* maint:
python: avoid failures due to $(am__py_compile) being undefined
python: expose automake bug#10995
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Steven Drake [Thu, 15 Mar 2012 08:12:00 +0000 (09:12 +0100)]
python: avoid failures due to $(am__py_compile) being undefined
Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf.
* lib/am/python.am: Move the definition of 'am__py_compile' to
ensure it is always emitted in the output Makefile.in. Previously,
this wouldn't have happened if the input Makefile.am contained a
'noinst_PYTHON' declaration before a 'python_PYTHON' one.
* tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and
'python.test'.
* NEWS: Update.
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>