2012-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: stable release 1.12.5

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

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid errors due to underquoted third-party macros

	* t/pkg-config-macros.sh: Call aclocal with the warnings in the
	"syntax" category disabled.

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: also consider contrib tests for syntax checks

	* syntax-checks.mk (xtests): By listing them here.

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: whitespace fixlets in syntax-checks.mk

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: prefer $(MKDIR_P) over $(mkinstalldirs) in maintainer rules

	* maint.mk (check-coverage-run, recheck-coverage-run): Here.  This
	is especially useful since $(mkinstalldirs) is no longer available
	in Automake-NG.

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/gnupload: Update.  See:
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00050.html>

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gitignore: align with recent changes

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: add dummy rule for ChangeLog generation in Makefile.am

	So that automake won't complain about the missing ChangeLog.
	The real rule for ChangeLog generation is now in maint.mk (as
	it is maintainer-specific).

	* Makefile.am (ChangeLog): Dummy.

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: no longer use AM_MAKEFLAGS in maintainer rules

	They are not required with GNU make.

	* maint.mk: Adjust accordingly.

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: use more GNU make features in maintainer rules

	* maint.mk: Here, throughout the file.  Other minor cleanups
	and refactorings while at it.

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: move maintainer make rules in maint.mk

	This is done for two reasons:

	  1. It will enable us to take advantage of more GNU make
	     features in our maintainer-specific recipes, if we
	     want to (and we probably will).

	  2. The Makefile.am won't have to be modified each time a
	     maintainer rule needs to be changed or tweaked; this
	     will prevent useless remaking of (in particular) the
	     't/testsuite-part.am' file.

	* maint.mk: New, several recipes, rules and variables for
	maintainer-specific tasks, extracted (with some tweaks)
	from ...
	* Makefile.am: ... this file.
	(EXTRA_DIST): Add 'maint.mk'.
	* GNUmakefile: Include 'maint.mk' after 'Makefile'.

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'improve-release-process' into maint

	* improve-release-process:
	  HACKING: update instructions to update the manuals at www.gnu.org
	  maint: add an explicative comment in Makefile
	  maint: factor out the name of the dir where web manuals are generated
	  maint: rename rules to build/upload web manuals
	  cosmetic: minor variable and rules reordering in Makefile.am
	  docs: build the web manuals for CVS in the builddir, not in the srcdir
	  release: automate uploading of web manuals in CVS
	  docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
	  tests: avoid two spurious failures on FreeBSD

2012-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'pkgconfing-tests-requirement' into maint

	* pkgconfing-tests-requirement:
	  tests: improve 'pkg-config' requirement

2012-12-14  Patrick Welche  <prlw1@cam.ac.uk>  (tiny change)

	docs: fixlet about xz compression levels and command line options

	* doc/automake.texi (The types of distributions): To display a
	progress bar, xz takes "-v" for verbose.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: more files excluded in 'update-copyright'

	This will avoid the following spurious warnings when
	"make update-copyright" is run:

	    .autom4te.cfg: warning: copyright statement not found
	    .git-log-fix: warning: copyright statement not found
	    .gitattributes: warning: copyright statement not found
	    .gitignore: warning: copyright statement not found
	    AUTHORS: warning: copyright statement not found
	    THANKS: warning: copyright statement not found
	    contrib/README: warning: copyright statement not found
	    contrib/multilib/README: warning: copyright statement not found
	    doc/amhello/README: warning: copyright statement not found
	    lib/install-sh: warning: copyright statement not found
	    lib/mkinstalldirs: warning: copyright statement not found
	    m4/acdir/README: warning: copyright statement not found
	    t/README: warning: copyright statement not found

	* Makefile.am (files_without_copyright): New.
	(update-copyright): Use it when computing '$exclude_list'.
	Also, skip any README file.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format

	This is a fixup for commit v1.12.5-27-g71ce1b4 of 2012-12-09, "fetch:
	improve, and reduce code duplication".

	* Makefile.am (update-copyright): Adjust.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	HACKING: update instructions to update the manuals at www.gnu.org

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: add an explicative comment in Makefile

	* Makefile.am (web-manual-update): Here, about a slightly tricky
	feature of rsync(1) used in the recipe.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: factor out the name of the dir where web manuals are generated

	Just a minor refactoring to reduce duplication; no semantic change is
	intended.

	* Makefile.am (web_manual_dir): New.
	(web-manual, web-manual-update, clean-web-manual): Use it.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: rename rules to build/upload web manuals

	The new names are the same used by the similar-purpose rules provided by
	the 'top/maint.mk' makefile in gnulib (as of commit v0.0-7741-g4a8c422).
	No need to have gratuitous incompatibilities.

	* Makefile.am (web-manuals): Rename ...
	(web-manual): ... like this.
	(upload-web-manuals): Rename ...
	(web-manual-update): ... like this.
	(clean-web-manuals): Rename ...
	(clean-web-manual): ... like this.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetic: minor variable and rules reordering in Makefile.am

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: build the web manuals for CVS in the builddir, not in the srcdir

	We can do so using the '-I' option of the gendocs.sh script.

	Inspired by the 'web-manual' rule in the 'top/maint.mk' file provided
	by gnulib (as of commit v0.0-7741-g4a8c422) as customized by Bison in
	its 'cfg.mk' file (as of commit v2.6.5-1007-gf5fceda).

	* Makefile.am (web-manuals): Modify and simplify to take advantage
	of gendocs.sh's  '-I' option.
	(upload-we-manuals): Accordingly adjust sanity checks and the rsync
	invocation in the recipe.
	(clean_texinfo_clutter_cmd): Delete this variable, it's no longer
	required.
	(clean-texinfo-clutter): Delete this phony target, it's no longer
	required.
	(clean-local): Don't depend on it.
	* configure.ac: Invoke AC_PROG_LN_S, since we want to use $(LN_S)
	in the new 'web-manuals' recipe.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: automate uploading of web manuals in CVS

	This is partly inspired to the 'gnu-web-doc-update' script from
	gnulib.  Unfortunately, we can't use that script directly, because
	as of now it assumes a build system integrated with gnulib.

	* Makefile.am (upload-web-manuals): New .PHONY rule.
	(RSYNC, CVS, CVSU, CVS_USER, WEBCVS_ROOT): New variables, used by
	the new rule.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc

	* doc/automake.texi (Program variables): Here.  Reported by NightStrike:
	<http://lists.gnu.org/archive/html/automake/2012-12/msg00012.html>

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid two spurious failures on FreeBSD

	Due to the FreeBSD make bug that causes of the well-known automake
	bug#7884, two of our bison-requiring tests were failing on FreeBSD.
	To avoid this, simply skip the part of these tests affected by that
	bug.

	* t/yacc-bison-skeleton.sh: Here, using the 'yl_distcheck' function.
	* t/yacc-bison-skeleton-cxx.sh: Likewise.
	* t/yacc-nodist.sh: While at it, use the 'yl_distcheck' here
	as well, instead of running "$MAKE distcheck" only when $MAKE
	is GNU make.

2012-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: improve 'pkg-config' requirement

	This improves (and unifies among different tests) the detection of
	both the 'pkg-config' program and m4 macros provided by it; they are
	needed in particular by tests on Vala support.

	Before this, some Vala-related tests were failing spuriously when the
	pkg-config program was available but the macros from pkg.m4 were not
	made explicitly available in ACLOCAL_PATH.  These tests were:

	    vala-mix vala-mix2 vala-parallel vala-vapi vala-vpath

	See also similar commit 'v1.11-581-gb7d67d5' of 2011-12-22,
	"tests: better handling of gettext and libtool requirements".

	* t/ax/am-test-lib.sh (process_requirements): If a requirement
	matches the 'pkg-config*' wildcard, try to make available to it
	the pkg-config m4 macros, and skip it if it's not possible.
	This is done by sourcing the 'get.sh' fragment generated by ...
	* t/pkg-config-macros.sh: ... this new test, which looks in
	advance for the 'pkg-config' program and the m4 macros that
	comes with it.
	* t/list-of-tests.mk: Add the new test.
	* gen-testsuite-part (%deps_extractor): Tests requiring pkg-config
	will need the m4 macros coming with it; so these tests should be
	run after the 'pkg-config-macros.sh' test.  Automatically generate
	proper declarations for such dependencies.
	* t/vala-header.sh: No need to explicitly check that the macro
	PKG_CHECK_MODULES has been expanded by autoconf.
	* t/vala-libs.sh: Likewise.
	* t/vala-non-recursive-setup.sh: Likewise.
	* t/vala-per-target-flags.sh: Likewise.
	* t/vala-recursive-setup.sh: Likewise.

2012-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'improve-release-process' into maint

	* improve-release-process:
	  maintcheck: prefer '$(am__cd)' over plain 'cd'
	  fetch: improve, and reduce code duplication
	  docs: add rule to generate manuals for www.gnu.org
	  docs: copy the 'gendocs.sh' script from Texinfo CVS repository
	  sync: update files from upstream with "make fetch"
	  release: generate a stub for the release announcement
	  release: distinguish major and minor releases

2012-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc

	* doc/automake.texi (Program variables): Here.  Reported by NightStrike:
	<http://lists.gnu.org/archive/html/automake/2012-12/msg00012.html>

2012-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: prefer '$(am__cd)' over plain 'cd'

	In a couple of rules in out own build system, as suggested by the
	maintainer check 'sc_cd_relative_dir'.

	* Makefile.am (web-manuals, clean_texinfo_clutter_cmd): Adjust.

2012-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fetch: improve, and reduce code duplication

	* Makefile.am (WGET_SV_CVS, WGET_SV_GIT_CF, WGET_SV_GIT_AC,
	WGET_SV_GIT_GL): Delete.
	(SV_CVS, SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): New.
	(fetch): Simplify and enhance.
	(update-copyright): Adjust.

2012-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: add rule to generate manuals for www.gnu.org

	Less clerical work to do by hand.

	* Makefile.am (web-manuals): New rule.
	(clean_texinfo_clutter): New macro.
	* clean-web-manuals, clean-texinfo-clutter: New cleaning
	rules.
	(clean-local): Depend on them.
	* .gitignore: Update.
	* HACKING: Adjust instructions for generation of manuals.

2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: copy the 'gendocs.sh' script from Texinfo CVS repository

	As well as the 'gendocs_template' file.  And enhance the "make fetch"
	target to keep them synced.  It's better than having to fetch these
	files by hand each time a release is to be made.

	* Makefile.am (FETCHFILES): List 'gendocs.sh' and 'gendocs_template'.
	(fetch): Fetch them, into 'lib/'.
	(EXRA_DIST): Distribute them.
	* HACKING: Adjust instructions for generation of manuals.

2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/config.sub: Update.

2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: generate a stub for the release announcement

	It's much better than having to write it my hand each time; after all,
	most of it is either boilerplate or a cope of NEWS entries.

	* Makefile.am (determine_release_type): Also set the shell variable
	'$announcement_type' appropriately.
	(print-release-type): Print the value of this new variable as well.
	(announcement): New phony target, generate a files with the same name.
	The recipe uses the shell variable '$announcement_type'.
	(CLEANFILES): Clean it.
	(PACKAGE_MAILINGLIST): New make macro, used when generating the
	'announcement' file.
	* HACKING: Explain how to take advantage of the new convenience
	target.
	* .gitignore: Ignore the 'announcement' file.

2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: distinguish major and minor releases

	This is mostly a preparatory change, in view of future
	improvements in our release process.

	* Makefile.am (determine_release_type): Also distinguish
	between major and minor releases, with the help of ...
	(stable_major_version_rx, stable_minor_version_rx): ... these
	new macros.
	(stable_version_rx): Remove, it's obsolete now.
	(version_rx): Rename ...
	(base_version_rx): ... like this, and adjust.
	(print-release-type): New target; helps in debugging the code
	that determines the release type.

2012-11-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid two spurious failures on FreeBSD

	Due to the FreeBSD make bug that causes of the well-known automake
	bug#7884, two of our bison-requiring tests were failing on FreeBSD.
	To avoid this, simply skip the part of these tests affected by that
	bug.

	* t/yacc-bison-skeleton.sh: Here, using the 'yl_distcheck' function.
	* t/yacc-bison-skeleton-cxx.sh: Likewise.
	* t/yacc-nodist.sh: While at it, use the 'yl_distcheck' here
	as well, instead of running "$MAKE distcheck" only when $MAKE
	is GNU make.

2012-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13

	See also commit v1.12.4-158-gdf23daf.

	* NEWS (Future backward-incompatibilities): Adjust accordingly.

2012-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: give few vala tests more significant names

	* t/vala.sh: Rename ...
	* t/vala-grepping.sh: ... like this.
	* t/vala2.sh: Rename ...
	* t/vala-recursive-setup.sh: ... like this.
	* t/vala3.sh: Rename ...
	* t/vala-non-recursive-setup.sh: ... like this.
	* t/vala4.sh: Rename ...
	* t/vala-configure.sh: ... like this.
	* t/vala5.sh: Rename ...
	* t/vala-per-target-flags.sh: ... like this, and slightly
	improve heading comments.
	* t/list-of-tests.mk: Adjust.

2012-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala tests: don't use the 'posix' profile, it's no longer supported

	Fixes automake bug#12934 a.k.a. bug#12522.

	Some of automake's Vala tests used to rely on "valac --profile posix"
	(which makes it not use glib).  However, the posix profile was removed
	in August 2012, and is no longer present in the GNOME 3.6.2 version
	of valac (see commit ca020bf0 in the vala Git repository).


	* t/vala-libs.sh: Adjust to avoid using the posix profile.
	* t/vala-mix.sh: Likewise.
	* t/vala-mix2.sh: Likewise.
	* t/vala-parallel.sh: Likewise.
	* t/vala-vapi.sh: Likewise.
	* t/vala-vpath.sh: Likewise.
	* NEWS: Update and adjust.

2012-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5

	* NEWS (Bugs fixed in 1.12.5): So move it from here ...
	(Bugs fixed in 1.12.6): ... to here.

2012-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: document the fix for automake bug#10227

	This is a follow-up commit for v1.12.5-14-g1f113f6.

	* NEWS: Update.

2012-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'python-fix-pr10227' into maint

	* python-fix-pr10227:
	  python: make installed modules find by default on Debian and Ubuntu

2012-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a spurious testsuite failure on Solaris

	Reported in automake bug#11524.

	* t/amhello-binpkg.sh: When non-GNU tar is in use, relax grepping of
	"tar cvf ..." output a little more.

2012-11-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	python: make installed modules find by default on Debian and Ubuntu

	This change fixes automake bug#10227.

	The code used to get the python package directory was wrong for Python 3,
	at least on Debian and Ubuntu distributions.  In the case the installation
	was using the default prefix "/usr/local", python modules were incorrectly
	installed in the directory

	    /usr/local/lib/python3/dist-packages

	(which is *not* searched by default), rather than in a directory like

	    /usr/local/lib/python3.x/dist-packages

	which is searched by default.

	* m4/python.m4 (AM_PATH_PYTHON): Try to use the 'sysconfig' module if
	possible, for better interactions with python 3.x.

	Helped-by: Reuben Thomas <rrt@sc3d.org>
	Helped-by: Roumen Petrov <bugtrack@roumenpetrov.info>

2012-11-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a spurious failure with older flex versions

	See automake bug#11524 and bug#12836.

	* t/lex-header.sh: Here, we use flex option '--header-file',
	but that option is not supported by some older flex versions.
	Simply skip this test if such an old flex version is detected.

2012-11-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'python-pep-3147' into maint

	* python-pep-3147:
	  tests: fix a spurious failure when $PYTHON is in the environment
	  python tests: support PEP-3147 installation layout
	  python: uninstall cater to PEP-3147
	  tests: improve a comment
	  tests: honour $PYTHON override
	  tests: typofix in message
	  news: document fix for bug#8847 (PEP-3147, __pycache__)
	  python: improve support for modern python (CPython 3.2 and PyPy)

2012-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a spurious failure when $PYTHON is in the environment

	* t/python11.sh: This test doesn't interact well with user-overrides of
	$PYTHON; and, given its particular nature, neither should it be expected
	to honour that override.  Just unset that $PYTHON variable and live
	happy.

2012-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	python tests: support PEP-3147 installation layout

	This fixes several spurious testsuite failures with python >= 3.2,
	introduced by recent commit v1.12.4-43-ge0e99ed, "python: improve
	support for modern python (CPython 3.2 and PyPy)".

	* t/ax/am-test-lib.sh (python_has_pep3147, pyc_location, py_installed):
	New functions.
	($am_pep3147_tag): New variable.
	* t/py-compile-basic2.sh: Deleted, too difficult to adapt for the
	gain it would offer; move the still relevant parts ...
	* t/py-compile-basic.sh: ... here.  Adapt and adjust the rest of
	the test as well.
	* t/nobase-python.sh: Adapt and adjust.
	* t/py-compile-basedir.sh: Likewise.
	* t/py-compile-destdir.sh: Likewise.
	* t/py-compile-option-terminate.sh: Likewise.
	* t/python-pr10995.sh: Likewise.
	* t/python-virtualenv.sh: Likewise.
	* t/python10.sh: Likewise.
	* t/python12.sh: Likewise.
	* t/python3.sh: Likewise.
	* t/list-of-tests.mk: Adjust list of tests.

2012-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	python: uninstall cater to PEP-3147

	After recent commit commit v1.12.4-43-ge0e99ed, "python: improve
	support for modern python (CPython 3.2 and PyPy)", the python install
	rules have been made smart enough to install "*.pyc" byte-compiled
	files according to PEP-3147 with modern (post-3.2) pythons.  However,
	the uninstall rules hadn't been updated accordingly, causing leftover
	files to remain around after "make uninstall", as well as failures in
	"make distcheck".

	* lib/am/python.am (am__pep3147_tweak): New internal macro, used
	in ...
	(uninstall-%DIR%PYTHON): ... the recipe of this target, which has
	been adjusted to cater to PEP-3147

2012-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: fix rebuild rules for Makefile.in and aclocal.m4

	They have been broken after our removal of the 'perllibdir' hack
	in yesterday's commit v1.12.4-45-g4872dfe.

	* configure.ac: Rather then redefining AUTOMAKE and ACLOCAL to
	explicitly override the perllibdir, the acdir and the libdir, use
	the ready-made t/wrap/{aclocal,automake}-$APIVERSION scripts.
	* NEWS: Document the fix.

2012-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	hacking: release procedure: fix order of some steps

	* HACKING (Release procedure): The manuals should be rebuilt and
	uploaded at at www.gnu.org *before* bumping the version number to
	the next alpha release.

2012-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: post-release minor version bump

	* configure.ac (AC_INIT): Bump version number to 1.12.5a.
	* m4/amversion.m4: Likewise (automatically regenerated by
	"make bootstrap").

2012-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: stable release 1.12.5

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

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: avoid failures, sync with 'ng/master' more

	* syntax-checks.mk (sc_diff_aclocal_in_aclocal,
	sc_diff_automake_in_automake): Rename ...
	(sc_diff_aclocal, sc_diff_automake): ... respectively to these, rewrite
	to use static pattern rules and 'diff -u' instead of bare 'diff'.  This
	makes the rules more robust in the face of edits to 'automake.in' and
	'aclocal.in', and get them in sync with the corresponding checks in the
	'ng/master' branch.
	(syntax_check_rules): Adjust.

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: remove 'sc_perl_syntax'

	It is quite useless, since a "make bootstrap" or "make check" would
	immediately catch a breakage in the 'aclocal' or 'automake' scripts
	anyway.  In addition, the recent removal of the 'perllibdir' environment
	variable hack has broken this check.

	* syntax-checks.mk (sc_perl_syntax): Remove.
	(syntax_check_rules): No longer list it.

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/texinfo.tex, lib/config.sub: Update.

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: get rid of $perllibdir environment variable hack

	That was needed when the automake-$APIVERSION and aclocal-$APIVERSION
	wrapper scripts used by the testsuite were shell script, rather than
	perl scripts acting as a thin layers.

	* aclocal.in (BEGIN): Update @INC based on the contents of the array
	'@Aclocal::perl_libdirs', rather than of the environment variable
	'perllibdir'.
	* t/wrap/aclocal.in (BEGIN): Initialize '@Aclocal::perl_libdirs'
	rather than $ENV{'perllibdir'}.
	* automake.in (BEGIN): Update @INC based on the contents of the array
	'@Automake::perl_libdirs', rather than of the environment variable
	'perllibdir'.
	* t/wrap/automake.in (BEGIN): Initialize '@Automake::perl_libdirs'
	rather than $ENV{'perllibdir'}.
	* NEWS: Update.

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: respect the '-q' option better

	* configure.ac: Here, by avoiding to print the warnings about
	using a non-stable Automake version if the '$silent' variable
	is set to "yes".

2012-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: de-tabify configure.ac

2012-11-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: improve a comment

	* t/ax/am-test-lib.sh (require_tool): Here, about python support
	for '--version' option.

2012-11-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: honour $PYTHON override

	* t/ax/am-test-lib.sh (require_tool): Here.
	* t/python-too-old.sh: And here.
	* t/python-vars.sh: And here.
	* t/python-virtualenv.sh: And here.  Also add some sanity
	checks while at it.

2012-11-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: typofix in message

	* t/python-virtualenv.sh: Here.

2012-11-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: document fix for bug#8847 (PEP-3147, __pycache__)

	* NEWS (Bugs fixed in 1.12.5): Here.

2012-11-11  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>  (tiny change)

	python: improve support for modern python (CPython 3.2 and PyPy)

	This fixes automake bug#8847.

	* m4/python.m4 (AM_PATH_PYTHON): Add python3.3 to
	_AM_PYTHON_INTERPRETER_LIST.
	* lib/py-compile: Fix compiled filenames for PEP-3147, currently
	implemented in CPython 3.2 and newer.  Do not create '.pyo' files
	for PyPy.

2012-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: new variable $am_testaux_builddir

	And a related fix that solves a spurious testsuite failures in
	VPATH builds.

	* t/ax/test-defs.in ($am_testaux_builddir): New, counterpart of
	$am_testaux_srcdir, but pointing inside the build directory.
	* t/self-check-shell-no-trail-bslash.sh: Use $am_testaux_builddir,
	not $am_testaux_srcdir, when fetching the 'shell-no-trail-bslash'
	script.

2012-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: rename $am_testauxdir -> $am_testaux_srcdir

	This is just a preparatory change in view of a future commit.

	* t/ax/test-defs.in: Here.
	* t/ax/tap-summary-aux.sh: And here.
	* t/ax/testsuite-summary-checks.sh: And here.
	* t/distcheck-missing-m4.sh: And here.
	* t/distcheck-outdated-m4.sh: And here.
	* t/self-check-shell-no-trail-bslash.sh: And here.
	* t/test-driver-acsubst.sh: And here.
	* t/test-driver-cond.sh: And here.
	* t/test-driver-custom-multitest.sh: And here.
	* t/test-driver-custom-multitest-recheck.sh: And here.
	* t/test-driver-custom-multitest-recheck2.sh: And here.
	* t/testsuite-summary-count-many.sh: And here.

2012-10-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala tests: source test-init.sh, not ./defs

	This will avoid spurious errors when the new vala tests (introduced
	in the 'vala-work' branch) will be merged back to master.

	* t/vala-headers.sh: Adjust as said.
	* t/vala-libs.sh: Likewise.
	* t/vala-mix.sh: Likewise.
	* t/vala-mix2.sh: Likewise.
	* t/vala-parallel.sh: Likewise.
	* t/vala-vapi.sh: Likewise.
	* t/vala-vpath.sh: Likewise.
	* t/vala.sh: Likewise.
	* t/vala2.sh: Likewise.
	* t/vala3.sh: Likewise.
	* t/vala4.sh: Likewise.
	* t/vala5.sh: Likewise.

2012-10-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a spurious typo-related failure

	* t/self-check-shell-no-trail-bslash.sh: Here, due to a mistaken
	use of "||" instead of "&&".

2012-10-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'vala-work' into maint

	* vala-work:
	  vala: improve comments to AM_PROG_VALAC
	  news: update w.r.t. recent vala changes
	  vala: if no proper compiler found, set $(VALAC) to 'valac'
	  vala: AM_PROG_VALAC should not produce an error for tool-old valac
	  docs: document recent changes to AM_PROG_VALAC
	  tests: enhance tests on AM_PROG_VALAC
	  vala: style fixes in vala.m4
	  vala: add action arguments, for when no proper vala compiler is found

2012-10-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove spurious leftover use of 'Exit'

	Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.

	Commit 'v1.12.4-184-g9fed1c8' in master made the same fix basically,
	but we mistakenly applied it to master only, rather than to maint.

	* t/per-target-flags.sh: Here.

2012-10-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: can check our recipes avoid trailing backslashes

	This is related to commit v1.11-1704-g254227b of 2012-05-01,
	"parallel-tests: avoid trailing backslashes in make recipes",
	and automake bug#10436.

	Recipes with a trailing backslash character (possibly followed by
	blank characters only) can cause spurious syntax errors with at
	least older bash versions (e.g., bash 2.05b), and can be potentially
	be unportable to other weaker shells.

	So provide a target that runs the testsuite looking for this kind
	of breakage (without requiring a real bugged shell).

	* t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c'
	commands having a trailing '\' (possibly followed by whitespace only).
	* Makefile (t/ax/shell-no-trail-bslash): Generate this script from it.
	(noinst_SCRIPTS, CLEANFILES): Add it.
	(EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'.
	(check-no-trailing-backslash-in-recipes): New target, runs the testsuite
	with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible
	recipes having a trailing backslash character (possibly followed by
	* .gitignore: Update.
	* t/self-check-shell-no-trail-bslash.sh: New testsuite self-check.
	* t/parallel-tests-trailing-bslash.sh: Remove as obsolete.
	* t/list-of-tests.mk: Adjust.

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: correctly identify missing GNU compilers as such

	* configure.ac: Here, instead of mistakenly diagnose them as "botched".

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: merge, tweak and modernize few test scripts

	Basically an adjusted-and-improved cherry-pick from Automake-NG
	commit v1.12.1-343-gff30f83.

	* t/specflg.sh, t/specflg2.sh, t/specflg3.sh: Merged into ...
	* t/per-target-flags.sh: ... this test.
	* t/fo.sh: Remove, its weak grepping checks well superseded by
	the semantic checks in 't/fort4.sh'.
	* t/cxxo.sh: Remove, its weak grepping checks well superseded
	by the semantic checks in 't/cxx-demo.sh'.
	* t/cxxcpp.sh: Enhance a little.
	* t/empty.sh: Renamed ...
	* t/empty-data-primary.sh: ... to this.  Add trailing ':' command.
	* t/empty2.sh, t/empty3.sh, t/empty4.sh: Merged ...
	* t/empty-sources-primary.tap: ... into this new test.
	* t/no-outdir-option.sh: Remove.  A test to check than an obsolete
	and now deleted option ("--output-dir") stays deleted is way too
	much even for the most test-infected person ;-)
	* t/list-of-tests.mk: Adjust.

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: move coverage about BUILT_SOURCES

	Basically a backport of some tests from Automake-NG.

	* t/built-sources-check.sh: Sync it with the version in the ng/master
	branch.  Accordingly, move part of the checks out ...
	* t/built-sources-install.sh: ... into this new test, synced from
	ng/master as well.
	* t/built-sources-subdir.sh: Minor tweaks and enhancements to sync it
	with the version in ng/master.
	* t/built-sources-cond.sh: New test, synced from ng/master.
	* t/built-sources.sh: Likewise, with minor edits to avoid a spurious
	failure.
	* t/built-sources-fork-bomb.sh: Likewise.
	* t/list-of-tests.mk: Update.

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: more meaningful names for some test cases

	* t/yacc5.sh: Renamed ...
	* t/yacc-grepping2.sh: ... like this.
	* t/yacc7.sh: Renamed ...
	* t/yacc-headers-and-pr47.sh: ... like this.
	* t/yacc8.sh: Renamed ...
	* t/yacc-subdir.sh: ... like this.
	* t/subdir10.sh: Rename ...
	* t/subdir-env-interference.sh: ... like this.
	* t/specflg10.sh: Rename ...
	* t/am-default-source-ext.sh: ... like this.
	* t/suffix12.sh: Rename ...
	* t/suffix-custom-subobj.sh: ... like this.
	* t/suffix13.sh: Rename ...
	* t/suffix-custom-subobj-and-specflg.sh: ... like this.
	* t/check3.sh: Rename ...
	* t/built-sources-check.sh: ... like this.
	* t/subdirbuiltsources.sh: Rename ...
	* t/built-sources-subdir.sh: ... like this.
	* t/bsource.sh: Rename ...
	* t/no-spurious-install-recursive.sh: ... like this.
	* t/list-of-tests.mk: Adjust.

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: merge some grepping tests on Yacc support

	* t/yacc.sh, t/yacc2.sh: Merge ...
	* t/yacc-grepping.sh: ... into this test.
	* t/list-of-tests.mk: Adjust.

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: prepare to move ./defs to t/ax/test-init.sh

	We don't do this in a sweeping passage, because that would cause
	endless headaches in the synchronization between the maint, master
	and ng/master branches.  Instead, we setup our framework to allow
	test scripts to work by sourcing either './defs' or 'test-init.sh',
	so that we'll be able to make the transition gradual and painless.

	* t/ax/test-init.sh: New, copied from the previous ./defs file.
	* defs: Simply work by sourcing the new file.
	* Makefile.am (dist_noinst_DATA): List the new file.
	* t/README: Adjust to mandate the sourcing of 'test-init.sh' rather
	than of './defs'.
	* t/c-demo.sh: Source 'test-init.sh' instead of ./defs.  This is
	done to verify our new setup actually works.
	* t/ac-output-old.tap: Likewise.

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	depcomp: avoid potential interferences from the environment

	* lib/depcomp (gccflag, dashmflag): By explicitly initializing these
	variables to the empty string by default.

2012-10-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	depcomp: improve comments about the 'gcc' depmode

	It is not only needed by obsolescent gcc compilers (pre-3.x),
	but also by modern compiler like IBM C/C++.  State that ...

	* lib/depcomp: ... here...
	* gen-testsuite-part: ... and here, where we generate the
	'depcomp*.tap' tests.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: improve comments to AM_PROG_VALAC

	* m4/vala.m4 (AM_PROG_VALAC): Here.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: update w.r.t. recent vala changes

	* NEWS: Here.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: if no proper compiler found, set $(VALAC) to 'valac'

	This is better than setting it to ':' (as is currently done), because
	a triggered makefile rule invoking a vala compilation will then clearly
	fail with an informative error message like "valac: command not found",
	rather than silently, with the error possibly going unnoticed, or
	triggering harder-to-diagnose fallout failures in later steps.

	For a precedent of a similar behaviour, see the AC_PROG_YACC macro.

	* m4/valac.m4: Implement the new semantic.
	* doc/automake.texi (Vala Support): Document it.
	* t/vala4.sh: Adjust.

2012-10-26  Sébastien Wilmet  <swilmet@gnome.org>  (tiny change)
	    Matthieu Baerts  <matttbe@glx-dock.org>
	    Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: AM_PROG_VALAC should not produce an error for tool-old valac

	This change fixes automake bug#12688.

	In the AM_PROG_VALAC macro, when the optional parameter specifying the
	minimum release number is not provided, and/or if the Vala compiler is
	not found, then there is a _warning_ message.

	On the other hand, when the version number is specified and if the Vala
	compiler is too old, there is an _error_ message.

	This error message is problematic, because for a tarball, the Vala
	compiler is not required: the generated C code is included in the
	tarball.  So if a user wants to compile the software, he shouldn't
	need the valac program with the right version.

	* m4/vala.m4 (AM_PROG_VALAC): Modify to use AC_MSG_WARN instead
	of AC_MSG_ERROR.
	* t/vala4.sh: Adjust and enhance.
	* doc/automake.texi (Vala Support): Likewise.
	* THANKS: Update.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: document recent changes to AM_PROG_VALAC

	* doc/automake.texi (Vala Support): Here.  This is a follow-up to
	recent commit 'v1.12.4-20-gdf202a3', "vala: add action arguments,
	for when no proper vala compiler is found".

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: enhance tests on AM_PROG_VALAC

	* t/vala4.sh: Here.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: style fixes in vala.m4

	* m4/vala.m4 (AM_PROG_VALAC): Here.

2012-10-26  Daiki Ueno  <ueno@unixuser.org>  (tiny change)

	vala: add action arguments, for when no proper vala compiler is found

	* m4/vala.m4 (AM_PROG_VALAC): Add optional action arguments to
	control the behavior if specified version of valac is not found.
	This emulates the behaviour of AM_PATH_PYTHON.
	* t/vala4.sh: Enhance.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/config.guess, lib/config.sub: Update.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: remove an obsolescent check

	* syntax-checks.mk (sc_test_names): Remove this check, which verified
	that no test name contained an m4/m4sugar builtin or macro name.  Since
	most tests use their own name as the first argument to AC_INIT, doing
	that would have tickled a bug in Autoconf 2.62; but the bug was fixed
	in Autoconf 2.63 already; and we are going to soon require Autoconf
	2.65 anyway (in automake 1.13), so this check has become more annoying
	than useful.
	(syntax_check_rules): Don't list the removed check.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: rename some tests to more expressive names, again

	* t/parallel-tests.sh: Rename ...
	* t/parallel-tests-basics.sh: ... like this.
	* t/parallel-tests3.sh: Rename ...
	* t/parallel-tests-concurrency.sh: ... like this.
	* t/parallel-tests5.sh: Rename ...
	* t/parallel-tests-concurrency-2.sh: ... like this.
	* t/parallel-tests6.sh: Rename ...
	* t/parallel-tests-empty.sh: ... like this.  Adjust comments.
	* t/parallel-tests8.sh: Rename ...
	* t/parallel-tests-generated-and-distributed.sh: ... like this.
	* t/parallel-tests9.sh: Rename ...
	* t/parallel-tests-recheck.sh: ... like this.
	* t/parallel-tests10.sh: Rename ...
	* t/parallel-tests-trailing-whitespace.sh: ... like this.
	* t/remake3a.sh: Rename ...
	* t/remake-subdir-no-makefile.sh: ... like this.
	* t/remake4.sh: Rename ...
	* t/remake-not-after-make-dist.sh: ... like this.
	* t/remake5.sh: Rename ...
	* t/remake-maintainer-mode.sh: ... like this.
	* t/remake6.sh: Rename ...
	* t/remake-subdir3.sh: ... like this.
	* t/remake7.sh: Rename ...
	* t/remake-fail.sh: ... like this.
	* t/remake11.sh: Rename ...
	* t/remake-deeply-nested.sh: ... like this
	* t/remake12.sh: Rename ...
	* t/remake-mild-stress.sh: ... like this
	* t/pr8365-remake-timing.sh: Rename ...
	* t/remake-timing-bug-pr8365.sh: ... like this.
	* t/list-of-tests.mk: Adjust.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove an obsolescent grepping check

	* t/remake3.sh: This one, superseded by ...
	* t/remake3a.sh: ... this semantic test, whose comments have been
	djusted accordingly.
	* t/list-of-tests.mk: Adjust.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: merge two tests on automatic remake functionality

	* t/remake2.sh: Merge ...
	* t/remake-subdir-grepping.sh: ... in here.
	* t/list-of-tests.mk: Adjust.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: rename some test to more expressive names

	* t/remake.sh: Rename ...
	* t/remake-subdir-grepping.sh: ... like this.
	* t/remake8a.sh: Rename ...
	* t/remake-makefile-intree.sh: ... like this, and adjust comments.
	* t/remake8b.sh: Rename ...
	* t/remake-makefile-vpath.sh: ... like this, and adjust comments.
	* t/remake9a.sh: Rename ...
	* t/remake-after-configure-ac.sh: ... like this, and adjust comments.
	* t/remake9b.sh: Rename ...
	* t/remake-after-makefile-am.sh: ... like this, and adjust comments.
	* t/remake9c.sh: Rename ...
	* t/remake-after-acinclude-m4.sh: ... like this, and adjust comments.
	* t/remake9d.sh: Rename ...
	* t/remake-after-aclocal-m4.sh: ... like this, and adjust comments.
	* t/remake10a.sh: Rename ...
	* t/remake-include-configure.sh: ... like this, and adjust comments.
	* t/remake10b.sh: Rename ...
	* t/remake-include-makefile.sh: ... like this, and adjust comments.
	* t/remake10c.sh: Rename ...
	* t/remake-include-aclocal.sh: ... like this, and adjust comments.
	* t/list-of-tests.mk: Adjust.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: 'compile' supports libfoo.a naming when wrapping Microsoft tools

	This is a follow-up to commit 'v1.12.4-10-g3c5c939' of 2012-10-04,
	"compile: support libfoo.a naming when wrapping Microsoft tools".

	* NEWS (Bugs fixed in 1.12.5): Update.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: ensure generation of wrapper tests matching multiple conditions

	* gen-testsuite-part: Our old code to generate wrapper tests had a
	severe limitation, in that if a test matched two or more conditions
	calling for generation of wrapper tests, still only one wrapper test
	was generated, instead of the three that would have been expected --
	that is, one using the setup code triggered by the first condition,
	one using the setup code triggered by the second condition, and one
	using both this setup code fragments.
	Admittedly, this was only a theoretical limitation for the moment,
	since since so far no test exists that matches two or more conditions
	for wrapping.  Still, this might change in the future, and easily in
	an unnoticed way, so better fix the issue now, before it might become
	a real problem.

2012-10-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: simplify a loop in gen-testsuite-part

	* gen-testsuite-part: No need to loop on the (key, value) entries
	of the %test_generators has: we only use the value, and never the
	key.  So loop simply on the values.

2012-10-14  Peter Rosin  <peda@lysator.liu.se>

	compile: support libfoo.a naming when wrapping Microsoft tools

	There is a future plan to provide some means to have Automake
	create static libraries that are named differently depending
	on the system [1].

	The background is that everyone has always named static libraries
	libfoo.a, except the Redmond crowd who names them foo.lib, and
	you have to jump through hoops to have Automake create libraries
	named foo.lib in the land of non-GNU Windows while still creating
	libfoo.a everywhere else.

	However, there is probably no sane way to accomplish that system
	dependent naming discussed in [1] without user intervention,
	which makes it necessary to support the classic libfoo.a naming
	when using Microsoft tools in the best possible way, for the
	benefit of all projects today and for future projects not
	opting in to whatever scheme is selected for the problem at
	hand.

	[1] http://lists.gnu.org/archive/html/automake/2012-09/msg00028.html

	* lib/compile (func_cl_dashl): As a last resort, match -lfoo with
	libfoo.a, if that file exist on the library search path.
	* t/compile4.sh: Remove obsolescent workaround for the above.
	* t/compile6.sh: Extend to check that libbaz.a is indeed found
	when baz.lib and baz.dll.lib does not exist and that bar.lib
	and bar.dll.lib are preferred over libbar.a.

2012-10-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	NEWS: fix wording and grammaros, re-wrap text accordingly

	Reported-by: Peter Rosin <peda@lysator.liu.se>

2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	cosmetics: fix typo in 'lib/depcomp' comments

	Fixes automake bug#12578.

2012-10-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	config headers: remove stale comment in makefile fragment

	* lib/am/remake-hdr.am: Here.

2012-10-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	NEWS: wording and quoting fixlets in few older entries

2012-10-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	config headers: don't emit rules for headers not generated by autoheader

	This change fixed automake bug#12495.

	Even if an AC_CONFIG_HEADERS invocation is passed a list of several files
	as the first argument, only the first one of those file is considered by
	autoheader for automatic generation of the corresponding '.in' template.
	This is done on purpose, and is clearly documented in the Autoconf manual,
	which (as of the 2.69 version) reads something like this:

	    The autoheader program searches for the first invocation of
	    AC_CONFIG_HEADERS in configure sources to determine the name of
	    the template.  If the first call of AC_CONFIG_HEADERS specifies
	    more than one input file name, autoheader uses the first one.

	That is, an invocation like:

	    AC_CONFIG_HEADERS([config.h config2.h])

	should cause autoheader to generate only a 'config.h.in' template,
	and not also a 'config2.h.in' one.

	Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate
	remake rules only for the template associated to the first input file
	name passed to that macro.  In some situations, however, automake failed
	to properly limit itself in this way; for example, with an input like:

	    AC_CONFIG_HEADERS([config.h sub/foo.h])

	in configure.ac, and with the 'sub' directory listed in the SUBDIRS
	variable of the top-level Makefile, automake would erroneously generate
	in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by
	invoking autoheader.

	This issue was likely introduced in commit 'Release-1-8-23-g262bb92'
	of 2004-01-05.

	* NEWS: Update.
	* doc/automake.texi (Optional): Improve wording in the description of
	hat rules automake generates in response to an 'AC_CONFIG_HEADERS'
	invocation.
	* lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for
	the %CONFIG_HIN% template if that corresponds to the first argument of
	AC_CONFIG_HEADERS, as explaned above.  Do so using the automake-time
	conditional %?FIRST-HDR%, that is properly passed ...
	* automake.in (handle_configure): ... from a 'file_contents' invocation
	in here.
	* t/autohdr-subdir-pr12495.sh: New test.
	* t/list-of-tests.mk: Add it.
	* THANKS: Update.

	Helped-by: Hib Eris <hib@hiberis.nl>

2012-10-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: fix minor typo: s/expending/expanding/

	* doc/automake.texi (Wildcards): Here.  Fixes automake bug#12516.

2012-10-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/texinfo.tex: Update.

2012-10-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: post-release minor version bump

	* configure.ac (AC_INIT): Bump version number to 1.12.4a.
	* m4/amversion.m4: Likewise (automatically regenerated by
	"make bootstrap").

2012-09-23  Jim Meyering  <meyering@redhat.com>

	maint: typo fixes s/lies into/lies in/

2012-09-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: stable release 1.12.4

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

2012-09-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	NEWS: minor fix

2012-09-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: better exposure for automake bug#12372 (tags-related)

	Alas, in contrast with what is said in the commit message of previous
	commit 'v1.12.3-14-g94b7b8e', that bug is still present also in the
	current maint branch (which will become automake version 1.12.4); it
	is just that it only triggers when a _SOURCES variable contains only
	files with custom extension.

	* t/tags-pr12372.sh: Extend.
	* t/list-of-tests.mk: Add it.

	Suggested-by: Юрий Пухальский <aikipooh@gmail.com>

2012-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: expose automake bug#12372 (tags-related)

	That bug is somehow already been fixed in the latest automake
	version (1.12.4); but exercise it anyway in the testsuite, to
	ensure we won't regress.

	* t/tags-pr12372.sh: New test.
	* t/list-of-tests.mk: Add it.

2012-09-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/texinfo.tex: Update.

2012-09-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: cygnus will be removed in automake 1.13

	* NEWS (Future backward-incompatibilities): So document it here.

2012-09-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: some changes for 1.13 has been "de-planned"

	* NEWS (Future backward-incompatibilities): The planned Automake release
	1.13 already has too much stuff on its plate; so we are not going to
	In Automake 1.13, we are definitely not going to change the exact order
	in which the directories in the aclocal macro search path are looked up.
	Also, experience and user feedback have shown that the "obsolescent"
	two-arguments invocation for AM_INIT_AUTOMAKE:

	    AM_INIT_AUTOMAKE(PACKAGE-NAME, PACKAGE-VERSION)

	is still useful (until at least Autoconf is fixed to offer better support
	for "dynamically" package versions), so we are not going to remove
	support for that usage in Automake 1.13.  For more details, see commit
	v1.12.2-245-g2abe183 of 2012-08-24, "AM_INIT_AUTOMAKE: allow obsolescent
	two-args invocation once again".
	(New in 1.12.1): Adjust accordingly.

2012-09-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: report that the have seen fixlets after 1.12.3

	* NEWS: Here.

2012-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	warns: enable category 'obsolete' by default

	No surprise that our users were bitten by backward-incompatible changes
	especially hard: the warnings in the 'obsolete' category, that might
	have informed them of the upcoming incompatibilities, and help them to
	prepare for the transition, where not enabled by default!

	* NEWS, doc/automake.texi: Update.
	* lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete'
	by default.
	* t/warnings-obsolete-default.sh: New test.
	* t/list-of-tests.mk: Add it.
	* t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as
	autoconf input file, to avoid spurious aclocal errors.
	* t/backcompat2.sh: Likewise.
	* t/backcompat3.sh: Likewise.
	* t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal.  Adjust
	heading comments.
	* t/backcompat6.sh: Likewise.
	* t/cygnus-imply-foreign.sh:  Add '-Wno-obsolete' when invoking automake.

2012-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/config.guess, lib/config.sub: Update.

2012-08-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	automake: don't define many identical 'lang_*_rewrite' subroutines

	This is just a simplifying refactoring, with no semantic change intended.

	Cherry-picked from the Automake-NG commit 'v1.12.1-312-g63aa4a9' of
	2012-06-07.

2012-08-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)

	* t/flex-header.sh: New test, show that automake bug#8844 and bug#9933
	have already been fixed by the recent-ish improvements to ylwrap (merged
	with commit v1.12.2-27-gec5cb49 of 2012-07-16, "Merge branch 'yacc-work'
	into maint").
	* t/list-of-tests.mk: Update.

2012-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: don't suggest to use recursive makefile setup

	* doc/automake.texi (Introduction): Here, by erroneously telling that
	"there should generally be one Makefile.am per directory of a project".
	For reference, see commit 'v1.12.1-25-g61dfb47' of 2012-06-12, "docs:
	recursive make considered harmful".

2012-08-16  Adam Sampson  <ats@offog.org>  (tiny change)
	    Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a timestamp race in python tests

	Fixes automake bug#12210.

	* t/python-missing.sh: Call aclocal and autoconf with the "--force"
	option.  We need this because, on fast machines, it's possible for
	'mypy.m4' and 'aclocal.m4' to end up with the same timestamp as configure,
	so autoconf (without the "--force" options) wouldn't bother to rebuild it,
	and would just rerun the previous AM_PATH_PYTHON test, succeeding rather
	than failing as expected.
	* t/python-am-path-iftrue.sh: Likewise.

2012-08-14  Peter Rosin  <peda@lysator.liu.se>

	tests: fixup: make distcheck-override-infodir pass again

	Fixes Automake bug#12198.

	* t/distcheck-override-infodir.sh (main.texi): Remove all leading
	cruft added by commit v1.12.2-96-g133307b "maintcheck: fix spurious
	warnings".

2012-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/config.guess, lib/config.sub, lib/gitlog-to-changelog,
	lib/texinfo.tex: Update.

2012-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: post-release minor version bump

	* configure.ac (AC_INIT): Bump version number to 1.12.3a.
	* m4/amversion.m4: Likewise (automatically regenerated by
	"make bootstrap").

2012-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: stable release 1.12.3

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

2012-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: fix spurious warnings

	* t/distcheck-override-infodir.sh: Be sure that valid occurences
	of the "aclocal" and "automake" strings, which can confuse the
	'sc_tests_plain_automake' check, are protected by leading "#"
	characters.
	* t/ax/test-lib.sh: Always use '$(...)' for command subtitution,
	to avoid triggering the 'sc_tests_command_subst' check; there was
	still once place where `...` was used.  While at it, fix a related
	comment.
	* t/ax/test-defs.in ($sleep): Use creative quoting to avoid
	spuriously triggering the 'sc_tests_plain_sleep' check.

2012-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: fix typo: s/make install-info/make uninstall-info/

	* doc/automake.texi (Texinfo): Here.  And a minor wording improvement
	while we are at it.

2012-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fixup: make a couple of tests executable

	* t/python-am-path-iftrue.sh: This.
	* t/python-missing.sh: And this.

2012-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: rework tests on AM_PATH_PYTHON

	* t/python8.sh, t/python9.sh: Merge into ...
	* t/python-am-path-iftrue.sh: ... this new test, with minor adjustments.
	* t/python4.sh, t/python5.sh, t/python6.sh, t/python7.sh: Merge into ...
	* t/python-missing.sh: ... this new test.
	* t/python5b.sh: Rename ...
	* t/python-too-old.sh: ... like this, and adjust/extend.
	* t/list-of-tests.mk: Adjust.

2012-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix typos and references in comments

	* lib/am/check.am: Here.
	* doc/automake.texi: And here.
	* t/*.sh: And in several of these tests.

2012-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	typofix: in a test diagnostic

	* t/cscope.tap: Here.

2012-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: fixlets to HACKING

	* HACKING: Use longer "=====" lines to separate different section (this
	is just eye-candy admittedly, but I prefer it).
	(Release procedure): Don't tell to "update NEWS"; that should be updated
	throughout the normal course of development.  Instead, tell to just check
	it.  Improve description of the re-bootstrapping and rechecking procedure,
	also suggesting to use "git clean" beforehand (with all due warnings!).

2012-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cleanup: remove stale references to 'lzma' option

	* automake.in (preprocess_file): Here.
	(handle_dist): And here.

2012-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	automake: remove an unused local variable

	* automake.in (handle_dist): Here, the '$extra_dist' variable.

2012-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	distcheck: more resilient against possible failures

	* lib/am/distdir.am (distcheck): Ensure that a failure in the commands
	making the just-extracted source tree read-only cause the recipe to fail.
	While at it, save a fork by creating the '_build' and '_inst' subdir
	with a single mkdir invocation.

2012-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cleanup: remove almost-unused global var 'am_relative_dir'

	Cherry picked from commit v1.12.2-741-g53b5d11 of Automake-NG.

	* automake.in ($am_relative_dir): Delete, it was only used once ...
	(generate_makefile): ... in here, so it's simpler to inline its
	expansion.
	(initialize_per_input): Don't reset the deleted variable.

2012-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cleanup: remove two almost-unused global variables: {am,in}_file_name

	Cherry picked from commit v1.12.2-739-gbf2a8b0 of Automake-NG.

	* automake.in ($am_file_name, $in_file_name): Delete these, which were
	used only in the 'read_main_am_file' subroutine; instead ...
	(read_main_am_file): ... modify it to only work from the '$makefile_am'
	argument (which it was already receiving), and the new '$makefile_in'
	argument, which is now passed to it ...
	(generate_makefile): ... from here.
	(initialize_per_input): Don't reset the two deleted variables anymore.

2012-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cleanup: remove almost-unused global var 'topsrcdir'

	Cherry picked from commit v1.12.2-740-ga7f24eb in Automake-NG.

	* automake.in ($topsrcdir): Delete, it was only used once ...
	(handle_LIBOBJS_or_ALLOCA): ... in here, so it's simpler to inline
	its expansion.  Improve formatting of immediately surrounding code
	a little while we are at it.
	(initialize_per_input): Don't reset the deleted variable.

2012-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	automake: remove an unused variable

	* automake.in ($canonical_location): This.
	(scan_autoconf_traces): Don't initialize it.

2012-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: make a test script more semantic

	This is mostly useful for Automake-NG, that is heavily overhauling the
	generated Makefiles and thus is prone to break grepping checks (which
	can sometimes end up causing false negatives in the testsuite, sadly).
	But this is not a reason not to strengthen the test for mainline
	Automake as well.

	* t/noinstdir.sh: Add semantic checks.

2012-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove an obsolete, no-op test script

	* t/info.sh: This: it tried to operate by checking the contents of the
	variable '$(INFOS)', but that is not even defined (and probably has been
	obsolete for quite a long time).  Since other tests already do thorough
	testing of the Texinfo support, just remove this test.
	* t/list-of-tests.mk: Adjust.

2012-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove an obsolete test script

	* t/scripts.sh: This: it used to check that the 'AC_PROG_INSTALL' macro
	was not uselessly required, but today that macro is AC_REQUIRE'd by
	'AM_INIT_AUTOMAKE' anyway, so that the test is no more significant.
	* t/list-of-tests.mk: Adjust.

2012-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failures with older Texinfo

	* t/distcheck-override-infodir.sh (main.texi): Add explicit calls to
	'@dircategory' and '@direntry', to ensure a 'dir' file will be created
	also by 'install-info' coming with Texinfo 4.8.

2012-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid tons of spurious failures on NetBSD

	* t/ax/am-test-lib.sh (process_requirements): Set the '$am_tool' variable
	to the empty string before trying to unset it; otherwise, we might be
	attempting to unset an already-unset variable, which (together with the
	presence of the 'errexit' shell flag) causes spurious failures at least
	with the /bin/sh shell from NetBSD 5.1.  This was actually causing the
	great majority of the Automake tests (all those not using a "required=..."
	declaration) to fail spuriously on that platform!

2012-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	runtest: avoid spurious failures on NetBSD

	* runtest.in: Use ${1+"$@"} rather than simply "$@", because the 'set -u'
	setting used in the script causes the latter to trigger a spurious error
	with the NetBSD 5.1 /bin/sh ("./runtest: @: parameter not set") if there
	are no arguments to the test.

2012-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: dependency tracking for Portland Group Compilers is now supported

	* NEWS: So document it here.

2012-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: cater to OpenSolaris 'zip'

	* t/dist-formats.tap: Here: OpenSolaris zip do not accept the
	'--version' option, but accept the '-v' one with a similar
	meaning (if no further arguments are given).

2012-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a spurious XPASS on OpenIndiana

	* t/instspc.tap: Here, by isolating the $(DESTDIR) used by runs with
	different "problematic strings" to prevent them to unduly interfering
	with each other.  With this, the Automake testsuite finally run cleanly
	on the OpenIndiana and Solaris 10 systems I have access to.

2012-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana

	* t/vala-vapi.sh: Use 'printf', not 'echo', to print strings containing
	substrings like '\n', that can be interpreted like escape strings.  That
	because the /bin/sh and the /bin/bash shell from OpenIndiana actually
	interpret them that way:

	  $ /bin/sh -c 'echo "foo\nbar"'
	  foo
	  bar
	  $ /bin/bash -c 'echo "foo\nbar"'
	  foo
	  bar

2012-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana

	On current OpenIndiana (based on what once was OpenSolaris 11), the shell
	/bin/sh (which, differently from what happens on Solaris, is a true POSIX
	shell, thus worthy of consideration) somehow manages to "eat" the
	error message from 'rm' when that fails to remove a file due to lacking
	permission on the parent directory:

	  $ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
	  $ echo rc = $?
	  rc = 1
	  $ /bin/bash -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
	  rm: foo not removed: Permission denied
	  $ echo rc = $?
	  rc = 2
	  $ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; env rm -f foo"
	  rm: foo not removed: Permission denied
	  $ echo rc = $?
	  rc = 2

	That is probably due to an improper optimization, that is, the shell tries
	to be smart and remove the file itself instead of invoking 'rm', but fails
	spectacularly in the attempt.

	* t/uninstall-fail.sh: The just-described bug was causing a spurious
	failure in this test case.  Cater to thus situation, by relaxing the
	test when a faulty shell is detected.  And while at it, fix and improve
	an unrelated comment.

2012-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: reimplement wrappers for automake and aclocal in perl

	This will allow us to avoid one extra shell invocation per automake
	and aclocal invocation in our testsuite, and, more importantly, will
	allow us not to worry about potential shell portability issues, at
	least in those wrappers.  For an example of such a portability issue,
	refer to the recent commit v1.12.2-80-g65dadf6 "tests: work around a
	ksh bug w.r.t. ${1+"$@"}".

	* t/wrap/automake.in, t/wrap/aclocal.in: Rewritten in perl.

2012-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: work around a ksh bug w.r.t. ${1+"$@"}

	Fixes automake bug#10898.  See also the older (much older) thread:
	<http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00036.html>

	At least the AT&T and OpenSolaris versions of the Korn shell, as well
	as the /bin/sh from OpenIndiana 11, have a strange bug regarding the
	expansion of ${1+"$@"}: when exactly *one empty* argument is passed to
	a script run by one of this shells, inside that script ${1+"$@"} will
	expand to *nothing*, rather than to to the single empty string, as
	one would expect (OTOH, $# will correctly expand to 1).  This buggy
	behaviour was causing a spurious failure in our testsuite (test 6 in
	't/automake-cmdline.tap').  Work around it.

	* t/wrap/automake.in: Here.

2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'depcomp-pgcc' into maint

	* depcomp-pgcc:
	  depcomp: style changes to Portland Group Compilers support
	  depcomp: initial support for Portland Group Compilers

2012-07-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: fix build in VPATH setup

	* Makefile.am (t/ax/test-defs.sh): Ensure the 't/ax' directory exists,
	before trying to create 'test-defs.sh' in there.  This is required in
	VPATH builds.

	Reported-by: Akim Demaille <akim@lrde.epita.fr>

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gen-tests: simplify sourcing of helper shell files

	This is a follow-up on commit v1.12.2-49-g42fb45b, for an occurrence
	of '. "$am_testauxdir"/foo.sh' that wasn't in a test script, but
	rather in 'gen-testsuite-part' (ending up in the tests generated by
	that script).

	* gen-testsuite-part: In the generated 'depcomp*.tap' tests, use
	simply:
	    . depcomp.sh
	rather than:
	    . "$am_testauxdir/depcomp.sh"

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'testsuite-refactor' into maint

	* testsuite-refactor: (33 commits)
	  maintcheck: fixup list of files in $(xdefs)
	  tests: never source test-defs.sh directly, source test-lib.sh instead
	  runtest: sanitize test environment
	  tests: remove an obsolescent self test
	  tests: "am_using_tap=yes" -> "am_test_protocol=tap"
	  tests: protect test libs against multiple inclusion
	  configure: testsuite shell can return early from "dot-sourced" files
	  tests: move sanitization and "Bournification" in the generic test lib
	  tests: source test defs in the generic test lib
	  test defs: no need to re-add $srcdir/t/ax to $PATH
	  tests: split test libs into "generic" and "automake-specific"
	  test setup: move actual calling of testsuite setup in ./defs
	  test setup: merge definitions of function for simple tests
	  test init: refactor: new function 'am_test_setup'
	  test init: refactor: move displaying of debugging info later
	  test init: refactor: new function 'am_setup_testdir'
	  test init: refactor: new function 'am_set_exit_traps'
	  configure: testsuite shell set exit traps in shell functions
	  test init: refactor: new function 'am_exit_trap'
	  test init: refactor: new function 'process_requirements'
	  ...

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-pr12041' into maint

	* fix-pr12041:
	  tests: avoid spurious failure when running as root

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: fixup list of files in $(xdefs)

	syntax-checks.mk (xdefs): Adjust to recent changes: add 't/ax/test-lib.sh'
	and 't/ax/test-lib.sh', remove the now-deleted 't/ax/test-init.sh'

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: never source test-defs.sh directly, source test-lib.sh instead

	After the recent re-organization, sourcing 'test-defs.sh' directly might
	not work well and cause spurious failures or other unexpected behaviours.
	We should source 'test-lib.sh' instead, which contains not more direct
	code execution (only definition of shell variables/functions, or sourcing
	of other '*.sh' with the same property), is protected against multiple
	inclusions, and sources 'test-defs.sh' automatically in in a proper way.

	* t/testsuite-summary-count.sh, t/tap-summary.sh, t/tap-summary-color.sh,
	t/testsuite-summary-color.sh: Source 'test-lib.sh', not 'test-defs.sh'.
	* gen-testsuite-part: Likewise, in the generated wrapper scripts.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	runtest: sanitize test environment

	* runtest.in: Here, similarly to what is done by AM_TESTS_ENVIRONMENT
	in Makefile.am, unset variables that should be under the complete control
	of the test framework, and that could create havoc if inherited from the
	environment.  This remove the need to check against possible environment
	"pollution" ...
	* t/ax/test-defs.in: ... in here.
	* Makefile.am (AM_TESTS_ENVIRONMENT): Add a comment about the need of
	synchronization with 'runtest.in'.
	* t/self-check-env-sanitize.tap: Remove as obsolete.
	* t/list-of-tests.mk: Adjust.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove an obsolescent self test

	* t/self-check-tap.sh: This.  The recent reorganization and code
	moving between 'test-defs.sh' and 'test-lib.sh' has made it
	brittle and prone to failures.  Since the usefulness of this self
	check is extremely limited, it's not worth trying to fix it. Just
	remove it.
	* t/list-of-tests.mk: Adjust.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: "am_using_tap=yes" -> "am_test_protocol=tap"

	And similarly, "am_using_tap=no" -> "am_test_protocol=none".

	The new '$am_test_protocol' name is clearer, and will allow the easy
	addition of further test protocols in the future.  This is not truly
	relevant for automake, but we are trying to make some parts of our
	testsuite framework as general as possible, in view of a future move
	to a more generic project like Gnulib.

	* Makefile.am, t/ax/am-test-lib.sh, t/ax/test-defs.in, t/ax/test-lib.sh,
	t/self-check-env-sanitize.tap, t/self-check-tap.sh: Adjust.
	* syntax-checks.mk (sc_tests_obsolete_variables): Add 'am_using_tap' to
	the list of obsolete variables to check against.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: protect test libs against multiple inclusion

	* t/ax/test-lib.sh, t/ax/am-test-lib.sh: Return early if already sourced.
	Use the witness variables '$test_lib_sourced' and '$am_test_lib_sourced',
	respectively, for this purpose.
	* runtest.in, Makefile.am (AM_TESTS_ENVIRONMENT): Unset 'test_lib_sourced'
	and 'am_test_lib_sourced', to avoid interferences from the environment.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: testsuite shell can return early from "dot-sourced" files

	* configure.ac: Check that the shell selected to run the test
	scripts can call 'return' form within a file being sourced
	with the '.' built-in.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: move sanitization and "Bournification" in the generic test lib

	* t/ax/test-defs.sh: From here ...
	* t/ax/test-lib.sh: ... to here.  Also move the initialization of
	'$argv0' and '$me'.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: source test defs in the generic test lib

	* t/ax/test-lib.sh: That is, here ...
	* defs: ... rather than here.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: no need to re-add $srcdir/t/ax to $PATH

	* t/ax/test-defs.sh: Here.  That is already done by both 'runtest' and
	AM_TESTS_ENVIRONMENT, and the presence of '$srcdir/t/ax' in $PATH is
	anyway required, after the recent changes, for our testsuite framework
	to work at all.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: split test libs into "generic" and "automake-specific"

	This is the first step in the quest to merge the generically useful
	parts of our test suite framework in a more generic project, like
	Gnulib.  Time will tell if we'll succeed, and whether the success will
	be worth the extra hassle.

	* t/ax/test-init.sh: Split out ...
	* t/ax/am-test-lib.sh, t/ax/test-lib.sh: ... into these two tests.
	* defs, Makefile.am: Adjust.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test setup: move actual calling of testsuite setup in ./defs

	* t/ax/test-init.sh: Move call to 'am_test_setup' ...
	* defs: ... here.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test setup: merge definitions of function for simple tests

	* t/ax/plain-functions.sh: Delete, moving the definitions of ...
	($stderr_fileno_): ... this variable ...
	(warn_, fail_, skip_, skip_all_, fatal_, framework_failure_): ... and
	these functions ...
	* t/ax/test-init.sh: ... in here.  This allow us to use those functions
	earlier in this file (instead of having to duplicate their behaviour
	with inlined code).  The TAP-based tests are still able to override these
	functions later to their TAP-enhanced equivalents when 'tap-functions.sh'
	is sourced.
	* Makefile.am (dist_noinst_DATA): Remove 't/ax/plain-functions.sh'.
	* t/ax/tap-functions.sh: Adjust a comment.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test init: refactor: new function 'am_test_setup'

	* t/ax/test-init.sh (am_test_setup): Here.
	Call it from the main code.  Remove other calls of functions and
	settings that are now duly called by 'am_test_setup'.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test init: refactor: move displaying of debugging info later

	* t/ax/test-init.sh: Here, about the values of $PATH, $am_using_tap
	and $am_running_installcheck.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test init: refactor: new function 'am_setup_testdir'

	* t/ax/test-init.sh (am_setup_testdir): Here.
	Use it instead of inlining its contents in the main code.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test init: refactor: new function 'am_set_exit_traps'

	* t/ax/test-init.sh (am_set_exit_traps): Here.
	(trap): Use it instead of inlining the cleanup/finalization code.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: testsuite shell set exit traps in shell functions

	* configure.ac: Check that the shell selected to run the test
	scripts can set an exit trap in a shell function, without having
	that trap executed at the termination of the function rather
	than of the scripts.  According to the Autoconf manual, at least
	AUX 5.3 /bin/sh suffers of such a bug.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test init: refactor: new function 'am_exit_trap'

	* t/ax/test-init.sh (am_exit_trap): Here.
	(trap): Use it instead of inlining the cleanup/finialization code.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test init: refactor: new function 'process_requirements'

	* t/ax/test-init.sh (process_requirements): Here.
	Use it in to check that the tools in $required are present.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test init: refactor: new function 'require_tool'

	* t/ax/test-init.sh (require_tool): Here.
	Use it in the loop in the prerequisites in $required.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test init: remove a couple of paranoid sanity checks

	* t/ax/test-init.sh: Here, about 'am_top_srcdir' and 'am_top_builddir';
	the values of those variables are AC_SUBST'd, so it's nigh impossible
	for the to be wrong or get "messed up".

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: simplify sourcing of helper shell files

	Now that the early $PATH setup in both 'runtest' and AM_TESTS_ENVIRONMENT
	allow the '.' built-in to find to-be-sourced shell scripts in the 't/ax/'
	directory automatically, we can simplify several usages like:

	   . "$am_testauxdir"/foo.sh

	to just:

	   . foo.sh

	Also, because our test scripts run with the 'errexit' flag active, and
	because POSIX mandates that, when the '.' built-in is used,

	   ... if no readable file is found, a non-interactive shell shall abort ...

	we can further simplify usages like:

	    . "$am_testauxdir"/foo.sh || fatal_ "sourcing foo.sh"

	once again to to just:

	    . foo.sh

	* ./defs, several tests: Adjusted.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: move in 't/ax/test-defs.sh'

	We can do so with minimal churn, now that the early setup of $PATH in
	both 'runtest' and AM_TESTS_ENVIRONMENT allow the '.' built-in to find
	to-be-sourced shell scripts in 't/ax' automatically, both in in-tree
	and  VPATH builds.

	With this change, we take another step forward a more rational and
	"segregated" organization of our testsuite framework.

	* defs-static.in: Rename ...
	* t/ax/test-defs.in: ... like this, and adjust.
	* Makefile.am, syntax-checks.mk, t/README, gen-testsuite-part,
	t/tests-init.sh, t/ax/tap-setup.sh, t/tap-summary.sh, .gitignore,
	t/testsuite-summary-color.sh, t/testsuite-summary-count.sh,
	t/self-check-tap.sh, defs: Adjust.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: update PATH early from AM_TESTS_ENVIRONMENT and runtest

	Because the POSIX standards mandate that sourcing a file with ". FILE"
	will cause FILE (assuming it is a relative containing no slashes) to be
	looked for in PATH, such a move will allow us to simplify our sourcing
	of shell testing libraries like (currently) 't/ax/test-init.sh' and
	'defs', and to modularize and re-organize them better in the feature,
	with minimal churn.

	* runtest.in, Makefile.am (AM_TEST_ENVIRONMENT): Prepend $(abs_srcdir)/t/ax
	and $(abs_builddir)/t/ax (in that order) to PATH; do so avoiding repetition
	in the common case of non-VPATH builds.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	runtest: export $srcdir for use by the test scripts

	This is mostly a preparatory change in view of future ones.  But it
	also make the behaviour of runtest more similar to that of the test
	harness used by "make check".

	* runtest.in: Export srcdir (was already defined to '@srcdir@').

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gen-tests: $testdir/ax -> $testauxdir

	* gen-testsuite-part ($testauxdir): New, defined to "$testdir/ax".
	Use it throughout, for better encapsulation and less duplication.
	($auxdir): Remove as unneeded.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gen-tests: less hard-coding of 't' as the test directory

	This will make life easier for us in case we decide to rename the
	testsuite directory in the future (perhaps to something like 'tests',
	which is somewhat less cryptic than the current 't').

	* gen-testsuite-part ($testdir): New variable, used throughout instead
	of hard-coding the name of the test directory to 't'.
	All the script adjusted to make proper use of '$testdir'.
	($auxdir): Move its definition earlier, for consistency with the one
	of '$testdir'.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: auxiliary testsuite files/scripts built by "make all"

	This will allow the developers to run a tests case by hand out of
	a newly extracted tarball simply doing:

	    $ ./configure && make
	    $ ./runtest t/the-test-case.sh

	while before this change one has to resort to:

	    $ ./configure && make && make check TESTS=
	    $ ./runtest t/the-test-case.sh

	or, with some non-GNU makes, even:

	    $ ./configure && make && make check TESTS= AM_MAKEFLAGS="TESTS="
	    $ ./runtest t/the-test-case.sh

	This come very handy sometimes, especially when doing one-shot
	debugging.  Admittedly not a big deal, but one less friction in
	the build system is always nice.

	* Makefile.am (check_SCRIPTS, dist_check_DATA, nodist_check_DATA):
	Move their content to ...
	(noinst_SCRIPTS, dist_noinst_DATA, nodist_noinst_DATA): ... these
	variables.
	Adjust comments.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	perf tests: reorganize

	* t/list-of-tests.mk (handwritten_TESTS): Don't list ($perf_TESTS) in
	here anymore.
	* Makefile.am (EXTRA_DIST): Add them explicitly.
	(perf): New target, run the performance tests and save the logs of
	the ones with unexpected results in the file 't/perf/test-suite.log',
	which is thus ...
	(PERF_TEST_SUITE_LOG): ... defined in this variable ...
	(CLEANFILES): ... and added to this.
	(test_subdirs): Remove 't/perf': the tests in there are no more
	listed in $(TESTS).
	* t/ax/test-init.sh: Don't explicitly skip "perf" test here.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	runtest: pass *all* the given shell options to the test invocation

	* runtest.in: Here.  This didn't work previously because, in our
	option parsing loop, we were mistakenly redefining '$shell_opts'
	each time, instead of appending to it.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	runtest: correctly pass shell option also for TAP tests

	* runtest.in: Here.  This required code refactoring not
	completely trivial.

2012-07-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: remove leftover comment fragment from runtest.in

2012-07-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: improve a comment

	* defs-static.in: Here, about the unsetting of CDPATH.

2012-07-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: remove obsolete comment

	* defs-static.in: Here: do not state anymore that this file should execute
	correctly with any system's /bin/sh shell, as this is not true anymore: the
	testsuite assumes a POSIX shell throughout these days.

2012-07-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	runtest: support option --shell, tell which shell should run the test

	* runtest.in: Here.  The same effect could have been obtained by
	exporting AM_TEST_RUNNER_SHELL to the desired value, but the new
	API is simpler and requires less typing and less thinking.

2012-07-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	runtest: support passing options over to the shell

	* runtest.in: Here.  Also, support '--help' to display a nice
	help screen.

2012-07-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure when running as root

	Fixes automake bug#12041.

	* t/primary-prefix-couples-force-valid.sh: If run as root, don't expect
	a "test -x" on a non-executable files to fail: for root, all files are
	executable (as well as readable and writable), and at least on Solaris
	10 that causes "test -x" to succeed also on non-executable files.

2012-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid non-textual output in a '.log' file

	* t/dist-formats.tap: Here.  Otherwise, some inferior awk implementations,
	like OpenIndiana /usr/xpg4/bin/awk, could be confused and cause spurious
	errors in the testsuite harness.

2012-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-pr11909' into maint

	* fix-pr11909:
	  self tests: avoid spurious failures on older bash

2012-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	self tests: avoid spurious failures on older bash

	Fixes automake bug#11909.

	* t/self-check-explicit-skips.sh: Remove or rework few checks for use
	cases that are no more relevant nor supported now that we've got rid
	of the need to use the 'Exit' function explicitly.  Make the other
	existing checks stricter.

2012-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove t/parallel-tests-many.sh (fixes spurious failure)

	That test was checking for automake#7868 "parallel-tests and command-line
	length limit issue".  That bug is still open, and the tests was xfailing.

	What concerns us is that the test was also causing an annoying problem.
	On Solaris 10, it produced a '.log' file with two overly-long lines (more
	than 1 million characters long!) and that was causing the test harness to
	experience spurious failures, with Solaris XPG4 awk complaining that:

	 /usr/xpg4/bin/awk: line 0 (NR=734): Record too long (LIMIT: 19999 bytes)

	A little consideration shows that the bug#7868 checked by the culprit
	test cannot be solved "by accident", e.g., by another bug fix or some
	simple refactoring, so there is little added value in keeping the xfailing
	test for it, if this causes other problems (and we've seen it does).

	So we just remove the test.  In case we ever manage to fix the bug in
	mainline automake, we can copy over the similar test(s) from Automake-NG,
	which has actually managed to fix the bug (and have simpler test cases
	for it).

	* t/parallel-tests-many.sh: Delete.
	* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Remove it.

2012-07-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	typofix: in a comment in the automake script

	* automake.in (process_file): Here.

2012-07-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: minor fixlets and reordering

2012-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: delete "# serial" line in m4/amversion.in

	Otherwise, when m4/amversion.m4 is regenerated, it will contain a
	serial line as well.

2012-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'yacc-work' into maint

	* yacc-work:
	  news: update about recent ylwrap changes and fixes
	  yacc tests: fix a spurious failure with parallel make
	  ylwrap: use proper quoting inside a `...` substitution
	  ylwrap: don't uselessly reset the exit status in case of failure
	  ylwrap: fix C++ support for Bison
	  ylwrap: refactor: move loop invariant
	  ylwrap: refactoring: don't rely on the file order
	  tests: upgrade and fix Bison test case
	  tests: fix bison input file
	  ylwrap: comment changes
	  ylwrap: modernize idioms
	  ylwrap: rename header inclusion in generated parsers
	  ylwrap: simplify the list of renamings
	  ylwrap: refactor: less duplication

2012-07-16  Akim Demaille  <akim@lrde.epita.fr>

	news: update about recent ylwrap changes and fixes

	* NEWS: In ylwrap, renamings are properly propagated, and unknown
	files are preserved.

2012-07-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	m4: get rid of "# serial" lines

	The "#serial" lines are only considered by aclocal for the system-wide
	third-party '.m4' files, not for the Automake-provided ones.  So they
	serve no real purpose in the Automake '.m4' files.

	In addition, now that we use git and topic branches, and that we are also
	writing the Automake-NG fork, the "#serial" lines are becoming more and
	more unreliable (e.g., different version of the same file in different
	branches can easily end up having the same serial numbers).

	So let's just nuke all the "#serial" lines.  See also automake bug#11932.

	* m4/*.m4: All "# serial" lines removed.

2012-07-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: ${#param} must be supported by the shell for the testsuite

	This will be required at least by the Automake-NG branch.

	* configure.ac: Require the $AM_TEST_RUNNER_SHELL supports ${#param} as
	a way to obtain the length of the expansion of the variable $param.

2012-07-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	yacc tests: fix a spurious failure with parallel make

	* t/yacc-bison-skeleton.sh (Makefile.am): Add 'zardoz.h'
	to BUILT_SOURCES.

2012-07-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	ylwrap: use proper quoting inside a `...` substitution

	* lib/ylwrap ($target): Here, when redefining this to a temporary file.

2012-07-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	ylwrap: don't uselessly reset the exit status in case of failure

	* lib/ylwrap: Here.  In case of a failure in the wrapped yacc/lex
	invocation, '$ret' (holding the final exit status of ylwrap) was
	being uselessly reset to '1' in the later if/else.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	ylwrap: fix C++ support for Bison

	Fixes automake bug#7648.

	The current logic of ylwrap is to call yacc in a sub directory, and
	pull out of it all the files that were requested on its command line.
	Reverse this approach: export *all* the files created in the
	subdirectory, but rename them according to what the command says.
	This way, extra files, such as position.hh, location.hh and stack.hh
	for C++ parsers, but also parser.xml or parser.dot if XML or Dot
	output is enabled, will be preserved.

	* lib/ylwrap (pairlist): Remove.
	(main loop): Don't loop over pairlist, but over the files in the
	temporary directory.
	* t/list-of-tests.mk (XFAIL_TESTS): Fixes t/yacc-bison-skeleton-cxx.sh.
	* THANKS (James Bostock): Add, he reported bug#7648.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	ylwrap: refactor: move loop invariant

	* lib/ylwrap (input_rx): Move its definition next to its sibling's,
	outside of the main loop.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	ylwrap: refactoring: don't rely on the file order

	Forthcoming changes will make us iterate over the files in a different
	order.

	lib/ylwrap (first): Remove, replaced by...
	(parser): this.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	tests: upgrade and fix Bison test case

	* t/yacc-bison-skeleton-cxx.sh: Request locations, to be
	even more stressful.
	Use %union to make sure the %{...%} is inserted where appropriate.
	Fix some indentation/coding style issues.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	tests: fix bison input file

	Do not provide implementations in the %{...%} section, especially if the
	header is included elsewhere, since then the linker will complain about
	multiple definitions.

	Reported by Stefano Lattarini,
	<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00126.html>.

	* t/yacc-bison-skeleton.sh (zardoz.y): Define yylex and yyerror in the
	epilogue.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	ylwrap: comment changes

	* lib/ylwrap: Improve some comments.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	ylwrap: modernize idioms

	* lib/ylwrap: Prefer printf to echo when special characters may
	occur.
	Replace the historical ',' sed separator with '|'.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	ylwrap: rename header inclusion in generated parsers

	Some types of Bison parsers, such as the GLR ones, generate a header
	file that they include.  ylwrap, which renames the generated files,
	does not rename the included file.  Fix this shortcoming, reported
	for instance here:
	<http://lists.gnu.org/archive/html/bug-bison/2012-06/msg00033.html>.
	Fixes t/yacc-bison-skeleton.sh, see Automake bug#7648 and PR automake/491.

	* lib/ylwrap (quote_for_sed): Accept arguments.
	Catch more special characters.
	(rename_sed): New.
	Improve the previous renaming sed commands using quote_for_sed.
	Suggested by Stefano Lattarini here:
	<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00095.html>.
	(main loop): Use rename_sed to rename the dependencies to other files.
	* t/yacc-d-basic.sh: Exercise this case, even if bison/yacc was
	not issuing such an include.
	* t/list-of-tests.mk (XFAIL_TESTS): Adjust.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	ylwrap: simplify the list of renamings

	* lib/ylwrap (pairwise): Instead of being a straightforward copy from
	the command line arguments, and having to deal with y.tab vs. y_tab
	later, let pairwise store the real file names to process, y_tab
	conversion included when needed.
	(main loop): Use $to instead of $2, for symmetry with $from.

2012-07-14  Akim Demaille  <akim@lrde.epita.fr>

	ylwrap: refactor: less duplication

	* lib/ylwrap (guard): New function.
	Move functions before actual code.

2012-07-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: mention fixed testsuite weaknesses

2012-07-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: bump, for future 1.12.3

2012-07-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branches 'fix-pr11898' and 'fix-pr-11893-and-10766' into maint

	* fix-pr11898:
	  tests: verify the shell test scripts are syntactically valid

	* fix-pr-11893-and-10766:
	  tests: don't use C instead of C++ compiler on case-insensitive platforms

2012-07-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: verify the shell test scripts are syntactically valid

	Fixes automake bug#11898.

	This measure of extra safety is mostly motivated by the fact that some
	shells (at least some versions of Bash in the 3.x release series, one
	of which serves as /bin/sh on Mac OS X 10.7, as well as Bash 4.0 and the
	/usr/xpg4/bin/sh shell from Solaris 10) erroneously exit with exit status
	0 upon encountering a syntax error, if an exit trap is sett (as it is in
	our test scripts).

	* Makefile.am (check-tests-syntax): New, check that the shell test
	scripts listed in $(TESTS) are syntactically correct.
	(.PHONY, check-local): Depend on it.
	* t/self-check-exit.tap : Remove checks verifying that a script exits
	with non-zero status upon encountering a syntax error; as explained
	above, we can't depend on that.

2012-07-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	depcomp: style changes to Portland Group Compilers support

	* lib/depcomp (pgcc): Quote 'like this', not `like this'.  Other minor
	quoting improvements.  Remove a commented-out command.  In comments,
	use proper capitalization and punctuation.  Make a more consistent use
	of whitespace.  Make fatal error messages more nicely formatted, and
	send them to standard error rather than to standard output.

2012-07-12  Dave Goodell  <goodell@mcs.anl.gov>
	    Jeff A. Daily  <jeff.daily@pnnl.gov>

	depcomp: initial support for Portland Group Compilers

	* lib/depcomp: Here.  See automake bug#8880.

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

2012-07-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: don't use C instead of C++ compiler on case-insensitive platforms

	This change fixes automake bug#11893 and bug#10766.

	On at least Cygwin and Mac OS X 10.7, the file system where the system
	compilers are located can be case-insensitive, so that looking for a
	program named 'CC' might actually find the C compiler in /usr/bin/cc.

	Now, the Automake configure script looks for a C++ compiler named 'CC'
	before looking for more obvious names like c++ or g++ (that is done to
	increase testsuite "coverage in the wild", e.g., preferring, on Solaris,
	the Sun Studio C++ compiler /usr/bin/CC over the GNU C++ compiler).

	Since the checks done in AC_PROG_CXX are apparently not strict enough
	to rule out C compilers like those from GCC or Clang (which are smart
	enough to recognize if a file has a C++ extension, passing it to the
	C++ front end) the testsuite might end up using a C compiler where a
	C++ one is expected, with some subtle bad consequences.

	* configure.ac: Don't look for a C++ compiler named 'CC' if the
	"top-level" file system(s) (where /bin and /usr/bin are) are detected
	to be case-insensitive.

	Reported-by: Peter Rosin <peda@lysator.liu.se>
	Reported-by: Max Horn <max@quendi.de>
	Helped-by: Eric Blake <eblake@redhat.com>

2012-07-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious TAP errors on Mac OS X 10.7

	Fixes automake bug#1897.  Reported by Max Horn.

	* t/suffix8.tap: The libtool bug#11895 was causing the ./configure script
	to output a stray "ok" string on a line of its own, confusing the TAP
	driver into thinking this was an extra test result (which resulted in the
	next, real test results being flagged as "OUT-OF-ORDER").  Fix this by
	protecting configure output.
	* t/suffix10.tap: Likewise, and for the "make distcheck" output as well.
	* THANKS: Update.

2012-07-10  Adam Sampson  <ats@offog.org>  (tiny change)

	tests: fix spurious failure in aclocal7.sh on fast machines

	Fixes automake bug#11896.  Issue introduced in commit v1.12.1-46-g13dd512.

	* t/aclocal7.sh: Since aclocal rewrites aclocal.m4 unless the input files
	are all older than the existing aclocal.m4, so we must sleep to ensure
	somedefs.m4 has an older timestamp than the aclocal.m4 the next aclocal
	call will generate.

2012-07-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update.

2012-07-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: improve wording in entry about CVE-2012-3386

2012-07-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: post-release minor version bump

	* configure.ac (AC_INIT): Bump version number to 1.12.2a.
	* m4/amversion.m4: Likewise (automatically regenerated by
	"make bootstrap").

2012-07-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: stable release 1.12.2

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

2012-07-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'distcheck-vulnerability-CVE-2012-3386' into maint

	* distcheck-vulnerability-CVE-2012-3386:
	  distcheck: never make part of $(distdir) world-writable

2012-07-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	distcheck: never make part of $(distdir) world-writable

	This fixes a locally-exploitable security vulnerability (CVE-2012-3386).

	In the 'distcheck' rule, we used to make the just-extracted (from
	the distribution tarball) $(distdir) directory and all its files and
	subdirectories read-only; then, in order to create the '_inst' and
	'_build' subdirectories in there (used by the rest of the recipe) we
	made the top-level $(distdir) *world-writable* for an instant (the
	time to create those two directories) before making it read-only
	again.

	Making that directory world-writable (albeit only briefly) introduced a
	locally exploitable race condition for those who run "make distcheck" with
	a non-restrictive umask (e.g., 022) in a directory that is accessible by
	others.  A successful exploit would result in arbitrary code execution
	with the privileges of the user running "make distcheck" -- game over.
	Jim Meyering wrote a proof-of-concept script showing that such exploit is
	easily implemented.

	This issue is similar to the CVE-2009-4029 vulnerability:
	<http://lists.gnu.org/archive/html/automake/2009-12/msg00012.html>

	* lib/am/distdir.am (distcheck): Don't make $(distdir) world-writable,
	not even for an instant; make it user-writable instead, which is enough.

	Helped-By: Jim Meyering <jim@meyering.net>

2012-07-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	compat: automake should substitute @mkdir_p@, for backward compatibility

	That has been unwittingly broken by commit v1.12-19-g7a1eb9f of 2012-04-28,
	"AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". We thought it
	wasn't a big deal, but Jim Meyering reported that @mkdir_p@ is used in
	gettext's Makefile.in.in template:
	<http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>

	* lib/am/header-vars.am (mkdir_p): Don't define.
	* m4/init.m4 (AM_INIT_AUTOMAKE): AC_SUBST 'mkdir_p' with $(MKDIR_P).
	* t/mkdir_p.sh, t/mkdirp-deprecation.sh: Enhance.
	* NEWS: Update.

2012-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: t/README: it's ./runtest, not ./t/ax/runtest

	* t/README (Supported shells): Here. And remove an extra empty line.

2012-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: move 'runtest' into the top-level directory

	Move our wrapper script 'runtest' (meant to allow the execution of
	Automake test cases from the command line) from the 't/ax/' directory
	to the top-level one.  This makes the script easier to find and to
	invoke.  Much more importantly, our DejaGNU-checking test cases won't
	try anymore to use that script instead of the 'runtest' program provided
	by DejaGNU (that happened because '$(srcdir)/t/ax/' is automatically
	added early to the $PATH variable in our test cases), which was causing
	spurious SKIPs.

	* t/ax/runtest.in: Move ...
	* runtest.in: ... here.
	* Makefile.am, t/README, .gitignore: Adjust.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: rename t/ax/test-runner => t/ax/runtest

	The latter is shorter and clearer.  Better to do the rename early,
	before other developers or contributors begin to get used to the
	'test-runner' name.

	* t/ax/test-runner.in: Rename ...
	* t/ax/runtest.in: ... like this.
	* Makefile.am, t/README, .gitignore: Adjust.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: another "make recheck" failure with BSD make

	* t/parallel-tests-log-override-recheck.sh: Here, add a proper $sleep
	before calling "make recheck".  This should ideally have been done
	in the earlier commit 'v1.12.1-100-g19d84bc', but it somehow slipped
	through the cracks.
	* t/test-metadata-recheck.sh: Likewise.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test runner: work correctly in VPATH setups

	Due to a "feature" of AC_CONFIG_FILES, because 't/ax/test-runner.in'
	is in a subdirectory, the '@srcdir@' value that is AC_SUBST'd in it
	gets tweaked to contain as much '..' components as are the directory
	components of 't/ax/test-runner'.  Because our build system operates
	in a non-recursive setup, this substitution is wrong; for example,
	the final 't/ax/test-runner' build in a VPATH builds where the source
	directory is ".." contains the line:

	    : ${srcdir='../../../t/ax'}

	instead of the expected (and correct):

	    : ${srcdir='../t/ax'}

	We solve the issue by building 't/ax/test-runner' with a Makefile
	recipe instead of config.status substitutions; this is already done
	for other testsuite-related files, like 'defs-static'.

	* configure.ac (AC_CONFIG_FILES): Don't build 't/ax/test-runner'
	anymore.
	* Makefile.am (t/ax/test-runner): New rule.
	(EXTRA_DIST): Add 't/ax/test-runner.in'.
	(CLEANFILES, noinst_SCRIPTS): Add 't/ax/test-runner'.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-pr11806' into maint

	* fix-pr11806:
	  lisp: better support of VPATH builds

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests init: don't automatically re-execute tests with a POSIX shell

	I've unwittingly broken support for that feature *again* in some of
	my recent testsuite tweaking.  In this case, the re-execution code
	works correctly when the tests are executed with a POSIX shells, but
	breaks when they are invoked by an old-style Bourne shells (e.g.,
	/bin/sh on Solaris).

	It's time to face it: that feature is too much brittle, and too seldom
	used (because the Makefile takes care of running the tests with the
	correct shell anyway, so that a breakage is only experienced when
	running the tests by hand).  It just don't remain working for long, not
	when we often touch the testsuite setup (which we are going to do again
	when we'll try to move part of our testsuite framework to Gnulib, or a
	similar project).

	So, instead of trying to be extra-smart and automatically re-execute the
	tests with the correct shell, we now offer a simple wrapper script that
	the user can employ to run the test scripts with the proper shell.  And
	while we are at it, we write this wrapper to also deal with TAP tests in
	a better way, running them through the prove(1) utility, so that their
	results are correctly recognized and reported.

	* t/ax/test-runner.in: New file; the wrapper script we were talking about.
	* configure.ac (AC_CONFIG_FILES): Process it into 't/ax/test-runner'.
	* .gitignore: Add 't/ax/test-runner'.
	* defs: Remove code for automatic re-execution of the scripts with the
	correct shell.  This file now just a very thin layer around 'defs-static'
	and 't/ax/test-init.sh'.
	* t/README: Adjust, and remove or fix some imprecise or outdated text in
	the process (like "... test scripts are written with portability in mind,
	so that they should run with any decent Bourne-compatible shell ..." ).
	* Makefile.am (AM_TESTS_ENVIRONMENT): No need to export 'AM_TESTS_REEXEC'
	to "no" anymore.
	* t/self-check-explicit-skips.sh: Likewise.
	* t/self-check-exit.tap: Likewise.
	* t/self-check-me.tap: Likewise.
	* t/self-check-dir.tap: Likewise.
	* t/self-check-reexec.tap: Remove as obsolete.
	* t/list-of-tests.mk: Adjust.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	yacc tests: fix spurious failure with parallel make

	* t/yacc-deleted-headers.sh: Here, by adding a missing dependency
	in the Makefile.am.  Revealed by a failure with Sun Distributed make
	run on Solaris 10 in parallel mode.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: ignore minor 'recheck' regression for BSD make

	It turns out that, with NetBSD 5.1 make and FreeBSD 9 make, running
	"make recheck" two times in a row quickly fails to correctly re-run
	the failed tests in the second run.

	That issue has been introduced likely introduced in commit
	'v1.12.1-95-gd5443e4' of 20102-07-01, "parallel-tests: reimplement
	fix for bug#11791".

	Anyway, the use case that has been broken is not realistic (who is
	going to run "make recheck" two times in one second, without modifying
	any of the tests or the tested programs in the meantime?), so we believe
	the best fix is to simply work around the issue in the affected test
	cases, rather than risking to slow down or uglify the 'recheck' rule.

	* t/parallel-tests9.sh: Enhance a little.
	* t/tap-recheck.sh: Adjust adding proper '$sleep' calls were required.
	* t/parallel-tests-log-override-recheck.sh: Likewise.
	* t/test-driver-custom-multitest-recheck.sh: Likewise.
	* t/test-driver-custom-multitest-recheck2.sh: Likewise.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: don't clutter the top-level dir with temporary test directories

	* t/self-check-me.tap: Be sure to initialize '$am_create_testdir' to "no"
	in all the shell invocations sourcing './defs'.  Otherwise, when running
	the testsuite with 'keep_testdirs=yes', the following temporary director
	are left cluttering the top-level directory:

	  ./012.dir
	  ./abc..dir
	  ./a.b.c.dir
	  ./foo.dir
	  ./foo.bar.dir
	  ./foo-bar-.dir
	  ./_foo__bar.dir

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d"

	* t/self-check-cleanup.tap: Several checks in this test were failing on
	NetBSD 5.1.  That happened because on that system, '@MKDIR_P@' expands to
	an "install-sh -d" invocation that references the $(builddir), and the
	code trying to duplicate some of the Automake testsuite infrastructure
	in the test subdirectory of this self test wasn't smart enough to cater
	to that situation.  Granted, we could tweak the test case once more to
	fix this Yet Another Spurious Failure, but at this point it has become
	clear that the extra coverage offered by this test is not worth all the
	hassle.  Just remove the test.  Since the testsuite is regularly run on
	several systems and with different setups, most issues with the testsuite
	framework will reveal themselves anyway; no actual need to unit-test them
	in our testsuite, if that's too tricky.
	* t/list-of-tests.mk: Adjust.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	compat: automake should define $(mkdir_p), for backward compatibility

	That has been unwittingly broken by commit 'v1.12-19-g7a1eb9f'
	of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in
	Automake 1.13".

	Report from Benoit Sigoure and Diego Elio Pattenò:
	<http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>

	* lib/am/header-vars.am (mkdir_p): Define as an alias for $(MKDIR_P).
	* t/list-of-tests.mk (XFAIL_TESTS): Remove 't/mkdir_p.sh'.
	* NEWS: Update.

2012-07-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works

	They are deprecated, but should continue to work in the 1.12.x
	release series.  Report from Benoit Sigoure and Diego Elio Pattenò:
	<http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>

	* t/mkdirp-deprecation.sh: Enhance.
	* t/mkdir_p.sh: New test, check that AM_INIT_AUTOMAKE still defines
	the $(mkdir_p) make variable.  Currently xfailing.
	* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add the new
	test.

2012-07-06  Jack Kelly  <jack@jackkelly.name>  (tiny change)
	    Stefano Lattarini  <stefano.lattarini@gnu.org>

	lisp: better support of VPATH builds

	Fixes automake bug#11806.

	* lib/am/lisp.am: Pass the value of '$(abs_srcdir)' to the
	elisp-compile script in the environment.
	* lib/elisp-comp: Add the vale of '$abs_srcdir' to the emacs
	load-path.
	* t/lisp-pr11806.sh: New test.
	* t/list-of-tests.mk: Add it.

	Reported-by: Makoto Fujiwara <makoto@ki.nu>

2012-07-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: fixlets and updates

	* NEWS: Here.  In particular, report the change in 'missing'
	semantics.

2012-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: don't trust the exit status of "make -k" for non-GNU makes

	* t/parallel-tests-recheck-pr11791.sh: Here.  At least some versions
	of FreeBSD make botch it up, returning success when failure should be
	returned.

2012-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: reimplement fix for bug#11791

	* lib/am/check.am: Here.  The new implementation is shorter, slightly
	more efficient (requiring less forks), less brittle in the face of
	signals or unexpected interruptions in the make process, and should
	also be easier to merge in the 'ng/master' branch (as of now, due to
	the difficulties in merging our previous version of the fix in the
	'ng/master' codebase, Automake-NG still lacks a fix for bug#11791).

2012-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests setup: unset CDPATH

	So that our test scripts can safely chdir around using relative
	paths as well, without having to worry abut possible CDPATH
	interferences.

	* defs-static.in: unset CDPATH.
	* t/ax/tests-init.sh: Remove a now-unneeded workaround.

2012-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests setup: more namespace safeness

	* t/ax/tests-init.sh ($testSubDir): Rename ...
	($am_test_subdir): ... to this, throughout the file.

2012-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests setup: remove an unused variable

	* defs-static.in ($testprefix): This one.

2012-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests setup: less hard-coding of the test subdirectory

	* t/ax/tests-init.sh: Make the code creating the temporary
	test subdirectory smart enough to automatically create it
	in the same subdirectory of the test that is being run.
	* defs-static.in ($MKDIR_P, $am_rel_srcdir): New variables,
	AC_SUBST'd from @MKDIR_P@ and @srcdir@ respectively, and
	used in the new 'tests-init.sh' code.

2012-06-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: silence an overly verbose recipe

	*  lib/am/check.am (check-TESTS): Here, the part of the recipe
	removing the stale '.log' and '.trs' files.

2012-06-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix some uses of 'Exit', where 'exit' should now be used instead

	* t/parallel-tests-recheck-pr11791.sh: Here.

2012-06-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: test scripts should be executable, check for that

	* syntax-checks.mk (sc_tests_executable): Here, in this new check.
	(syntax_check_rules): Add it.
	* Makefile.am (dist-hook): Drop, no need to make test cases executable
	anymore.

2012-06-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'recheck-fix' into maint

	* recheck-fix:
	  parallel-tests: recipes for "check" and "recheck" are separated again

2012-06-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: recipes for "check" and "recheck" are separated again

	* lib/am/check.am: Here.  They have distinctly diverged recently, and
	the reduction in code duplication obtained keeping their recipes united
	is not anymore worth the extra complications.

2012-06-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'recheck-fix' into maint

	* recheck-fix:
	  parallel-tests: "recheck" behaves better in case of compilation failures
	  scripts: quote 'like this', not `like this'

2012-06-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a spurious failure

	* t/parallel-tests-dry-run-2.sh: Here.

2012-06-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: fix detection of POSIX shell to work in a VPATH build

	* configure.ac: When checking whether "test -e" works, use 'config.log',
	not 'configure', as the witness file, because the latter does not exist
	in the current directory during a VPATH build.

2012-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: prefer "test ! -e FILE" to check that a file doesn't exist

	Once, for the sake of (at least) Solaris 10 /bin/sh, we had to use
	"test ! -f FILE" or "test ! -r FILE" or "test ! -d FILE" instead,
	because the that shell's 'test' built-in didn't grok the '-e' option.

	Note however that we still can't use "test ! -e" in the Makefile recipes
	used in the test cases; that is because those recipes are run with the
	shell detected by 'configure', and Autoconf-generated configure scripts
	do no guarantee to find or provide a POSIX-compatible shell.

	* Several tests: Adjust.
	* t/yacc-clean-cxx: Adjust, and remove a couple of useless commands.
	* t/parallel-tests-dry-run-2.sh: Adjust, and add invocation to
	"make -n" forgotten in previous versions of the test.
	* t/txinfo26.sh: Adjust, and don't bother to skip the test when it's
	run in a directory whose absolute path contain whitespace: that setup
	is not supported anyway.
	* t/maken3.sh: Adjust, and fix a typo that could cause a minor false
	negative.
	* t/test-trs-recover2.sh: Prefer using 'skip_' with a suitable error
	message over a bare 'exit 77'.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: move a misplaced "section" comment

	* configure.ac (Create output files): This, move it towards the end
	of the script.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: clump check for ${var%...} and ${var#...} expansion together

	And together with those for the ${var%%...} and ${var##...} expansions.
	After all, it is basically impossible to find a shell that support one
	of them but not the others.

	Suggestion by Eric Blake.

	* configure.ac: Here.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: improve wording of a couple of configure messages

	* configure.ac: Fix a couple of messages so that the configure
	output changes from this:

	    checking whether /bin/sh "set -e" preserves exit traps... yes
	    checking whether /bin/sh "set -x" corrupts stderr... no

	to this:

	    checking whether /bin/sh preserves exit traps with "set -e"... yes
	    checking whether /bin/sh corrupts stderr with "set -x"... no

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: the testsuite shell must support 'test -e' and 'test ! -e'

	* configure.ac: Require that the shell that is to be selected to run
	the testsuite understands "set -e" and "set ! -e".

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove stale workarounds for Solaris /bin/sh

	Our testsuite cannot be run with that shell anymore (as it is
	not POSIX-compliant).

	* t/tap-more.sh: Remove outdated workarounds for Solaris /bin/sh.
	* t/self-check-exit.tap: Likewise.
	* t/ansi2knr-no-more.sh: Likewise.
	* t/add-missing.tap: Likewise.
	* t/dist-auxfile.sh: Likewise.
	* t/test-driver-custom-multitest-recheck2.sh:  Likewise.
	* t/ax/test-init.sh: Remove obsolete references to Solaris
	/bin/sh.
	* t/confh5.sh: Likewise.
	* t/uninstall-fail.sh: Likewise.  And update comments about
	quirks of Solaris /bin/ksh and /usr/xpg4/bin/sh.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests init: don't bother allowing '$me' to be overridable

	We once used that feature in our wrapper tests; but now (and probably
	even since commit 'v1.11-1308-g375f23d' of 2011-09-08, "testsuite:
	revamp generation of autogenerated tests") it is not needed anymore.
	By removing it we can simplify our growingly complex testsuite framework
	a little.

	* t/ax/test-inist.sh ($me): Do not initialize it here (and only if not
	already set), instead ...
	* defs-static.in ($me): ... initialize it here unconditionally.
	Do not check anymore that $me doesn't come from the environment: that
	wouldn't cause any problem now.
	Now that '$me' is defined early, prefer it over 'argv0' in early error
	messages, both here ...
	* defs: ... and here.
	* Makefile.am (AM_TESTS_ENVIRONMENT): Do not bother "nullifying" $me
	anymore.
	* t/self-check-env-sanitize.tap: Adjust.
	* t/self-check-me.tap: Likewise.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests init: typofixes in comments

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: one test was not executable, make it so

	* t/subdir-order.sh: This test.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: fix typo in t/README: s/$((...)/$((...))/

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace

	We used to explicitly skip libtool and gettext tests if the absolute
	path of the builddir or of the srcdir which Automake was configured
	with contained any whitespace (or other metacharacters).

	But several other tests would spuriously fail in such an unholy setup.
	To be precise, it would cause 61 'FAIL's and 42 'ERROR's in the whole
	Automake testsuite.

	The fact that, as of today, nobody has reported any failure of this kind
	means that (thankfully) nobody is building automake with $(abs_srcdir)
	or $(abs_builddir) mangled by whitespace.  So, instead of trying to cater
	to such a broken setup consistently, we just drop the extra check in the
	libtool/gettext tests.

	In case someone will ever reports a failure due to extra whitespace in
	either $(abs_srcdir) or or $(abs_builddir), we will simply enhance our
	'configure.ac' to bail out flatly and loudly at such a setup.

	* t/ax/test-init.sh: Simplify accordingly.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious maintainer-check failures

	* t/ax/test-init.sh: Here, by adding extra quoting for two
	occurrences of the string "perl".

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove obsolete hacks around maintainer-check false positives

	* gen-testsuite-part, t/test-trs-recover.sh: Here.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'simplify-exit-trap-workaround' into maint

	* simplify-exit-trap-workaround:
	  tests: simpler workaround for shells losing the exit status in exit trap

	+ Extra non-trivial edits:

	* t/am-missing-prog.sh: Use 'exit, not 'Exit'.

2012-06-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: tests AM_MISSING_PROG usage

	Now that AM_MISSING_PROG is documented, we want to make sure it
	works as expected when used in third-party code.

	* t/am-missing-prog.sh: New test.
	* t/ammissing: Rename ...
	* t/am-macro-not-found.sh: ... like this, to avoid confusion (this
	test has nothing to do with the 'missing' script nor with the
	'AM_MISSING_PROG' macro).
	* t/list-of-tests.mk: Adjust.

2012-06-28  Eric Blake  <eblake@redhat.com>

	docs: document AM_MISSING_PROG

	Addresses automake bug#11793.

	This macro has been present for a long time, and coreutils has been
	relying on it despite no documentation, which argues that it is stable
	enough to be worth documenting.

	Furthermore, since we are hoping to change our preferred invocation
	from 'missing --run program' to 'missing program' in a future version
	of automake, we need a way for packages to consistently get the
	preferred invocation form rather than open-coding a call to 'missing'.
	In particular, the Autoconf manual would love to recommend this macro
	when discussing how to integrate an autotest suite with automake.

	* doc/automake.texi (Public Macros): Document AM_MISSING_PROG.

2012-06-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a spurious failure with Solaris make

	* t/subdir-order.sh: Run make in parallel only if the make implementation
	truly supports it.

2012-06-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: "recheck" behaves better in case of compilation failures

	With this change, the "recheck" target behaves better in the face of build
	failures related to previously failed tests.  For example, if a test is a
	compiled program that must be rerun by "make recheck", and its compilation
	fails, that test will still be rerun by further "make recheck" invocations.
	Previously, its '.log' and '.trs' would have both been lost, so that the
	test would have not been re-run.

	This change fixes automake bug#11791.

	* NEWS: Update.
	* lib/am/check.am (recheck, check-TESTS): Adjust to cater to scenario
	described above.
	* t/parallel-tests-recheck-pr11791.sh: New test.
	* t/list-of-tests.mk: Add it.

2012-06-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	scripts: quote 'like this', not `like this'

	* lib/test-driver.sh: Here.

2012-06-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: simpler workaround for shells losing the exit status in exit trap

	Now that we can assume our tests are run by a decent POSIX shell, we
	can simplify our workaround aimed at having the exit status propagated
	correctly to the code in the exit trap.  Unfortunately, we cannot
	dispense with such a workaround altogether, because it's still required
	by some shells we need to support (at least Solaris 10 /bin/ksh and
	/usr/xpg4/bin/sh).

	For more information about the need of that workaround, see the entry
	about 'trap' in the section "Limitations of Shell Builtins" in the
	Autoconf manual:
	<http://www.gnu.org/software/autoconf/manual/autoconf.html#trap>

	The new workaround has been tested successfully with the following
	shells:

	  - Bash 4.1
	  - Bash 3.2
	  - Bash 3.0
	  - Bash 2.05b
	  - dash 0.5.5.1
	  - dash 0.5.2
	  - AT&T Ksh 93u (from official Debian package)
	  - MirBSD Korn Shell 40.2 (from official Debian package)
	  - Solaris 9, 10 and 11 /bin/ksh
	  - Solaris 9, 10 and 11 /usr/xpg4/bin/sh
	  - NetBSD 5.1 /bin/sh
	  - NetBSD 5.1 /bin/ksh

	* t/ax/test-init.sh (Exit): Rename ...
	(_am_exit): ... like this.
	(exit): New alias for '_am_exit'.  We cannot simply redefine 'exit'
	as a shell function, because some shells (dash 0.5.5.1, Solaris 10
	/bin/ksh and /usr/xpg4/bin/sh) do not allow it.
	(_am_exit, trap): Add extra escaping for 'exit' calls, to ensure we
	really invoke the 'exit' builtin and not our alias with the same
	name.
	* configure.ac: Check that the shell selected to run our testsuite
	supports aliases named like shell builtins.
	* t/REAMDE: Adjust.
	* All tests: Adjust, by simply using 'exit' instead of 'Exit'.
	* t/self-check-explicit-skips.sh: Adjust: the first usage of 'exit'
	after it has been redefined as an alias must be on a new line w.r.t.
	that where the alias is defined, in order for the redefinition to be
	honored.
	* syntax-checks.mk (sc_tests_Exit_not_exit): Delete.
	(sc_tests_exit_not_Exit): New.
	(syntax_check_rules): Adjust.
	(sc_tests_automake_fails): Simplify the recipe a little.
	* Several tests: Remove now useless spurious quoting once required
	to placate the 'sc_tests_Exit_not_exit' maintainer check.
	* gen-testsuite-part: Likewise.  Also, avoid uses of 'Exit' in the
	generated scripts.

2012-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid several spurious failures on Solaris

	* t/ax/is_newest: Rewrite to be Bourne-compatible, for /bin/sh shells like
	Solaris' that are not POSIX-conforming.  The script is so small that such
	a rewrite is easier than going through the hoops that would be required to
	ensure this script is always executed with a POSIX shell.
	* t/ax/is: Add a comment stating that this script is to be kept Bourne
	compatible as well.

2012-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid a spurious failure on NetBSD

	* t/maken.sh: Do not expect the timestamp of the current directory
	to be unchanged after a "make -n".

2012-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix automatic re-execution of tests with Zsh

	* defs: Use '$argv0' instead of '$0'.  With Zsh not started right
	away in Bourne-compatibility mode, the latter will be the path not
	of the test script itself, but of the file it's currently sourcing
	-- i.e., in our case, './defs'.  This would cause the automatic
	re-execution code to execute './defs' (basically a no-op) rather
	than re-run the test correctly.

2012-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: drop support for older Zsh shells

	* defs-static.in: Here.  The fact that such support has been broken for
	almost a year (only fixed by today's commit 'v1.12.1-57-gf1e0300'),
	causing no bug reports from anyone, shows that such support is not truly
	warranted.  And it will get in the way of future improvements in the
	handling of the exit trap (because bugs in older Zsh versions will
	prevent some of our planned improvements).  So just drop it.
	* t/README: Remove obsolete advice for working around bugs in older
	versions of Zsh; instead, indicate version 4.3 is the oldest Zsh now
	supported.

2012-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: allow AM_TEST_RUNNER_SHELL to be overridden

	* defs-static.in: Here.  This will make it easier for the maintainer
	to run some self checks (like those in 't/self-check-exit.tap') with
	different shells, to look for possible portability problems.  Fix a
	typo (doubled "the") while we are at it.

2012-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix setup for older Zsh

	* defs-static.in: After the addition of TAP-based tests and our renaming
	of "simple" test scripts from 'tests/foo.test' to 't/foo.sh', a test name
	is valid if it matches the wildcard "*.sh" or "*.tap", not the wildcard
	"*.test".  Adjust accordingly.

2012-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid one last `...` command substitution in 'test-init.sh'

	* t/ax/test-init.sh (me): In the definition of this variable.  This
	also shave off a couple of forks, and the need for a sanity check
	only required in fringe situations.

2012-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: guard against `...` for command substitution in test cases

	But still allow them in configure.ac, Makefile.am and shell scripts
	created or used inside test cases itself, because Autoconf (as of
	version 2.69) does not yet ensure that $CONFIG_SHELL will be set to
	a proper POSIX shell.

	* syntax-checks.mk (sc_tests_command_subst): New check.
	(syntax-check_rules): Add it.
	* t/tap-global-log.sh: Minimal tweakings to avoid triggering the
	new maintainer check.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: more uses of $(...) over `...` for command substitution

	Somehow missed by the previous changes.  No big deal, fix them now.

	* t/ax/depcomp.sh: Here.
	* t/autodist.sh: And here.
	* t/autodist-no-duplicate.sh: And here.
	* t/autodist-subdir.sh: Ad here.
	* t/remake11.sh t/self-check-me.tap: And here.
	* t/perf/testsuite-summary.sh: And here.
	* t/perf/testsuite-recheck.sh: And here.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: quote `like this', not 'like this', in a couple of tests

	* t/ansi2knr-no-more.sh: Here.
	* t/aclocal-verbose-install.sh: And here.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: clarify/extend few entries in 't/README'

	* t/README (Writing test cases): Here.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: better separation of entries in 't/README'

	* t/README (Writing test cases): Prepend different entries with a '*'
	character acting like a bullet in a list.  This make different entries
	better separated, visually-wise.  Minor related reformatting.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: subsections "Do" and "Do not" in 't/README' merged

	* t/README (Writing test cases): Merge subsections "Do" and "Do not".
	The distinction was rather artificial, and more confusing than helpful.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: new requirement 'grep-nonprint'

	* t/ax/test-inist.sh ($esc): New, a literal escape character.
	(grep-nonprint): New requirement, check that the grep implementation
	available that can handle non-printing characters correctly.
	* t/color.sh: Use it instead of hand-rolled equivalent, and do not
	(re)define '$esc' explicitly.
	* t/color2.sh: Likewise.
	* t/tap-color.sh: Likewise.
	* t/vtexi4.sh: Likewise.
	* t/parallel-tests-no-color-in-log.sh: Likewise.  Also prefer the use
	of grep over that of $FGREP, because the new requirement only check
	grep, and ensure we only grep non-printing characters from a pipe, to
	avoid hitting a BSD grep limitation.
	* t/parallel-tests-reset-term.sh: Likewise.
	* t/ax/tap-summary-aux.sh: Use '$esc' instead of hard-coding the
	literal escape character.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix description of an expected error message in a test

	* t/vartypo2.sh: Here.  This reflects the change from `this style'
	of quoting to 'this style'.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: assume automake quotes 'like this', not `like this'

	* t/add-missing.tap: Here.  This slightly simplifies and/or enhances
	some grepping checks on automake diagnostic.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: prefer using 'is_newest' over 'ls -t' hacks

	To verify that a file 'new' is newer than the file 'old', it's much
	cleaner to use "is_newest new old" rather than the more clumsy
	"ls -t". Adjust several of our tests accordingly.

	* syntax-checks.mk (sc_tests_ls_t): New check, guard against uses
	of "ls -t" and similar.
	(syntax_check_rules): Add it.
	* t/maken.sh: Adjust.
	* t/autohdr4.sh: Likewise.
	* t/extradep2.sh: Likewise.
	* t/lex-depend-cxx.sh: Likewise.
	* t/extradep.sh: Likewise.
	* t/yacc-depend2.sh: Likewise.
	* t/yacc-pr204.sh: Likewise.
	* t/lex-pr204.sh: Likewise.
	* t/yacc8.sh: Likewise.
	* t/acloca13.sh: Likewise.
	* t/lex-depend.sh: Likewise, and enhance.
	* t/acloca14.sh: Likewise.
	* t/aclocal7.sh: Likewise.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: implement is_newest as an auxiliary script, not shell function

	This will allow to also use it in the makefile recipes used in our
	test cases.

	* t/ax/test-init.sh (is_newest): Remove.
	* t/ax/is_newest: New script.
	* Makefile.am (EXTRA_DIST): Add it.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix some spurious failures in VPATH setup

	* t/self-check-cleanup.tap: No need to copy the 'ax/t/test-init.sh'
	file over in our temporary directory.
	* t/self-check-reexec.tap: Likewise.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: work in VPATH setup again

	* defs: Drop overly paranoid sanity checks that was causing all the tests
	to fail spuriously when run in a VPATH setup, with a message like:
	"../t/nodef.sh: ./t/ax/test-init.sh: not found in current directory".
	Those checks looked for invariants that, even if broken, would still
	cause the test to fail very early and with a pretty clear error message
	anyway.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: automatic re-execution works for non-POSIX shells too

	Some inferior shells are too greedy in parsing their input.  If a
	non-POSIX Bourne shell (like Solaris 10 /bin/sh) was used to launch
	one of our test scripts, it would fail unconditionally, because it
	unexpectedly saw some (by it) unsupported constructs, notwithstanding
	such constructs being placed *after* the code implementing automatic
	test re-execution with a better shell.  In conclusion, the shell
	bailed out like this:

	    $ /bin/sh t/ar.sh
	    $ t/ar.sh: syntax error at line 257: `is_newest_files=$' unexpected

	By moving all the potentially problematic code in a separate file, to
	be sourced only after the code for automatic re-execution with a better
	shell, we ensure that inferior shell cannot see such code by mistake.

	* defs: All code after automatic shell re-execution moved out ...
	* t/ax/test-init.sh: ... to this new file.
	* syntax-checks.mk (xdefs): Add it.
	* Makefile.am (dist_check_DATA): Add it.  Also move in 'defs' from
	a less explicit 'check_DATA' declaration.
	(nodist_check_DATA):  Move in 'defs-static' from a less explicit
	'check_DATA' declaration.
	(check_DATA): Remove.
	* t/self-check-sanity.sh: Remove, it was actually too hacky and brittle,
	sanity-checking situations we don0t actually care about.
	* t/list-of-tests.mk: Adjust.
	* t/self-check-explicit-skips.sh: Adjust, and fix a botched heading
	comments while we are at it.
	* t/self-check-reexec.tap: Adjust.
	* t/self-check-cleanup.tap: Likewise.

2012-06-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: use more POSIX shell features our test scripts

	Since commit 'v1.12-36-g2d68fd9' of 2012-05-07, "configure: search a
	sturdy POSIX shell to be used in the testsuite", the shell running
	our test script is assured to be a POSIX-conforming shell, so we can
	use the more modern and flexible idioms and features that we couldn't
	use when we also aimed at compatibility with non-POSIX Bourne shells,
	like Solaris /bin/sh.

	* t/README: Suggest to use POSIX shell features liberally in test cases,
	with possible exception of Makefile recipes and configure shell code.
	* Several tests: Adjust to use more POSIX shell features; e.g., $(...)
	rather than `...`, $((...)) rather than `expr ...`, "if ! CMD; then ..."
	instead of "if CMD; then :; else ...", and so on.
	In several places, when using the 'test' built-in, prefer '-eq' over
	'=' for numeric comparisons, and prefer "grep -c PATTERN FILE" over
	"grep PATTERN FILE | wc -l".
	Throw in other low-hanging easy improvements and fixlets while we are
	at it.
	* t/ax/depcomp.sh, t/ax/tap-summary-aux.sh, t/ax/tap-functions.sh,
	defs, defs-static.in: Likewise.

2012-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: avoid failures with development version of Texinfo (4.13.90)

	* doc/automake-history.texi: Use '@item' instead of '@itemx' where
	appropriate.

2012-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	typofix: s/test derivers/test drivers/ in check.am comments

2012-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	typofix: s/env/even/ in comments in GNUmakefile

	Spotted by Eric Blake.

2012-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	bootstrap: overhaul and improve

	This fixes several weaknesses and buglets in the 'bootstrap' convenience
	target offered in GNUmakefile (and its supporting code).  Refer to the
	extensive code comments in there for more details.

	* GNUmakefile: Almost completely rewritten.

2012-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: quote 'like this', not `like this'

	* doc/automake.texi: Fix the reported warnings and informative messages
	from automake to quote 'like this' rather than as `like this'.  Do the
	same for comments and some text in our examples.

2012-06-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'docs-recursion' into maint

	* docs-recursion:
	  docs: recursive make considered harmful

2012-06-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'silent-custom' into maint

	* silent-custom:
	  silent: new $(AM_V_P) variable, tell if we're running in silent mode
	  refactor: silent rules handling (a little)
	  refactor: &define_verbose_var: accept a third optional argument

2012-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: minor reorganization of few tests

	* t/subdir3.sh: Rename ...
	* t/sourcefile-in-subdir.sh: ... like this.
	* t/subdir4.sh: Rename ...
	* t/depcomp-implicit-auxdir.sh: ... like this.
	* t/subdir6.sh: Rename ...
	* t/confh-subdir-clean.sh: ... like this.
	* t/subdir7.sh: Renamed ...
	* t/dir-named-obj-is-bad.sh: ... like this, and enhance.
	* t/srcsub.sh, t/srcsub2.sh: Unify ...
	* t/src-acsubst.sh: ... as this test.
	* t/list-of-tests.mk: Adjust.

2012-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: adjust t/list-of-tests.mk for renamed/added tests

2012-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	subdirs: enhance coverage, tweak and rename few tests

	* t/subdir5.sh: Rename ...
	* t/subdir-add-pr46.sh: ... like this.
	* t/subdir8.sh: Rename ...
	* t/subdir-add2-pr46.sh: ... like this.
	* t/cond2.sh: Rename ...
	* t/subdir-cond-err.sh: ... like this.
	* t/subdir9.sh: Rename ...
	* t/subdir-with-slash.sh: ... like this; improve heading comments.
	* t/subcond.sh: Rename ...
	* t/subdir-cond-gettext.sh: ... like this; improve m4 quoting.
	* t/subcond2.sh: Rename ...
	* t/subdir-am-cond.sh: ... like this; adjust heading comments.
	* t/subcond3.sh: Rename ...
	* t/subdir-ac-subst.sh: ... like this; adjust heading comments.
	* t/subdir2.sh: Rename ...
	* t/subdir-subsub.sh: ... like this; enhance so that it also runs
	'./configure' and 'make'.
	* t/subdir-order.sh: New test, check that the $(SUDBIRS) entries
	are processed in the order they are specified.
	* doc/automake.texi: Adjust references to tests.

2012-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update.

2012-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	py-compile: consistently quote 'like this', not `like this'.

	* lib/py-compile (usage_error): Here.

2012-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: recursive make considered harmful

	In the documentation, we shouldn't confuse "packages using subdirectories"
	with "packages using recursive make invocations".  A package can have a
	careful organization in subdirectories, make no (or almost no) use of make
	recursion (examples of such packages are GNU bison, GNU cppi, and Automake
	itself).

	In fact, make recursion should be used as seldom as possible, because it
	makes the build system more brittle and dependency declarations less
	faithful.  See Peter Miller's article "Recursive Make Considered Harmful"
	for more a more in-depth discussion:

	    http://miller.emu.id.au/pmiller/books/rmch/

	* doc/automake.texi (Directories): Clarify how a build system based on
	make recursion does.  Observe that such a system, albeit being very
	widespread, has its own issues and drawbacks, and that one can have a
	non-recursive setup also for projects using complex directory layout.
	(Recursing subdirectories): Speak of "packages that use make recursion"
	rather than of "packages with subdirectories".

2012-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'subdirs-simplify' into maint

	* subdirs-simplify:
	  docs: clean rules are not run in reverse order of build rules anymore

2012-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: clean rules are not run in reverse order of build rules anymore

	At least since commit 'v1.12.1-12-gec6a135' of 2012-06-10, "subdirs: unify
	rules for "cleaning" and "normal" recursive targets"

	* doc/automake.texi (Recursing subdirectories): Adjust.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'subdir-objects-pr10697' into maint

	* subdir-objects-pr10697:
	  maintcheck: fix failures, both real and spurious

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: fix failures, both real and spurious

	* syntax-checks.mk (sc_rm_minus_f): Whitelist the
	't/subobj-clean*-pr10697.sh' tests.
	* t/subobj-clean-pr10697.sh: When redefining PATH,
	use '$PATH_SEPARATOR', not hard-coded ':'.
	* t/subobj-clean-lt-pr10697.sh: Likewise.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: merged some testsuite fixlets

	* fix-cxx-libtool-demo:
	  tests: avoid failure due to libtool quirks in C++ demo test

	* subdir-objects-pr10697:
	  tests: fix spurious failures due to missing '$sleep'

	* subdirs-simplify:
	  subdir tests: avoid an use of "make -j4", for portability

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	subdir tests: avoid an use of "make -j4", for portability

	Otherwise, a spurious failure with Solaris CCS make can be triggered.
	The coverage is not actually reduced, since the code path is still
	covered when one runs the testsuite with AM_TESTSUITE_MAKE="make -jN"
	(as should be done periodically).

	* t/subdir-distclean.sh : Call simply "make maintainer-check", not
	"make -j4 maintainer-check".

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid failure due to libtool quirks in C++ demo test

	Revealed by failures on NetBSD 5.1.

	* t/cxx-lt-demo.sh: In "make distcheck" invocation, don't define 'CC'
	to "false", as that value would be exported and passed to the child
	./configure invocation, and some configure checks generated by libtool
	autoconf macros can still require a C preprocessor even for packages
	using only C++, and bail out if it's not found.  The problem was not
	apparent on Solaris and GNU/Linux because those systems have a
	'/lib/cpp' program, and configure detected and used that as a fallback
	C preprocessor.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failures due to missing '$sleep'

	Revealed by failures on NetBSD 5.1.

	* t/subobj-clean-pr10697.sh: Call '$sleep' before modifying the
	files that should trigger an automatic remake.
	* t/subobj-clean-lt-pr10697.sh: Likewise.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branches 'subdirs-simplify' and 'subdir-objects-pr10697' into maint

	* subdirs-simplify:
	  subdirs: unify rules for "cleaning" and "normal" recursive targets
	  tests: add a "demo" test on C support

	* subdir-objects-pr10697:
	  subdir-objects: improve "make mostlyclean" efficiency and flexibility
	  tests: look for '.lo' rather than '.o' object when using Libtool with C++
	  cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	subdirs: unify rules for "cleaning" and "normal" recursive targets

	Before this change, the recursive invocation of cleaning targets in
	the $(SUBDIRS) where done in inverse order, i.e., starting from the
	last $(SUBDIRS) entry and proceeding towards the first.  According
	to the code comments, this was done ...

	    ... in an attempt to alleviate a problem that can happen when
	    dependencies are enabled.  In this case, the .P file in one
	    directory can depend on some automatically generated header
	    in an earlier directory.  Since the dependencies are required
	    before any target is examined, make bombs.

	But this comment does not apply anymore to the current implementation
	of automatic dependency tracking: the '.Po' and '.Plo' files does not
	depend on any C header or source file, ever!

	So it seems that the distinction between "normal" and "cleaning"
	recursive targets is a stale leftover of an older implementation of
	the automatic dependency tracking.  In fact, the Automake History
	manual seems to confirm this suspect; the section "First Take on
	Dependency Tracking" reads:

	    Because each .P file was a dependency of Makefile, this meant
	    that dependency tracking was done eagerly by make.  For instance,
	    "make clean" would cause all the dependency files to be updated,
	    and then immediately removed.  This eagerness also caused problems
	    with some configurations; if a certain source file could not be
	    compiled on a given architecture for some reason, dependency
	    tracking would fail, aborting the entire build.

	and the following section "Dependencies As Side Effects" reads:

	    In this approach, the .P files were included using the -include
	    command, which let us create these files lazily.  This avoided
	    the "make clean" problem.

	So the distinction between "normal" and "cleaning" recursive targets
	has likely been obsolete since by then already.  We can thus remove
	such distinction, thus reducing some complications and duplication in
	our rules.  Doing so, the whole testsuite still passes (both with GCC
	and Sun C 5.9), even the test 'c-demo.sh', which, among the other
	things, exercise the setup described in the obsolete code comment
	referenced above.

	Finally, note that we still keep '$(RECURSIVE_CLEAN_TARGETS)' and
	'$(RECURSIVE_TARGETS)' as two distinct variables, to ensure a better
	backward-compatibility for any user-defined rules that happen to use
	those variables.

	* NEWS: Update.
	* lib/am/subdirs.am ($(RECURSIVE_CLEAN_TARGETS), $(CLEAN_TARGETS)):
	Merge their recipes.
	* t/subdir-distclean.sh: New test, check that "./configure && make
	&& make distclean" is actually a no-op, even when conditional SUBDIRS
	are involved.
	* t/list-of-tests.mk: Add it.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: add a "demo" test on C support

	Showing and testing non-trivial use of C support, and its interaction
	with other features.

	* t/c-demo.sh: New test.
	* t/list-of-tests.mk: Add it.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: look for '.lo' rather than '.o' object when using Libtool with C++

	* t/cxx-lt-demo.sh: ... in this test.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"

	The typofixes offered by this patch have been suggested by the
	"codespell.py" script.  Reference:
	<http://git.profusion.mobi/cgit.cgi/lucas/codespell/>

	* old/ChangeLog.01, old/ChangeLog.02, old/ChangeLog.03: Fix few typos.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	silent: new $(AM_V_P) variable, tell if we're running in silent mode

	Addresses part of automake bug#8665.

	* automake.in (handle_silent): Define a new make variable '$(AM_V_P)',
	that expands to a shell conditional that can be used in make recipes to
	determine whether they are being run in silent mode or not.  The choice
	of the name derives from the LISP convention of appending the letter
	'P' to denote a predicate (see also "the '-P' convention" in the Jargon
	File); we do so for lack of a better convention.
	* t/automake.texi, NEWS: Document the new variable.
	* t/silent6.sh: Adjust and extend.  Move out the checks that didn't
	actually deal with user extension of silent rules ...
	* t/silent-obsolescent-warns.sh: ... into this test (bound to be
	removed once 'maint' is merged into the 'master' branch).
	* t/list-of-tests.mk: Add the new test.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	refactor: silent rules handling (a little)

	* automake.in (handle_languages): Move definition of $(AM_V_GEN)
	variable ...
	(define_verbose_tagvar): ... and of '$(AM_V_at)' variable ...
	(handle_silent): ... in this new subroutine.
	(generate_makefile): Call it.

2012-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	refactor: &define_verbose_var: accept a third optional argument

	This is only required by future changes.

	* automake.in (define_verbose_var): Accept a third optional argument,
	specifying the value to assign to the given make variable when silent
	rules are disabled.

2012-06-10  Jim Meyering  <meyering@redhat.com>

	maint: grammar fixes: s/all these/all of these/

	Run this command:
	  git grep -li '\<all.these\>' \
	    |xargs perl -pi -e 's/\b([Aa])ll these\b/${1}ll of these/'

2012-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	subdir-objects: improve "make mostlyclean" efficiency and flexibility

	Fixes automake bug#10697.

	Before this change, the generated Makefile issued one 'rm' invocation
	for each subdir object file.  Not only was this very inefficient when
	there were several such files, but it also caused stale object files
	to be left behind when a source file was renamed or removed.

	* automake.in (handle_single_transform): When a subdir object is seen,
	update '%compile_clean_files' to clean all the compiled objects in its
	same subdirectory, and all the libtool compiled objects ('.lo') there
	as well is that subdir object is a libtool one.
	* t/subobj-clean-pr10697.sh: New test.
	* t/subobj-clean-lt-pr10697.sh: Likewise.
	* t/list-of-tests.mk: Add them.
	* NEWS: Update.

2012-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: look for '.lo' rather than '.o' object when using Libtool with C++

	* t/cxx-lt-demo.sh: ... in this test.

2012-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"

	The typofixes offered by this patch have been suggested by the
	"codespell.py" script.  Reference:
	<http://git.profusion.mobi/cgit.cgi/lucas/codespell/>

	* old/ChangeLog.01, old/ChangeLog.02, old/ChangeLog.03: Fix few typos.

2012-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: add basic semantic tests on C++ support

	Strange as it might seem, we were still missing them (yikes).

	* t/cxx-demo.sh: New test.
	* t/cxx-lt-demo.sh: Likewise (using libtool).
	* t/list-of-tests.mk: Add them.

2012-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: minor tweak to 't/objc-megademo.sh'

	* t/objc-megademo.sh (am_create_testdir): Define to "empty" before
	including ./defs, because this test doesn't rely on the files usually
	pre-set by the setup in there.

2012-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: document deprecation of configure.in

	* NEWS (Warnings and deprecations): We now warn if 'configure.in' is
	used instead of 'configure.ac' as autoconf input.
	(Future backward-incompatibilities): Adjust.

2012-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: put planned backward compatibilities early

	* NEWS (Future backward-incompatibilities): Put them in the news
	entries for the future 1.12.2 release.

2012-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: update files from upstream with "make fetch"

	* lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update.

2012-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: deprecate 'configure.in' as autoconf input

	It has been years since that has been deprecated in the documentation,
	in favour of 'configure.ac':

	    Previous versions of Autoconf promoted the name configure.in, which
	    is somewhat ambiguous (the tool needed to process this file is not
	    described by its extension), and introduces a slight confusion with
	    config.h.in and so on (for which '.in' means "to be processed by
	    configure"). Using configure.ac is now preferred.

	It's now time to start giving runtime warning about the use of
	'configure.in', so that support for it can be removed in future
	versions of autoconf/automake.

	See also, in the Autoconf repository, commit 'v2.69-4-g560f16b' of
	2012-05-23, "general: deprecate 'configure.in' as autoconf input".

	* lib/Automake/Configure_ac.pm: Issue a warning in the 'obsolete'
	category if 'configure.in' is detected.  Since this module is synced
	from Automake, this change is to be backported there (and will be
	soon).
	* t/help.sh: Adjust.
	* t/configure.sh: Adjust and enhance.

2012-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: post-release minor version bump

	* configure.ac (AC_INIT): Bump version number to 1.12.1a.
	* m4/amversion.m4: Likewise (automatically regenerated by
	"make bootstrap").

2012-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: stable release 1.12.1

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

2012-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	copyright: update copyright years in a couple of files

	* doc/help2man, t/aclocal-verbose-install.sh: Update copyright,
	thanks to "make update-copyright".

2012-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failures with Solaris 9 cscope program

	* t/cscope.tap: Also check that the cscope program in use supports the
	'-q' option; if this is not the case, some cscope usages in the generated
	Makefiles would fail, so we must skip the checks involving those usages.

2012-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: fix a spurious failure

	* Makefile.am (test_subdirs): Add 't/perf'.  Fix spurious failure
	of the 'maintainer-check-list-of-tests' target.

2012-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	perf: beginning of a performance testsuite

	Some tests in the Automake testsuite already aims only at verifying
	the performance, rather than the correctness, of some operations.
	Still, they are somewhat shoehorned and forced into the PASS/FAIL
	framework (say, with the 'ulimit' shell builtin used to verify some
	operation doesn't take up too much time or memory), but that is
	conceptually a stretch, and has already caused problems in practice
	(see automake bug#11512 for an example).

	So we start moving the "performance tests" out of the testsuite proper,
	and make them run only "on demand" (when the user exports the variable
	'AM_TESTSUITE_PERF' to "yes").  Ideally, we should provide those tests
	with a custom runner/driver that measures and displays the relevant
	performance information, but doing that correctly and with the right
	APIs is definitely more difficult, so we leave it for a later step
	(an hope we'll take such a step eventually).

	* t/cond29.sh: Move ...
	* t/perf/cond.sh: ... here, and adjust.
	* t/testsuite-recheck-speed.sh: Move ...
	* t/perf/testsuite-recheck.sh: ... here.
	* t/testsuite-summary-speed.sh: Move ...
	* t/perf/testsuite-summary.sh: ... here.
	* t/list-of-tests.mk (perf_TESTS): New variable, listing the tests in
	the 't/perf' directory.
	(handwritten_TESTS): Adjust.
	* defs: Skip any tests in the 't/perf/' subdirectory unless the
	'AM_TESTSUITE_PERF' variable is set to "yes" or "y".
	* .gitignore: Update.

2012-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-pr11543' into maint

	* fix-pr11543:
	  aclocal: declare function prototypes, do not use '&' in function calls

2012-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	aclocal: declare function prototypes, do not use '&' in function calls

	This change will also fix automake bug#11543 (from a report by Matt
	Burgess).

	* aclocal.in: Declare prototypes for almost all functions early, before
	any actual function definition (but omit the prototype for the dynamically
	generated '&search' function).  Add prototypes to any function definition.
	Remove '&' from function invocations (i.e., simply use "func(ARGS..)"
	instead of "&func(ARGS...)").
	* THANKS, NEWS: Update.

2012-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: support for configure.in will be dropped in future automake versions

	The use of configure.in as Autoconf input has been deprecated for a
	very long time in the Autoconf documentation, and the next version of
	Autoconf (2.70) will start warning about it ar runtime as well (see
	commit 'v2.69-4-g560f16b' or 2012-05-23, "general: deprecate
	'configure.in' as autoconf input", in the Autoconf's git repository).

	* NEWS (Future backward-incompatibilities): Update.

2012-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix botched heading comments in 'lex-clean-cxx.sh'

	* t/lex-clean-cxx.sh: This file tests lex, not yacc.

2012-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	[ng] maintcheck: some tweaks and fixlets

	* syntax-checks.mk (sc_no_brace_variable_expansions): Do not complain
	about ${MAKEVAR} usages in comments: they might be legitimate.  This
	change is not strictly required for mainline automake, but will help
	in the Automake-NG branch.
	* sc_tests_here_document_format: Relax a bit, so that usages like
	"cout << "string" << endl;" in the test scripts (usages which can be
	used in here documents defining C++ sources) are not flagged as uses
	of bad delimiters for here documents.  This change is not strictly
	required for mainline automake, but will help in the Automake-NG
	branch, and will anyway be more future proof w.r.t. possible future
	testsuite additions.
	(sc_tests_Exit_not_exit): Do not whitelist lines containing $PERL
	explicitly (that was only required for one test); instead ...
	* t/ext2.sh: ... use "exit (1)" instead of "exit 1" in the perl
	invocation of the guilty script.

2012-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	help: fix a typo in the list of warning categories

	* lib/Automake/ChannelDefs.pm (usage): s/none'/none/.

2012-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: version bump after beta release

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

2012-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: beta release 1.12.0b (will become 1.12.1)

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

2012-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: remove overly picky check

	* Makefile.am (git-tag-release): Do not check that the version number
	NEWS is updated w.r.t. $(VERSION); given the new way we manage NEWS,
	that would cause gratuitous spurious failures.
	* HACKING: Update.

2012-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'ylwrap-line-filename' into maint

	* ylwrap-line-filename:
	  ylwrap: preserve subdirectories in "#line" munging
	  ylwrap: preparatory refactoring

2012-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: use 'parallel-tests' Automake option by default

	This will help our transition from 'serial-tests' to 'parallel-tests'
	as the default test suite driver enabled by a TESTS assignment in the
	input Makefile.am.  Note that that change of default will only take
	place in master, though.

	* defs: Pass the 'parallel-tests' option to the AM_INIT_AUTOMAKE
	invocation in the created 'configure.ac' stub, unless the variable
	'am_serial_tests' is set to "yes".  Don't pay attention anymore to
	the 'am_parallel_tests' variable, that's obsolete now.
	* defs-static.in: Warn if the 'am_serial_tests' variable is set in the
	environment; conversely, don't warn anymore about 'am_parallel_tests'
	being set in the environment.
	* Makefile.am (AM_TESTS_ENVIRONMENT): Nullify the 'am_serial_tests'
	variable instead of the now-obsolete 'am_parallel_tests' one.
	* syntax-checks.mk (sc_tests_obsolete_variables): Also warn against
	uses of 'am_parallel_tests', which is now deprecated in favor of
	'am_serial_tests'.  Similarly, if a use of 'parallel_tests' is seen,
	suggest using 'am_serial_tests' instead, not 'am_parallel_tests'.
	* gen-testsuite-part: Now that we use the 'parallel-tests' by default
	in our tests, we need to completely change the logic and semantics of
	generation of sibling tests for those tests that check the Automake
	generated testsuite harness itself.  Do that, and give a complete
	explanation of the new logic and semantics in the relevant comments.
	* t/README: Update.
	* Lots of test cases: Adjust.

2012-05-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	doc: fix location of Automake's own test-suite.log file

	* doc/automake.texi (Reporting Bugs): The global testsuite log of
	Automake is now (basically since we have removed make recursion from
	the Automake's build system) saved in the file 'test-suite.log', not
	in the file 'tests/test-suite.log'.  Adjust accordingly.

2012-05-16  Nikolai Weibull  <now@bitwi.se>  (tiny change)
	    Stefano Lattarini  <stefano.lattarini@gmail.com>

	ylwrap: preserve subdirectories in "#line" munging

	If Automake is used in non-recursive mode and one of the inputs is a
	yacc file, for example, "src/grammar.y", ylwrap will remove too many
	directories from the output file when it adjusts the paths in it.
	This results in #line directives referring to "grammar.y" instead of
	"src/grammar.y".

	This is a result of $input_rx simply taking all the directory
	components of the absolute input path and removing them.

	One solution is to store the path passed to ylwrap and replace
	$input_rx with it.  This is what we do.

	Suggestion and initial patch (without tests) by Nikolai Weibull:
	<http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html>
	Final patch by Stefano Lattarini.

	* lib/ylwrap ($input_sub_rx): New.
	When munging the #line directives, substitute '$input_rx' with it,
	instead of stripping it altogether.
	Adjust comments.
	* t/yacc-line.sh, t/lex-line: Adjust and extend.
	* NEWS, THANKS: Update.

2012-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	ylwrap: preparatory refactoring

	This commit should cause no semantic change in the ylwrap behaviour.
	It will only be needed in light of a future change.  See:
	<http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html>

	* lib/ylwrap (get_dirname, quote_for_sed): New functions, factoring
	out some non-trivial code.  Use them where appropriate.

2012-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	yacc tests: avoid a spurious failure with Sun C++ 5.9

	* t/yacc-cxx.sh (parse1.yy): When calling the 'getchar' function declared
	in the #included <cstdio>, fully qualify it as std::getchar', to avoid
	Sun C++ 5.9 erroring out with:
	"parse1.yy", line 5: Error: The function "getc" must have a prototype.
	* t/yacc-clean-cxx.sh (sub1/parsefoo.yxx): Likewise.

2012-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	self tests: cater for /bin/ksh symlinked to Zsh

	* t/self-check-reexec.tap: When searching for a suitable non-Bash
	shells, be sure to reject any shell that is Zsh "in disguise" (as
	can be found on some Debian systems, where /bin/ksh can be symlinked
	to /bin/zsh4).  This is required because our testsuite does not
	support older versions of Zsh, and that was causing the test to fail
	in the setup just described.

2012-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failures due to dpkg install-info

	* t/install-info-dir.sh: Skip some checks if 'install-info' is the one
	from dpkg, not the one from GNU info; the former might try to create
	files in '/var/backups/', causing spurious failures like this for any
	non-root user:

	    install-info(.../install-info-dir.dir/_inst/info/foo.info): \
	      creating new section `Dummy utilities'
	    cp: cannot create regular file `/var/backups/infodir.bak': \
	      Permission denied
	    install-info(.../install-info-dir.dir/_inst/info/foo.info): \
	      could not backup .../install-info-dir.dir/_inst/info/dir in \
	      /var/backups/infodir.bak: No such file or directory

2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure due to i18n issue

	Fixes automake bug#11452.

	* t/parallel-tests-fork-bomb.sh: Export LANG, LANGUAGE and LC_ALL to
	'C', to ensure error messages will be in English, and thus avoiding
	possible false negatives in our grepping of them.

2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: add few missing 'cc' and 'c++' requirements

	Without that requirements, the configure-time overrides of CC and CXX
	wouldn't be honored in the affected tests.

	* t/silent-yacc.sh ($required): Require 'cc'.
	* t/silent-yacc-headers.sh: Likewise.
	* t/silent-lex.sh: Likewise.
	* t/lex-clean.sh: Likewise.
	* t/lex-depend.sh: Likewise.
	* t/lex-line.sh: Likewise.
	* t/lex-depend.sh: Likewise.
	* t/lex-pr204.sh: Likewise.
	* t/yacc-deleted-headers.sh: Likewise.
	* t/yacc-line.sh: Likewise.
	* t/yacc-depend.sh: Likewise.
	* t/yacc-depend2.sh: Likewise.
	* t/yacc-dist-nobuild-subdir.sh: Likewise.
	* t/yacc-bison-skeleton.sh: Likewise.
	* t/yacc-bison-skeleton-cxx.sh ($required): Require 'c++'.
	* t/yacc-clean-cxx.sh: Likewise.
	* t/yacc-d-cxx.sh: Likewise.
	* t/yacc-cxx.sh: Likewise.
	* t/yacc-mix-c-cxx.sh ($required): Require 'cc' and 'c++'.

2012-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'testsuite-saner-shell' into maint

	* testsuite-saner-shell:
	  tests: fix a spurious failure with dash
	  test defs: fix indentation (cosmetic change)
	  tests: remove obsolete uses of $sh_errexit_works
	  configure: search a sturdy POSIX shell to be used in the testsuite
	  tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL

2012-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a spurious failure with dash

	The dash shell, at least version 0.5.5.1, doesn't always bail out
	with a syntax error when a stray "fi" in encountered:

	  $ dash -c ":; fi"; echo stat = $?
	  stat = 0

	See also the relevant bug report:

	  <http://permalink.gmane.org/gmane.comp.shells.dash/717>

	This behaviour was causing a spurious error in our testsuite.  Fix it.

	* t/self-check-exit.tap: Use a stray parentheses rather than a stray
	'fi' to trigger a syntax error.

2012-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: fix indentation (cosmetic change)

	* defs (exit trap): Fix indentation left botched by previous
	patch 'v1.11b-51-g626bf65'.

2012-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove obsolete uses of $sh_errexit_works

	After the last changes, configure will ensure that the shell
	selected to run the test scripts can correctly propagate exit
	status to the exit trap when 'set -e' is in effect.

	* configure.ac (sh_errexit_works): Do not AC_SUBST it anymore.
	* defs-static.in (sh_errexit_works): Do not initialize
	from the AC_SUBST value anymore.
	* defs (trap): Trap the EXIT signal unconditionally.
	* t/self-check-explicit-skips.sh: Do not skip the test if
	'$sh_errexit_works' is != "yes", this check doesn't make
	sense anymore.
	* t/self-check-cleanup.tap: Likewise.
	* t/self-check-exit.tap: Assume the exit trap is always
	installed by ./defs.

2012-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: search a sturdy POSIX shell to be used in the testsuite

	* configure.ac: Add code (partially inspired to checks in gnulib's
	'tests/init.sh') to search for a good-enough, not-buggy POSIX/XSI
	shell to be used in our testsuite.  Accordingly AC_SUBSTitute the
	variable 'AM_TEST_RUNNER_SHELL'.
	* NEWS: Update.

2012-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL

	This is just a preparatory refactoring for future changes.

	* configure.ac (AM_TEST_RUNNER_SHELL): New variable, defined
	to $SHELL', and AC_SUBST'd.
	* Makefile.am (LOG_COMPILER): Redefine from $(SHELL) to
	$(AM_TEST_RUNNER_SHELL).
	* defs: Adjust to use $AM_TEST_RUNNER_SHELL instead
	of $CONFIG_SHELL and/or $SHELL, where appropriate.  Minor
	opportunistic changes.
	* t/self-check-explicit-skips.sh: Likewise.
	* t/self-check-sanity.sh: Likewise.
	* t/self-check-tap.sh: Likewise.
	* t/self-check-cleanup.tap: Likewise.
	* t/self-check-dir.tap: Likewise.
	* t/self-check-env-sanitize.tap: Likewise.
	* t/self-check-exit.tap: Likewise.
	* t/self-check-me.tap: Likewise.
	* t/self-check-reexec.tap: Likewise.

2012-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: distribute t/README

	Since commit v1.11-2128-g8e02441 of 2012-04-06, "maint: no more make
	recursion in Automake's build system" we haven't been distributing the
	testsuite README file in our release tarballs.  Oops.

	* Makefile.am (EXTRA_DIST): Add 't/README'.

2012-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	init: warn against obsolete usage of AM_INIT_AUTOMAKE

	Support for the two- and three-arguments invocation forms of the
	AM_INIT_AUTOMAKE macro, as in:

	  AM_INIT_AUTOMAKE($PACKAGE, $VERSION)

	or:

	  AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE)

	will be removed in the next major Automake release (1.13).

	Such usages have already been deprecated in the documentation
	starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs,
	news: document planned removal of obsolete macros and features".

	We now start giving runtime warnings as well (in the 'obsolete'
	category).

	* NEWS: Update.
	* m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments
	form invocation.
	* automake.in (scan_autoconf_traces): Likewise.
	* doc/automake.texi: Minor adjustments.  Add an @anchor to the
	location where it's described how to modernize outdated invocation
	of AM_INIT_AUTOMAKE, so that it can be referenced from automake
	warning/error messages.
	* t/aminit-moreargs-deprecation.sh: New test.
	* tests/list-of-tests.mk: Add it.
	* tests/ac-output-old.tap: Adjust by calling automake with the
	warnings in the 'obsolete' category disabled.
	* t/backcompat.test: Likewise.
	* t/backcompat3.test: Likewise.
	* t/backcompat5.test: Likewise.
	* t/backcompat6.test: Likewise.
	* t/version.test: Likewise.
	* t/version2.test: Likewise.
	* t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE
	invocations, and use proper m4 quoting.
	* t/pr87.test: Likewise.
	* t/confsub.test: Likewise.
	* t/install2.test: Likewise.

2012-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	m4: prepend m4 builtins with "m4_"

	The comments in 'lib/autoconf/autoconf.m4' from Autoconf 2.69 read:

	  We discourage the use of the non prefixed macro names: M4sugar maps
	  all the builtins into 'm4_'.  Autoconf has been converted to these
	  names too.  But users may still depend upon these, so reestablish
	  them.

	Alas, in our init.m4 files, we were still using m4 builtins without
	prefixing them with "m4_".  Not nice for a package that is one of the
	major clients of Autoconf, and an integral part of the GNU Autotools!

	Fix the issue.

	* m4/init.m4 (AM_INIT_AUTOMAKE): Use 'm4_define' and 'm4_defn' instead
	of 'define' and 'defn'.

2012-05-05  Nick Alcock  <nick.alcock@oracle.com>  (tiny change)

	docs: fix clumsy grammar in the scripts-based testsuite chapter

	* doc/automake.texi (Scripts-based Testsuites): "We'll have later" is
	a rare example of English in the Automake manual clearly not written
	by a native English-speaker: while comprehensible, it can be better
	formulated.

2012-05-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: use append mode to capture parallel make output

	This should fix the spurious failure reported in automake bug#11413.

	This is due to the fact that the redirected output of parallel make
	can racily loose lines.  For example, if GNU make (3.82) is run on
	a Makefile like this:

	  all = 0 1 2 3 4 5 6 7 8 9
	  default: $(all)
	  $(all):
	        @sleep 0.$$(($RANDOM % 10)); echo $@

	and has its standard output redirected in overwrite-mode to a regular
	file, it looses a line of that output every 15 runs or so on a Fedora
	17 system with 64 ppc64 cores and Linux 3.3.1.  Redirection in append
	mode does not suffer of this problem.

	See also similar commit 'Release-1-10-280-g6426999' of 2009-03-10,
	"Use append mode to capture parallel test output", which tackled a
	similar problem for 't/parallel-tests3.sh' and 't/lisp8.sh'.

	* t/tap-more.sh: Use append mode for output from "make -j", to avoid
	dropped lines.
	* t/parallel-tests3.sh, t/lisp8.sh: Enhance comments.

2012-05-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'parallel-tests-performance' into maint

	* parallel-tests-performance:
	  parallel-tests: separate different logs with an empty line

2012-05-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: separate different logs with an empty line

	After commit v1.12-21-g5eeb366 "parallel-tests: optimize global log
	creation", the log files copied in the global log are not anymore
	separated by a blank line, causing unclear output like this:

	  FAIL: test1
	  ===========

	  output from test 1
	  FAIL: test2
	  ===========

	  output from test 2

	where we would want something like this:

	  FAIL: test1
	  ===========

	  output from test 1

	  FAIL: test2
	  ===========

	  output from test 2

	Fix this regression.

	* lib/am/check.am (am__create_global_log): Print an extra empty line
	after having displayed the content of a '.log' file.

2012-05-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: avoid a couple of spurious failures

	* t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use
	"std::cout <<", not "cout <<", to avoid triggering a spurious
	failure by the syntax check 'sc_tests_here_document_format'.

	Cherry-picked from yesterday's commit v1.12-81-g7f3f467, that
	had erroneously been applied to 'master' only rather than to
	'maint'.

2012-05-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: reduce code duplication, increase coverage

	* syntax-checks.mk: Move ...
	(sc_tests_plain_aclocal,
	sc_tests_plain_autoconf,
	sc_tests_plain_perl,
	sc_tests_plain_autoupdate,
	sc_tests_plain_automake,
	sc_tests_plain_make,
	sc_tests_plain_autoheader,
	sc_tests_plain_autoreconf,
	sc_tests_plain_autom4te): ... all these targets ...
	(sc_tests_plain_egrep_fgrep): ... and part of this target ...
	(sc_tests_plain_check_rules): ... into this variable, and
	reimplement their recipes ...
	($(sc_tests_plain_check_rules)): ... with this static pattern
	rule.  Enhance the coverage they offer a little since we are
	at it.
	(sc_m4_am_plain_egrep_fgrep): New rule, the part of the old
	'sc_tests_plain_egrep_fgrep' rule that checked for use of
	'fgrep' and 'egrep' in *.am and *.m4 fragments (rather than
	in test scripts).
	(syntax_check_rules): Update.
	* t/dist-formats.tap: Fix bad use of "make" instead of "$MAKE"
	revealed by the extra coverage.
	* t/cond5.sh, t/auxdir-autodetect.sh: Cosmetic changes to avoid
	spuriously triggering the maintainer checks due to the
	enhanced coverage.

2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'objc++' into maint

	* objc++:
	  tests: avoid spurious failure on missing Obj C/C++ compiler

2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure on missing Obj C/C++ compiler

	* t/objc-megademo.sh: Arrange the test to SKIP, not FAIL, if there is
	no Objective C or no Objective C++ compiler.  Since we are at it, remove
	some checks that were actually testing Autoconf (not Automake) behaviour.

2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'objc++' into maint

	* objc++:
	  objc, objc++: test support for compilation flags
	  objc, objc++: add stress test
	  objc, objc++: test automatic dependency tracking
	  objc: reorganize basic tests
	  objc++, objc: add first semantic tests
	  objc++: add first basic test
	  news: announce initial support for Objective C++
	  objc++: test support for '.mm' suffix in _SOURCES entries
	  objc++: add documentation
	  objc++: initial support for Objective C++

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: document improvement in parallel-tests performance

	* NEWS: Document the improved performances of the parallel-tests targets
	'check' and 'recheck'. See recent commits:

	  - v1.12-20-gf5733aa of 2012-04-26,
	    "parallel-tests: optimize 'recheck' target for speed"

	  - v1.12-21-g5eeb366 of 2012-02-26,
	    "parallel-tests: optimize global log creation"

	  - v1.12-22-g4c2dd6e of 2012-04-30,
	    "parallel-tests: save few forks when possible"

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	 tests: fix spurious failure due to autom4te caching

	Reported by Peter Breitenlohner :
	<http://lists.gnu.org/archive/html/automake-patches/2012-05/msg00045.html>

	* t/suffix.sh: Remove stale autom4te.cache directories, to prevent racy,
	spurious failures (using 'aclocal --force' was not enough, since the cache
	was still picked up by the following automake call).

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
	    Peter Breitenlohner  <peb@mppmu.mpg.de>

	objc, objc++: test support for compilation flags

	* t/objc-flags.sh, t/objcxx-flags.sh: New tests.
	* t/list-of-tests.mk: Add them.

2012-05-02  Peter Breitenlohner  <peb@mppmu.mpg.de>

	objc, objc++: add stress test

	* t/objc-megademo.sh: New test, trying out a package using all
	of C, C++, Objective C and Objective C++ at the same time.
	* t/list-of-tests.mk: Add it.

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	objc, objc++: test automatic dependency tracking

	* t/objc-deps.sh, t/objcxx-deps.sh: New tests.
	* t/list-of-tests.mk: Add them.

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	objc: reorganize basic tests

	* t/objc.sh, t/objc2.sh: Removed, merged into ...
	* t/objc-basic.sh: ... this new test.
	* t/objcxx-basic.sh: Add reference to new sister test.
	* t/list-of-tests.mk: Update.

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
	    Peter Breitenlohner  <peb@mppmu.mpg.de>

	objc++, objc: add first semantic tests

	* t/objcxx-minidemo.sh: New test.
	* t/objc-minidemo.sh: Likewise.
	* t/list-of-tests.mk: Add them.

2012-05-02  Peter Breitenlohner  <peb@mppmu.mpg.de>

	objc++: add first basic test

	* t/objcxx-basic.sh: New test.
	* t/list-of-tests.mk: Add it.

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'parallel-tests-performance' into maint

	* parallel-tests-performance:
	  parallel-tests: save few forks when possible
	  parallel-tests: optimize global log creation
	  parallel-tests: optimize 'recheck' target for speed
	  coverage: add performance tests on some parallel-tests aspects

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: fix typos

	* NEWS (Bugs fixed in 1.12.1): Fix botched indentation of an entry,
	add a forgotten "and", remove a redundant "the".

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	aclocal: error out again on unrecognized arguments

	Starting from commit v1.11-662-g52246cc of 2102-02-18, "cmdline parsing:
	move into a dedicated perl module", aclocal has been silently ignoring
	non-option arguments instead of correctly reporting them.
	Fix this regression.

	* t/aclocal.sh: Update to catch the regression.
	* aclocal.in (parse_arguments): Explicitly reject non-option arguments.
	* NEWS: Update.

2012-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'cygnus-deprecate' into maint

	* cygnus-deprecate:
	  cygnus: warn when it's used (flagged as 'obsolete' now)

2012-05-01  Andrew Eikum  <aeikum@codeweavers.com>  (tiny change)

	cosmetics: fix typo in aclocal m4 directory README

	* m4/acdir/README: Add forgotten "if".
	* THANKS: Update.

2012-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: botched edit in bootstrap.sh

	* bootstrap.sh (dosubst): Fix botched option ("G" instead of "g")
	in a sed "s///" expression.  Issue introduced in today's commit
	'v1.12-17-g5f810d0'.

2012-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: fix confusing wording

	Reported by Dave Hart.

	* NEWS (Future backward-incompatibilities): Fix possibly confusing
	wording about the upcoming requirement of Autoconf >= 2.65.

2012-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: fixed weaknesses in build system and testsuite

	* NEWS (Bugs fixed in 1.12.1): Report that several weaknesses in the
	Automake's own build system and test suite have been fixed.  See for
	example recent commits:
	  - commit v1.12-5-geb7e8f3, for bug#11345
	  - commit v1.12-5-g63e07a9, for bug#11346
	  - commit v1.12-5-gf31fe4f
	  - commit v1.12-10-gab14841
	  - commit v1.12-19-g807f3cf, for bug#11369
	  - commit v1.12-20-gd330368, for bug#11369
	  - bug#11387, pre-emptively solved by commit v1.12-4-g444618b

2012-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	bootstrap: consistently use correct copyright year

	Suggested by Peter Johansson in the discussion about automake bug#11356:
	<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11356#41>

	* boostrap.sh (dosubst): Don't initialize the substituted value for the
	release year from the current year (using `date +%Y`); instead, do it
	through ...
	($RELEASE_YEAR): ... this new statically-defined variable.  To ensure it
	won't get out-of-sync, it will be automatically updated ...
	* Makefile.am (update-copyright): ... by this target's recipe.
	Since are at it, fix a botched output redirection for an error message,
	i.e., use ">&2" instead of ">&1".

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: remove leftover "TERM=ansi" definition in 't/color.sh'

	It should have actually be removed in commit 'v1.12-23-gb105d40'.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: save few forks when possible

	* lib/am/check.am (am__check_pre): Save some forks, by analyzing more
	carefully the value of '$@' to decide how to extract its dirname part,
	and whether that should be created as a directory.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: Automake 1.13 will require Autoconf >= 2.65

	Autoconf 2.65 is almost three years old now, so requiring it is
	acceptable.  Also, the soon-to-appear support for Objective C++
	in Automake will be simplified if we can assume that Autoconf
	version (which is the one that introduced support for Objective
	C++).

	* NEWS (Planned future backward-incompatibilities): Automake 1.13
	will require Autoconf 2.65 or later.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: put planned future backward-incompatibilities on top

	* NEWS (New in 1.12): List of planned future backward-incompatibilities
	moved from here ...
	(New in 1.12.1): ... to here.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: update INSTALL to latest version from Autoconf

	* INSTALL: Updated to the version coming with Autoconf 2.69.  This
	is warranted now that we use and require that same Autoconf version
	in our build system.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: some auxiliary files synced from upstream

	* lib/config.sub: Synced from upstream, by "make fetch".

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	hacking: copyright notices must be updated before releasing

	* HACKING (Release procedure): Suggest to use "make update-copyright".

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	color-tests: coloring can be forced on non-ANSI terminals as well

	Before this change, colorization of testsuite output was suppressed
	whenever the terminal was recognized to be a "dumb" one, incapable
	of handling ANSI coloring (i.e., when the environment variable TERM
	had a value of "dumb").  This happened even when the AM_COLOR_TESTS
	variable was set to a value of "always".

	Such a behaviour was suboptimal and slightly confusing; in fact, if
	a user wants to force coloring of testsuite output that is being
	redirected to a regular file, he should be able to do so even if his
	terminal is not capable of handling ANSI colors -- in fact, such
	terminal wouldn't be involved with the testsuite output in any way,
	so why should it be allowed to influence it?

	Thus, we now enable coloring of test output whenever AM_COLOR_TESTS
	is set to "always", irrespective of the value of the TERM environment
	variable.

	* NEWS: Update.
	* lib/am/check.am [%?COLOR%] (am__tty_colors): Activate colorization
	of testsuite output whenever AM_COLOR_TESTS has the value of "always".
	* t/ax/tap-summary-aux.sh: Export the TERM environment variable to
	"dumb" when forcing colorization of the testsuite output; this should
	*not* prevent such colorization from taking place, and we want to
	check that this expectation really holds.
	* t/ax/testsuite-summary-checks.sh: Likewise.
	* t/color.sh: Likewise, and adjust some grepping checks.
	* t/tap-color.sh: Likewise.  Also, remove redundant "make check"
	invocation since we are at it.
	* t/color2.sh: Likewise, and check that exporting TERM=dumb actually
	prevents testsuite output colorization when AM_COLOR_TESTS is unset.
	* t/parallel-tests-reset-term.sh: Relax, to prevent it from failing
	spuriously due to the new semantic.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cygnus: warn when it's used (flagged as 'obsolete' now)

	Support for "Cygnus-style" tree as enabled by the 'cygnus'
	option is now reported as obsolete when the warnings in the
	'obsolete' category are enabled.

	See automake bug#11034.

	* automake.in (check_cygnus): Report the use of 'cygnus' mode as
	obsolete.
	* NEWS: Update.
	* docs/automake.texi: Minor adjustments.
	* t/cygnus-deprecation.sh: New test.
	* t/list-of-tests.mk: Add it.
	* tests/cygnus-check-without-all.sh: Adjust by calling automake
	with the warnings in the 'obsolete' category disabled.
	* t/cygnus-requires-maintainer-mode.sh: Likewise.
	* t/cygnus-dependency-tracking.sh: Likewise.
	* t/cygnus-imply-foreign.sh: Likewise.
	* t/cygnus-no-installinfo.sh: Likewise.
	* t/cygnus-no-dist.sh: Likewise.
	* t/clean2.sh: Likewise.
	* t/flavor.sh: Likewise.
	* t/txinfo5.sh: Likewise.
	* t/txinfo5b.sh: Likewise.
	* t/library.sh: Remove use of 'cygnus' and 'dejagnu' options,
	and of AM_MAINTAINER_MODE macro.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: optimize global log creation

	With this change, the time required to execute the test case
	'testsuite-summary-speed.sh' has dropped as follows:

	  + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
	    GNU make 3.81:
	      - 1 run: 4 minutes => 30/40 seconds

	  + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
	    Solaris CCS make:
	     - 2 runs: 6 minutes => 30 seconds

	  + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
	    GNU make 3.82:
	     - 5 runs: 7 minutes => 1 minute and 10 seconds

	* lib/am/check.am ($(TEST_SUITE_LOG)): Optimize for speed, by avoiding
	lots of forks with the help of ...
	(am__create_global_log): ... this new internal variable, basically
	defining a smart awk program, and ...
	(am__global_test_result_rx, am__copy_in_global_log_rx): ... these new
	internal variables, used by the one above.
	(am__rst_section): Remove as obsolete
	* t/rst-formatting.trs: Remove.
	* t/list-of-tests.mk: Update.
	* t/testsuite-summary-count-many.sh: Improve its stress testing by
	using 1 million tests rather than just 5 thousands: we can afford
	this with our new optimization, and still have the test completed
	in a reasonable time.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: optimize 'recheck' target for speed

	With this change, the time required to execute the test case
	'testsuite-recheck-speed.sh' has dropped as follows:

	  + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
	    GNU make 3.81:
	      - 1 run: 6 minutes => 40 seconds

	  + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
	    Solaris CCS make:
	      - 4 runs: 3 minutes => 1 minute

	  + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
	    GNU make 3.82:
	      - 5 runs: 4 minutes => 1 minute 30 seconds

	* lib/am/check.am (recheck): Optimize for speed, by avoiding lots of
	forks with the help of ...
	(am__list_recheck_tests): ... this new internal variable, basically
	defining a proper awk program, and ...
	(am__recheck_rx): ... this other new internal variable, used by the
	one above.
	* t/test-trs-recover2.sh: Relax by not checking for a very corner
	case ('.log' and '.trs' files both unreadable) that we don't handle
	anymore.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: announce initial support for Objective C++

2012-04-30  Peter Breitenlohner  <peb@mppmu.mpg.de>
	    Stefano Lattarini  <stefano.lattarini@gmail.com>

	objc++: test support for '.mm' suffix in _SOURCES entries

	* t/ext.sh: Enhance by adding a file with the '.mm' suffix in
	the 'foo_SOURCES' definition.
	* t/nodep2.sh: Likewise.

2012-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: add performance tests on some parallel-tests aspects

	* t/testsuite-recheck-speed.sh: New test.
	* t/testsuite-summary-speed.sh: Likewise.
	* t/list-of-tests.mk: Update.

	The new tests are not meant to PASS/FAIL, but rather to help us to
	obtain quantitative measurements of the performance improvements
	offered by soon-to-appear optimization patches.

	Timing before the optimizations implemented by following patches:

	  + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
	    GNU make 3.81:
	     - testsuite-recheck-speed.sh: 1 run, ~ 6 minutes
	     - testsuite-summary-speed.sh: 1 run, ~ 4 minutes

	  + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
	    Solaris CCS make:
	     - testsuite-recheck-speed.sh: 4 runs, ~ 3 minutes
	     - testsuite-summary-speed.sh: 2 runs, ~ 6 minutes

	  + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
	    GNU make 3.82:
	     - testsuite-recheck-speed.sh: 5 runs, ~ 4 minutes
	     - testsuite-summary-speed.sh: 5 runs, ~ 7 minutes

2012-04-30  Peter Breitenlohner  <peb@mppmu.mpg.de>

	objc++: add documentation

	* doc/automake.texi (Objective C++ Support): New node.
	(How the Linker is Chosen, Support for Other Languages): Adjust.

2012-04-30  Peter Breitenlohner  <peb@mppmu.mpg.de>

	objc++: initial support for Objective C++

	Original thread (dating back to almost three years ago):
	<http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html>

	* automake.in: Register new language 'objcxx'.
	(lang_objcxx_rewrite): New subroutine.
	(resolve_linker): Add OBJCXXLINK.
	(%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX.
	(%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS.
	* m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX.
	* m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook.

2012-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'mkdirp-deprecate' into maint

	* mkdirp-deprecate:
	  AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13

2012-04-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: root can write on files without write perms; cater for this

	Fixes last part of automake bug#11369.

	* t/dist-readonly.sh ($required): Add 'non-root'.

2012-04-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: require lex, not yacc, in a lex test case

	See automake bug#11369.

	* t/lex-clean.sh ($required): Require 'lex', not 'yacc'.

2012-04-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13

	Support for the obsolescent 'AM_PROG_MKDIR_P' macro (and its
	output variable '$(mkdir_p)') has already been deprecated in
	the documentation.  It's now time to make its use actively
	emit warnings in the 'obsolete' category as well.

	* automake.in (scan_autoconf_traces): Warn about 'AM_PROG_MKDIR_P'
	obsolescent if that macro is seen.
	* m4/mkdirp.m4 (AM_PROG_MKDIR_P): Warn about its own obsolescence.
	* m4/init.m4: Require 'AC_PROG_MKDIR_P', not 'AM_PROG_MKDIR_P'.
	* t/mkdirp-deprecation.sh: New test.
	* t/list-of-tests.mk: Add it.
	* syntax-check.mk (sc_mkdir_p): Delete this check as obsolete.
	(syntax_check_rules): Remove it.
	* t/gettext-macros.sh: Ensure the gettext-requiring tests will
	call aclocal and automake with the 'obsolete' warnings disabled,
	since even recent versions of gettext used the now-deprecated
	'AM_PROG_MKDIR_P' m4 macro.
	* NEWS: Update.

2012-04-28  Jim Meyering  <meyering@redhat.com>

	maint: fix a comment typo

	* configure.ac: Fix typo in comment: s/out/our/

2012-04-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: avoid unconditional re-bootstrapping on "make dist"

	Since our 'bootstrap' script is distributed, the 'distdir' target depends
	on it.  But in our GNUmakefile, we also have a 'bootstrap' target declared
	.PHONY, which when called re-bootstrap the Automake distribution.  Thus,
	whenever we run "make dist", GNU make sees it must remake the 'bootstrap'
	target (as it is a dependency of the 'distdir' target), and thus ends up
	re-bootstrapping all the package (because of the .PHONY 'bootstrap' target
	in GNUmakefile).

	We fix this issue by renaming our bootstrap script to 'bootstrap.sh'.

	* bootstrap: Renamed ...
	* bootstrap.sh: ... to this.
	* GNUmakefile (bootstrap): Adjust.
	* Makefile.am (EXTRA_DIST): Likewise.
	(autodiffs): Likewise.
	* HACKING: Likewise.

2012-04-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: ensure release year in copyright notice is up-to-date

	From a suggestion by Eric Blake.  See automake bug#11356.
	This is a follow-up to previous patch 'v1.12-12-gb99b5be'.

	* configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold
	the value of the current year.
	* Makefile.am (update-copyright): Be sure to also update the
	definition of 'RELEASE_YEAR' in configure.ac.
	* lib/Automake/Config.in ($RELEASE_YEAR): New exported variable,
	initialized from the value substituted for '@RELEASE_YEAR@'.
	(@EXPORT): Add it.
	* automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be
	substituted at make time) instead of hard-coding the release
	year.  This should ensure the copyright range in the version
	message and in the generated files (Makefile.in and aclocal.m4)
	are automatically kept up-to-date.
	* bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'.

2012-04-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix spacing in THANKS

	* THANKS: Use spaces, not tabs, to separate a reporter's name from
	his e-mail address.  Also, increase such spacing, to allow a more
	consistent formatting with longer names.

2012-04-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: explicitly state we use ranges in copyright years

	Reported by Jack Kelly in automake bug#11356.

	* README: Explicitly state we use ranges in copyright years; this is
	mandated by the GNU Coding Standards for each package that wants to
	actually use ranges in copyright years.

2012-04-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	bootstrap: add convenience make target

	Dependencies in the Automake build system are not completely specified
	(see for example the commit log of recent commit 'v1.12-10-gab14841',
	"build: avoid too greedy rebuilds in the testsuite").  In fact, some of
	them cannot even be; for example, Makefile is generated at configure
	time from Makefile.in, which should be regenerated by our bleeding-edge
	automake script, which is generated by out Makefile -- specifying the
	complete chain of dependencies here would bring to a circular dependency
	issue.

	For this reason, before testing or deploying a change, we are often
	forced to perform a full re-bootstrap of the Automake package, to ensure
	all our files are actually up-to-date.  Until now, this has to be done
	manually, thus causing wasted keystrokes and more possibilities of error.

	With this change, we introduce a new 'bootstrap' make target to
	automatize all the (easy) steps of this re-bootstrapping (plus some
	minor bells & whistles since we are at it).

	* GNUmakefile: Rewrite to allow an easy bootstrapping and clean rebuild
	of the whole package, in particular with the help of ...
	(bootstrap): ...  this new target.

2012-04-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	automake, aclocal: update copyright year in output

	Fixes automake bug#11356.

	* aclocal.in, automake.in: Add copyright year '2012' in the version
	message.  Ditto for the copyright notice in the generated Makefile.in
	or aclocal.m4 files; and for those, since we are at it, prefer using
	a range for copyright years, rather than listing each copyright year
	individually.

2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: don't use "union" merge driver for NEWS anymore

	The use of the "union" merge driver to avoid conflicts in NEWS has
	proven to be problematic, as it often silently produced mis-merges
	(instead of spurious conflicts, but a spurious conflict is better
	than a mis-merge).  Also, our new branching policy (see automake
	bug#11153 for a description) should greatly mitigate the problem of
	merge conflicts in NEWS.  For further discussion, see:
	<http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00148.html>

2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: avoid too greedy rebuilds in the testsuite

	The autogenerated makefile fragment 't/testsuite-part.am' used to depend
	on the list of *all* the hand-written files.  This was technically correct,
	since that makefile fragment was (and still is) generated by the script
	'gen-testsuite-part', which scans all the hand-written files to detect
	implicit dependencies and to decide for which tests a further wrapper test
	should be generated.

	However, the presence of such a dependency implied that, whenever *any*
	test case was modified (no matter how slightly), the 't/testsuite-part.am'
	file was rebuilt, and since that is included by our 'Makefile.am', the
	'Makefile.in' file was rebuilt as well by automake.  In order to do so,
	automake scanned our 'configure.ac' file, which requires the latest
	Autoconf version (2.69 at the time of writing), and the casual user can
	easily lack that on his machine (and that should be allowed, as automake
	currently supports any autoconf version >= 2.62).

	The described situation could hinder in-field testing or debugging by
	users (even experienced ones) that are not automake developers; see for
	example automake bug#11347.

	So we drop the explicit dependency of 't/testsuite-part.am' on the
	hand-written test cases.  (As an aside, note that this has already
	been done in Automake-NG, albeit for other reasons; see the commit
	'v1.11b-129-g1690aca' of 2012-04-23, "[ng] build: define $(TESTS)
	through a wildcard").

	This is not a serious regression in the faithfulness of the Automake
	build systems, since it unfortunately already had several undeclared
	dependencies; e.g., 'Makefile.in' should depend on the automake script,
	and 'aclocal.m4' should depend on the aclocal script (but this isn't
	possible, as it would mean that distributed files depend on ones generated
	at make time).  Similarly, 'Makefile.in' should depend on some of the
	'lib/am/*.am' files, but does not.

	Currently, the workaround to get a faithful and correct rebuild is to run

	  ./bootstrap && ./config.status --recheck && make clean all

	and the present commit does not change that.

	* Makefile.am ($(srcdir)/t/testsuite-part.am): Don't depend on
	't/list-of-tests.mk' nor on '$(handwritten_TESTS)' anymore.
	($(generated_TESTS)): Likewise, and don't depend on 'Makefile.am'
	either.

2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-pr11345-lex' into maint

	* fix-pr11345-lex:
	  tests: fix a failure in Lex/C++ tests on Mac OS X

2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-pr11346-timestamp' into maint

	* fix-pr11346-timestamp:
	  tests: fix a spurious failure due to truncated timestamps

2012-04-26  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)

	tests: avoid yet another spurious environment influence

	* t/remake11.sh: Unset 'd' before first use.

2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a failure in Lex/C++ tests on Mac OS X

	The <cstdio> header from Xcode-4.3.2 on Mac OS X 10.7.3 declares a 'isatty'
	function with C++ linkage, that conflicts with our dummy definition of the
	same function, which in turn is required to work around the absence of the
	unistd.h header on MinGW (see commit 'v1.11-2138-gfeea090' of 11-04-2012).
	So we tweak the affected tests to work around this new problem as well.

	This fixes automake bug#11345.

	* t/lex-clean-cxx.sh ($required): Since we are at it, add an explicit
	'c++' requirement.
	* t/lex-depend-cxx.sh ($required): Likewise.
	(my-hdr.hxx): Don't include <cstdio>.  The "using namespace" directive
	should still be enough to ensure the content of this header is not valid
	C, albeit being of course valid C++.
	Fix unrelated typos in comments.
	(joe.ll): Adjust, by removing the call to 'printf'.
	* THANKS: Add entry for reporter "Adam Mercer".

2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
	    Peter Breitenlohner  <peb@mppmu.mpg.de>

	tests: fix a spurious failure due to truncated timestamps

	Fixes automake bug#11346.

	* t/self-check-is_newest.tap: Apparently, on some systems (or file
	systems), "touch -r" can truncate timestamps :-(  Work around that.

2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: require autoconf 2.69

	It is only from version 2.69 that the 'AC_PROG_FC' macro has started to
	set the '$GFC' variable to "yes" if the selected Fortran compiler is a
	GNU compiler.  Since we use this variable in our configure.ac, we better
	require autoconf 2.69 explicitly.

	* configure.ac (AC_PRERQ): Require autoconf >= 2.69.
	Remove a now-obsolete "FIXME" comment.

2012-04-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: don't require minimal automake version in AM_INIT_AUTOMAKE

	* configure.ac (AM_INIT_AUTOMAKE): Don't explicitly require a minimal
	automake version number.  Since the Automake build system is only meant
	to work with the bleeding-edge automake, that requirement was redundant
	and misleading.

2012-04-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	post-release: minor version bump

	This is for the maint branch.

	* configure.ac, m4/amversion.m4: Bump version to 1.12.0a.

2012-04-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch master into maint after 1.12 release

2012-04-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: stable major release 1.12

	* configure.ac (AC_INIT): Bump version number to 1.12.
	* NEWS: Likewise.
	* m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (autoupdated
	by ./bootstrap).

2012-04-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branches 'fix-pr11302-opensuse' and 'fix-pr11306-macosx'

	* fix-pr11302-opensuse:
	  tests: cater to systems installing libs in /lib64

	* fix-pr11306-macosx:
	  tests: fix spurious failure on Mac OS X

2012-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: test the internal $(am__relativize) variable

	This new coverage might turn out be useful for the planned changes
	in Automake-NG.  Even if it eventually doesn't, we gen an improved
	testsuite exposure of some non-trivial internals, so it's always a
	win for us.

	* t/relativize.tap: New test.
	* t/list-of-tests.mk: Add it.

2012-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: cater to systems installing libs in /lib64

	See automake bug#11302.

	On at least OpenSUSE 12.1, "make install" will install libraries in
	the '${prefix}/lib64'  directory by default.  This is due to the
	$CONFIG_SITE set by /etc/profile.d/site.sh, which sets a libdir
	that ends in '/lib64' rather than '/lib' if it finds that the compiler
	is generating 64-bit code.  This behaviour was causing some spurious
	failures in our testsuite.  Fix them.

	* t/posixsubst-libraries.sh: Assume the libraries are installed in
	'$(libdir)' rather than in '$(prefix)/lib'.
	* t/posixsubst-ltlibraries.sh: Likewise.
	* t/posixsubst-scripts.sh: Similarly, don't assume that '$(bindir)',
	'$(sbindir)' and '$(libexedir)' always defaults to respectively
	'$(prefix)/bin', '$(prefix)/sbin' and '$(prefix)/libexec'.
	* t/transform3.test: Likewise.

2012-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
	    Bruno Haible  <bruno@clisp.org>

	tests: fix spurious failure on Mac OS X

	See automake bug#11306.

	* t/lex-libobj.sh: We used to pass LEXLIB='-L /lib' to the ./configure
	invocation, to prevent it from explicitly searching for a "lex library".
	But the linker on MacOS X 10.5 apparently chokes on that:

	  cc -g -O2  -o foo foo.o -L /lib yywrap.o
	  ld: file not found: /lib
	  collect2: ld returned 1 exit status

	So, we now instead pass LEXLIB=' ', which being non-empty is enough
	to prevent the search of a "lex library".  And since we are at it,
	enhance comments on this non-obvious usage.

2012-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: parallel make with vala

	* t/vala-parallel.sh: New test.
	* t/list-of-tests.mk: Add it.

2012-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: configure exit with status 77, not 1, if valac version is too old

	From a report by Bruno Haible in automake bug#1193.  This change should
	also automatically avoid spurious testsuite failures with older vala
	versions.

	* m4/vala.m4 (AM_PROG_VALAC): Exit with status 77, rather than 1, if
	the Vala compiler found older than the minimal required version (if
	any).  This is more consistent with what is done by other macros like
	AM_PROG_UPC or AC_PROG_CC.
	* NEWS: Update.
	* t/vala-headers.sh: Adjust, so that the test is only skipped of the
	vala compiler is too old or the required PKG_CHECK_MODULES third-party
	macro is not found by aclocal, and not if a generic error happens in
	the configure script.
	* t/vala-libs.sh: Likewise.
	* t/vala2.sh: Likewise.
	* t/vala3.sh: Likewise.
	* t/vala5.sh: Likewise.
	* t/vala-vpath.sh: Likewise (but don't check for the potential error
	with PKG_CHECK_MODULES, as that macro is not used in any way here).
	* t/vala4.sh: Adjust, to avoid the new semantic causing this test to
	skip instead of failing.

2012-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	refactor: processing of input makefile rules

	This is a pure refactoring, with no intended functional or semantic
	changes.  It breaks up an overly-long function in three smaller
	sub-functions.  This change will very especially useful for the work
	on Automake-NG.

	* lib/Automake/Rule.pm (define): Move quite a lot of code out, into ...
	(_rule_defn_with_exeext_awareness, _maybe_warn_about_duplicated_target,
	_conditionals_for_rule): ... these new subroutines.

2012-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	automake: refactor pre-processing of makefile fragments

	This change will provide the automake script with a new function that
	reads in a Makefile fragment *without* performing Automake ad-hoc parsing,
	but only the pre-processing step, i.e., removal of '##' comments and
	substitution of tokens like '%SUBDIRS%', '%?LIBTOOL%' or '?GENENRIC?'.

	This will very likely be useful for the work on Automake-NG.

	This is a pure refactoring, with no intended functional or semantic
	changes.

	* automake.in (preprocess_file): New function, extracted ...
	(make_paragraphs): ... from here.

2012-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: remove obsolete references to Autoconf 2.13

	Autoconf 2.13 is definitely obsolete today, so giving hints or caveats
	about it in the Automake documentation is not only obsolescent, but
	also counter-productive, as it suggests that autoconf 2.13 is still
	relevant.

	* doc/automake.texi: Adjust.  Related rewordings.  Since we are at it,
	prefer using a more modern autoconf version number (2.68 instead of 2.57)
	in an example showing how to correctly use 'AC_PREREQ' in third-party
	.m4 files.

2012-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure with non-ANSI terminals

	* t/ax/tap-summary-aux.sh: When checking colored testsuite output,
	be sure to export the TERM variable to the value "ansi"; otherwise
	the automake testsuite driver will not display colored output, not
	even if AM_COLOR_TESTS is exported to "always".  Failure revealed
	by NixOS Hydra.

2012-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	hacking: fix typo

	* HACKING (Test suite): Refer to file 't/README', not to the
	non-existent 'tests/README'.

2012-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: version bump after beta release

	* configure.ac (AC_INIT): Bump version number to 1.11e, as per
	HACKING suggestion.
	* NEWS: Likewise.
	* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).

2012-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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).

2012-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala tests: some enhancements

	* t/vala-vpath.sh, t/vala2.sh, t/vala3.sh, t/vala5.sh: Enhance a little.

2012-04-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-16  Jim Meyering  <meyering@redhat.com>

	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.

2012-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dist tests: fix reduced coverage due to typo

	* t/dist-formats.tap: Append to 'Makefile.am', not to 'Makefil.am'.

2012-04-13  Jim Meyering  <meyering@redhat.com>

	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.

2012-04-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  install: shell parameter expansions can be used in directory names

2012-04-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-pr11232' into maint

	* fix-pr11232:
	  install: shell parameter expansions can be used in directory names

2012-04-13  Dmitry V. Levin  <ldv@altlinux.org>

	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.

2012-04-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-12  Jim Meyering  <meyering@redhat.com>

	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.

2012-04-12  Jim Meyering  <meyering@redhat.com>

	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.

2012-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: document fixes for bug#11222 and bug#11229

	* NEWS (Bugs fixed in 1.11.5): New, documenting the fixes.

2012-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  vala: fix distcheck with c/vala mixed projects
	  vala: fix vapi files handling
	  vala: test vapi files handling (still failing)

2012-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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

2012-04-12  Marc-Antoine Perennou  <Marc-Antoine@Perennou.com>  (tiny change)

	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.

2012-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: fix typo

	* NEWS (Changes to Automake-generated testsuite harnesses): It's
	'perl', not 'per'.  Reported by Akim Demaille in a private mail.

2012-04-12  Marc-Antoine Perennou  <Marc-Antoine@Perennou.com>  (tiny change)

	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'.

2012-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
	    Marc-Antoine Perennou  <Marc-Antoine@Perennou.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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".

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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).

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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).

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: some auxiliary files synced from upstream

	* lib/texinfo.tex: Synced from upstream, by "make fetch".
	* lib/INSTALL: Likewise.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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'.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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

2012-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
	    Peter Rosin  <peda@lysator.liu.se>

	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.

2012-04-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove redundant requirement

	* tests/txinfo19.test ($required): Drop required "tex", it is not
	really needed.
	Add trailing ':' command since we are at it.

2012-04-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: make two test scripts executable

	* tests/instdir-cond.test: Add executable bit.
	* tests/instdir-cond2.test: Likewise.

2012-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	t/README: update w.r.t. recent overhaul (non-recursive build system)

	And other miscellaneous improvements since we are at it.

2012-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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".

2012-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	NEWS: automake build systems avoids make recursion

2012-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-04-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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'.

2012-03-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: remove useless import in automake script

	* automake.in (Automake::Version): This import is not needed;
	remove it.

2012-03-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  docs: deprecate 'cygnus' mode, help the transition

2012-03-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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'.

2012-03-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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'.

2012-03-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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).

2012-03-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: sync with branch-1.11, fix mis-merges

2012-03-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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'.

2012-03-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-26  Bruno Haible  <bruno@clisp.org>
	    Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: update THANKS

	* THANKS: Add entry for Tim Landscheidt.

2012-03-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: terminate unfinished sentence, fix reference to a test case

	* doc/automake.texi (Using the TAP test protocol): Here.

2012-03-24  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)

	docs: fix some small typos and grammaros

	* doc/automake.texi (Using the TAP test protocol): Here ...
	* tests/tap-doc2.test: ... and here.

2012-03-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: remove duplicated entries in $(TESTS)

	* tests/list-of-tests.mk (handwritten_TESTS): Remove duplicated
	entries for test cases 'extra-portability*.test'.

2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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

2012-03-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	aclocal: remove a couple of useless imports

	* aclocal.in (File::stat, Cwd): Remove these imports, they are not
	really required.

2012-03-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	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.

2012-03-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  python: avoid failures due to $(am__py_compile) being undefined
	  python: expose automake bug#10995

2012-03-15  Steven Drake  <sbd@NetBSD.org>  (tiny change)

	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.

2012-03-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	python: expose automake bug#10995

	* tests/python.test: Expose the bug in grepping tests.
	* tests/python-noinst.test: New functional test to expose the
	bug.
	* tests/list-of-tests.mk: Add it.
	* tests/Makefile.am (XFAIL_TESTS): Add the new test and the
	extended one.
	* THANKS: Update.

2012-03-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: one more use of 'unindent' function

	* tests/yacc-d-cxx.test (write_parse, write_main): Use 'unindent'
	instead of ad-hoc sed invocation to strip extra leading whitespace.

2012-03-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove redundant 'set -e' calls

	* tests/dist-pr109765.test: Do not set the 'errexit' shell flag,
	as it is already set by 'tests/defs'.
	* tests/instdir-cond.test: Likewise.
	* tests/instdir-empty.test: Likewise.
	* tests/lex-clean-cxx.test: Likewise.
	* tests/lex-clean.test: Likewise.
	* tests/lex-depend-cxx.test: Likewise.
	* tests/lex-depend.test: Likewise.
	* tests/lex-line.test: Likewise.
	* tests/lex-nodist.test: Likewise.
	* tests/lex-pr204.test: Likewise.
	* tests/silent-lex.test: Likewise.
	* tests/silent-yacc-headers.test: Likewise.
	* tests/silent-yacc.test: Likewise.
	* tests/vala-mix2.test: Likewise.
	* tests/yacc-auxdir.test: Likewise.
	* tests/yacc-bison-skeleton-cxx.test: Likewise.
	* tests/yacc-bison-skeleton.test: Likewise.
	* tests/yacc-clean-cxx.test: Likewise.
	* tests/yacc-cxx.test: Likewise.
	* tests/yacc-d-cxx.test: Likewise.
	* tests/yacc-deleted-headers.test: Likewise.
	* tests/yacc-depend.test: Likewise.
	* tests/yacc-depend2.test: Likewise.
	* tests/yacc-line.test: Likewise.
	* tests/yacc-mix-c-cxx.test: Likewise.
	* tests/yacc-weirdnames.test: Likewise.

2012-03-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  tests: avoid spurious failures in get-sysconf.test
	  scripts: bump the depcomp scriptversion
	  sync: some auxiliary files synced from upstream
	  coverage: an empty foo_PRIMARY should create directory $(foodir)
	  coverage: make sure am__py_compile is defined when needed
	  coverage: expose automake bug#10997
	  coverage: expose automake bug#10975
	  getopt: relax version requirement for perl

	+ Extra non-trivial edits:

	* tests/dist-pr109765.test: Use 'configure.ac', not 'configure.in'.
	* tests/instdir-cond.test: Likewise.
	* tests/instdir-empty.test: Likewise.

2012-03-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure with older m4

	Reported by Panther Martin in automake bug#10866, diagnosed by
	Panther Martin and Eric Blake.

	Older GNU m4 versions (e.g., 1.4.6) did error reporting at the end
	of an error construct rather than the beginning.  This was causing
	a spurious testsuite failure due to an off-by-one error in the line
	number reported in an aclocal diagnostic.

	* tests/cond41.test: Keep all the body of the 'AM_COND_IF'
	invocation on a single line, to avoid the off-by-one error.

2012-03-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failures in get-sysconf.test

	This change fixes the last bit of automake bug#10866.

	* tests/get-sysconf.test: When Homebrew spawns a build, even if
	from a project's VCS, it stages the files in a new temporary
	directory, instead of building directly from a VCS checkout.
	This behaviour was causing a spurious failure in this test, which
	expected to find either a ChangeLog file or a .git directory in
	the source directory (the former happening when the test was run
	from a distribution tarball, the latter when it was run from a
	git checkout).  The Homebrew issue shows that these expectations
	are not truly warranted, so relax the test to just give a warning,
	not a failure, in case they do not hold.  Since we are at it, fix
	an unrelated weakness in the displaying of the git log, which
	could have failed when the builddir was not a subdirectory of the
	srcdir.

2012-03-12  Peter Rosin  <peda@lysator.liu.se>

	scripts: bump the depcomp scriptversion

	* lib/depcomp (scriptversion): Bump, to account for recent changes.

2012-03-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: some auxiliary files synced from upstream

	* lib/texinfo.tex: Synced from upstream, by "make fetch".
	* lib/config.guess: Likewise.
	* lib/config.sub: Likewise.
	* lib/gnupload: Likewise.

2012-03-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: an empty foo_PRIMARY should create directory $(foodir)

	For example, a Makefile.am containing the definition:

	  pkgdata_DATA =

	should cause the 'install' rule of the generated Makefile.in to
	create the '$(pkgdatadir)' directory (respecting any DESTDIR
	setting as well).

	Suggestion by Peter Breitenlohner in automake bug#10997.

2012-03-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: make sure am__py_compile is defined when needed

	See automake bug#10995.

	* tests/python.test: Also make sure 'am__py_compile' is defined
	correctly in the generated Makefile.in.

2012-03-12  Daiki Ueno  <ueno@unixuser.org>  (tiny change)

	coverage: expose automake bug#10997

	* tests/instdir-cond.test: New test.
	* tests/list-of-tests.mk: Add it.
	* tests/Makefile.am (XFAIL_TESTS): Likewise.

2012-03-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: expose automake bug#10975

	* tests/dist-pr10975.test: New test.
	* tests/list-of-tests.mk: Add it.
	* tests/Makefile.am (XFAIL_TESTS): Likewise.

2012-03-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	getopt: relax version requirement for perl

	* lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former
	is enough.  See also commit 'v1.11-2054-g7df05a0' on master (dated
	04-03-2012).

2012-03-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  cosmetics: fix repeated changelog entry heading

2012-03-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix repeated changelog entry heading

2012-03-07  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'maint'

2012-03-07  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'msvc' into maint

	This merge remedies the confusing situation that some changes
	destined for both the master branch and the release branch (a.k.a.
	branch-1.11) currently needs to be made on the non-obvious msvc
	branch and not on the more natural maint branch.  This has caused
	a seemingly endless string of less than optimal commits.

	The reason for the confusion stems from the fact that the changes made
	on the msvc branch became too radical and was considered only suitable
	for the master branch, and was thus written in a form suitable for
	master and then merged there.  Later, the msvc branch was merged
	directly into branch-1.11, in order to rush the new features to the
	market and to keep the released scripts (lib/ar-lib, lib/compile and
	lib/depcomp) consistent with those on the master branch.  However,
	some changes had to be made to the features added by the msvc branch
	in order for them to fit the requirements of branch-1.11, notably that
	the warnings issued in the extra-portability class cannot be enabled
	by -Wall in the 1.11.x maintenance releases.

	In retrospect, it would have been better to not merge msvc directly
	into branch-1.11, but instead do it via the maint branch (followed up
	with a dummy merge from maint into master) the moment it was decided
	that the msvc changes should make it into branch-1.11.

	All in all, this merge is going to affect neither the master branch
	nor branch-1.11, since it is followed up with dummy merges masking all
	changes.  The merge is made to maintain the sanity of the poor
	developers, who wishes to once again have a working maint branch.

	Discussion about merging the msvc branch into branch-1.11:
	http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html

	Discussion about why this merge hasn't happened before:
	http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html

	Extra edits below.

	* lib/Automake/ChannelDefs.pm: Use the version from branch-1.11.
	* tests/ar-lib3.test: Likewise.
	* tests/ar-lib4.test: Likewise.
	* tests/extra-portability.test: Likewise.
	* tests/extra-portability2.test: Likewise.
	* tests/extradep.test: Likewise.
	* tests/extradep2.test: Likewise.
	* tests/list-of-tests.mk: Likewise.
	* HACKING: Backport the version from branch-1.11 while at it (as the
	change on branch-1.11 is also present on master via an unrelated
	commit), even though this change has nothing to do with the changes
	on the msvc branch.

2012-03-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove useless sleep from tests on remake rules

	The sleeps were there to make generated autotools files strictly
	newer than their sources; however, this is not necessary, since
	POSIX mandates that make considers files with the same timestamp
	of their dependencies to be up-to-date.

	* tests/remake9a.test: Remove useless $sleep.
	* tests/remake9b.test: Likewise.
	* tests/remake9c.test: Likewise.
	* tests/remake9d.test: Likewise.
	* tests/remake10a.test: Likewise.
	* tests/remake10b.test: Likewise.
	* tests/remake10c.test: Likewise.

2012-03-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'msvc' into master (dummy merge)

2012-03-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint' into msvc

	* maint:
	  news: describe recently-fixed bug in vala support
	  depcomp: add support for IBM xlc/xlC compilers

2012-03-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge remote-tracking branch 'origin/master'

2012-03-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  news: describe recently-fixed bug in vala support
	  depcomp: add support for IBM xlc/xlC compilers

2012-03-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: describe recently-fixed bug in vala support

	* NEWS (Long-standing bugs): Document fix for bug#10894, fixed
	by commit 'v1.11-696-g51f61df' of 27-02-2012.

2012-03-06  Michael Hofmannm  <hofma@googlemail.com>  (tiny change)

	depcomp: add support for IBM xlc/xlC compilers

	* lib/depcomp (xlc): New depmode.
	* NEWS, THANKS: Update.

2012-03-06  Peter Rosin  <peda@lysator.liu.se>

	tests: do not clobber the $CC set by AM_PROG_CC_C_O

	If $CC is originally a losing compiler, AM_PROG_CC_C_O will
	modify $CC.  "$MAKE -e" will then clobber this modified $CC
	and reintroduce the raw losing compiler causing the test
	to fail, as subdir-objects is in effect.

	* tests/yacc-dist-nobuild-subdir.test: Drop -e from the $MAKE
	invocations.  This is safe since DISTCHECK_CONFIGURE_FLAGS is not
	specified in the Makefile and since the YACC override is carried
	over from the configure invocation into the Makefile making it
	redundant to specifiy it again in the environment for $MAKE.

2012-03-06  Peter Rosin  <peda@lysator.liu.se>

	tests: explicitly state that our lexers do not require unistd.h

	By default, GNU flex generates code that is dependent on unistd.h,
	which is not portable to non-ANSI systems causing spurious test
	failures.

	* tests/cond35.test (tscan.l): Define YY_NO_UNISTD_H.
	* tests/lex-clean.test (lexer.l): Likewise.
	* tests/lex-depend.test (joe.l): Likewise.
	* tests/lex-lib-external.test (foo.l): Likewise.
	* tests/lex-lib.test (foo.l): Likewise.
	* tests/lex-libobj.test (foo.l): Likewise.
	* tests/lex-line.test (zardoz.l): Likewise.
	* tests/lex-nodist.test (lexer.l): Likewise.
	* tests/lex-noyywrap.test (foo.l): Likewise.
	* tests/lex-pr204.test (lexer.l): Likewise.
	* tests/lex-subobj-nodep.test (subl/sl.l): Likewise.
	* tests/lex3.test (foo.l): Likewise.
	* tests/lex5.test (foo/foo.l): Likewise.
	* tests/lexvpath.test (lexer.l): Likewise.
	* tests/silent-lex.test (foo.l): Likewise.
	* tests/silent-many-gcc.test (foo5.l): Likewise.
	* tests/silent-many-generic.test (foo5.l): Likewise.
	* tests/lex-clean-cxx.test (parsefoo.lxx): Likewise.  Also specify
	the never-interactive option to prevent usage of the non-ANSI
	function isatty(3) (from unistd.h).
	* tests/lex-depend-cxx.test (joe.ll): Likewise.
	* tests/README: Describe these quirks.

2012-03-06  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'msvc'

	* msvc:
	  scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile

2012-03-06  Peter Rosin  <peda@lysator.liu.se>

	scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile

	POSIX mandates that the compiler accepts a space between the -I,
	-l and -L options and their respective arguments.  See
	http://pubs.opengroup.org/onlinepubs/000095399/utilities/c99.html

	* lib/compile (func_cl_dashl): New function with factored out code
	for implementing the -l option for the cl wrapper.
	(func_cl_dashL): New function with factored out code implementing
	the -L option for the cl wrapper.
	(func_cl_wrapper): Use func_cl_dashl to implement both -l <lib>
	and -l<lib>, and func_cl_dashL to implement both -L <dir> and
	-L<dir>.  Also add support for -I <dir>.
	(scriptversion): Update.
	* tests/compile3.test: Test both with and without a space between
	-I, -l and -L and their respective arguments.
	* tests/compile5.test: Likewise.
	* tests/compile6.test: Likewise.
	* tests/compile3.test: Likewise.
	* NEWS: Update.

2012-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: drop 'Automake::Struct' module

	Now that we require Perl 5.6, we can drop the 'Automake::Struct'
	module, which was basically just a backport of Perl 5.6's
	'Class::Struct' to Perl 5.5.

	* automake.in: Use 'Class::Struct', not 'Automake::Struct'.
	* lib/Automake/Struct.pm: Delete.
	* lib/Automake/Makefile.am (dist_perllib_DATA): Remove it.

2012-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: require perl 5.6 throughout

	That version of perl is quite old already, so it should be OK to
	require it.  More importantly, it is the older perl versions the
	developers can currently use for testing, thus it's safer and more
	honest to just require it throughout.  And anyway, we were already
	requiring it in Automake::Getopt, which implied that both automake
	and aclocal wouldn't have worked in practice with an older perl
	version.

	See also the discussion related to automake bug#10925.

	* lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6.
	* lib/Automake/Channels.pm: Likewise.
	* lib/Automake/Condition.pm: Likewise.
	* lib/Automake/Configure_ac.pm: Likewise.
	* lib/Automake/DisjConditions.pm: Likewise.
	* lib/Automake/FileUtils.pm: Likewise.
	* lib/Automake/General.pm: Likewise.
	* lib/Automake/Item.pm: Likewise.
	* lib/Automake/ItemDef.pm: Likewise.
	* lib/Automake/Location.pm: Likewise.
	* lib/Automake/Options.pm: Likewise.
	* lib/Automake/Rule.pm: Likewise.
	* lib/Automake/RuleDef.pm: Likewise.
	* lib/Automake/Struct.pm: Likewise.
	* lib/Automake/VarDef.pm: Likewise.
	* lib/Automake/Variable.pm: Likewise.
	* lib/Automake/Version.pm: Likewise.
	* lib/Automake/Wrap.pm: Likewise.
	* lib/Automake/XFile.pm: Likewise.

2012-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: remove useless escaping for "'" character

2012-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: remove redundant and unused requirements

	* tests/defs (xsi-bin-sh, xsi-shell): Remove these requirements,
	they have never been used.
	(cygpath, cscope): Recognizing these explicitly is mostly redundant;
	just merge them with the default "catch all" rule, and adjust that
	accordingly.
	(bzip2): Adjust some outdated comments.

2012-03-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure on case-insensitive file systems

	See automake bug#10866.

	* tests/java-uninstall.test: Relax the test a little to cater to
	case-insensitive file systems, like HFS+ on MacOS X.

2012-03-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: more about planned backward incompatibilities

	* NEWS (Future backward-incompatibilities): Starting from the next
	major Automake versions, the parallel testsuite driver will be used
	by default, instead of the serial testsuite driver as in the past.

2012-03-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: fix few spurious failures

	* syntax-checks.mk: Fix some spurious failures by tightening and/or
	tweaking few checks so that some false positives end up whitelisted.

2012-03-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure due to exported MAKEINFO

	* tests/txinfo30.test: Unset variable MAKEINFO, as its content could
	take precedence over our faked makeinfo script and cause a spurious
	failure.  Reported as part of automake bug#10866.  Add trailing ':'
	command since we are at it.

2012-03-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure in a vala test

	* tests/vala-mix2.test: Append to 'configure.ac' rather than to
	'configure.in'.  Reported as part of automake bug#10866, and also
	revealed by "make maintainer-check".

2012-03-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	self checks: relax tests on cleanup

	Some find(1) implementations have problems operating recursively on
	directories having subdirectories with null permissions, even when
	the permissions of such subdirectory should be fixed by find before
	it descends into them; for example, with this setup:

	  % mkdir a a/b
	  % chmod 000 a/b

	a command like this:

	  % find a -type d ! -perm -700 -exec chmod u+rwx '{}' ';'

	fails with this diagnostic on MacOS X 10.7:

	  find: a/b: Permission denied

	and with this diagnostic on Solaris 10:

	  find: cannot read dir a/b: Permission denied

	The problem is that our self checks were simply demanding too much
	from our cleanup trap: our tests never use subdirectories with null
	permissions, so it doesn't matter if the cleanup trap fails to
	handle those.  Just relax the self checks to avoid such useless
	testsuite noise.

	* tests/self-check-cleanup.tap: Only try directories missing
	write permissions, not with null permission.  That should be
	enough for our usages.

2012-03-02  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'msvc'

	* msvc:
	  news: add entry about recent 'ar-lib' changes

2012-03-02  Peter Rosin  <peda@lysator.liu.se>

	news: add entry about recent 'ar-lib' changes

	* NEWS: Add information about recent 'ar-lib' changes.

2012-03-02  Peter Rosin  <peda@lysator.liu.se>

	scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib

	* lib/ar-lib: Implement the "q" (quick) action as a synonym
	for "r" (replace).  Ignore "s" (symbol index) and "S" (no symbol
	index) when used as modifiers and "s" when used as a command,
	there is simply no way for Microsoft lib to not update the
	symbol table index in the archive.
	(scriptversion): Update.
	* tests/ar-lib.test: Check the added behavior.  Also add checks
	for the recently added "u" (update) and "v" (verbose) modifiers.

2012-03-02  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'fix-vala-test'

	* fix-vala-test:
	  tests: fix (harmless) botched merge

2012-03-02  Peter Rosin  <peda@lysator.liu.se>

	tests: fix (harmless) botched merge

	Commit v1.11-1750-g9928ea5 of 2012-01-16 (Merge branch 'maint')
	reordered the macro calls so that AM_PROG_AR ended up after
	AC_PROG_LIBTOOL, which is not allowed.  This error went by
	undetected since AC_PROG_LIBTOOL was redefined, but that also
	removed the ordering requirement making the error benign.

	* tests/vala.test: Put AM_PROG_AR before AC_PROG_LIBTOOL.

2012-03-02  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'maint' into msvc

2012-03-01  Peter Rosin  <peda@lysator.liu.se>

	scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib

	* lib/ar-lib: Implement the "q" (quick) action as a synonym
	for "r" (replace).  Ignore "s" (symbol index) and "S" (no symbol
	index) when used as modifiers and "s" when used as a command,
	there is simply no way for Microsoft lib to not update the
	symbol table index in the archive.
	(scriptversion): Update.
	* tests/ar-lib.test: Check the added behavior.  Also add checks
	for the recently added "u" (update) and "v" (verbose) modifiers.

2012-02-29  Peter Rosin  <peda@lysator.liu.se>

	tests: do not try to use ar(1) when $AR points to something else

	* tests/libobj10.test: Move the archive listing commands to the
	Makefile, so that $AR - as determined by configure - can be
	used.
	* tests/libobj17.test: Likewise.

2012-02-29  Peter Rosin  <peda@lysator.liu.se>

	tests: make tests behave for the AR=lib case

	These below tests were left mostly as-is when AM_PROG_AR was
	introduced (with libobj16b being the exception, that test was
	forgotten or has regressed since), in a misguided attempt to
	not make them diverge from the original problem reports.

	Modernize them so that they do not FAIL when $AR is Microsoft
	'lib'.

	* tests/libobj16b.test: Add AM_PROG_AR to configure.ac and remove
	the no-longer-needed -Wno-extra-portability option when invoking
	automake.
	* tests/pr300-lib.test: Likewise.
	* tests/pr300-ltlib.test: Likewise.
	* tests/pr307.test: Likewise.
	* tests/pr401.test: Likewise.  Also fetch the 'ar-lib' script.
	* tests/pr401b.test: Likewise.
	* tests/pr401c.test: Likewise.

2012-02-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  vala: fix 'valac' calls for projects with mixed Vala/C
	  vala: expose automake bug#10894

2012-02-29  Dave Goodell  <goodell@mcs.anl.gov>  (tiny change)
	    Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure with Portland Compilers

	* tests/silent-many-generic.test (configure.ac): Be more careful
	in the workaround to avoid spurious failures with C++ compilers
	containing the string "CC" in their names; this avoids spurious
	failures with at least the Sun Studio C++ compiler (when named
	"sunCC") and the Portland Group C++ Compiler ("pgCC").
	Also handle arguments with whitespace correctly in the 'am--cxx'
	temporary wrapper.
	* THANKS: Update.

2012-02-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure when dependency tracking is unavailable

	Report by Dave Goodell.  See automake bug#8880.

	* tests/yacc-dist-nobuild.test: Run the sanity check that aims at
	ensuring we really cover the expected code paths in a new build
	directory, to avoid spurious failures when automatic dependency
	tracking is disabled.

2012-02-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: fix 'valac' calls for projects with mixed Vala/C

	Fixes automake bug#10894.

	* automake.in (lang_vala_finish_target): Strip non-vala files
	from the dependencies of vala stamps, and from the invocation
	of valac compiler.  Related refactorings.
	* tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'.

2012-02-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: expose automake bug#10894

	* tests/vala-mix2.test: New test.
	* tests/list-of-tests.mk: Add it.
	* tests/Makefile.am (XFAIL_TESTS): Likewise.
	* THANKS: Update.

2012-02-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: remove a duplicated copyright line

	* tests/list-of-tests.mk: Remove a duplicated copyright line.

2012-02-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: --program-transform shouldn't transform too much

	Stemmed from a report by Vladimir 'φ-coder/phcoder' Serbinenko:
	<http://lists.gnu.org/archive/html/automake/2012-02/msg00025.html>

	* tests/transform3.test: New test, checking that --program-transform
	does not transform too much stuff (in particular, pkglibexecdir,
	pgklibdir and pkgdatadir).
	* tests/list-of-tests.mk: Add it.
	* THANKS: Update.

2012-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure (line too long in awk)

	* tests/parallel-tests-many.test: Use perl, not awk, to write the
	Makefile.am with (deliberately) overly long TESTS content, as some
	inferior awk implementations (e.g., Solaris 10 /usr/bin/awk) are
	unable to handle the long lines used there and die with errors like:
	"awk: string too long near line 5".

2012-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failures when awk is "traditional awk"

	* tests/Makefile.am (do_subst): Also substitute '@AWK@'.
	* tests/defs-static.in ($AWK): New, user-overridable and defaulting
	to the substituted '@AWK@'.
	* tests/defs (fetch_tap_driver): When the shell+awk implementation
	of the TAP driver is required, export AM_TAP_AWK to point to a
	properly capable awk, since the default awk might be a "traditional"
	implementation, which won't be enough for our driver.  This is the
	right fix, since a proper setting of AM_TAP_AWK in the driver's
	environment is expected (and documented to be required) in real
	world uses of 'tap-driver.sh'.

2012-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid many 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 an entry
	in a "case" statement.

	* tests/defs (gcc, g++, gcj): Work around that.

2012-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	aclocal: don't create /usr/share/aclocal as empty

	Related to automake bug#10791.

	Since automake 1.11.2, aclocal no longer succeeds if the system
	acdir '${datadir}/aclocal' (i.e., "/usr/share/aclocal" when
	${prefix} is "/usr") does not exist.  So we now have a directory
	*installed empty by default*, but whose existence is required by
	aclocal in order for it to function at all.  This might be
	confusing, and sounds like asking for trouble in the long term.

	So we now also install a simple README file in that directory,
	which briefly explains its purpose and warn that its existence
	is required by the normal aclocal functioning.

	* m4/acdir/README: New file.
	* m4/Makefile.am (dist_system_ac_DATA): Add it.
	* m4/acdir/.placeholder: Delete, no more needed.
	* m4/Makefile.am (EXTRA_DIST): Remove it.
	* THANKS: Update.

2012-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	hacking: document format for git commit messages

	* HACKING (Writing a good commit message): New section.
	(Working with git): A related minor adjustment.

2012-02-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: improve 'dist-hook' documentation

	* doc/automake.texi (The dist Hook): Explicitly document the fact
	that the dist-hook should account for the case where the source
	tree is read-only, mostly for the benefit of distcheck.  Since
	we are at it, do some minor unrelated rewordings, and remove
	obsolescent advice.  Motivated by the discussion on automake
	bug#10878.
	* tests/disthook.test: New test.
	* tests/disthook-perms.test: Delete as obsolete.
	* tests/list-of-tests.mk: Adjust.

2012-02-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: improve "make distcheck" documentation

	* doc/automake.texi (Checking the Distribution): The fact that
	"make distcheck" uses a read-only srcdir wasn't documented clearly
	enough here.  Fix that.  Since we are at it, be more explicit
	about the steps undertaken by "make distcheck", and re-organize
	this section a bit.  Motivated by the discussion on automake
	bug#10878.
	(distcleancheck): Rename this node (in the "FAQ" section) ...
	(Errors with distclean): ... to this.
	Add a proper "FIXME" comment.

2012-02-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: proper capitalization and full stops in 'm4/depend.m4'

2012-02-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: dist-hook and distcheck-hook can modify file permission

	See automake bug#10878.

	* tests/dist-hook-perms.test: New test, checking that the user can
	use the 'dist-hook' target to modify permissions of distributed
	files before putting them in the distribution tarball.
	* tests/distcheck-writable-srcdir.test: New test, checking that the
	user can use 'distcheck-hook' to ensure his packages is built by
	"make distcheck" with a writable srcdir.  This goes against the GNU
	Coding Standards, but some package authors might not care about
	them too much, and it's nice to support their use case too.
	* tests/list-of-tests.mk: Add them.

2012-02-25  Jim Meyering  <meyering@redhat.com>

	tests: avoid spurious failure when gcj is not installed

	Since yesterday's commit, v1.11-2019-g4d2bf42,
	the gcj4 test would fail when gcj is not installed.

	* tests/defs-static.in (GNU_GCJ, GNU_GCJFLAGS): Define.
	* tests/Makefile.am (do_subust): Add those to the list of
	substituted symbols.

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: look for GNU Java compiler at configure time

	Do this for consistency with what is done with other compilers.

	* configure.ac: Look for GNU java compiler at configure time.
	* tests/defs (gcj): Adjust and simplify.
	($am__tool_prefix): Remove definition, it's not used anymore.

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	refactor: in Automake::Options (no semantic change)

	* lib/Automake/Options.pm: Prefer leading spaces to leading tabs
	throughout.  Minor whitespace and comment changes.
	(_process_option_list): Simple refactoring to make the code more
	pleasant to read and easier to modify in the future.  This
	refactoring also reduces code duplication, with the help of ...
	(_option_must_be_from_configure, _is_valid_easy_option): ... these
	new internal subroutines.
	* tests/tar3.test: Enhance.
	* tests/silent-amopts.test: New, checks that automake complains if
	the 'silent-rules' option is used in AUTOMAKE_OPTIONS.
	* tests/list-of-tests.mk: Add it.

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: typofixes and whitespace changes

	* configure.ac: Fix a typo in comments.
	* aclocal.in: Get rid of latest form-feed (^L) usages.
	* automake.in: Likewise.

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: looks for GNU compilers at configure time

	This way, if the generic C compiler determined configure time is
	recognized to be the GNU C compiler, we can reuse it instead of
	looking for a compiler named "gcc" (over and over again) in the
	test scripts requiring the GNU C compiler.  Ditto for the C++,
	Fortran, and Fortran 77 compilers.

	This change will improve coverage by allowing us to more easily
	use non-default GNU compilers throughout the testsuite.

	And as a bonus, this change also removes a weakness from our
	testsuite that could cause spurious failures when flags passed
	to the generic compilers were erroneously reused for the GNU
	compilers; see automake bug#10859.

	* configure.ac: Look for the GNU compilers explicitly.  Improve
	some configure output and diagnostic since we are at it.
	* tests/defs-static.in ($GNU_CC, $GNU_CXX, $GNU_FC, $GNU_F77):
	Initialize with the values determined at configure time (while
	allowing user overrides).
	* tests/Makefile.am (do_edit): Also substitute the configure-time
	values of GNU_CC, GNU_CXX, GNU_FC and GNU_F77.
	* tests/defs (gcc, g++, gfortran, g77): Use the values for the GNU
	compilers determined at configure time (i.e., $GNU_CC for the GNU
	C compiler, and so on).

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs, news: document planned removal of obsolete macros and features

	* NEWS (Future backward-incompatibilities): Document planned removal
	of several superseded and/or obsoleted macros, of the $(mkdir_p)
	variable and @mkdir_p@ substitution, and of the support for the
	two- or three-arguments invocation forms of AM_INIT_AUTOMAKE.
	* doc/automake.texi: Likewise.

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: remove reference to lzma support, it has been removed

	Support for lzma compression in distribution tarball has been
	removed in commit 'v1.11-1674-g02e9072' of 01-01-2012, "dist:
	remove support for lzma (superseded by xz and lzip)", but was
	still documented in the manual.

	* doc/automake.texi: Remove references to the 'dist-lzma' option
	and to the lzma compression support.

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fixlet in comment in automake

	* automake.in ($configure_dist_common): In the associated comment,
	refer to scanning of 'configure.ac', not 'configure.in'.

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: assume 'test -x' is portable

	* lib/Makefile.am (installcheck-local): To verify that the installed
	scripts are actually executable, simply use 'test -x', instead of
	resorting to perl and its '-x' file operator.  Today, 'test -x'
	should today be portable to any non-museum system.  Since we are at
	it, improve diagnostic in case of failure.

2012-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	deptrack: avoid few forks in configure (minor optimization)

	* m4/depend.m4 (_AM_DEPENDENCIES): Use 'echo > file' instead of
	'touch file' to ensure the creation of a dummy file.  Adjust the
	comment that explains why we can't simply use ': > file': the
	problem this latter idiom tickles is present also with Solaris 10
	/bin/sh, not merely with Solaris 8 /bin/sh.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: remove an obsolete check

	* syntax-checks.mk (sc_perl_local_no_parens): Remove, we don't even
	allow the use of local but for the '$_' and '$~' special variables.
	(syntax_check_rules): Adjust.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: update w.r.t. change in quoting format

	* NEWS (New in 1.11.1a): State that we prefer to quote 'like this'
	or "like this" rather than `like this', as according to the new GCS
	recommendations.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	automake: do not quote `like this', as per GCS recommendation

	* automake.in: Convert comments, diagnostic and help screen to the
	use of new quoting format 'like this' or "like this" rather than
	`like this'.
	* tests/stdlib2.test: Adjust.
	* tests/ltinstloc.test: Likewise.
	* tests/location.test: Likewise.
	* tests/libtool8.test: Likewise.
	* tests/ldadd.test: Likewise, and prefer trailing ':' over trailing
	'Exit 0'.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	aclocal: do not quote `like this', as per GCS recommendation

	* aclocal.in: Convert comments, diagnostic and help screen
	to the use of new quoting format 'like this' or "like this"
	rather than `like this'.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	pm: do not quote `like this', as per GCS recommendation

	This patch converts the internal perl modules used by automake and
	aclocal to the use of new quoting format 'like this' or "like this"
	rather than `like this'.

	* lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm,
	lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm,
	lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm,
	lib/Automake/General.pm, lib/Automake/Item.pm,
	lib/Automake/Rule.pm, lib/Automake/Getopt.pm,
	lib/Automake/Options.pm, lib/Automake/Struct.pm,
	lib/Automake/VarDef.pm, lib/Automake/Variable.pm,
	lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and
	adjust quoting format throughout, in comments and diagnostic.
	Some minor related rewordings and reformatting since we are
	at it.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	m4: do not quote `like this', as per GCS recommendation

	This patch converts the files comprising the automake's own build
	system to the use of new quoting format 'like this' or "like this"
	rather than `like this'.

	* m4/auxdir.m4, m4/ccstdc.m4, m4/depend.m4, m4/depout.m4, m4/tar.m4,
	m4/init.m4, m4/maintainer.m4, m4/make.m4, m4/missing.m4, m4/vala.m4,
	m4/mkdirp.m4, m4/sanity.m4, m4/silent.m4, m4/strip.m4: Update and
	adjust quoting format throughout, in comments and diagnostic.  Some
	minor related rewordings and reformatting since we are at it.  Bump
	serial numbers.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: do not quote `like this', as per GCS recommendation

	This patch converts the files implementing the automake's own build
	system to the use of new quoting format 'like this' or "like this"
	rather than `like this'.

	* bootstrap, configure.ac, syntax-checks.mk, Makefile.am,
	lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting
	format throughout, in comments and diagnostic.  Some minor related
	rewordings and reformatting since we are at it.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	hacking: update advice w.r.t. release process

	* HACKING: Don't describe the obsolete 'git-release' target anymore.
	Instead, document the new and improved targets 'git-tag-release' and
	'git-upload-release' (introduced in commit v1.11-674-gaf5f939 of
	25-01-2012, "release: revamp rules to tag and upload the releases").

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	hacking: do not quote `like this', as per GCS recommendation

	* HACKING: Quote 'like this' or "like this", not `like this'.  This
	is done for consistency with the new recommendations in the GNU
	Coding Standards, and because I've come to actually prefer the '...'
	and "..." quoting format over the `...' one.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	am: do not quote `like this', as per GCS recommendation

	This patch converts the automake-provided '*.am' fragments, and
	related files, to the use of new quoting format 'like this' or
	"like this" rather than `like this'.

	* lib/am/check.am: Update quoting format throughout, in comments
	and diagnostic.  Some related rewordings, reformatting, and removal
	of redundant commands since we are at it.
	* lib/am/configure.am: Likewise.
	* lib/am/dejagnu.am: Likewise.
	* lib/am/depend2.am: Likewise.
	* lib/am/distdir.am: Likewise.
	* lib/am/inst-vars.am: Likewise.
	* lib/am/install.am: Likewise.
	* lib/am/lang-compile.am: Likewise.
	* lib/am/lisp.am: Likewise.
	* lib/am/ltlib.am: Likewise.
	* lib/am/mans.am: Likewise.
	* lib/am/progs.am: Likewise.
	* lib/am/remake-hdr.am: Likewise.
	* lib/am/subdirs.am: Likewise.
	* lib/am/tags.am: Likewise.
	* lib/am/texi-vers.am: Likewise.
	* lib/am/texibuild.am: Likewise.
	* lib/am/texinfos.am: Likewise.
	* lib/am/yacc.am: Likewise.

2012-02-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: quote 'like this', not `like this', as per GCS recommendation

	This patch converts the automake testsuite and related files, to
	the use of new quoting format 'like this' or "like this" rather
	than `like this'.

	This is done for consistency with the new recommendations in the GNU
	Coding Standards, and, well, because I've come to actually prefer
	the '...' and "..." quoting formats over the `...' one.

	* tests/README: Update quoting format throughout.  Remove some
	"excessive" use of quoting, and throw in minor rewording where
	appropriate.
	* tests/Makefile.am: Likewise, for comments.
	* tests/CheckListOfTests.am: Likewise.
	* tests/defs-static.in: Likewise.
	* tests/defs: Likewise.
	* tests/trivial-test-driver: Likewise.
	* Many tests/*.tap, tests/*.test and tests/*.sh files: Likewise,
	and for the diagnostic and informational messages as well.
	* tests/gen-testsuite-part: Likewise, and for the generated tests
	as well.

2012-02-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	spy: "rm -f" and "rm -rf" without args are portable

	According to recent testing by Eric Blake, it seems that all
	non-museum rm(1) implementations don't complain if called without
	file operands, *if* the '-f' option is used.  This behaviour will
	likely be mandated by future versions of the POSIX standard as
	well.

	We'd like to start assuming this rm(1) behaviour in future Automake
	releases, in order to simplify some automake-provided cleanup rules.
	So, for the moment, we add a new "spy" test in our test suite, to
	try ensuring that all the rm(1) implementation we encounter "in the
	wild" truly behaves as expected in this regard.

	For more references, see this discussion on the bug-autoconf list:
	 <http://lists.gnu.org/archive/html/bug-autoconf/2012-02/msg00002.html>
	which sprang from coreutils bug#10819:
	 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10819>
	and brought to the POSIX issue#542:
	 <http://austingroupbugs.net/view.php?id=542>
	which has been accepted and will ensure that future version of the
	POSIX standards will mandate that 'rm' shouldn't complain if called
	without file operands, when the '-f' option is in use.

	* tests/spy-rm.test: New test.
	* tests/list-of-tests.mk: Add it.

2012-02-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failures under "make distcheck"

	* tests/tap-setup.sh: Pass also '-f' option to 'cp' invocations,
	so that files that have already been copied in without write
	permissions will still be overwritten where needed, instead of
	causing a spurious testsuite failure.  Issue seen when the
	testsuite is run under "distcheck".
	* tests/defs (get_shell_script): Remove target file before
	overwriting it, for the same reason.  Rework code flow a bit
	since we are at it.

2012-02-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: avoid spurious failure for 'parallel-tests-many.test'

	* tests/parallel-tests-many.test: Adjust grepping of "make check"
	and "make recheck" output to match the new format of the testsuite
	summary.  Remove redundant 'set -e' call since we are at it.

2012-02-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: prefer 'configure.ac' over 'configure.in'

	With this change, our testsuite now uses 'configure.ac' as the
	name for the typical autoconf input, instead of the obsolescent
	'configure.in' (which has been deprecated for several years, at
	least since autoconf 2.50).

	Most of the test cases changed by this commit have been
	automatically modified with this sed command (using GNU
	sed):

	  sed -i 's/\<configure\(\\\?\)\.in\>/configure\1.ac/g'

	* syntax-checks.mk (sc_tests_no_configure_in): New syntax check.
	(syntax_check_rules): Add it.
	* tests/defs: Create stub for autoconf input in 'configure.ac',
	not in 'configure.in'.  Adjust comments.
	($AUTOCONF, $AUTOHEADER, $AUTORECONF): Remove workaround for the
	infamous debian autoconf wrapper: we don't need such workaround
	anymore now that we name our autoconf input as 'configure.ac'.
	For more information, see commit v1.11-564-g63da492 "test defs:
	hack to support autoconf-wrapper programs" of 16-12-2011.
	* tests/README: Use 'configure.ac', not 'configure.in'.
	* Many many tests: Likewise.
	* tests/backcompat3.test: Adjust to avoid spurious failures.
	* tests/backcompat5.test: Likewise.
	* tests/missing6.test: Likewise.
	* tests/backcompat6.test: Likewise, and extend a bit since we
	are at it.

2012-02-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: expose automake bug#7868

	Expose the command-line length limit issue that can affect the
	Automake-generated parallel-tests harness, especially on systems
	where this limit is smaller (e.g., MinGW/MSYS).

	Suggestion by Bob Friesenhahn.

	* tests/parallel-tests-many.test: New test.  We have verified that
	it actually exposes the bug#7868, as it passes when we opportunely
	reduce the number of test cases in $(TESTS).  Checked on NetBSD 5.1
	64bit, Debian unstable 32bit, Solaris 10 64bit and Cygwin 1.5 32bit.
	* tests/list-of-tests.mk (handwritten_TESTS): Add it.
	* tests/Makefile.am (XFAIL_TESTS): Likewise.

2012-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove obsoleted "icc" requirement

	* tests/defs (icc): This requirement is not used anymore by any
	test case, so remove it.

2012-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: fix typo in tests/README

2012-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: "make installcheck" shouldn't run the testsuite twice

	* Makefile.am (installcheck-local): Remove.  The "installcheck"
	target provided by automake is already a recursive target, so
	there's no need to have an 'installcheck-local' recipe that
	manually recurse into 'tests/'.  In fact, such a manual recursion
	was causing the testsuite to be run twice by "make installcheck".

2012-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: minor fixlets and reorganization

	* NEWS: Get rid of form-feed characters (^L) throughout the file.
	Use separator lines instead (composed by 76 '~' characters), or
	just an extra blank lines for older less verbose entries (those
	predating the 1.8 release).
	(New in 1.11.3): Move description of planned future backward
	incompatibilities that won't make it to 1.12 ...
	(New in 1.11a): ... in here.  Quote 'like this', not `like this'.
	Other minor miscellaneous rewordings and fixlets.

2012-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: few typofixes

2012-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	automake: new option 'serial-tests'

	Currently, automake offers a 'parallel-tests' option to enable the
	use of the parallel testsuite harness in the generated Makefiles,
	but no option to explicitly state the intention of using the older
	serial testsuite driver (which is currently the default).

	This makes the parallel test harness seems like a second-class
	citizen (while actually it should be the other way around); more
	importantly, it will prevent us from making the parallel harness
	be the default one in future automake versions, since the users
	of the serial harness would then have no way to instruct automake
	to continue using it.

	We solve all of this by introducing a new 'serial-tests' option.

	* lib/Automake/Options.pm (_process_option_list): Recognize the
	new option, and related minor refactoring.
	* tests/serial-tests.test: New test.
	* tests/list-of-tests.mk: Add it.
	* doc/automake.texi: Update.
	* NEWS: Likewise.

2012-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a timestamp issue, and other minor buglets

	Reported by Panther Martin in automake bug#10848.

	* 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.

2012-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	automake: new option to print location of scripts and data files

	With this change, we add a new automake option '--print-libdir'
	that prints (on stdout) the path of the directory containing the
	Automake-provided scripts (e.g., 'missing' and 'install-sh') and
	data files (e.g., INSTALL or texinfo.tex).

	Suggestion by Nick Bowler.  See also automake bug#10473.

	* automake.in (parse_arguments): Handle the new option.
	(usage): Mention it.
	* doc/automake.texi (automake Invocation): Document it.
	* NEWS: Update.
	* tests/print-dir.test: New test.
	* tests/list-of-tests.mk: Add it.

2012-02-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: prefer the awk+sh TAP driver over the perl one

	We had completed our shell+awk implementation of the TAP driver
	months ago, but never documented it in the manual, continuing to
	document only the "prototype" written in perl instead.  Time to
	fix this, before the 1.12 release.

	* doc/automake.texi (Use TAP with the Automake test harness): Now
	we document the use of the awk+shell implementation of our TAP
	driver, rather than of the perl one.
	* tests/tap-doc2.test: Adjust to use the shell+awk implementation
	of the TAP driver.

2012-02-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: be stricter in determining whether "make -jN" works

	* tests/parallel-tests3.test: With at least Solaris 10 CCS make,
	"make -jN" does not fail, but merely prints a warning about
	"DistributedMake -j option" being ignored.  This was causing this
	test case to fail spuriously.  So we now use a stricter check in
	determining whether make works in parallel mode.  Since we are at
	it, we try to cater also to Sun Distributed make, which understands
	"-j N" but *not* "-jN".

2012-02-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: don't trust exit status of "make -k"

	* tests/parallel-tests-extra-programs.test: Unless $MAKE is GNU
	make, don't trust the exit status of "$MAKE -k".  Fixes a spurious
	failure with OpenBSD 5.0 make and NetBSD 5.1 make.

2012-02-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix race condition in 'self-check-dir.tap'

	* tests/self-check-dir.tap (do_check): Don't fail if "ls -l" fails.

2012-02-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: fix another BSD parallel make issue

	When BSD make is run in parallel mode, it apparently strips any
	leading directory component from the automatic variable '$*' (of
	course, against what POSIX mandates).  This was causing FreeBSD 9.0
	make and NetBSD 5.1 make to spuriously fail with automake-generated
	test harnesses if subdir tests were present *and* make was being
	run in parallel mode.  This issue affected also the Automake own
	testsuite.

	* lib/am/check2.am (am__set_b): New internal variable.
	(%OBJ%, %EXT%.log, %EXT%$(EXEEXT).log): Use it to work around
	the described BSD make issue.
	* tests/parallel-tests3.test: Enhanced to expose the bug.
	* tests/parallel-tests-subdir.test: Enhance a little, since we
	are at it.
	* NEWS: Update.

2012-02-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid FreeBSD make VPATH issues in more tests (see bug#7884)

	See also similar change 'v1.11-755-g818bc40' of 07-02-2012,
	"tests: work around bug#7884 in many yacc/lex tests".  The
	rationale for this change is basically the same.

	* tests/lex-lib-external.test: Use "yl_distcheck" instead of
	bare "$MAKE distcheck" to avoid extra failures caused by
	automake bug#7884.
	* tests/lex-noyywrap.test: Likewise.
	* tests/lex-libobj.test: Likewise.
	* tests/man6.test: This test suffers from the same FreeBSD make
	incompatibility in VPATH handling that is the source of automake
	bug#7884.  Since this is caused by rules that are defined in the
	Makefile.am by the test itself, rather that being generated by
	automake, the best thing to do is to skip this test if we detect
	the presence of said make incompatibility (through the function
	'useless_vpath_rebuild').
	* tests/man8.test: Likewise.

2012-02-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: remove extra trailing whitespace in configure.ac

2012-02-18  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'yacc-quote-fix'

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure with FreeBSD make

	* tests/parallel-tests-extra-programs.test: FreeBSD make seems to
	write (some) diagnostic messages on stdout instead than on stderr,
	so now we also grep the stdout for the expected make diagnostic.

2012-02-17  Peter Rosin  <peda@lysator.liu.se>

	tests: fix broken quoting in the generated yacc grammar

	Fixes problem introduced by v1.11-1912-ge0906b7 "tests: avoid
	spurious failure with non-bison yacc" from 12-02-2012.

	* tests/suffix10.tap (Makefile.am): Avoid outer single quotes
	when we need to produce single quotes.

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: always use correct path for automake/aclocal wrappers

	Otherwise, bootstrapping from a git checkout won't work anymore.
	Issue introduced in today's commit 'v1.11-1974-ga98e58f'.

	* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Export PATH in a
	way that makes the automake and aclocal wrappers truly accessible
	(the location of this wrappers has been modified in a recent commit,
	but this makefile hadn't been updated accordingly).
	(update_mans): Likewise.

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure in VPATH build

	* tests/self-check-dir.tap: Adjust to handle running in a VPATH
	build correctly.

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix many spurious failures in VPATH builds

	The 'is' helper script, used by some test cases since commit
	'v1.11-1830-g96401cb' of 08-02-2012, "tests: better way to compare
	lists in Makefile rules", is not available in VPATH builds, since
	it resides in $(srcdir), nor in $(builddir), and only $(builddir)
	is added to $PATH in the test script.  This was causing spurious
	failures.

	Solve this issue by re-organizing a bit the layout and placing of
	wrapper and help scripts used by the testsuite.  This reorganization
	is by no mean complete, but should be enough to solve the VPATH
	issues.

	* tests/is: Moved ...
	* tests/ax/is: ... here
	* tests/automake.in: Moved ...
	* tests/wrap/automake.in: ... here.
	* tests/aclocal.in: Moved ...
	* tests/wrap/aclocal.in: ... here.
	* tests/defs-static.in ($am_bindir, $PATH): Adjust.
	* configure.ac (AC_CONFIG_FILES): Likewise.
	* tests/Makefile.am (EXTRA_DIST, check_SCRIPTS): Likewise.
	* tests/get-sysconf.test: Likewise.
	* .gitignore: Likewise.

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: relax a test to cater to NetBSD make

	* tests/parallel-tests-empty-testlogs.test: When $(TESTS) is empty,
	NetBSD 5.1 make ends up defining $(TESTS_LOGS) to ".log" rather than
	to the empty string (as would be expected).  This behaviour was
	causing a check in this test case to fail.  But that check was in
	fact overly strict, since our recipes are smart enough to work
	around the botched-up substitution.  Also, the failure wasn't a
	regression from Automake 1.11, since that version too would have
	triggered the same error with NetBSD 5.1 make.  So we just relax
	the test a little to avoid extra noise in the testsuite.

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)

	* lib/am/header-vars.am (am__make_dryrun): Be smarter and more
	correct in handling shell metacharacters in $(MAKEFLAGS).

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: TAP-based tests should error if no plan was specified

	After this change, it will still be OK for TAP-based tests not to
	report any explicit TAP plan -- but they should state *explicitly*
	that they want to do so, by calling the 'plan_' function with a
	proper argument (currently, either "later" or "unknonwn").

	Motivated by a recent issue introduced by yesterday's commit
	'v1.11-1959-g0699a84' (pointed out by Peter Rosin, and fixed
	by follow-up commit 'v1.11-1961-gea44190').

	* tests/tap-functions.sh (plan_): Get rid of '$have_tap_plan_',
	and refactor use and initialization of '$planned_' in a way that
	will allow client script to get more information on which kind
	of plan (if any) has been declared by the former 'plan_' invocation.
	(skip_all_): Adjust.
	* tests/defs (exit trap): Only print the "lazy" TAP plan if 'plan_'
	has requested that *explicitly*.
	* syntax-check.mk (sc_tests_tap_plan): Remove: it's obsolete now,
	since a TAP-based test that doesn't call 'plan_' explicitly won't
	print any TAP plan, and the TAP driver will catch that and report
	an error.
	(syntax_check_rules): Adjust.

2012-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: expose $(am__dry_run) limitations

	Currently, the internal $(am__dry_run) macro can fail in weird ways
	when $(MAKEFLAGS) contains shell metacharacters.  Let's expose this
	limitation in the testsuite (and fix a couple of related weaknesses
	since we are at it).

	* tests/make-dryrun.test: Moved ...
	* tests/make-dryrun.tap: ... here, converted to TAP, and extended to
	expose the described limitations.  Also ...
	(am_parallel_tests): Define this so that the 'gen-testsuite-part'
	script won't generate a useless wrapper script.
	* test/list-of-tests.mk: Update.

2012-02-17  Peter Rosin  <peda@lysator.liu.se>

	cosmetics: fix commit message typo in previous

	* .git-log-fix: The file is called .git-log-fix, nothing else.

2012-02-17  Peter Rosin  <peda@lysator.liu.se>

	fixup: .git-log-fix should not be executable

	* .git-log-fix: Set mode 644.

2012-02-17  Peter Rosin  <peda@lysator.liu.se>

	maint: support amending the generated ChangeLog, and fix a typo

	* Makefile.am (gitlog_to_changelog_options): Add support for
	amending the generated ChangeLog.
	(EXTRA_DIST): Update.
	* .git-log-fix: New file with things to amend to the generated
	ChangeLog, starting with a fix for a typo in v1.11-1963-g3b369e6
	"maint: use AC_PACKAGE_BUGREPORT to avoid duplication" from
	yesterday.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: normalize copyright notice in some tests

	* tests/lisp3.test: Normalize copyright notice to read the
	same of that of other tests.
	* tests/lisp4.test: Likewise.
	* tests/lisp5.test: Likewise.
	* tests/lisp6.test: Likewise.
	* tests/lisp7.test: Likewise.
	* tests/lisp8.test: Likewise.
	* tests/lispdry.test: Likewise.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: fix grammaro

	Reported by Eric Blake.

	* README: Use "also has" instead of "has also"; the former sounds
	better to a native speaker.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: use AC_PACKAGE_BUGREPORT to avoid duplication

	* configure.ac: In the message reporting whether the user is about
	to build an alpha or beta version, use the autoconf-provided
	AC_PACKAGE_BUGREPORT macro instead of duplicating the bug reporting
	address.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	readme: update and renew

	* README: Remove stale or now-obvious description and advices.
	Add reference to the INSTALL file.  Some minor rewordings.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	depcomp tests: fix up today's botched commit

	Today's commit 'v1.11-1959-g0699a84' has caused the generated
	'depcomp*.tap' tests to call the 'plan_' function *before* it is
	defined, and has also caused the extra checks required for better
	libtool coverage to be run only when libtool is *not* in use,
	rather than the other way around.  Fix this mess.

	Report by Peter Rosin.

	* tests/gen-testsuite-part: Include './defs' in the generated
	tests, rather than doing so from 'depcomp.sh'.  Adjust the count
	of TAP tests for 'depcomp-lt-auto.test' (it's 84, not 72).
	* tests/depcomp.sh: Adjust accordingly, and fix inverted logic
	about the decision of when to run extra checks for libtool.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: clearer diagnostic if "make" is invoked before "./configure"

	Since a GNUmakefile wrapper has been introduced in our build
	system, a "make" invocation issued before a "./configure" one
	has caused GNU make to die with the cryptic message:

	  GNUmakefile:18: Makefile: No such file or directory
	  GNUmakefile:19: /syntax-checks.mk: No such file or directory
	  make: *** No rule to make target `/syntax-checks.mk'.  Stop.

	* GNUmakefile: Detect when we are being run from an unconfigured
	tree, and give helpful diagnostic.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	depcomp tests: put TAP plan in generated tests

	This avoids a spurious maintcheck failure, and also simplifies
	the 'depcomp.sh' helper script a little.

	* tests/gen-testsuite-part: Create and place also a proper 'plan_'
	call (to emit the TAP plan) in each generated 'depmod*.tap' test.
	* tests/depcomp.sh: Remove 'plan_' invocations, and simplify a
	little since we are at it.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	update-copyright: don't touch COPYING and INSTALL

	Reported by Peter Rosin.

	* update-copyright: Also exclude the COPYING and INSTALL files
	found in the top-level directory.
	* COPYING, INSTALL: Revert update of copyright years done in
	today's commit 'v1.11-1948-g641a5a4'.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: whitelist some false positives

	Instead of tweaking or dumbing down some of our sources or tests
	in order not to make them spuriously trigger few maintainer checks,
	we tweak such checks instead.

	* syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Also
	allow the variable 'exp' to be overridden on the make command line.
	Whitelist the test 'make-dryrun.test' where appropriate.
	(sc_mkinstalldirs): When whitelisting the 'mkinstalldirs' occurrence
	in 'lib/Makefile.am', do not look for the exact line number: it is
	obviously too fragile.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure with parallel make

	* tests/parallel-tests-extra-programs.test: Run make with the '-k'
	option where appropriate, to ensure it doesn't stop at the first
	error, which would prevent the building of the extra programs we
	expect it to build.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure on older Cygwin

	* tests/tap-signal.tap: Sending a SIGQUIT on Cygwin 1.5 can cause a
	segmentation fault instead (sometimes at least).  Don't let this
	older bug pollute the results of our testsuite.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: display captured make stdout in 'tap-signal.tap'

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure in 'suffix3.tap'

	* tests/suffix3.tap (foo.zoo): This C++ file fails to compile with
	older g++ (3.4.4) on Cygwin 1.5.25 if we #include <iostream>.  Don't
	do that, since it's not strictly required, and the "using namespace"
	directive is already enough to ensure the file contents is valid C++
	but invalid C.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: fix typo in description of AM_YFLAGS

	Report by Akim Demaille.

	* doc/automake.texi (Program variables): Don't list "-d -t" twice
	in the examples of valid ways to specify the '-d' flag to Yacc;
	instead, use "-d -t" and "-t -d".  Add missing period.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: another spurious failure with older autoconf fixed

	* tests/aclocal8.test (configure.in): Also call 'AC_INIT', it's
	required by some older autoconf versions (e.g., 2.63).
	* tests/acloca15.test: Likewise.  Add trailing ':' command since
	we are at it.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure with older autoconf

	* 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.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: sync auxiliary files from upstream

	* lib/texinfo.tex: Synced from upstream, by "make fetch".
	* lib/config.guess: Likewise.
	* lib/config.sub: Likewise.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: run "make update-copyright"

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: add some missing copyright notices

	* tests/ChangeLog-old: Add copyright notice.
	* tests/aclocal.in: Likewise.
	* tests/automake.in: Likewise.
	* tests/extract-testsuite-summary: Likewise.
	* tests/prove-runner: Likewise.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  update-copyright: don't touch files synced from external packages

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	update-copyright: don't touch files synced from external packages

	* Makefile.am (update-copyright): Do not update copyright years of
	files synced from external packages, as given by the '$(FETCHFILES)'
	variable.  Silence the recipe since we are at it.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'extra-dist-tests-ksh-bug'

	* extra-dist-tests-ksh-bug:
	  tests: fix spurious failure when testing wildcards in EXTRA_DIST

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure when testing wildcards in EXTRA_DIST

	* tests/extra10.test: Remove the "make distcheck" call, since, at
	least with GNU make 3.82, it trips on the fact that $(srcdir) is
	not explicitly used in the wildcard in EXTRA_DIST.

2012-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  fixup: distribute 'lib/update-copyright'

2012-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: distribute 'lib/update-copyright'

	While the 'update-copyright' script shouldn't be needed by final
	users, that's not a good reason to keep it out by the distribution,
	as doing so might be unhelpful toward occasional but curious users
	interested in peeking into the automake build system.

	* lib/Makefile.am (EXTRA_DIST): Distribute 'update-copyright'.

2012-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: prefer $(GIT) over hard-coded "git" in maintainer recipes

	* Makefile.am (update-copyright, autodiffs): Use '$(GIT)' instead
	of hard-coding 'git'.

2012-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  maint: add a rule to use gnulib's update-copyright

2012-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'extra-dist-tests-ksh-bug'

	* extra-dist-tests-ksh-bug:
	  tests: avoid ksh bug for wildcards in EXTRA_DIST

2012-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'yl-work-for-master'

	* yl-work-for-master: (44 commits)
	  tests: truly use Lex and Yacc selected by configure
	  news: fix grammaros related to Yacc
	  yacc/lex tests: avoid spurious skips with non-GNU make
	  fixup: remove double news entry
	  tests: workaround for shells with broken 'set -e'
	  tests: avoid spurious failure with non-bison yacc
	  tests: fix spurious failures due to missing 'yywrap()' function
	  fixup: list of yacc/lex tests was botched
	  tests: work around bug#7884 in many yacc/lex tests
	  yacc/lex tests: remove an unneeded workaround for bug#8485
	  yacc/lex tests: avoid too much failures with FreeBSD make
	  yacc-dist-nobuild.test: add reference to bug#7884
	  yacc tests: fix bug in 'yacc-cxx.test'
	  lex tests: fix spurious link errors on Solaris
	  lex: "make clean" removes .c files from non-distributed .l
	  lex tests: make test on Lex dependency tracking more "semantic"
	  lex tests: remove erroneous check about ylwrap distribution
	  yacc tests: "make clean" removes C++ files from non-distributed .y
	  tests: add a workaround for automake bug#8485
	  tests: add a couple of inter-tests reference
	  ...

2012-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cscope: is only expected to work with GNU make in VPATH setup

	The 'cscope' functionality does not properly handle VPATH rewrites;
	so we explicitly document that, for now, it is only ensured to work
	with GNU make when doing a VPATH build, and we adjust testsuite
	requirements accordingly.

	Issue revealed by a failure of 'cscope.test' with Solaris 10 CCS
	make.

	* doc/automake.texi (Tags): Document the limitations of the cscope
	support.  Couple of fixlets to formatting since we are at it.
	* tests/cscope.test: Converted to TAP, and thus moved ...
	* tests/cscope.tap: ... here.  Only run tests with VPATH builds when
	using GNU make.  Adjust so that no C, C++, Fortran or Java compiler,
	nor any Emacs program, will be required to run this test.
	* tests/list-of-tests.mk: Adjust.

2012-02-14  Jim Meyering  <meyering@redhat.com>

	maint: add a rule to use gnulib's update-copyright

	* lib/update-copyright: New file, from gnulib.
	* Makefile.am (FETCHFILES): Add update-copyright to the list.
	(fetch): Fetch it.
	(update-copyright): New rule.

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'doc-no-history'

	* doc-no-history:
	  docs: move chapter on automake history out of main manual

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	check: fix test-suite.log formatting with NetBSD sed

	* lib/am/check.am (am__rst_section): Tweak to ensure en extra final
	newline is printed also with NetBSD sed.  Issue revealed by a
	failure of 'test-metadata-global-result.test'.
	* tests/rst-formatting.test: New test, checking the internal
	variables '$(am__rst_title)' and '$(am__rst_section)'.
	* tests/list-of-tests.mk: Add it.

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid ksh bug for wildcards in EXTRA_DIST

	Some shells, like NetBSD 5.1 /bin/ksh, have a bug that causes
	wildcards resulting from an unquoted parameter expansion not to
	be expanded as expected in some cases:

	    $ touch a b c d
	    $ /bin/sh -c 'var="[ab]" && echo $var' # As expected.
	    a b
	    $ /bin/ksh -c 'var="[ab]" && echo $var' # Oops.
	    [ab]
	    $ /bin/ksh -c 'var="?" && echo $var' # But this as expected.
	    a b c d

	This was causing a failure in our testsuite.  Work around that.

	See also:
	<http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00149.html>

	* tests/extra11.test: Work around the described issue by using the
	$(wildcard) builtin in the EXTRA_DIST definition.  This is not a
	problem, since this test was assuming GNU make anyway.  Since we are
	at it, enhance coverage a little by also running "make distcheck".
	* tests/extra10.test: Similarly, enhance coverage by also running
	"make distcheck", and fix a minor bug in the process.  But continue
	using a "bare" wildcard expression in EXTRA_DIST, without involving
	the $(wildcard) builtin, to ensure coverage of similar usages "in
	the wild".

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-tap-signal-test'

	* fix-tap-signal-test:
	  fixup: fix test tap-signal.tap to avoid false negatives

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: fix test tap-signal.tap to avoid false negatives

	Problem introduced by yesterday commit v1.11-1851-g79b2c6a,
	"tests: avoid yet other spurious failures on NetBSD"

	* tests/tap-signal.tap: Truly ensure the exit status of the make
	call under test is correctly reflected in the TAP result displayed
	by the corresponding 'command_ok_' invocation.

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  fixup: do not tickle makefile-deps.test with the make_dryrun code
	  gitattributes: custom merge driver for ChangeLog not needed anymore
	  gitattributes: use "union" merge driver for NEWS

2012-02-14  Peter Rosin  <peda@lysator.liu.se>

	fixup: do not tickle makefile-deps.test with the make_dryrun code

	* lib/am/header-vars.am (am__make_dryrun): Avoid code matching
	'^ *:' in the Makefile, as that tickles makefile-deps.test.

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gitattributes: custom merge driver for ChangeLog not needed anymore

	* .gitattributes: We don't maintain a version-controlled ChangeLog
	file anymore, so we have no need to specify a custom merge driver
	for it anymore.  Update accordingly.

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gitattributes: use "union" merge driver for NEWS

	This should help in reducing the spurious merge conflicts for the
	NEWS file, which have already caused a great deal of confusion and
	wasted time.

	Suggestion by Eric Blake:
	http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00119.html

	* .gitattributes (NEWS): Use the "union" merge driver.

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: truly use Lex and Yacc selected by configure

	When 'yacc-work' was merged into 'yl-work-for-master' in commit
	v1.11-1910-ge6c40d4 (12-02-2012), the values for $YACC and $LEX
	stopped being substituted directly by config.status, and started
	being substituted by a Makefile rule using the contents of the
	$(YACC) and $(LEX) makefile variables.

	Unfortunately, our configure.ac was calling AM_SUBST_NOTMAKE on
	'YACC' and 'LEX' (see commit v1.11-284-g34ca92b of 29-01-2011,
	"tests: don't define YACC and LEX in the Makefiles", for a
	rationale), so that the $(YACC) and $(LEX) in the Makefile simply
	hold the default make-provided values (that is, "yacc" and "lex"
	respectively), independently of what yacc and lex programs were
	defined at configure time.

	Apart from reducing coverage and creating confusion, this behaviour
	also caused spurious failures on systems lacking a yacc and/or lex
	programs.

	Problem reported by Peter Rosin.  References:
	 <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00131.html>
	 <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00132.html>

	* configure.ac (AM_SUBST_NOTMAKE): Don't call anymore on 'YACC' nor
	on 'LEX'.

2012-02-14  Peter Rosin  <peda@lysator.liu.se>

	depcomp tests: do not specify LDFLAGS for static libraries

	Commit v1.11-1848-gb3f34ca accidentally specified LDFLAGS
	for libbaz even when built as a static library, which is
	not allowed.

	* tests/depcomp.sh (src/Makefile.am): Don't add any LDFLAGS
	when libbaz is built as a static library.

2012-02-14  Peter Rosin  <peda@lysator.liu.se>

	depcomp tests: avoid redundant runs for non-libtool test

	When running the dependency tests without libtool, it's
	not meaningful to run the tests three-fold, the libtool
	configure options are simply ignored anyway.

	* tests/depcomp.sh: Only run the tests three-fold when
	libtool is in use.

2012-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid yet other spurious failures on NetBSD

	* tests/tap-signal.tap: Add a "strategically placed" extra 'echo'
	command and a temporary silencing of xtraces; they are required
	to avoid possible garbled output with NetBSD make, which would
	miss some final newlines in the expected places and thus mess up
	our TAP output.

2012-02-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid a spurious failure on NetBSD

	* tests/test-driver-is-distributed.test: Rewrite to avoid having to
	edit configure.in; such editing was subtly botched on NetBSD (the
	'AC_CONFIG_AUX_DIR' call got misplaced, ending up *before* the
	'AC_INIT' call), and that caused an hard-to-track bug.  Since we
	are at it, extend coverage a little.

2012-02-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure with NetBSD /bin/ksh

	* tests/parallel-tests-fd-redirect-exeext.test (configure.in): Tweak
	so that we don't end up with the generated configure script having
	two nested subshells that start with '((':

	  ((./conftest$EXEEXT 9>&1) | grep "^foobar") >&5 2>&5

	which is unportable and could confuse some shells (e.g., NetBSD 5.1
	/bin/ksh) into thinking we are trying to perform an arithmetic
	operation.

2012-02-13  Peter Rosin  <peda@lysator.liu.se>

	tests: increase coverage for depcomp tests

	On platforms requiring that no undefined symbols exist in order
	to build shared libraries (e.g. Windows DLLs), you have to
	explicitly declare that the libtool library you are building
	does not actually have any undefined symbols, for libtool to
	even try to build it as a shared library.  Without that
	explicit declaration, libtool falls back to a static library
	only, regardless of any --enable-shared flags etc.

	tests/depcomp.sh (Makefile.am): Add -no-undefined if a libtool
	library (.la) is built.
	(src/Makefile.am): Likewise.

2012-02-13  Peter Rosin  <peda@lysator.liu.se>

	news: fix grammaros related to Yacc

	* NEWS: Fix some grammaros and typos.

2012-02-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	yacc/lex tests: avoid spurious skips with non-GNU make

	* tests/defs (useless_vpath_rebuild): Fix botched logic that
	was causing this function to always diagnose non-GNU make
	implementations as being affected by the "useless rebuilds
	in VPATH setup" bug (that affects FreeBSD make and causes
	automake bug#7884).

2012-02-13  Peter Rosin  <peda@lysator.liu.se>

	fixup: remove double news entry

	* NEWS: Remove double (stale) news entry introduced by a botched
	merge.

2012-02-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: workaround for shells with broken 'set -e'

	* tests/dist-formats.tap: Some versions of the BSD 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 a "case" statement.  This was causing an incorrect initialization
	of the '$missing_compressors' variable, and thus potential spurious
	failures when non-existing programs were assumed to be available.

2012-02-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: workaround for shells with broken 'set -e'

	* tests/yacc-cxx.test: Some versions of the BSD shell wrongly bail
	out when the 'errexit' shell flag is active if the left-hand
	command in a "&&" list fails and such list is the *last* command
	of a "for" or "while" loop or of an "if" construct.  Work around
	this issue.
	* tests/check12.test: Likewise.

2012-02-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure with non-bison yacc

	Issue revealed by a failure on NetBSD 5.1.

	* tests/suffix10.tap (Makefile.am): Adjust the rule generating
	the '.y' files so that such files won't use bison-only features.

2012-02-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failures due to missing 'yywrap()' function

	The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
	the "lex library" expected to provide a 'yywrap' function (function
	which is required to link most lex-generated programs).  On the
	contrary, when all the link attempts (i.e., with '-ll' and '-lfl')
	fail, configure declares that no lex library is needed, and simply
	proceeds with the configuration process -- only for the build to
	possibly fail later, at make time.

	This behaviour is intended; the Autoconf manual reads:

	  You are encouraged to use Flex in your sources, since it is
	  both more pleasant to use than plain Lex and the C source it
	  produces is portable.  In order to ensure portability, however,
	  you must either provide a function 'yywrap' or, if you don't use
	  it (e.g., your scanner has no '#include'-like feature), simply
	  include a '%noyywrap' statement in the scanner's source.

	This AC_PROG_LEX behaviour is causing some spurious failures of
	the Automake testsuite in environments which lack a proper library
	providing 'yywrap' (this happens for example on Fedora-based
	systems).   The proper workaround is to simply provide a fall-back
	implementation of 'yywrap' in our lexers.

	See also similar commits 'v1.11-546-gca0ba5d' (24-10-2011),
	'v1.11-1085-gb5c3968' (24-10-2011) and 'v1.11-871-geb147a1'
	(25-05-2011).

	* tests/lex-clean.test: Provide a dummy 'yywrap' function.
	* tests/lex-line.test: Likewise.
	* tests/lex-nodist.test: Likewise.
	* tests/lex-depend.test: Likewise.
	* tests/lex-clean-cxx.test: Move the dummy 'yywrap' function
	from the main '.cc' file into the '.lxx' file, so that it won't
	be subject to the namespace declaration in the '.cc' file (which
	was causing a spurious link error in systems without a default
	"lex library").

2012-02-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'yacc-work' into yl-work-for-master

	* yacc-work: (37 commits)
	  fixup: list of yacc/lex tests was botched
	  tests: work around bug#7884 in many yacc/lex tests
	  yacc/lex tests: remove an unneeded workaround for bug#8485
	  yacc/lex tests: avoid too much failures with FreeBSD make
	  yacc-dist-nobuild.test: add reference to bug#7884
	  yacc tests: fix bug in 'yacc-cxx.test'
	  lex tests: fix spurious link errors on Solaris
	  lex: "make clean" removes .c files from non-distributed .l
	  lex tests: make test on Lex dependency tracking more "semantic"
	  lex tests: remove erroneous check about ylwrap distribution
	  yacc tests: "make clean" removes C++ files from non-distributed .y
	  tests: add a workaround for automake bug#8485
	  tests: add a couple of inter-tests reference
	  lex tests: require just `lex' instead of `flex'
	  fix typo in ChangeLog (2011-05-04)
	  tests defs: use `skip_' for skipping yacc/lex related tests
	  lex/yacc tests: remove redundant $distdir definition
	  coverage: test lex-generated "#line" directives postprocessing
	  tests: minor improvements to a couple of yacc tests
	  tests: fix spurious failure in test 'yacc-d-cxx.test'
	  ...

	+ Extra non-trivial edits:

	* tests/defs.in: Delete; the differences from maint has been
	merged into 'tests/defs' and 'tests/defs-static.in'.
	* tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to
	skip the whole test case if yacc (resp. lex) is missing.
	(bison): New, set up the environment so that 'bison -y' will
	be used as the yacc program.
	(useless_vpath_rebuild, yl_distcheck): Moved in from
	'tests/defs.in'.
	* tests/defs-static.in ($YACC, $LEX): Default to the values
	determined at configure time, and allow them to be overridden
	by the more namespace-safe variables '$AM_TESTSUITE_YACC' and
	'$AM_TESTSUITE_LEX' respectively.
	* tests/Makefile.am (do_subst): Also substitute '@YACC@' and
	'@LEX@'.
	* Several tests: Fix requirements declarations, by preferring
	'lex' and 'yacc' over 'flex' and 'bison' whenever possible.

2012-02-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: list of yacc/lex tests was botched

	* tests/list-of-tests.mk: Update to take into account the addition,
	renaming, removing or split-ups of Yacc/Lex tests that have taken
	place in the 'yacc-work' branch.  Problem likely introduced by a
	botched merge of 'maint' into 'yacc-work'.

2012-02-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: move chapter on automake history out of main manual

	The chapter on Automake history, while certainly interesting and
	even fascinating, does not truly pertain to a reference manual,
	so move it out from there and into its own dedicated file.  This
	change is made more advisable and pressing by the fact that such
	and "Automake history" chapter hasn't been updated since the 1.9.6
	release, so it has been becoming less faithful and useful since
	then.

	* doc/history.texi: New, manual on the history of the automake
	package; extracted from ...
	* doc/automake.texi: ... this file, with related adjustments.
	* doc/Makefile.am (info_TEXINFOS): Add 'history.texi'.
	(history_TEXINFOS): New, list included file 'fdl.texi'.
	* Makefile.am (release-stats): Remove as obsolete.
	* HACKING (Release Procedure): Don't advise anymore to run the
	"release-stats" target and to update the manual with its output.
	* NEWS: Update.
	* .gitignore: Likewise.

2012-02-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	depcomp tests: avoid redundant runs for libtool tests

	When running libtool-oriented tests, our 'depcomp.sh' script used
	to run the same checks thrice: once after having run configure
	with the '--disable-shared' option, once after having run it with
	the '--enable-shared' option, and once by allowing configure to
	automatically select which kind of library (or libraries) to build.

	This was done to offer extra coverage for the less-common depmodes
	(like "aix" of "hp2") where the name of the compiler-generated
	depfiles can depend on whether libtool is in use *and* on which
	kind of libraries libtool is building (static, shared, or both).
	About this, see commit 'Release-1-10-24-ge89ec38' of 28-03-2007,
	"* lib/depcomp (aix): Rewrite depmode in the spirit of the tru64
	one".

	But that extra coverage came at the price of *considerably* slowing
	down the depcomp libtool-oriented tests, since for each of them the
	tested source tree was configured and built *twelve* times (rather
	than "just" four as it is for the non-libtool case).

	So, to strike a balance between coverage and speed, we now run the
	libtool-oriented tests with the three different configuration modes
	*only* when it is possible that the depmode that will get selected
	is one of those which can actually benefit from the extra coverage.

	* tests/depcomp.sh: Adjust to only run the threefold libtool tests
	when that can truly be potentially useful.  Add related explanatory
	comments.

2012-02-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid wrong skips in dist-formats.tap

	* tests/dist-formats.tap: The test checking whether the 'compress'
	program is actually capable of compressing files relied on the
	assumption that 'compress' exits with status zero if no problem
	occurs; alas, this reasonable assumption doesn't hold in practice,
	since 'compress' does (and is documented to) exit with status 2 if
	the output is larger than the input after (attempted) compression!
	Fix this by using and input that 'compress' can actually reduce in
	size when compressing.
	Do some related reformatting of surrounding code since we are at it.

2012-02-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: few tweakings and cosmetic changes

	* tests/dist-formats.tap: Fix botched spacing.
	* tests/subobjname.test: Prefer spaces to tabs in indentation.
	* tests/cond43.test: Likewise.
	* tests/comment7.test: Likewise.
	* tests/compile_f90_c_cxx.test: Use "$tab" instead of literal
	tab characters in the grep regexp.
	* tests/compile_f_c_cxx.test: Likewise.
	* tests/pluseq3.test: Likewise.
	* tests/cond-basic.test: Likewise.
	* tests/acloca16.test: Add empty line before trailing ':' command.
	* tests/bsource.test: Likewise.
	* tests/depend5.test: Likewise.
	* tests/depend6.test: Likewise.
	* tests/destdir.test: Likewise.
	* tests/fort2.test: Likewise.
	* tests/instdir-java.test: Likewise.
	* tests/instdir-lisp.test: Likewise.
	* tests/instdir-python.test: Likewise.
	* tests/instdir.test: Likewise.
	* tests/instdir2.test: Likewise.
	* tests/ltinstloc.test: Likewise.
	* tests/missing.test: Likewise.
	* tests/missing2.test: Likewise.
	* tests/nodef.test: Likewise.
	* tests/nodef2.test: Likewise.
	* tests/subst4.test: Likewise.
	* tests/werror3.test: Likewise.
	* tests/commen11.test: Likewise.  Also, make grepping of automake
	stderr slightly stricter, and properly quote strings with shell
	metacharacters.
	* tests/nodep2.test: Add empty line before trailing ':' command.
	Do not create unneeded dummy source files.

2012-02-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove a couple of redundant 'set -e' calls

	* tests/conffile-leading-dot.test: Do not set the 'errexit'
	shell flag, as it is already set by 'tests/defs'.
	* tests/make-dryrun.test: Likewise.

2012-02-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  tests: fix a timestamp-related spurious failures
	  dryrun: fix regression with '$(am__make_dryrun)'
	  test defs: function 'is_newest' now works also with directories

2012-02-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'dryrun-fix' into maint

	* dryrun-fix:
	  dryrun: fix regression with '$(am__make_dryrun)'

2012-02-09  Peter Rosin  <peda@lysator.liu.se>

	tests: check if 'compress' is real or fake

	On Cygwin, 'compress' is provided by sharutils and is just a
	dummy script that is not able to actually compress (it can
	only decompress).  This fake 'compress' is not usable for
	our purpose - to create compressed tarballs.

	* tests/dist-formats.tap (missing_compressors): Count 'compress'
	as missing if it does not support the -c option.

2012-02-08  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'msvc'

	* msvc:
	  depcomp: try to prevent whitespace regressions
	  depcomp: recognize tabs as whitespace in the dashmstdout mode
	  depcomp: quote 'like this', not `like this'

2012-02-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	depcomp tests: avoid spurious failures with 'dashXmstdout' depmode

	* tests/gen-testsuite-part: The 'dashXmstdout' depmode cannot be
	truly forced on gcc (like we were trying to do, causing spurious
	failures in the process); so don't do that.  This change shouldn't
	actually reduce coverage anyway, since, as the comments in
	'lib/depcomp' say, the 'dashXmstdout' depmode is just like
	the 'dashmstdout' one, only with a different argument for the
	compiler.

2012-02-08  Peter Rosin  <peda@lysator.liu.se>

	depcomp: try to prevent whitespace regressions

	Suggested by Stefano Lattarini.

	* lib/depcomp: Add $tab and $nl variables and use them
	throughout.

2012-02-08  Peter Rosin  <peda@lysator.liu.se>

	depcomp: recognize tabs as whitespace in the dashmstdout mode

	Commit Release-1-7-2b-2-gf03ceab "Cope with DOS filenames in
	dependencies." inadvertedly converted tabs into spaces.

	* lib/depcomp (dashmstdout): Add a tab character to all sets
	matching whitespace.

2012-02-08  Peter Rosin  <peda@lysator.liu.se>

	depcomp: quote 'like this', not `like this'

	Cherry-picked from recent changes from master.

	* lib/depcomp: Quote 'like this', not `like this'.

2012-02-08  Peter Rosin  <peda@lysator.liu.se>

	tests: check the depmodes 'msvisualcpp' and 'msvcmsys'

	* tests/defs (cygpath): New requirement, checking that cygpath
	is working.
	(mingw): New requirement, checking that the build system is
	MSYS (in its normal MinGW mode).
	* tests/gen-testsuite-part (depmodes): Add entries for depmodes
	'msvisualcpp' and 'msvcmsys'.

2012-02-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: better way to compare lists in Makefile rules

	With this commit, we introduce a new helper shell script for use
	in the testsuite, which is meant to allow the test cases to easily
	check whether two whitespace-separated lists are equal; this ability
	is particularly useful to check for equality of the contents of make
	variables that are expected to contain multiple whitespace-separated
	words, and are defined through line continuations (or are rewritten
	by automake in this way), or that contain expansion of potentially
	empty variables.

	Before this change, a test checking that an usage like this one:

	  VAR = valA
	  if COND1
	    VAR += val1 # com1
	  endif COND1
	  VAR += valC

	worked as expected, couldn't use rules like:

	  ## Doesn't work because $(VAR) expands to multiple words
	  verify:
	      test $(VAR) = "valA val1 valC"

	nor like:

	  ## Doesn't work because the final expansion of $(VAR) contains
	  ## repeated contiguous whitespace characters (it actually
	  ## equals "valA val1  valC", not "valA val1 valC"), and this
	  ## is an internal detail which might change and which we don't
	  ## want to explicitly rely on.
	  verify:
	      test "$(VAR)" = "valA val1 valC"

	Instead, we had to rely on cumbersome workaround such as:

	  ## This works, but is ugly.
	  verify:
	      test "`echo $(VAR)`" = "valA val1 valC"

	or:

	  ## This works, but is even uglier.
	  verify:
	      echo BEG: $(VAR) :END | grep "BEG: valA val1 valC :END"

	Now, with the help of the new 'is' script, we can perform such a
	check in a clearer and more straightforward way, as in:

	  ## Works, and reads clearly.
	  verify:
	      is $(VAR) == valA val1 valC

	* tests/is: New helper shell script, telling whether two whitespace
	separated lists are equal.
	* Makefile.am (EXTRA_DIST): Add it.
	* tests/colneq2.test: Use the new helper script, and accordingly
	get rid of older, more cumbersome idioms.
	* tests/cond11.test: Likewise.
	* tests/cond16.test: Likewise.
	* tests/cond18.test: Likewise.
	* tests/cond22.test: Likewise.
	* tests/cond31.test: Likewise.
	* tests/cond38.test: Likewise.
	* tests/test-logs-repeated.test: Likewise.
	* tests/objext-pr10128.test: Likewise.
	* tests/programs-primary-rewritten.test: Likewise.
	* tests/substre2.test: Likewise.  Also ...
	(configure.in, Makefile.am): Add a couple of hack to avoid having
	to require (and run) a C compiler; accordingly ...
	($required): ... remove this.
	* tests/exeext4.test: Likewise.
	* tests/substref.test: Likewise.  Also ...
	(hello.c): Use ": >" rather than "cat <<EOF" to generate it,
	since it's meant to be empty anyway.
	* tests/cond4.test: Use the new helper script, and accordingly
	get rid of older, more cumbersome idioms.  Avoid some unnecessary
	uses of "make -e" since we are at it.
	* tests/cond19.test: Likewise.
	* tests/cond32.test: Likewise.
	* tests/cond6.test: Use the new helper script, and accordingly
	move some checks in the Makefile.am.
	Avoid unnecessary execution of automake remake rules by manually
	"touching" aclocal.m4

2012-02-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: improve and rework tests on dependency tracking

	Fixes automake bug#10434.  Suggestion by Peter Rosin.

	The 'depcomp.tap' test case worked by trying to unconditionally
	force the compiler in use by the testsuite to use, one by one, *all*
	the dependency modes known by the 'depcomp' script, and, for each
	such forced mode that was compatible enough with said compiler not
	to cause breakage in the basic compilation rules, checking that it
	was *also* good enough not to break remake rules in VPATH builds.

	This seemed a good approach when this test was first introduced, as
	it apparently increased coverage for the less used and less tested
	dependency-tracking modes.  But in the log run it turned out the
	approach was actually in part too brittle, causing some annoying
	spurious failures (as with the Tru64 depmode forced on GCC, see
	automake bug#10434), and partly too forgiving, since, for some of
	the more corner-case dependency modes, the 'depcomp' script simply
	reverts to silently disabling dependency tracking when an error is
	encountered (this happened e.g., with the Tru64 depmode forced on
	the Sun C compiler 5.9), so that a passing test means nothing, and
	only gives a false sense of security.

	As Peter Rosin put it, "it's just dead wrong to assume that feeding
	-M or -xM to the compiler (or whatever other random stuff 'depcomp'
	might do) and not get an error is the same as dependencies magically
	appearing".

	So we get rid of this wrong approach, and in the process proceed to
	a complete overhaul of many of the tests on automatic dependency
	tracking, extending the offered coverage and rationalizing their
	organization.

	* tests/depcomp.sh: New helper script, used by several new
	autogenerated tests.
	* tests/gen-testsuite-part: Generate several tests based on the
	new 'depcomp.sh' script.  Emit makefile code that declares their
	dependency on that script, and that extends EXTRA_DIST in order
	to distribute it.
	* tests/depmod.tap: Remove.
	* tests/depend2.test: Remove, it has been subsumed by the new
	autogenerated test 'depcomp-disabled.tap'.
	* tests/depcomp3.test: Remove, it has been subsumed by the new
	autogenerated test 'depmod-dashmstdout.tap'.
	* tests/depcomp3.test: Remove, it has been subsumed by the new
	autogenerated test 'depmod-lt-makedepend.tap'.
	* tests/depcomp6.test: Remove, it has been subsumed by the new
	autogenerated test 'depmod-auto.tap'.
	* tests/depcomp7.test: Remove, it has been subsumed by the new
	autogenerated test 'depmod-lt-auto.tap'.
	* tests/depcomp5.test: Remove as obsolescent.
	* test/list-of-tests.mk: Adjust.
	* .gitignore: List the new autogenerated tests.

2012-02-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix a timestamp-related spurious failures

	Fixes automake bug#10737.  Report from Larry Daniel.
	See also automake bug#8365 and commit 'v1.11-329-gd4df619' of
	30-03-2011, "tests: fix timestamp-related failures".

	* tests/aclocal5.test: Sleep before modifying m4 files that should
	trigger remake rules.  This fixes an hard-to-hit timestamp-related
	race condition.
	* THANKS: Update.

2012-02-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dryrun: fix regression with '$(am__make_dryrun)'

	In commit v1.11-683-gda0964e of 05-02-2012, we introduced a new
	variable '$(am__make_dryrun)' that could be used in recipes to
	determine whether make is running in dry mode (e.g., as with
	"make -n").  Unfortunately, the idiom we used fails to take into
	account the case in which $(MAKEFLAGS) contains one or more variable
	definitions whose value is a whitespace-separated list; for example,
	if we invoke make as:

	  make check TESTS="n1.test n2.test"

	then the better make implementations out there (at least modern
	GNU make and BSD make) will export MAKEFLAGS to the following
	value:

	  TESTS=n1.test\ n2.test

	So a shell loop like the one we used in $(am__make_dryrun):

	  for flag in $$MAKEFLAGS; do ...

	won't behave as expected: the shell word-splitting rules will break
	up the entry for TESTS into the two distinct entries "TESTS=n1.test\"
	and "n2.test", and this second entry will goad our $(am__make_dryrun)
	code into thinking that make is performing a dry run!

	So now we simply loop over the expanded value of $(MAKEFLAGS).
	This solves the regression, but alas, is more brittle in case the
	users passes on the command line a macro value containing unbalanced
	" or ' quotes, or shell metacharacters like, say, '`' or '('.  This
	should almost never happen though, so we don't worry about it now;
	we will revisit the issue only when and if we receive bug reports in
	this area.

	* lib/am/header-vars.am (am__make_dryrun): Fix.
	* tests/make-dryrun.test: New test.
	* tests/list-of-tests.mk: Add it.

2012-02-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: work around bug#7884 in many yacc/lex tests

	Due to automake bug#7884, many test cases on Yacc/Lex support are
	failing when run with FreeBSD make.  Since these failures are all
	due to the same bug, and that bug is well understood and already
	explicitly exposed in the dedicated 'yacc-dist-nobuild.test' test,
	the reported failures are mostly noise, that not only is annoying,
	but which might end up covering different real bugs or regressions.

	Thus we minimize such spurious failures, by ensuring the commands
	triggering them (most of them being "make distcheck" invocations)
	will be skipped when $MAKE suffers of the bug/limitation that
	triggers automake bug#7884.

	* tests/defs.in (useless_vpath_rebuild): New function.
	(yl_distcheck): Likewise.
	* tests/lex3.test, tests/subpkg-yacc.test, tests/yacc-basic.test,
	tests/yacc-cxx.test, tests/yacc-d-basic.test, tests/yacc-d-cxx.test,
	tests/yacc-dist-nobuild-subdir.test : Use them to avoid extra
	failures caused by automake bug#7884.  Where possible, throw in
	some related simplifications.

2012-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint' into yacc-work

	* maint: (75 commits)
	  test defs: function 'is_newest' now works also with directories
	  refactor: new variable telling whether make is running in "dry mode"
	  ...

2012-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: avoid spurious XPASS results with NetBSD make

	* tests/defs (make_can_chain_suffix_rules): Ensure to properly
	declare the '.SUFFIXES:' in the temporary Makefile used to check
	whether $MAKE is able to automatically chain suffix rules.  This
	avoids spurious XPASS results with (at least) NetBSD make in some
	'suffix*.tap' tests; in a sense also, this also makes the probing
	of $MAKE capabilities more faithful, since the Automake-generated
	Makefiles are expected to properly declare the '.SUFFIXES:' as
	well.

2012-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: few whitespace fixlets

2012-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: various typofixes

	Several typofixes in documentation and comments, as
	suggested by the "codespell.py" script.  Reference:
	<http://git.profusion.mobi/cgit.cgi/lucas/codespell/>

2012-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: convert encoding from ISO-8859 to UTF-8 in some tests

	The changed files have been converted using iconv; specifically,
	the command "iconv --from-code=ISO-8859-1 --to-code=UTF-8".

	* tests/block.test, tests/tagsub.test: Converted to UTF-8 encoding.

2012-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: remove obsolete requirement 'rst2html'

	* tests/defs (rst2html): Remove, it's not needed anymore now that
	the old code supporting the ".log -> .html" conversion for the
	parallel-tests harness has been moved in contrib.  This removal
	should have actually be done in commit v1.11-1757-g0a9d201 of
	17-01-2012, 'check: move ".log -> .html" conversion in contrib'.

2012-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: workaround for shells with broken 'set -e'

	* tests/defs (gmake, native, rst2html): Some versions of the BSD
	shell wrongly bail out when the 'errexit' shell flag is active and
	the left-hand command in a "&&" list fails, if that list is the
	*last* command of a "for" or "while" loop.  Work around this issue.
	* tests/lex3.test: Likewise.
	* tests/check12.test: Likewise.
	* tests/yacc-basic.test: Likewise.
	* tests/lex-noyywrap.test: Likewise.
	* tests/parallel-tests2.test: Likewise.
	* tests/lex-lib-external.test: Likewise.
	* tests/check-no-test-driver.test: Likewise.
	* tests/test-metadata-recheck.test: Likewise.
	* tests/parallel-tests-dry-run-1.test: Likewise.
	* tests/parallel-tests-dry-run-2.test: Likewise.
	* tests/parallel-tests-unreadable.test: Likewise.
	* tests/test-driver-custom-no-extra-driver.test: Likewise.

	Problem revealed by spurious testsuite failures on a NetBSD 5.1
	system and an OpenBSD 5.0 system.

2012-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix a typo in comments

	* tests/extra-programs-empty.test: Fix typo in heading comments.

2012-02-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: function 'is_newest' now works also with directories

	Reported by Jim Meyering against automake master (see bug#9147) and
	by Adam Sampson against automake 1.11.3 (see bug#10730).

	* tests/defs (is_newest): Call 'find' with the '-prune' option,
	so that it won't descend in the directories (which could cause
	spurious results).
	* THANKS: Update.

	Backported from commit v1.11-914-gb6a40fa (originally on master).

2012-02-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: more uses for '$(am__make_dryrun)'

	With this change we refactor some recipes of the parallel-tests
	harness to make them use, where appropriate, the new internal
	variable '$(am__make_dryrun)' (introduced in the 'maint' branch)
	when they need to determine whether make is running in "dry mode",
	i.e., with "make -n".  This allows for some simplifications and
	for improved uniformity.

	* lib/am/check.am (check-TESTS recheck): Use $(am__make_dryrun) and
	simplify accordingly.
	(am--redo-logs): Delete this internal helper recipe, merged into ...
	($(TEST_SUITE_LOG)): ... this, with the help of $(am__make_dryrun).
	recipe accordingly.

2012-02-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  refactor: new variable telling whether make is running in "dry mode"
	  tests: do not clobber the modified CC

2012-02-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	refactor: new variable telling whether make is running in "dry mode"

	We define a new variable '$(am__make_dryrun)', that can be used
	in recipes to determine whether make is running in "dry mode" (as
	with "make -n") or not.  This is useful in rules that invoke make
	recursively, and are thus executed also with "make -n" -- either
	because they are declared as dependencies to '.MAKE' (NetBSD make)
	or because their recipes contain the "$(MAKE)" string (GNU and
	Solaris make).

	* lib/am/header-vars.am (am__make_dryrun): New variable.
	* lib/am/check.am (check-TESTS recheck): Use it, and simplify
	recipe accordingly.
	* lib/am/distdir.am (distdir): Likewise.
	* lib/am/lisp.am ($(am__ELCFILES)): Likewise.

2012-02-02  Peter Rosin  <peda@lysator.liu.se>

	tests: do not clobber the modified CC

	If CC is originally a losing compiler, AM_PROG_CC_C_O will
	modify CC.  "$MAKE -e" will then clobber this modified CC
	and reintroduce the raw losing compiler causing the test
	to fail, as subdir-objects is in effect.

	tests/check8.test: Drop -e from the $MAKE invocation, since
	AM_COLOR_TESTS is not specified in the Makefile and -e is
	therefore not needed.

2012-02-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix indentation and typos in perl TAP driver

	* lib/tap-driver.pl (get_test_exit_message): Fix botched
	indentation.  Fix typo in error message: s/ststus/status/.

2012-02-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: fix typo in variable name ($AM_TESTSUITE_PERL)

	* tests/defs-static.in: Fix typo: it's '$AM_TESTSUITE_PERL',
	not '$AM_TESTUITE_PERL'.

2012-02-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tap/perl: handle missing or non-executable scripts better

	This change improves how our Perl-based TAP driver handles
	non-runnable test scripts (meaning they might be not executable,
	or not readable, or even not exist).  In particular, it makes the
	driver deterministically display a clear "ERROR" result instead
	of possibly dying with diagnostic from 'TAP::Parser' internals,
	and prevents it from displaying spurious "missing TAP plan" errors.

	Moreover, with this change, some testsuite failures present only
	with newer perl versions (e.g., 5.14) are fixed.  See automake
	bug#10418.

	* tests/tap-bad-prog.tap: When testing the perl implementation of
	the TAP driver, and when the perl interpreter offers a good-enough
	'IPC::Open3::open3' function, expect it not to display spurious
	"missing TAP plan" diagnostic if the error is actually due to a
	non-runnable test script.
	* lib/tap-driver.pl (start): Removed, broken up into ...
	(setup_io): ... this ...
	(setup_parser): ... and this, which now tries to catch and report
	errors in launching the test scripts.
	(finish): New, used by both 'main' and 'setup_parser'.
	(main): Adjust.

2012-02-01  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'maint'

2012-02-01  Peter Rosin  <peda@lysator.liu.se>

	tests: put AM_PROG_CC_C_O before AC_OUTPUT to help losing compilers

	When AM_PROG_CC_C_O is after AC_OUTPUT, the compile script
	is not used even if needed, causing testsuite fails if
	libtool is not used.

	* tests/depcomp8a.test: Uncomment the AM_PROG_CC_C_O macro
	in its correct location, as indicated...
	(configure.in): ...with this comment.
	* tests/depcomp8b.test: Sync with tests/depcomp8a.test.

2012-01-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cleanup: remove unused .am file

	* lib/am/comp-vars.am: Remove.  This file has stopped being useful
	since commit 'Release-1-4d-206-g3334f9a' of 09-04-2001, and should
	have been removed back then.  But apparently only its contents were
	removed, leaving the file empty but still present in the repository.
	Or maybe this situation is  the consequence of a minor blunder in
	the conversion from CVS to Git; either way, this is not a big deal.

2012-01-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  tests: do not assume the object file extension is .o
	  tests: avoid spurious failure of 'transform2.test' on Cygwin
	  tests: avoid spurious failure of deleted-am.test with FreeBSD make
	  tests: avoid possibly undeserved PASS from check8.test
	  warnings: more precise category and message for one warning
	  release: revamp rules to tag and upload the releases
	  amversion: add missing dependency
	  hacking: update advice w.r.t. synced files
	  hacking: don't reference ChangeLog anymore

	+ Extra non-trivial edits:

	* tests/suffix8.tap: Copy in (by hand) the modifications done
	to 'suffix8.test' on maint, i.e., the addition of an explicit
	'.y_.obj:' suffix rule to Makefile.am.

2012-01-30  Peter Rosin  <peda@lysator.liu.se>

	Merge branch 'msvc'

	* msvc:
	  ar-lib: ignore the verbose modifier instead of erroring out
	  scripts: cherry-pick recent changes from master
	  tests: add missing dependency for some 'ar-lib*.test' tests

2012-01-30  Peter Rosin  <peda@lysator.liu.se>

	ar-lib: ignore the verbose modifier instead of erroring out

	* lib/ar-lib: A number of tests uses the v modifier when listing
	the archive content, ignore it to make them pass.

2012-01-30  Peter Rosin  <peda@lysator.liu.se>

	scripts: cherry-pick recent changes from master

	* lib/ar-lib: prefer the term "Windows" over "Win32" and quote
	'like this', not `like this'.
	* lib/compile: Likewise.

2012-01-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: fix real and spurious warnings

	* lib/Makefile.am (install-data-hook): Correctly quote $(DESTDIR)
	occurrences.
	* Makefile.am (install-exec-hook, uninstall-hook): Likewise.
	(autodiffs): Prefer '$(am__cd)' to plain 'cd', where warranted.
	* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise.  Also,
	prefer using AC_SUBST'd $(abs_top_builddir) over obtaining it at
	runtime from $(top_builddir).
	* syntax-check.mk (sc_mkinstalldirs): Tweak to whitelist known
	harmless occurrences of the checked-against usages.
	(sc_no_for_variable_in_macro): Likewise.
	* tests/CheckListOfTests.am (maintainer-check-list-of-tests): Tweak
	to avoid spuriously triggering the 'sc_no_for_variable_in_macro'
	maintainer check.  Prefer '$(am__cd)' to plain 'cd' when warranted.

2012-01-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: take advantage of some GNU make features

	We can do so now that our maintainer checks require GNU make
	unconditionally.

	* syntax-check.mk (ams, xtests): Redefine as "immediate variables",
	using the GNU make $(shell ...) builtin.
	(maintainer-check-list-of-tests): Take advantage of GNU make "-C"
	option.  Don't use $(AM_MAKEFLAGS), we shouldn't need it with GNU
	make.

2012-01-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: require GNU make in order to run the maintainer checks

	This is not a real regression in portability, since most maintainer
	check rules already assumed GNU grep, and were anyway only meant to
	run on the developers' systems (where we can safely assume the
	presence of GNU make).

	This change will allow us to take advantage, in future changes, of
	more GNU make features, thus simplifying or optimizing some of our
	maintainer rules.

	* GNUmakefile: New, including 'Makefile' and 'syntax-checks.mk'.
	* configure.ac (AC_CONFIG_LINKS): Link it in the builddir.
	* Makefile.am (EXTRA_DIST): Distribute 'GNUmakefile' and
	'syntax-checks.mk'.
	Move all syntax-check rules and auxiliary variables into ...
	* syntax-checks.mk: ... this new file, with some adjustments.

2012-01-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: refactor rules checking '*.am' files

	A small refactoring in our syntax-check to avoid code duplication
	and to ensure more uniform checking.  This change introduces some
	new failures in syntax-check rules (both real and spurious), that
	will be fixed in follow-up changes and code reorganizations.

	* Makefile.am (ams): New variable, holding the list of all the
	'*.am' fragments in he automake source tree.
	(sc_no_brace_variable_expansions): Use it.
	(sc_rm_minus_f): Likewise.
	(sc_no_for_variable_in_macro): Likewise.
	(sc_mkinstalldirs): Likewise.
	(sc_pre_normal_post_install_uninstall): Likewise.
	(sc_cd_in_backquotes): Likewise.
	(sc_cd_relative_dir): Likewise.
	(sc_tests_make_without_am_makeflags): Likewise.
	(sc_tests_plain_egrep_fgrep): Likewise.
	(sc_mkdir_p): Likewise.

2012-01-30  Peter Rosin  <peda@lysator.liu.se>

	tests: do not assume the object file extension is .o

	* tests/specflg7.test: Dig out the object file extension from the
	OBJEXT makefile variable.
	* tests/substref.test: Likewise.
	* tests/specflg8.test: Likewise.  Also check that the false-true
	object is created instead of checking the true-true object twice.
	* tests/suffix8.test: Add a chain rule for the case where the
	object file extension is .obj.

2012-01-30  Peter Rosin  <peda@lysator.liu.se>

	tests: fetch the 'compile' script for subdir objects

	* tests/libobj19.test: Subdir objects are used, so the 'compile'
	script needs to be present for inferior hosts.  Fetch it.

2012-01-30  Peter Rosin  <peda@lysator.liu.se>

	tests: fetch the 'ar-lib' script for archiver usage

	* tests/libobj10.test: The archiver is used, so the 'ar-lib'
	script needs to be present for inferior hosts.  Fetch it.

2012-01-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure of 'transform2.test' on Cygwin

	On newer Cygwin versions (at least 1.7.x), the 'transform2.test'
	test has been failing spuriously; the gist is the following:
	some *purposefully* rigged install rules there try something
	like:

	  install bla.exe .../inst/bin/foo.exe
	  install script.sh .../inst/bin/foo

	and the second install command fails (trying to overwrite the
	'.../inst/bin/foo.exe' file, likely due to overly aggressive
	appending of '.exe' suffix when copying/renaming Windows
	executables).  Since this is a Cygwin issue rather than an
	Automake one (and since the use case we are testing is a really
	corner-case anyway, making it unworthy to attempt to work
	around it in automake proper), we simply hack the test case
	to avoid the failure.

	Analysis by Peter Rosin and Ralf Wildenhues.

	References:
	<http://lists.gnu.org/archive/html/automake-patches/2010-08/msg00153.html>
	<http://thread.gmane.org/gmane.os.cygwin/119380>

	* tests/transform2.test: Skip the affected part of the test
	if the described Cygwin behaviour is detected.

2012-01-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failure of deleted-am.test with FreeBSD make

	* tests/deleted-am.test: Sleep between the removal of the included
	'.am' fragments and the subsequent "make" calls, to ensure that the
	remake rules kick in.  This is required to avoid racy spurious
	failures (~ 60% of the time) with FreeBSD make.

2012-01-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid possibly undeserved PASS from check8.test

	* tests/check8.test: Strengthen grepping of "make check" output
	where we know no problem with VPATH rewrites can take place.  This
	has the advantage of ensuring that we won't match also "sub/bar"
	when looking for "bar" during the uncolorized tests.

	Suggestion by Peter Rosin.

2012-01-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: work around MinGW/MSYS issue in fd redirections

	Some checks on $(AM_TESTS_FD_REDIRECT) were failing on MSYS, likely
	because system calls like "write(9, ...)" simply doesn't work for
	MinGW-compiled programs.  Similar usages work for the shell scripts
	though, since /bin/sh is an MSYS program and thus is a lot more
	POSIX-ish than most MinGW-compiled programs.

	The best fix for this issue is to separate the checks using shell
	scripts as dummy test cases from the checks using compiled programs
	for the same purpose, and skip these latter checks on MinGW.

	This change fixes automake bug#10466.  Report by Peter Rosin.

	* tests/parallel-tests-fd-redirect.test: Move checks using compiled
	C programs as test cases to ...
	* tests/parallel-tests-fd-redirect-exeext.test: ... this new test.
	* tests/list-of-tests.mk: Update.

2012-01-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

	warnings: more precise category and message for one warning

	If automake detected an usage like "AC_CONFIG_FILES([./Makefile])"
	in configure.ac, it warned that such an usage was unportable to
	non-GNU make implementations.  But the truth is actually worse:
	that is actually *unportable to GNU make* itself, since it breaks
	the automatic remake rules in subtle ways.

	So we now reveal this breakage in a new test case, and enhance
	the warning by giving it a more precise and correct wording, and
	by moving it from the category 'portability' to the category
	'unsupported'.

	* automake.in (scan_autoconf_config_files): Improve the warning.
	* tests/conffile-leading-dot.test: New test.
	* tests/list-of-tests.mk: Add it.

2012-01-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	release: revamp rules to tag and upload the releases

	The older Makefile rules used to create and tag the releases were
	based on an approach we now consider flawed: they over-mechanized
	some delicate operations that are better performed manually *and*
	double-checked by a developer, and at the same time they did not
	run enough safety checks.

	* Makefile.am (GIT, version_rx, stable_version_rx, beta_version_rx,
	match_version, git_must_have_clean_workdir, determine_release_type):
	New variables.
	(git-release, git-dist): Remove, they are superseded by ...
	(git-tag-release, git-upload-release): ... these new targets.

2012-01-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	amversion: add missing dependency

	* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Depend on
	configure.ac, since the value of $(VERSION) can change every
	time configure.ac is updated.

2012-01-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	hacking: update advice w.r.t. synced files

	* HACKING: Update and improve advices and explanations about files
	in the automake repository that are now owned by automake, but
	mirrored from other upstreams.  Also, don't list these files
	explicitly, rather point the reader to the $(FETCHFILES) variable
	in Makefile.am.
	* Makefile.am (FETCHFILES): Don't state that "there should be a
	lot more here", as this is not true anymore today.  Only 'COPYING'
	must be synced by hand.

2012-01-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

	hacking: don't reference ChangeLog anymore

	* HACKING: Don't reference the ChangeLog file anymore, since that
	is now generated from the git commit messages, not maintained by
	hand.  So remove advice that is obsolete, and speak about "git
	commit message" instead of "ChangeLog entry" for advice that is
	still relevant.

2012-01-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

	multilib: move to contrib

	This follows up on commit v1.11-665-gc5df21e of 2012-01-17,
	"multilib: deprecate, will be moved to contrib".  See also:
	<http://lists.gnu.org/archive/html/automake-patches/2012-01/msg00109.html>

	* NEWS: Update.
	* automake.in ($seen_multilib): Remove.
	(scan_autoconf_traces): Don't trace 'AM_ENABLE_MULTILIB', and don't
	handle it anymore.
	(handle_multilib): Remove.
	(generate_makefile): Don't call it anymore.
	* doc/automake.texi: Remove documentation about multilib support,
	related macros, and helper files.
	* m4/multi.m4: Delete.
	* m4/Makefile.am (dist_automake_ac_DATA): Remove it.
	* lib/am/multilib.am: Delete.
	* lib/am/Makefile.am (dist_am_DATA): Remove it.
	* contrib/multilib/multilib.am: New file, adapted from extracts of
	a Makefile.in generated with automake multilib support.  We did
	this instead of moving and editing 'lib/am/multilib.am' because it
	allows us to license this file with a liberal license that will
	permit users to copy-and-paste it in non-GPLed Makefile.am files
	too).
	* lib/symlink-tree, lib/config-ml.in: Move ...
	* contrib/multilib: ... in here.
	* lib/Makefile.am (dist_script_DATA, dist_pkgvdata_DATA): Update.
	* contrib/multilib/README: New file.
	* contrib/Makefile.am (EXTRA_DIST): Add the files created or moved
	in 'contrib/multlib'.
	* tests/multilib.test: Update and enhance a little.
	* tests/help-multilib.test: Likewise.

2012-01-23  Peter Rosin  <peda@lysator.liu.se>

	tests: improve diagnostics when write(2) fails

	MinGW programs can't redirect file descriptor 9, they can only redirect
	stdin, stdout and stderr.  So, improve the information in the test log.

	See automake bug#10466.

	* tests/parallel-tests-fd-redirect.test (baz.c, zardoz.c): Check the
	return value from the write(2) call, and report detected errors.

2012-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'compilers-for-testsuite'

	* compilers-for-testsuite:
	  readme: how to run the testsuite with cross-compilers
	  tests: no need to unset CFLAGS in tests requiring 'gcc' anymore
	  test defs: allow compilers to be auto-selected on user's request
	  test defs: substitute compilers and flags found at configure time
	  test defs: setup `*FLAGS' variables for GNU compilers
	  configure: search generic compilers for use in the tests

2012-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
	    Peter Rosin  <peda@lysator.liu.se>

	readme: how to run the testsuite with cross-compilers

	* tests/README: Suggest a better way to run the automake testsuite
	with cross-compilers -- that is, configuring the Automake source
	tree with proper `--build' and `--host' configure option.  And
	yes, specifying both these options (not only `--host') is indeed
	required to avoid spurious failures in corner cases.
	When you call configure with the `--host' option but without the
	`--build' option, configure tries to auto-detect whether you are
	cross-compiling or not, by trying to run a generated executable.
	That test might spuriously "succeed" in some corner cases (e.g.,
	Cygwin is able to run non-Cygwin apps).  In fact, generally, it
	can be the case that a cross-compilation is not detected as a
	cross anymore just because someone has installed an emulator; as
	an example, think of what can happen on a GNU/Linux system that
	is configured (through the use of the binfmt_misc kernel module)
	to execute PE executables (compiled for MS-DOS or Windows) through
	Wine *automatically*.  In conclusion, configure needs to be used
	as recommended in the documentation (i.e., by specifying *both*
	`--host' and `--build' instead of just one of them) to not have
	the build fall into any of a number of weird traps.
	* tests/defs (cross_compiling): Improve comments.

2012-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: no need to unset CFLAGS in tests requiring 'gcc' anymore

	* tests/ccnoco.test: Since this test have "gcc" in $required,
	there is no need to manually nullify the CFLAGS variable, since
	now `tests/defs' should automatically re-define that to a value
	appropriate for gcc.
	* tests/ccnoco3.test: Likewise.

2012-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: allow compilers to be auto-selected on user's request

	In the recent changes, by pre-setting the required compilers for
	the `configure' scripts launched by the test scripts, we have
	slightly reduced the coverage of autoconf/automake code aimed at
	automatically detecting said compilers.  This commit restore such
	coverage, by allowing the user to instruct the testsuite *not* to
	preset the testsuite compiler(s).

	* tests/defs (cc): If $CC is set to the special value "autodetect"
	or "autodetected", don't export the configure-detected CC, CFLAGS
	and CPPFLAGS variables; rather, unset them.
	(c++): Likewise, but for CXX, CXXFLAGS and CPPFLAGS instead.
	(fortran): Likewise, but for FC and FCFLAGS instead.
	(fortran77): Likewise, but for F77 and FFLAGS instead.
	(require_compiler_): New function, to reduce code duplication.

2012-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: substitute compilers and flags found at configure time

	* tests/Makefile.am (do_subst): Also substitute CC, CXX, F77, FC,
	CPPFLAGS, CFLAGS, CXXFLAGS, FCFLAGS and FFLAGS.
	* tests/defs-static.in: Define those variables, allowing for
	overrides from the environment.
	* tests/defs (for tool in $required): Export (subsets of) those
	variables when the stuff in `$required' calls for it.
	Add related explanatory comments.

2012-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: setup `*FLAGS' variables for GNU compilers

	* configure.ac: Setup some `*FLAGS' variables for use by the
	GNU compilers in our testsuite.  For example, use `GNU_CFLAGS'
	instead of `CFLAGS', and so on for similar variables.  This
	is especially useful in case the compilers found or defined
	at configure time are not the GNU ones.
	* tests/defs-static.in: Initialize those same variables with
	the values set at configure time, but allowing overrides
	from the environment.
	* tests/Makefile.am (do_subst): Process configure-style
	substitutions of those variables (e.g., `@GNU_CFLAGS@').
	* tests/defs: When a GNU compiler is required, override the
	corresponding generic `*FLAGS' variable with the GNU-specific
	variant (e.g., redefine `$CFLAGS' to take the value of
	`$GNU_CFLAGS').

2012-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	configure: search generic compilers for use in the tests

	* configure.ac: Look for "generic" C, C++ and Fortran compilers,
	with the aim of starting to use them in the testsuite (this will
	be done in future changes).  This is more tricky than it seems,
	since we don't want to abort the whole configure script even if
	no one of those compilers is available (after all, they're only
	needed by the testsuite, not to build automake), but currently
	autoconf doesn't offer an easy way to obtain this behaviour.
	We prefer non-GNU compilers to the GNU ones, to ensure better
	coverage "in the wild".

2012-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: remove redundant 'set -e' calls

	* tests/aclocal-install-absdir.test: Do not set the 'errexit' shell
	flag, as it is already set by 'tests/defs'.
	* tests/distcheck-pr10470.test: Likewise.
	* tests/objext-pr10128.test: Likewise.
	* tests/parallel-tests-dry-run-1.test: Likewise.
	* tests/silent-nested-vars.test: Likewise.
	* tests/tar-override.test: Likewise.
	* tests/vala-mix.test: Likewise.
	* tests/vala-vpath.test: Likewise.

2012-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  tests: fix spurious failure due to autom4te caching
	  vala: fix name of temporary file used in vala rules
	  vala tests: add missing 'valac' requirement, and other minor fixlets
	  news: fix grammaro

2012-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure due to autom4te caching

	* tests/lzma.test: Remove stale autom4te.cache directories, to
	prevent racy, spurious failures (using 'aclocal --force' was
	not enough, since the cache was still picked up by the following
	automake call).

2012-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dist tests: missing 'compress' program was causing spurious failures

	Fixes automake bug#10575.

	The compress(1) tool is becoming anachronistic, and thus is not
	installed by default on modern distros (e.g., Fedora 16).  We
	can't thus unconditionally assume it exists on every reasonable
	portability target.

	* tests/dist-formats.tap ($missing_compressors): When defining
	this, don't assume anymore that compress(1) is unconditionally
	available.
	(Parallel compression): Skip this sub-test if compress(1) is
	unavailable.
	Since we are at it, fix a couple of unrelated buglets: a typo
	in a test name (s/distcheck/ark-exists/), and some attempts to
	remove directories with "rm -f".

2012-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: fix name of temporary file used in vala rules

	Unquoted `@' characters in a "..." string in the automake script
	were causing slightly wrong rules to be emitted in the generated
	Makefile.in; i.e., rules like:

	  rm -f $@ && echo stamp > $10t

	instead of the expected:

	  rm -f $@ && echo stamp > $@-t

	* automake.in (lang_vala_finish_target): Fix that.
	* tests/vala.test: Enhance.

2012-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala tests: add missing 'valac' requirement, and other minor fixlets

	See also automake bug#10575.

	* tests/vala-mix.test ($required): Add 'valac'; this will avoid
	spurious failures on systems lacking a Vala compiler.
	Add some explicative comments for a couple of non-obvious make
	calls.
	Make grepping of "make -n" slightly stricter, to avoid potential
	false positives.

2012-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: fix grammaro

	* NEWS (Miscellaneous changes): Fix grammaro: s/don't/doesn't/.

	Reported by Jim Meyering.

2012-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  fixup: distribute 'contrib/multilib/multi.m4'
	  multilib: deprecate, will be moved to contrib
	  fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
	  cosmetics: fix a botched comment in a maintainer check

2012-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: distribute 'contrib/multilib/multi.m4'

	This fix up a blunder in commit v1.11-665-gc5df21e of 2012-01-17,
	"multilib: deprecate, will be moved to contrib".

	* contrib/Makefile.am (EXTRA_DIST): Add 'multilib/multi.m4'.

2012-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	multilib: deprecate, will be moved to contrib

	As of 2012-01-17, according to Google codesarch, almost no active
	package is using the 'multilib' feature offered by automake.

	The only major exception seems to be GCC...  But on a closer look,
	it become clear that GCC basically carries its own version of
	multilib support.  In fact, Automake syncs its 'config-ml.in' and
	'symlink-tree' scripts from GCC; and the GCC repository contains a
	version of the 'multi.m4' file that is *more* updated than the one
	in the automake repository (the former having being modified the
	last time in 2008, the latter only in 2006).

	The 'multilib' feature was anyway hardly documented at all, only
	being briefly cited in the manual as an "obscure feature", "still
	experimental", that was only for users "familiar with multilibs"
	and which "can debug problems they might encounter".  We expect
	such users to be motivated and knowledgeable enough to make the
	minor adjustments required to start using the contrib version of
	multilib, if they really need to.

	* NEWS (Future backward incompatibility): Update.
	* doc/automake.texi: Deprecate multilib support.  State that it
	will be removed from automake core in the next major release.
	* m4/multi.m4 (AM_ENABLE_MULTILIB): Deprecate.  If called, now
	gives a proper warning in the 'obsolete' category (while still
	retaining its former behaviour for the rest).
	* tests/multilib.test: Update.
	* contrib/multilib/multi.m4: New, verbatim copy of the earlier
	version of multi.m4, without the new deprecation warning.
	* Makefile.am (fetch): Don't sync the 'config-ml.in' file nor
	the 'symlink-tree' script from GCC SVN repository anymore.
	(FETCHFILES): Adjust.
	(WGET_GCC): Remove, it's not needed anymore.

2012-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS

	This change fixes automake bug#10555.

	Note that the bug was a minor one, since it didn't affect the
	compilation rules generated by automake, but only only the "hints"
	printed by automake in some error messages (e.g., "The usual way
	to define `FFLAGS' is to add AC_PROG_F77 to configure.ac").

	* lib/Automake/Variable.pm (%_ac_macro_for_var): The code generated
	by AC_PROG_F77 uses FFLAGS, not F77FLAGS, as the variable where to
	look for switches for the Fortran 77 compiler: adjust accordingly.

2012-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix a botched comment in a maintainer check

	* Makefile.am (sc_tests_make_without_am_makeflags): Adjust
	botched description of this check.

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  cmdline parsing: move into a dedicated perl module

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cmdline parsing: move into a dedicated perl module

	With this change, we delegate most of the automake and aclocal code
	for command-line options parsing to a new module "Automake::Getopt".
	This allows better code sharing between automake and aclocal, and
	also with Autoconf, which will sync the new module from us.  See
	also autoconf commit 'v2.68-120-gf4be358' (2012-01-17, "getopt: new
	Autom4te::Getopt module"), and this mailing list discussion:
	<http://lists.gnu.org/archive/html/autoconf-patches/2012-01/msg00033.html>

	This change might interact with the behaviour described in automake
	bug#7434; for example, starting from now, "automake -Wfoo --version"
	will cause automake to emit diagnostic like "unknown warning
	category 'foo'" before actually printing the version number and
	exiting.  This is not a big deal in practice, and the code sharing
	and simplifications introduced by this patch is certainly worth it.
	Still, we should revisited the issue in the future.

	* lib/Automake/Getopt.pm: New module, basically a slightly-edited
	copy of the 'lib/Autom4te/Getopt.pm' file from the autoconf devel
	repository (commit v2.68-120-gf4be358).  It defines and exports ...
	(parse_options): ... this new function.
	* automake.in (parse_arguments): Use the new function.
	* aclocal.in (parse_arguments): Likewise.
	* lib/Automake/Makefile.am (dist_perllib_DATA): Add the new file.
	* tests/getopt.test: Remove.
	* tests/list-of-tests.mk: Update.

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: don't use custom TAP diagnostic in our own tests

	We simply don't need it (yet), we are not actually using it (the
	set up for using it is there in the Makefile, but no test script
	makes actual use of that).

	* tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Remove '-comments' and
	'--diagnostic-string' options.
	* tests/defs ($diag_string_): Remove redefinition.

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: better name for a couple of tests

	Two tests checking "make -n" behaviour with the parallel-tests
	harness has been introduced in the Automake repository in the past:
	one of them ('parallel-tests-dryrun.test') in the maint branch, the
	other one ('parallel-tests-dry-run.test') in the master branch.

	Needless to say, their too-much-similar names can be a great source
	of confusion now.  Moreover, the two tests have been written during
	distinct refactorings, and are meant to exercise different code
	paths and/or usage scenarios, so that no one of them subsumes the
	other, and they should be both kept.

	Thus we simply rename both of them to avoid future confusion.

	* tests/parallel-tests-dryrun.test: Renamed ...
	* tests/parallel-tests-dry-run-1.test: .. to this.
	* tests/parallel-tests-dry-run.test: Renamed ...
	* tests/parallel-tests-dry-run-2.test: .. to this.
	Add cross-reference among them.
	* tests/list-of-tests.mk: Adjust.

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: simplify our top-level "recheck" target

	* Makefile.am (recheck): Now that all the test scripts are in
	the 'tests/' directory, its recipe can be greatly simplified,
	as we don't need to deal with recursion in multiple subdirectories
	anymore.

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  cosmetics: move CheckListOfTests.am into tests/
	  tests: move all under the same hierarchy ('tests/' directory)
	  gitlog-to-changelog: update from upstream
	  changelog: don't cluster multiple entries under the same "date line"

	+ Extra non-trivial edits:

	* tests/Makefile.am (XFAIL_TESTS): Update with the xfailing tests
	that were in 'lib/Automake/tests'.  Add proper "FIXME" comment.

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: move CheckListOfTests.am into tests/

	After the previous change 'v1.11-660-gfbeda3d', the makefile
	fragment 'CheckListOfTests.am' is used only by the Makefile.am
	in 'tests'; so keeping them two nearer makes sense.  It also help
	in reducing potential confusion, since (after that same change)
	the whole Automake testsuite is expected to be (and remain)
	contained into the 'tests' subdirectory.

	* CheckListOfTests.am: Move ...
	* tests/CheckListOfTests.am: ... to this.
	* tests/Makefile.am (include): Adjust.

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: move all under the same hierarchy ('tests/' directory)

	This simplifies the organization of the Automake source tree and
	reduces the (lamentably high) number of Makefiles in the Automake
	build system by one.  It also makes the maintainer check that
	verifies the consistency of list of tests more self-contained and
	simpler.  Finally, it might be a first step forward the transition
	to a non-recursive build system for automake (if we ever decide to
	go down that road fully some day).

	* lib/Automake/tests: All the '*.pl' tests in here moved ...
	* tests/pm: ... into this new directory.
	* lib/Automake/tests/Makefile.am: Remove, its meaningful
	contents moved ...
	* tests/Makefile.am: ... here, with obvious adjustments.
	(test_subdirs): New variable, for the sake of the recipe
	of 'maintainer-check-list-of-tests'.
	* CheckListOfTests (maintainer-check-list-of-tests): Enhance
	its recipe to make it able to deal with test script residing
	in subdirectories.
	* Makefile.am (maintainer-check-list-of-tests): Simplified.
	(TEST_SUBDIRS): Remove, no more needed.
	* tests/list-of-tests.mk (perl_TESTS): New variable, lists
	the '.pl' tests just moved into 'tests/pm'.
	(handwritten_TESTS): Add the contents of '$(perl_TESTS)'.
	* lib/Automake/Makefile.am (SUBDIRS): Remove.
	* configure.ac (AC_CONFIG_FILES): Update.
	* .gitignore: Adjust.

2012-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gitlog-to-changelog: update from upstream

	* lib/gitlog-to-changelog: Update from gnulib upstream.  The only
	changes should be cosmetic and/or minor fixlets.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	changelog: don't cluster multiple entries under the same "date line"

	* lib/gitlog-to-changelog: Synced from gnulib.  The new version
	has a new option '--no-cluster', that disables clustering of
	adjacent commit messages under the same "date line".
	* Makefile.am (gitlog_to_changelog_options): Add '--no-cluster'.
	Also add a proper '--format' specification to ensure we have a
	blank line between the summary line and the commit message body.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  fixup: contrib: really integrate in automake build system

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: contrib: really integrate in automake build system

	* configure.ac (AC_CONFIG_FILES): Add 'contrib/Makefile'.
	* Makefile.am (SUBDIRS): Add 'contrib'.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	check: move ".log -> .html" conversion in contrib

	That feature has been deprecated in the 1.11.x series, and marked
	for removal from the automake core in the 1.12 release.  Here we
	implement such removal.

	Reference:
	  <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>

	See also commit 'v1.11-650-g20f2ac9'.

	* doc/automake.texi, NEWS: Update.
	* lib/am/check.am: Don't include 'check-html.am' anymore.
	* lib/am/check-html.am: Move ...
	* contrib/check-html.am: ... to this, and adjust comments.
	* lib/am/Makefile.am (dist_am_DATA): Update.
	* contrib/Makefile.am (EXTRA_DIST): Likewise.
	* tests/parallel-tests2.test: Adjust.
	* tests/parallel-tests-dryrun.test: Remove checks on the
	".log -> .html" conversion.
	* tests/test-driver-custom-html.test: Remove as obsolete.
	* tests/test-driver-custom-no-html.test: Likewise.
	* tests/tap-html.test: Likewise.
	* tests/list-of-tests.mk: Don't list removed tests anymore.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  contrib: new, a directory for non-mainstream functionalities

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tap: some makes in parallel mode unconditionally serialize output

	Some make implementations (among them, FreeBSD make, NetBSD make,
	and Solaris Distributed Make), when run in parallel mode, serialize
	the output from their targets' recipes unconditionally.  This has
	the nasty side effect that the user won't see the partial results
	of a TAP test until the test has terminated.  This is not something
	our TAP driver script can work around unfortunately; in fact, the
	driver is sending out its output progressively and "in sync" with
	test execution -- it is make that is stowing such output away
	instead of presenting it to the user as soon as it gets it.

	So we content ourself with working around the issue in our
	testsuite, to at least avoid failures we could do nothing to
	prevent.

	* tests/tap-realtime.test: Skip this test if the make program used
	is a non-GNU make running in parallel mode.  And if Sun dmake is
	being used, try to force it to run in serial mode, by exporting the
	'DMAKE_MODE' environment variable to "serial".

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	contrib: new, a directory for non-mainstream functionalities

	This new 'contrib' hierarchy will be a good place were to move
	implementation/support for obsolescent features we are not yet
	ready to remove completely, or were to leave experimental or
	third-party features to cook before their eventual inclusion in
	the automake core.

	* contrib: New directory.
	* contrib/README: New file.
	* contrib/Makefile.am: New file.
	(EXTRA_DIST): Distribute README.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: APIs for custom test drivers are highly experimental

	* doc/automake.texi (API for Custom Test Drivers): The APIs
	described here are not "somewhat experimental", but rather
	"highly experimental".  Don't promise the sure a sort of
	backward-compatibility that we are very likely not going to
	keep.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid spurious failures with parallel make

	Some tests are unprepared to be run with a make command that runs
	in parallel mode by default.  This can happen e.g., if the user
	explicitly run the tests with something like:

	  AM_TESTSUITE_MAKE="gmake -j3" in the

	in the environment, but also if the make used in the testsuite is
	Sun Distributed Make, and the 'DMAKE_MODE' environment variable is
	set to "parallel".

	Fix some instances of this issue.

	* tests/tap-doc.test (Makefile.am): Declare explicit dependencies
	among the test cases, to ensure they are run in the correct order.
	* tests/tap-doc2.test: Set the 'DMAKE_MODE' environment variable
	to "serial", to prevent Sun dmake from trying to run in parallel.
	Remove other now-superfluous workarounds for dmake.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failures with Solaris dmake

	Solaris Distributed Make, when run in parallel mode, can sprinkle
	its standard output with lines like:

	  hostname --> 2 jobs
	  ...
	  hostname --> Job output
	  ...

	This behaviour was causing spurious errors in some tests where we
	compare the output of make with a known, expected value.  Fix that.

	* tests/tap-doc.test: Before comparing the output from make with its
	expected value, remove extra lines that could have been printed by
	Solaris dmake.
	* tests/tap-doc2.test: Likewise.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  recheck: fix interaction with "make -n"
	  vala: avoid potential useless remakes (minor bugfix)
	  vala: enhance tests
	  recheck: behave better with non-GNU make
	  check: separate .log -> .html conversion from core testsuite harness
	  docs: deprecate .log -> .html conversion by parallel-tests
	  tests: list some forgotten test cases in $(TESTS)
	  maintcheck: consistency of list of test scripts
	  build: explicitly declare some targets as .PHONY
	  maint: remove obsolete/broken maintainer targets
	  build: improve silencing of automake build system
	  tests: move list of tests in its own Makefile fragment

	+ Extra non-trivial edits:

	* tests/parallel-tests2.test: Obvious edits to merge the slightly
	inconsistent enhancements to coverage done in master with those
	done in maint.
	* lib/am/check.am (check-TESTS, recheck): Sweeping and rather
	complex changes to merge the considerable divergences between
	maint and master in a way that is meaningful and, where possible,
	retains the semantic changes from both maint and master.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'check-html-deprecate' into maint

	* check-html-deprecate:
	  recheck: fix interaction with "make -n"
	  recheck: behave better with non-GNU make
	  check: separate .log -> .html conversion from core testsuite harness
	  docs: deprecate .log -> .html conversion by parallel-tests

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	recheck: fix interaction with "make -n"

	* lib/am/check.am (recheck): Ensure the recipe does not erroneously
	remove '.log' files when running under "make -n".  For the sake of
	NetBSD make, this also means that ...
	(.MAKE): ... this cannot depend on 'recheck' anymore.
	* tests/parallel-tests-dryrun.test: New test.
	* tests/list-of-tests.mk: Add it.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: avoid potential useless remakes (minor bugfix)

	* automake.in (lang_vala_finish_target): Ensure the timestamp file
	from which the C files generated from Vala sources depend on gets
	created with a modification time that is truly older than those of
	said generated C files.  This prevents make from attempting useless
	rebuilds (which were bound to happen deterministically on systems
	with sub-second timestamp resolutions).  It is worth noting that,
	luckily, those useless rebuild ended up being a no-op, since the
	Vala compiler is careful not to update the timestamp of an output
	file if its content has not changed from the previous version.
	Still, the useless rebuilds messed up "make -q" and "make -n"
	invocations, and were technically incorrect (despite being, as
	noted, inoffensive in practice).

	Problem revealed by failure of tests vala-mix.test and vala5.test
	on a fast Solaris 10 system whose filesystem had a sub-second
	timestamp resolution.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: enhance tests

	* tests/vala.test: Extend test.  Throw in some cosmetic and
	consistency changes since we are at it.
	* tests/vala5.test: Avoid uselessly requiring libtool.  Ensure a
	failure happens in case VALAFLAGS are not supported as expected.
	Extend test in some ways.  Throw in some cosmetic and consistency
	changes since we are at it.
	* tests/vala-mix.test: New test.
	* tests/list-of-tests.mk: Add it.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	recheck: behave better with non-GNU make

	* automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with
	the value of the '@check' array, containing the list of early
	test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)',
	etc.
	* lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'.
	(check, recheck): Unify the implementation of their recipes, with
	different code paths taken depending on the name of the target.
	This makes the implementation of "recheck" less brittle in the
	process (especially when non-GNU make and AM_MAKEFLAGS overriding
	are involved).
	* lib/am/check-html.am (check-html, recheck-html): Likewise.
	* tests/check.test: Adjust to avoid spurious failure.
	* tests/parallel-tests2.test: Improve coverage.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	check: separate .log -> .html conversion from core testsuite harness

	That feature is to be deprecated in the 1.11.x series, and removed
	from the automake core in the 1.12 release, where it will instead
	be offered in a semi-independent extra '*.am' fragment.  So let's
	start better separating the .log -> .html conversion from the "core
	code" of the parallel-tests harness.

	Reference:
	  <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>

	* lib/am/check.am (.log.html, check-html, recheck-html): Move these
	targets ...
	* automake.in (handle_tests): ... and the initialization of the
	TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML)
	file ...
	* lib/am/check-html.am: ... in this new file, with related (minor)
	refactorings, enhancements and simplifications.
	* lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust.
	* lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'.
	* tests/parallel-tests2.test: Improve coverage.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: deprecate .log -> .html conversion by parallel-tests

	That feature is to be deprecated in the 1.11.x series, and
	removed in the 1.12 release.

	Reference:
	  <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>

	* doc/automake.texi (Simple Tests using parallel-tests): Deprecate
	the '.log' -> '.html' conversion and the targets 'check-html' and
	'recheck-html'.  Related rewording and reformatting.
	* NEWS (Future backward-incompatibilities): Update.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: list some forgotten test cases in $(TESTS)

	This way, they will be properly executed by "make check", and
	properly distributed.  Our previous commit 'v1.11-647-g27f1a1c'
	is already paying its dividends!

	* tests/list-of-tests.mk (handwritten_TESTS): Add check12.test,
	dist-missing-included-m4.test, dist-missing-am.test, and
	dist-missing-m4.test.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: consistency of list of test scripts

	This is basically a backport of commit 'v1.11-358-g7b6ab07'
	and its follow-ups.  The possibility of easily checking that
	the list of test scripts listed in a Makefile equals that of
	the tests on the filesystem has proved itself so useful that
	it's worth taking the annoyance of backporting it to maint.

	* CheckListOfTests.am: New file, backported from master (commit
	'v1.11-1736-g083a75b') with minor adjustments.
	(maintainer-check-list-of-tests): New target, check for consistency
	between the list of tests defined in the including Makefile and the
	list of tests on the filesystem.
	(clean-maintcheck-testslist-tmp): New rule, to clean up temporary
	files that might be left around by the rules associated with the
	previous target.
	(clean-local): Depend on it.
	* lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
	* tests/Makefile.am: Likewise.
	* Makefile.am (maintainer-check-list-of-test): New target,
	calling recursively into `tests/' and `lib/Automake/tests/',
	using ...
	(TEST_SUBDIRS): ... this new variable.
	(maintainer-check): Added dependency from the new target
	`maintainer-check-list-of-tests'.

2012-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: completeness check on list of tests simplified

	* CheckListOfTests.am: Simplify the recipe, accordingly to the
	assumption that all the entries in $(TEST_EXTENSIONS) and in
	$(TESTS) have an associated real test script.  This was not the
	case when we used to have some entries in $(TESTS) that were not
	real files, but rather "parameters" (sort of) for the corresponding
	$(LOG_COMPILER).  However, that usage had proven to be confusing
	and brittle, and thus removed (see commit 'v1.11-1308-g375f23d' of
	September 8 2011, "testsuite: revamp generation of autogenerated
	tests").

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: explicitly declare some targets as .PHONY

	* Makefile.am (fetch, git-dist, git-release, maintainer-check):
	Declare as ".PHONY".

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: remove obsolete/broken maintainer targets

	* Makefile.am (git-diff): Remove.  First, we don't distribute diffs
	between an automake version and the next one anyway, so this target
	is pointless.   Moreover, its recipe has been broken for quite a
	long time now, always generating an empty diff due to the spurious
	'$(PACKAGE)' argument that was passed to the "git diff" invocation.
	(path-check): Remove.  The 'pathchk' program running in this check
	complains about any file with name longer than 14 characters, which
	is a ridiculously low limit for today standards.  Also, we already
	had several test scripts (no less than 195!) that were exceeding
	that limit, and nobody ever complained (not even on MinGW/MSYS nor
	Cygwin).

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: improve silencing of automake build system

	In this change, we continue the silencing of the automake build
	system that has been started in commit v1.11-642-g17542c3, but
	which has been left incomplete there for an (absent-mindness)
	mistake.

	* Makefile.am (INSTALL): Silence the recipe.
	(automake, aclocal): Likewise, and improve them a little since
	we are at it.
	* lib/Automake/Makefile.am (Config.pm): Likewise.

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: move list of tests in its own Makefile fragment

	This change will make it easier to merge maint into master, which
	has a similar Makefile setup in the testsuite.

	* tests/Makefile.am (include): Inclusion of ...
	* tests/list-of-tests.mk: ... this new file.
	* tests/Makefile.am (TESTS): Move most of its content into,
	and redefine in function of, ...
	* tests/list-of-tests.mk (handwritten_TESTS): ... this new
	variable.
	* tests/gen-parallel-tests: Update.

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  tests: move list of tests in its own Makefile fragment
	  build: silence automake build system

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: move list of tests in its own Makefile fragment

	This change will make it easier to merge maint into master, which
	has a similar Makefile setup in the testsuite.

	* tests/Makefile.am (include): Inclusion of ...
	* tests/list-of-tests.mk: ... this new file.
	* tests/Makefile.am (TESTS): Move most of its content into,
	and redefine in function of ...
	* tests/list-of-tests.mk (handwritten_TESTS): ... this new
	variable.
	* tests/gen-parallel-tests: Update.

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: silence automake build system

	* configure.ac (AM_SILENT_RULES): Invoke with "yes" as a parameter,
	to activate silent rules by default.
	* NEWS: Update.
	* Makefile.am (sc_perl_syntax): Silence its recipe unconditionally,
	similarly to what is done for other syntax checks.
	(release-stats): Be silent by default *but not unconditionally*,
	thanks to the use of $(AM_V_GEN).
	(path-check, git-diff): Be silent by default, thanks to the use
	of $(AM_V_GEN).
	* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise.
	* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise.
	* tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
	($(parallel_tests)): Likewise.

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  gnupload: moved to gnulib
	  sync: gitlog-to-changelog from gnulib upstream
	  test defs: backport optimized 'using_gmake' implementation
	  tests: unify some tests on "make -n", reducing duplication
	  vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)"

	+ Extra edits:

	* tests/maken3.test: Carry over (with necessary adjustments) the
	code from maken4.test that determines whether $MAKE supports the
	special '.MAKE' target.

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gnupload: moved to gnulib

	Since the gnupload script is not required by automake-generated
	code (be it configure or Makefile content), and is not specifically
	tied to automake in any way, it is better to have its master copy
	installed in the gnulib repository, as is already done for similar
	generally-useful, maintainer-oriented scripts.  We can them sync it
	from there.

	See also gnulib commit v0.0-6822-gf8b7120, and:
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>

	* Makefile.am (FETCHFILES): Added 'gnupload'.
	(fetch): Also sync 'gnupload' from the gnulib repository.
	* lib/gnupload: Synced from gnulib.
	* NEWS: Update.

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: gitlog-to-changelog from gnulib upstream

	* lib/gitlog-to-changelog: Synced from upstream, by "make fetch".

2012-01-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: backport optimized 'using_gmake' implementation

	* tests/defs.in (using_gmake): Backport optimized, result-caching
	implementation from master.

2012-01-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: unify some tests on "make -n", reducing duplication

	* tests/maken2.test: Merge into ...
	* tests/maken.test: ... this test, to avoid unnecessary code
	duplication.  Make checks depending on GNU make conditional to
	the actual presence of GNU make.
	* tests/maken4.test: Similarly, merge into ...
	* tests/maken3.test: ... this test.
	* tests/Makefile.am (TESTS): Remove maken2.test and maken4.test.

2012-01-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)"

	* automake.in (lang_vala_finish_target): In the generated rules,
	use '$(am__cd)', not bare 'cd', to chdir into $(scdir).  Issue
	revealed by the maintainer check 'sc_cd_relative_dir'.

2012-01-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  dist: avoid $(distdir) removal failure on MSYS/MinGW
	  tests: fix spurious failure of 'get-sysconf.test'
	  coverage: expose automake bug#10470 (distcheck-related)
	  tests: make 'aclocal-install-absdir.test' executable
	  tests: require GNU make in 'vala-vapth.test'
	  vala: fix VPATH builds
	  tests: fix some bugs in the vala-vpath test

2012-01-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'fix-pr10470' into maint

	* fix-pr10470:
	  dist: avoid $(distdir) removal failure on MSYS/MinGW
	  coverage: expose automake bug#10470 (distcheck-related)

2012-01-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dist: avoid $(distdir) removal failure on MSYS/MinGW

	This change fixes automake bug#10470.

	On MSYS (1.0.17) it is not possible to remove a directory that is
	in use, and this, together with timing issues, could cause spurious
	failures in the cleanup code of the "distcheck" recipe.  In fact,
	it should be noted that assuming a directory can be removed while
	it the CWD of a running process is a POSIX violation:

	  "If the directory is the root directory or the current working
	   directory of any process, it is unspecified whether the function
	   succeeds, or whether it shall fail and set errno to [EBUSY]."

	* lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some
	seconds and retry, to give potential "pending" processes some time
	to exit and "release" the directory.
	* tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'.

	Report and suggestions by Peter Rosin and Eric Blake.

2012-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure of 'get-sysconf.test'

	* tests/get-sysconf.test: Do not assume that a ChangeLog file exists
	in $(srcdir): now that the ChangeLog is autogenerated and not under
	version control anymore, this is not necessary true.  Instead, if we
	are running from a git checkout, use "git log" to get information on
	the version of the automake snapshot being tested (and fall back on
	extracting the first ChangeLog entry otherwise).

	Reported by Jim Meyering in automake bug#10418.

	Cherry picked from commit v1.11-1675-g104f302.

2012-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: expose automake bug#10470 (distcheck-related)

	* tests/distcheck-pr10470.test: New test.
	* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.

	Report and suggestions by Peter Rosin and Eric Blake.

2012-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: make 'aclocal-install-absdir.test' executable

	* tests/aclocal-install-absdir.test: Make it executable.

2012-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: add missing dependency for some 'ar-lib*.test' tests

	This change fixes spurious failures of the tests ar-lib4.test,
	ar-lib6a.test and ar-lib6b.test.

	* tests/Makefile.am (ar-lib4.log): Depend explicitly on the
	`libtool-macros.log' file.
	(ar-lib6a.log, ar-lib6b.log): Likewise.

2012-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dist: distdir not unconditionally removed anymore for xz and lzip

	This change fixes automake bug#10444 a.k.a. bug#10448.

	The 'dist-xz' and 'dist-lzip' recipes were erroneously using
	'$(am__remove_distdir)' instead of '$(am__post_remove_distdir)'
	to cleanup the '$(distdir)'; so a "make dist" issued in a package
	using (say) gzip and xz compression would have failed to properly
	created the gzip tarball, since the distdir was unconditionally
	removed by "make dist-xz" upon its completion, instead of being
	left populated for the following "make dist-gzip".

	The problem with 'dist-xz' was introduced in the merge commit
	`v1.11-1142-g47587d1', and the problem with 'dist-lzip' was
	introduced in the merge commit `v1.11-1673-gc1b14e9'

	* lib/am/distdir.am (dist-xz): Use '$(am__post_remove_distdir)',
	not '$(am__remove_distdir)'.
	(dist-lzip): Likewise.

2012-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: archive and compression formats used by "make dist"

	This change exposes automake bug#10444 a.k.a. bug#10448.

	* tests/dist-formats.tap: New test.
	* tests/lzip.test: Remove, it's obsolete now.
	* tests/nogzip.test: Likewise.
	* tests/nogzip2.test: Likewise.
	* tests/xz.test: Likewise.
	* tests/list-of-tests.mk: Update.

2012-01-10  Peter Rosin  <peda@lysator.liu.se>

	tap/awk: avoid redirection issues with bash 3.2 and earlier

	Fixes automake bug#10465.

	* lib/tap-driver.sh: Add workaround for bash 3.2 and earlier, which
	sometimes does not properly set '$?' when failing to write redirected
	output of a compound command.  See the Autoconf manual for more details.

	The workaround was pointed out by Eric Blake.

2012-01-09  Peter Rosin  <peda@lysator.liu.se>

	tests: detect that MSYS lacks symlinks

	* tests/self-check-cleanup.tap: Also check if "ln -s" really created a
	symlink to cater for MSYS falling back to an ordinary copy.  Also, don't
	chmod the symlinks if they were never created.

2012-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: avoid many spurious failures on MSYS due to lack of symlinks

	Fixes automake bug#10441.

	* tests/add-missing.tap: Do not assume the system supports real
	symlinks, as this is not the case for MinGW/MSYS.  Skip checks
	that would spuriously fail in that situation.
	* tests/copy.test: Likewise.

	Reported by Peter Rosin.

2012-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: require GNU make in 'vala-vapth.test'

	* vala-vpath.test ($required): Add the "GNUmake" requirement, since
	rules generated by vala support are expected to work with GNU make
	only.

2012-01-08  Ryan Lortie  <desrt@desrt.ca>  (tiny change)
	    Stefano Lattarini  <stefano.lattarini@gmail.com>

	vala: fix VPATH builds

	This change fixes automake bug#9859.

	* automake.in (lang_vala_finish_target): Create the stamp file
	'${derived}_vala.stamp' in $(srcdir), not in $(builddir).
	Also, don't try to chdir to the $(srcdir) to trigger the rebuild
	rules, since that is just wrong in a VPATH setup.
	* tests/vala-vpath.test, tests/vala2.test: Extend to catch more
	possible VPATH issues.
	* tests/Makefile.am (XFAIL_TESTS): Remove 'vala-vpath.test'.
	* NEWS, THANKS: Update.

2012-01-08  Ryan Lortie  <desrt@desrt.ca>  (tiny change)

	tests: fix some bugs in the vala-vpath test

	* tests/vala-vpath.test: There are (trivial) problems in this
	testcase that would cause the build to fail even if the core
	issue were resolved.  Fix those.

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: list forgotten test case in $(TESTS)

	* tests/list-of-tests.mk: Also list 'tar-override.test'.

2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	scripts: quote 'like this', not `like this'

	This change follows up on recent changes to the GNU coding standards.
	They now suggest that we should quote 'like this' or "like this" instead
	of `like this'; see:
	 <http://www.gnu.org/prep/standards/html_node/Quote-Characters.html>.

	Gnulib is being changed accordingly, and Gnulib imports some files
	directly from Automake master, so change those files to use the
	straight-up style.  This affects only commentary and quoting in
	diagnostics.

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: safer declarations of test dependencies

	To declare prerequisites common to all the tests, we now prefer to
	use the special `check_DATA' and `check_SCRIPTS' variables rather
	than "lazy" dependency declaration like "$(TEST_LOGS): DEPS ...";
	this because the latter, allowing run-time overriding of the
	TEST_LOGS variable, turned out to be subtly incomplete in some
	situations involving non-trivial inter-test dependencies.  For
	example, if the user issued a:

	    make check TESTS=libtool.test

	before the `defs-static' file was created (either explicitly or
	implicitly), a spurious errors followed, along these lines:

	 1. $(TEST_LOGS) got dynamically defined to `libtool.log';

	 2. make saw that, in the Makefile, `libtool.log' was explicitly
	    declared depending on `libtool-macros.log' and `defs-static';

	 3. somehow, make considered the dependency on `libtool-macros.log'
	   *before* considering the one on `defs-static' (which BTW is
	   perfectly legitimate on make's part);

	 4. to satisfy such a dependency, make set out to execute the
	    test `libtool-macros.test' in order to create the file
	    `libtool-macros.log';

	 5. since `libtool-macros.log' was *not* in $(TEST_LOGS), it
	    didn't appear to depend on the `defs-static' file, so make
	    didn't consider necessary to build `defs-static' before
	    running the `libtool-macros.test' script;

	 6. but that script sources `./defs-static' in order to work;
	    thus the test `libtool-macros.test' failed spuriously.

	* tests/Makefile.am ($(TEST_LOGS)): Remove explicit declaration
	of dependency on the required files/scripts; instead use ...
	(check_SCRIPTS, check_DATA): ... these new variables.

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: skip tests on perl TAP driver if TAP::Parser is not available

	We had so far taken for granted that all the perl installations
	modern enough to correctly run automake also came with a built-in
	TAP::Parser module; unfortunately, testing on MinGW/MSYS has
	shown that this is not always true, and that a lot of spurious
	testsuite failures would take place in such a situation (see
	automake bug#10440).

	Luckily, the perl implementation of the Automake TAP driver is
	only meant to be used for prototyping and consistency checks, the
	"real" Automake TAP driver being the portable one implemented in
	awk.  So we can simply skip the affected tests on systems lacking
	TAP::Parser.

	* tests/defs (fetch_tap_driver): Skip the whole test case if
	the desired tap driver implementation is the perl one but the
	TAP::Parser module is unavailable.
	* tests/tap-bad-prog.tap: Adjust order of calls to `plan_' and
	`fetch_tap_driver', to ensure the test is not skipped after the
	TAP plan has been outputted (which would lead to a spurious
	error).
	* tests/tap-bad-signal.tap: Tweak to avoid the need to source the
	`tap-setup.sh' script, as that might cause a test skip too late,
	i.e., after a TAP plan has been already printed.
	* tests/tap-test-number-0.test: Do not force the test to skip
	when the tested TAP driver implementation is not the perl one.
	On the other hand, when it *is* the perl one, skip the test if
	the TAP::Parser module is unavailable.
	* tests/test-driver-cond.test: Skip the part of the test actually
	running "make check" if the TAP::Parser module is unavailable.
	* tests/get-sysconf.test: Also print the version of the
	`TAP::Parser' module, if available.

	Reported by Peter Rosin.

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  dist: do not wrap calls to 'tar' with the 'missing' script
	  fixup: previous commit v1.11-627-g1e0aedc
	  tests: fix spurious failures due to autom4te caching

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dist: do not wrap calls to 'tar' with the 'missing' script

	The `missing' script is meant to allow non-developers to build a
	package in the face of slightly-skewed timestamps (as might happen
	e.g. when the package is obtained from a VCS checkout rather than
	from a distribution tarball).  It is *not* the business of the
	`missing' script to try to provide wrappers for all the maintainer
	tools (in this case, to tool being a decent tar program).  Such
	wrapping of `tar' was not only inappropriate, but it was also
	preventing the legitimate overriding (at make runtime) of the
	`tar' program used in the creation of the distribution tarballs.

	See also automake bug#9822.

	* lib/missing: Don't try to specially wrap `tar' invocations
	anymore.
	* m4/tar.m4 (_AM_PROG_TAR): In the definitions of the `AMTAR'
	variable, do not wrap the `tar' invocation with the `missing'
	script anymore.  Instead, allow the user to override the intended
	tar program at make runtime, by defining the `TAR' environment
	variable.
	[$1 == v7]: Similarly for the definitions of the `am__tar' and
	`am__untar' variables.  Since we are at it, don't make them depend
	anymore on the definition of the obsolescent `AMTAR' variable.
	* NEWS: Update.
	* tests/missing-tar.test: Remove, it's obsolete.
	* tests/tar-override.test: New test.
	* tests/Makefile.am (TESTS): Update.

	Reported by Akim Demaille.

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	fixup: previous commit v1.11-627-g1e0aedc

	* tests/acloca18.test: Do not remove an aclocal.m4 file that is
	needed by a later autoconf invocation.

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failures due to autom4te caching

	* tests/aclocal9.test: Call aclocal and autoconf with the `--force'
	option.
	* tests/acloca10.test: Sleep between re-runs of aclocal and autoconf.
	* tests/acloca18.test: Explicitly remove also the configure script
	and the aclocal.m4 before re-invoking aclocal and autoconf.

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: avoid trailing backslashes in make recipes

	The new testsuite-harness could generate recipes with a trailing
	backslash character (possibly followed by blank characters only),
	in the very common case where the user hadn't defined the special
	$(AM_TESTS_FD_REDIRECT) variable.  This caused spurious syntax
	errors with at least older bash versions (e.g., bash 2.05b), and
	could be potentially unportable to other weaker shells.

	See automake bug#10436:
	  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10436>
	and coreutils bug#10427:
	  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8>

	* lib/am/check2.am: Rework line breaks so that no backslash can
	be at the end of a line.
	* tests/parallel-tests-trailing-bslash.test: New test.
	* tests/list-of-tests.mk: Add it.

	Report and diagnosis by Paul Eggert.

2012-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  parallel-tests: avoid issue with overly long lines in sed input

	Additional edits:
	* NEWS: Remove entry from merged commit, since that will also be
	present in the NEWS file of automake 1.11.3.
	* lib/am/check.am (check-TESTS, recheck, recheck-html): Rework
	merged changes to adapt them to the different form these recipes
	has assumed in the master branch (w.r.t. the maint branch).

2012-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

	parallel-tests: avoid issue with overly long lines in sed input

	See automake bug#10437:
	  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10437>
	and coreutils bug#10427:
	  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8>

	* lib/am/check.am (recheck, recheck-html): In order to strip
	trailing whitespace from the definition of the `$list' variable,
	we used to invoke sed in a way that could cause it to get passed
	overly long input lines, causing spurious failures.  So rework
	the logic of the recipe to avoid any sed invocation, relying on
	simpler shell idioms instead.
	(check-TESTS): Reorganize the recipe to be more similar to the
	one of `recheck', for consistency and simplicity.
	* NEWS: Update.

	Report and analysis by Paul Eggert.

2012-01-05  Peter Rosin  <peda@lysator.liu.se>

	tests: work around strangeness in MSYS

	MSYS mishandles carriage returns and behaves very strangely for
	directories with colon in them.  It seems that colon-directories are
	somehow mixed up with drive letters.

	Fixes automake bug#7849.

	* tests/instspc.tap: Skip instead of erroring out when $test_string
	is empty for the carriageret case, as that is expected on MSYS.  Also,
	for similar reasons, skip instead of erroring out when it is not
	possible to cd into the just created directory, and the directory
	name contains a colon.  Update copyright years.

2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	cosmetics: prefer the term "Windows" over "Win32"

	Microsoft has renamed the Win32 API to "Windows API":
	  <http://msdn.microsoft.com/en-us/library/aa383723.aspx>

	Also, after some discussion on bug-gnulib, when talking about hosts and
	platforms we believe it's better to talk about "Windows" or "native
	Windows" instead:
	  <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00009.html>
	  <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>

	* doc/automake.texi: Mention "Windows", not "Win32".
	* lib/Automake/XFile.pm: Likewise.
	* lib/ar-lib: Likewise.
	* lib/compile: Likewise.
	* tests/compile2.test: Mention "Windows", not "w32".

2012-01-04  Peter Rosin  <peda@lysator.liu.se>

	test defs: skip all tests when the lib requirement isn't fulfilled

	* tests/defs (lib): Use skip_all_ instead of skip_, in order to support
	TAP-based test scripts.

2012-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: be sure to list all test cases in $(TESTS)

	* tests/list-of-tests.mk: Due to slightly botched merges, the test
	scripts `objext-pr10128.test' and `silent-nested-vars.test' weren't
	being correctly listed in $(TESTS); fix this.

2012-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  sync: auxiliary files from upstream synced
	  sync: fix syncing of 'gitlog-to-changelog' script
	  maintcheck: avoid false positive in sc_tests_plain_make

2012-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: auxiliary files from upstream synced

	* lib/texinfo.tex: Synced from upstream, by "make fetch".
	* lib/gitlog-to-changelog: Likewise.
	* lib/config.guess: Likewise.
	* lib/config.sub: Likewise.

2012-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	sync: fix syncing of 'gitlog-to-changelog' script

	* Makefile.am (FETCHFILES): Also list 'gitlog-to-changelog'.

2012-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: avoid false positive in sc_tests_plain_make

	* Makefile.am (sc_tests_plain_make): Ensure to only match full
	`make' words.  Avoid false positive in `silent-nested-vars.test'.

2012-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  install: pkglibexec_SCRIPTS is a valid prefix/primary combination
	  coverage: expose automake bug#10128
	  progs, libs: implement EXTRA_foo_DEPENDENCIES
	  tests: fix spurious failures in 'pr300*.test'

2012-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

	install: pkglibexec_SCRIPTS is a valid prefix/primary combination

	It makes little sense for `libexec_SCRIPTS' to be accepted as valid
	while `pkglibexec_SCRIPTS' is not.  So fix this inconsistency by
	explicitly allowing `pkglibexec_SCRIPTS' as well.  It is worth
	noting that the inconsistency has been there for a long time,
	but only the quite recent commit `v1.11-373-g9ca6326' "Warnings
	about primary/prefix mismatch fixed and extended" has made it
	noisy enough to be noticed.

	* automake.in (handle_scripts): Also list `pkglibexec' among the
	prefixes valid for the `SCRIPTS' primary.
	* doc/automake.texi (Scripts): Likewise.
	* tests/primary-prefix-valid-couples.test: Update.
	* THANKS: Likewise.
	* NEWS: Likewise.

	Reported by Dennis Schridde on the automake list:
	<http://lists.gnu.org/archive/html/automake/2012-01/msg00002.html>

2012-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

	coverage: expose automake bug#10128

	* tests/objext-pr10128.test: New test, still expected to fail.
	* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.

2012-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

	progs, libs: implement EXTRA_foo_DEPENDENCIES

	Backported from commit `v1.11-377-g6edafbb'.

	The feature implemented by that change is quite unobtrusive, so
	adding it to a maintenance release is acceptable.  Also, there
	have been requests from real-world users for this feature since
	it has been implemented in master; see automake bug#9320:
	 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9320>
	and this short discussion on the automake list:
	 <http://lists.gnu.org/archive/html/automake/2010-11/msg00099.html>
	It would be a pity to make such users wait even more (until
	Automake 1.12 is out) before they could start using this feature.
	Thus we backport it, so that it will appear in the next maintenance
	version of automake (1.11.3).

	* automake.in (handle_programs, handle_libraries)
	(handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
	* doc/automake.texi (Linking, Program and Library Variables)
	(LIBOBJS): Document EXTRA_*_DEPENDENCIES.
	* lib/am/library.am (%LIBRARY%): Also depend on
	$(EXTRA_%XLIBRARY%_DEPENDENCIES).
	* lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
	(%XLTLIBRARY%_DEPENDENCIES).
	* lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
	$(EXTRA_%XPROGRAM%_DEPENDENCIES).
	* tests/extradep.test, tests/extradep2.test: New tests.
	* tests/Makefile.am (TESTS): Update.
	* NEWS: Update.

2012-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failures in 'pr300*.test'

	This change fixes automake bug#10426.

	* tests/pr300-lib.test: Call configure with an explicit '--libdir'
	option, to avoid spurious failures due to users possibly overriding
	'${libdir}' in ther config.site files.
	* tests/pr300-ltlib.test: Likewise.

	Reported by Bruno Haible.

2012-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure due to I/O buffering

	* tests/parallel-tests-interrupt.tap: Ensure the dummy test script
	`foo.test' flushes its standard output before starting to grep the
	log file where such output is being redirected by the parallel test
	harness.  Since we are at it, improve this same dummy script to
	better catch unexpected behaviours and results.

	Reported by Jim Meyering in automake bug#10418.

2012-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

	news: fix botched merges, rebase on 1.11.2a NEWS version

	The NEWS file is unfortunately written in a format that doesn't
	lend itself very well to automatic merges; the recent merges of
	maint into master have left it full of blunders and in a somewhat
	inconsistent state.

	Another orthogonal issue is that the current version of NEWS
	still reports all the changes since the last 1.11 version, rather
	than since the latest maintenance version 1.11.2, or, even better,
	since the planned next maintenance version 1.11.3.

	* NEWS: Fix blunders and errors from botched merges.  Rebase the
	file on the NEWS file from branch-1.11 (from which automake 1.11.3
	is expected to be released).

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'msvc'

	* msvc:
	  tests: fix spurious failure due to autom4te caching
	  news: fix suboptimal wording
	  tests: various minor tweakings, mostly related to AM_PROG_AR

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure due to autom4te caching

	* tests/ar-lib3.test: Remove stale autom4te.cache directory, to
	prevent racy, spurious failures.

	Reported by Jim Meyering in automake bug#10418.

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint' into msvc

	* maint:
	  tests: make 'lzip.test' executable
	  dist: obsolete support for lzma (superseded by xz and lzip)
	  test defs: more granular overriding of the make program
	  docs: fix a couple broken anchors
	  dist: add support for lzip compression
	  docs: fix paragraph names for automake and aclocal invocations
	  tests: fix spurious failure due to autom4te caching
	  fix: last entry in ChangeLog
	  tests: tweak tests on silent-rules for makes without nested vars
	  silent-rules: fallback for makes without nested vars

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure of 'get-sysconf.test'

	* tests/get-sysconf.test: Do not assume that a ChangeLog file exists
	in $(srcdir): now that the ChangeLog is autogenerated and not under
	version control anymore, this is not necessary true.  Instead, if we
	are running from a git checkout, use "git log" to get information on
	the version of the automake snapshot being tested (and fall back on
	extracting the first ChangeLog entry otherwise).

	Reported by Jim Meyering in automake bug#10418.

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dist: remove support for lzma (superseded by xz and lzip)

	See also commit `v1.11-611-ge637fa2' (from maint), where support
	for lzma compression of distribution archive had been deprecated.

	* NEWS: Update.
	* lib/Automake/Options.pm: Error out if the `dist-lzma' option
	is used.
	* lib/am/distdir.am: Remove all support for the creation of a
	lzma-compressed distribution archive.
	* tests/lzma.test: Update.

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  tests: make 'lzip.test' executable
	  dist: obsolete support for lzma (superseded by xz and lzip)
	  test defs: more granular overriding of the make program
	  docs: fix a couple broken anchors
	  dist: add support for lzip compression
	  docs: fix paragraph names for automake and aclocal invocations
	  tests: fix spurious failure due to autom4te caching
	  fix: last entry in ChangeLog
	  tests: tweak tests on silent-rules for makes without nested vars
	  silent-rules: fallback for makes without nested vars

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: make 'lzip.test' executable

	* tests/lzip.test: Make it executable.

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'deprecate-lzma' into maint

	* deprecate-lzma:
	  dist: obsolete support for lzma (superseded by xz and lzip)

2012-01-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

	dist: obsolete support for lzma (superseded by xz and lzip)

	The lzma utilities are today superseded by the xz utilities; in
	fact, the official site at <http://tukaani.org/lzma/> reads:

	  ``LZMA Utils are legacy data compression software with high
	    compression ratio.  LZMA Utils are no longer developed, ...
	    Users of LZMA Utils should move to XZ Utils.''

	and the existing automake manual (as of 1.11.2) already says:

	  ``dist-xz
	    Generate an 'xz' tar archive of the distribution. xz archives
	    are frequently smaller than bzip2-compressed archives. The 'xz'
	    format will soon (early 2009) displace the 'lzma' format''

	Also, the `dist-lzma' target still suffers of never-solved bugs,
	due to the too-high compression ratio its uses by default, which
	might cause an unacceptable memory consumption when one tries to
	compress or, worse, decompress the created tarballs; see also:

	  <http://lists.gnu.org/archive/html/automake/2011-12/msg00025.html>
	  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9658>

	* NEWS: Update.
	* doc/automake.texi (Dist, Options): State that `dist-lzma' will
	go away in the next major automake version.
	* lib/Automake/Options.pm (_process_option_list): Deprecate
	`dist-lzma'.
	* tests/lzma.test: Update.

2011-12-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: fix a couple of typos in error messages

	* Makefile.am (sc_tests_plain_autoheader): Fix the message to
	report a bad use of "autocheader", not of "automake."
	(sc_tests_plain_autom4te): Likewise, but for "autom4te" instead.
	(sc_tests_plain_autoreconf): Likewise, but for "autoreconf"
	instead.

2011-12-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maintcheck: be sure to look at all the test cases

	Many maintainer checks in the top-level Makefile.am did some
	unwarranted assumptions about the test cases, i.e., they assumed
	that all the test scripts matched the wildcard `$(srcdir)/*.test'.

	This failed to properly take into account VPATH builds (where some
	generated tests might be in ${builddir} rather than in ${srcdir}),
	TAP-based tests script (which have a `.tap' extension) and helper
	scripts used by other test cases (which have a `.sh' extension).

	Fixes automake bug#9299.

	* Makefile.am (xtests): New variable, containing a (dynamically
	computed) of files that looks like test cases of the automake
	testsuite.
	Update many rules to use this new variable instead of blindly
	assuming that all the testcases matches the $(srcdir)/tests/*.test
	wildcard.
	* tests/tap-bad-prog.tap: Do a minor formatting change to
	avoid spuriously triggering a match from the syntax check
	`sc_tests_overriding_macros_on_cmdline'.

2011-12-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'dist-lzip' into maint

	* dist-lzip:
	  dist: add support for lzip compression

2011-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	test defs: more granular overriding of the make program

	Before this change, the only way the user could override the make
	program used in the automake test cases was to override the $MAKE
	variable in the environment.  This had the annoying side effect of
	requiring that, whenever a non-default make program was to be used
	in the test cases, that same make program had to be used to drive
	the execution of the automake testsuite; otherwise, the recursive
	make invocations could pick up $MAKE from the environment, and use
	that instead of re-executing with the correct make.

	So, for example, if one wanted to try how Solaris /usr/ccs/bin/make
	behaved in the automake test cases, he couldn't run the testsuite
	in parallel mode, because that make lacks support for concurrent
	execution of recipes; on fast machines, this easily meant a 4x or
	higher slow-down.

	Once the problem is clear, the solution is pretty simple: allow
	the use of another variable, besides $MAKE, to override the make
	program to be used in the test cases.

	See also commit `v1.11-1318-g3ceeef4', that introduced a more
	general version of this change to the master branch.

	* tests/defs.in: Allow the make implementation to be used by the
	test cases to be overridden by the `$AM_TESTSUITE_MAKE' variable,
	in preference to the `$MAKE' variable.

2011-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: fix a couple broken anchors

	* doc/automake.texi: In previous commit v1.11-605-g5f71f2b (related
	to automake bug#8071), we had renamed the chapters about aclocal
	and automake invocation, and added anchors to the old names as not
	to break hyperlinks to our on-line manual.  Unfortunately, these
	anchors had been erroneously placed *before* the relevant `@node'
	commands, instead that just after, so that they ended up pointing
	to the wrong chapters.  Fix this.  Since we are at it, tweak the
	wording of the comments to the anchors to better match that used
	in the autoconf manual.

	Report and suggestion by Eric Blake.

2011-12-30  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	dist: add support for lzip compression

	* NEWS: Update.
	* automake.in (handle_dist): Recognize dist-lzip.
	(make_paragraphs): Map LZIP to dist-lzip.
	* doc/automake.texi (Dist, Options): Describe dist-lzip.
	* lib/Automake/Options.pm (_process_option_list): Recognize
	`dist-lzip'.
	* lib/am/distdir.am (dist-lzip): New target.
	(DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'.
	(dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed
	tarball.
	(distcheck): Handle lzip-compressed tarballs just like the others.
	* tests/lzip.test: New test.
	* tests/Makefile.am (TESTS): Add it.

2011-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge remote-tracking branch 'silent-fixes' into maint

	* origin/silent-fixes:
	  fix: last entry in ChangeLog
	  tests: tweak tests on silent-rules for makes without nested vars
	  silent-rules: fallback for makes without nested vars

2011-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	docs: fix paragraph names for automake and aclocal invocations

	All the other autotools entitle their invocation nodes
	"autofoo Invocation", whereas automake used to call its
	"Invoking Automake" and "Invoking aclocal".  So let's
	try to be more consistent.

	This change is related to automake bug#8071.

	Suggestion by Reuben Thomas and Eric Blake.

	* doc/automake.texi (Invoking Automake): Node renamed ...
	(automake Invocation): ... to this.
	(Invoking aclocal): Node renamed ...
	(aclocal Invocation): ... to this.
	Add proper @anchor directives to avoid breaking existing web
	hyperlinks still using the old names of the renamed nodes.

2011-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix spurious failure due to autom4te caching

	* tests/acloca18.test: Remove stale autom4te.cache directories, to
	prevent racy, spurious failures.
	* tests/python11.test: Likewise.  Fix a typo in comments since we
	are at it.

2011-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint' into msvc

	* maint:
	  maint: autogenerate ChangeLog

2011-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint' into silent-fixes

	* maint:
	  maint: autogenerate ChangeLog
	  fix: last ChangeLog entry
	  tests: drop unnecessary requirement in 'subpkg.test'
	  gitlog-to-changelog: new auxiliary script, synced from gnulib
	  docs: "aclocal --install -I /abs/dir" actually copies files
	  docs: fix node names for automake and aclocal invocations

2011-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint' into yacc-work

	* maint:
	  maint: autogenerate ChangeLog

2011-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Merge branch 'maint'

	* maint:
	  maint: autogenerate ChangeLog

2011-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: autogenerate ChangeLog

	Following the practice set by various other GNU projects, we start
	to automatically generate the ChangeLog file from the git commit
	messages.  This will avoid duplication (as the ChangeLog entries
	were always inserted both in the git commit message and in the
	version-controlled ChangeLog file), and potential problems with
	spurious merge conflicts (which, although greatly mitigated by
	Bruno Haible's `git-merge-changelog' helper program, have never
	been completely solved).

	* ChangeLog: Moved ...
	* ChangeLog.11:... to this.
	* Makefile.am (EXTRA_DIST): Add it.
	(gitlog_to_changelog_command, gitlog_to_changelog_options): New
	variables.
	(ChangeLog, am--changelog-regen-hook): New targets.
	* .gitignore: Add ChangeLog.
