dwww Home | Show directory contents | Find package

2021-10-03  Jim Meyering  <meyering@fb.com>

        version 1.16.5

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

2021-10-03  Jim Meyering  <meyering@fb.com>

        maint: don't use obsolescent "egrep"

        * maintainer/syntax-checks.mk (sc_perl_local): Use grep -E
        in place of "egrep".

2021-10-03  Jim Meyering  <meyering@fb.com>

        maint: remove trailing white space from a few files

        * NEWS: Remove trailing white space.
        * NEWS-2.0: Likewise.
        * contrib/checklinkx: Likewise.
        * doc/local.mk (chlx_args): Likewise.
        * m4/python.m4: Likewise.
        * t/test-extensions-empty.sh: Likewise.

2021-09-28  Karl Berry  <karl@freefriends.org>

        doc: show "RUNNING: <testname>" example using [AM_]TESTS_ENVIRONMENT.

        This change addresses https://bugs.gnu.org/49309.

        * doc/automake.texi (Testsuite Environment Overrides): new
        subsubsection, separating out [AM_]TESTS_ENVIRONMENT description.
        Add example to get "RUNNING: <testname>" when a test starts.

2021-09-28  Karl Berry  <karl@freefriends.org>

        doc: tweak Yacc/Lex text; subnode for the yacc linking hack.

        * doc/automake.texi (Alternative): remove obsolete footnote.
        (Yacc and Lex): tweak wording, more consistent capitalization.
        (Linking Multiple Yacc Parsers): new subsection.

        Also add @shortcontents.
        Also update texinfo-master-menu (for the first time in ages).

2021-09-26  Karl Berry  <karl@freefriends.org>

        maint: Update files from upstream with 'make fetch'.

        * lib/config.sub: Update.

2021-09-19  Jim Meyering  <meyering@fb.com>

        maint: Post-release administrivia

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

2021-09-19  Jim Meyering  <meyering@fb.com>

        maint: adjust version for snapshot

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

2021-09-19  Karl Berry  <karl@freefriends.org>

        python: only use Python's sys.* values if the new option

        --with-python-sys-prefix is specified; otherwise, return to
        previous behavior of using the GNU ${prefix} and ${exec_prefix}.

        * doc/automake.texi (Python): document the new behavior.
        * m4/python.m4 (AM_PATH_PYTHON): conditionalize use of Python's
        sys.* values on the new option --with-python-sys-prefix.
        * t/python-prefix.sh: doc update.
        * t/python-vars.sh: test both GNU and Python prefix values.
        * NEWS: mention this.

2021-09-18  Karl Berry  <karl@freefriends.org>

        doc: update NEWS for yyerror const arg; update THANKS.

        * THANKS: update with missed recent committer.
        * NEWS: mention yyerror decl in our tests now uses const.

2021-09-11  Akim Demaille  <akim@lrde.epita.fr>

        tests: let yacc's yyerror take its argument as a const string

        Some of yacc error messages are const strings; it makes no sense for
        yyerror to take a 'char *', it should be a 'const char *' as POSIX now
        requires.

        Fixes all the failures reported by Kiyoshi Kanazawa.
        <https://lists.gnu.org/r/bug-bison/2021-09/msg00005.html>
        See bug#50469 <https://debbugs.gnu.org/50469>.

        * t/cond35.sh, t/silent-many-languages.sh, t/silent-yacc-headers.sh,
        * t/silent-yacc.sh, t/subpkg-yacc.sh, t/suffix10.tap, t/yacc-basic.sh,
        * t/yacc-clean.sh, t/yacc-d-basic.sh, t/yacc-d-vpath.sh,
        * t/yacc-deleted-headers.sh, t/yacc-depend.sh, t/yacc-depend2.sh,
        * t/yacc-dist-nobuild-subdir.sh, t/yacc-dist-nobuild.sh, t/yacc-dry.sh,
        * t/yacc-line.sh, t/yacc-misc.sh, t/yacc-mix-c-cxx.sh, t/yacc-nodist.sh,
        * t/yacc-pr204.sh, t/yacc-subdir.sh, t/yacc-vpath.sh,
        * t/yflags-cmdline-override.sh, t/yflags-force-override.sh
        (yyerror): From 'char *' to 'const char *'.
        Enforce consistency: prefer '{}' to '{ return; }'.

2021-09-10  Jan Engelhardt  <jengelh@inai.de>

        automake: consistently depend on install-libLTLIBRARIES.

        Report and patch:
        https://lists.gnu.org/archive/html/automake/2021-08/msg00016.html

        * bin/automake.in (generate_makefile): depend on
        install-libLTLIBRARIES for all PROGRAMS and LTLIBRARIES,
        such as install-pkglibLTLIBRARIES.
        * NEWS: mention this.

2021-08-17  Nick Bowler  <nbowler@draconx.ca>

        automake: fatal error on second AM_INIT_AUTOMAKE.

        This change addresses https://bugs.gnu.org/50046.
        Patch posted:
        https://lists.gnu.org/archive/html/automake-patches/2021-08/msg00000.html

        * m4/init.m4: Make attempts to expand AM_INIT_AUTOMAKE more than
        once a fatal error at m4 time.

2021-08-08  Karl Berry  <karl@freefriends.org>

        maint: Update doc/help2man.

        * doc/help2man: update to 1.48.24

2021-08-07  Karl Berry  <karl@freefriends.org>

        maint: Update doc/help2man.

        * doc/help2man: update to 1.48.2.

2021-08-07  Dimitri Papadopoulos  <dimitri.papadopoulos@gmail.com>

        doc: typos from codespell.

        * HACKING: typo from codespell.
        * doc/local.mk: likewise.
        * lib/am/header-vars.am: likewise.
        * lib/am/lisp.am: likewise.
        * t/cond24.sh: likewise.
        * t/cond36.sh: likewise.
        * t/dist-auxdir-many-subdirs.sh: likewise.
        * t/link_override.sh: likewise.
        * t/parallel-tests-console-output.sh: likewise.
        * t/subobj11a.sh: likewise.
        * t/subobj11b.sh: likewise.

2021-07-26  Karl Berry  <karl@freefriends.org>

        cosmetics: py-compile consistently use test, not [ ... ]; indentation.

        * lib/py-compile: consistently use test rather than [ ... ];
        use consistent sh indentation; check exit status consistently.

2021-07-26  Jim Meyering  <meyering@fb.com>

        maint: Post-release administrivia

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

2021-07-25  Jim Meyering  <meyering@fb.com>

        version 1.16.4

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

2021-07-22  Karl Berry  <karl@freefriends.org>

        maint: Update files from upstream with 'make fetch'.

        * lib/gendocs.sh: Update.

2021-07-18  Jim Meyering  <meyering@fb.com>

        maint: adjust version, post-snapshot

        * configure.ac (AC_INIT): Bump version number to 1.16e for snapshot.
        * m4/amversion.m4: Regenerate.

2021-07-18  Jim Meyering  <meyering@fb.com>

        maint: adjust version for snapshot

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

2021-07-18  Jim Meyering  <meyering@fb.com>

        doc: NEWS tweak

        * NEWS: Indent consistently.

2021-07-17  Karl Berry  <karl@freefriends.org>

        doc: update HACKING.

        * HACKING: update for some current realities.

2021-07-15  Jacob Bachmeyer  <jcb@gnu.org>

        tests: use testsuite/ directory in DejaGnu tests

        Patch posted:
        https://lists.gnu.org/archive/html/automake-patches/2021-07/msg00009.html

        * t/check12.sh: Consistently use the directory name, testsuite/,
        for all DejaGnu tests, and always use recursive make to run
        DejaGnu, for backward and forward compatibility.
        * t/dejagnu3.sh: Likewise.
        * t/dejagnu4.sh: Likewise.
        * t/dejagnu5.sh: Likewise.
        * t/dejagnu6.sh: Likewise.
        * t/dejagnu7.sh: Likewise.
        * t/dejagnu-absolute-builddir.sh: Likewise.
        * t/dejagnu-relative-srcdir.sh: Likewise.
        * t/dejagnu-siteexp-extend.sh: Likewise.
        * t/dejagnu-siteexp-useredit.sh: Likewise.
        * NEWS: mention this.
        * THANKS: new contributor.

2021-07-15  Nick Gasson  <nick@nickg.me.uk>

        automake: silent make output for custom link commands.

        Patch posted:
        https://lists.gnu.org/archive/html/automake-patches/2021-07/msg00010.html

        * bin/automake.in (define_per_target_linker_variable): Use
        AM_V_${target}_LINK if defined as the verbose variable name for
        custom link commands.
        * doc/automake.texi (Program and Library Variables): Document the new
        variable.
        * t/link_override.sh: Add extra checks for silent make rules.
        * NEWS: Mention this.
        * THANKS: new contributor.

2021-07-11  meyering  <meyering@hx.meyering.net.(none)>

        maint: avoid syntax-check failures

        * maintainer/syntax-checks.mk (toupper): Tighten the regexp
        to avoid a new false-match in t/python-prefix.sh.
        * t/instmany-python.sh: Use run_make in place of some $MAKE uses.
        * t/python-prefix.sh: Likewise.
        * t/python-vars.sh: Likewise.

2021-07-11  Jim Meyering  <meyering@fb.com>

        maint: make update-copyright

2021-07-11  Allison Karlitskaya  <allison.karlitskaya@redhat.com>

        maint: tweak comment wording

        * doc/automake.texi (List of Automake options): Nit.
        * t/dist-no-built-sources.sh: Likewise.

2021-07-11  Jim Meyering  <meyering@fb.com>

        no-dist-built-sources: fix-up

        * bin/automake.in (preprocess_file): Process new option here,
        (handle_dist): ... not here.
        * lib/Automake/Options.pm (_is_valid_easy_option):
        Remove pure-dist.
        * lib/am/distdir.am: Don't factor out the duplicate-looking
        $(MAKE)... command.  Otherwise, many dist-using tests would fail
        for me, e.g., t/aclocal-amflags.sh.

2021-07-11  Jim Meyering  <meyering@fb.com>

        test: disable use of ksh in a test that would otherwise hang

        * t/tests-environment-fd-redirect.sh: This test would hang when
        using ksh93 from Fedora 34 and CentOS 8.  Comments demonstrate
        the issue reported as https://github.com/ksh93/ksh/issues/316

2021-07-11  Karl Berry  <karl@freefriends.org>

        doc: update THANKS.

        * THANKS: mention contributors over the past couple years.

2021-07-09  Allison Karlitskaya  <allison.karlitskaya@redhat.com>

        dist: add new "dist-no-built-sources" automake option.

        Fixes automake bug https://debbugs.gnu.org/49317.

        * bin/automake.in: implement new option "no-dist-built-sources" to
        omit the dependency of distdir on $(BUILT_SOURCES).  (Allison's
        original patch used the option name dist-pure; trivially renamed.)
        * lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: conditionalize
        the dependency.
        * lib/Automake/Options.pm (_is_valid_easy_option): list it.
        * doc/automake.texi (List of Automake options): document it.
        * NEWS: mention it.
        * t/dist-no-built-sources.sh: test it.
        * t/list-of-tests.mk (handwritten_TESTS): add it.

2021-07-07  Karl Berry  <karl@freefriends.org>

        maint: missed commits.

        * INSTALL: Update from gnulib via make fetch.
        * NEWS: mention config.{guess,sub} restoration of `...`.

2021-07-05  Karl Berry  <karl@freefriends.org>

        maint: Update files from upstream with 'make fetch'

        * lib/INSTALL: Update.
        * lib/config.guess: Likewise.
        * lib/config.sub: Likewise.
        * lib/gendocs.sh: Likewise.
        * lib/gendocs_template: Likewise.
        * lib/gitlog-to-changelog: Likewise.
        * lib/gnupload: Likewise.
        * lib/texinfo.tex: Likewise.
        * lib/update-copyright: Likewise.

2021-07-05  Karl Berry  <karl@freefriends.org>

        tests: forgot to remove dev exit 33 from new test.

        * t/toplevelmd.sh: normal ending.

2021-07-01  Karl Berry  <karl@freefriends.org>

        dist: accept .md versions for README et al.

        This change was suggested by madmurphy; some ideas were taken
        from the patch he provided.
        https://lists.gnu.org/archive/html/automake-patches/2021-06/msg00005.html

        * bin/automake.in (@toplevelmd_ok): new global, listing the files
        for which we will accept .md versions.
        (@common_files): remove those files from there.
        (handle_dist): check for .md if non-.md is absent.
        (handle_minor_options): check for README-alpha.md.
        (check_gnu_standards): accept .md version if present.
        (check_gnits_standards): likewise.
        (usage): output list of .md-accepted files.
        * doc/automake.texi (Basics of Distribution): document.

        * t/toplevelmd.sh: new test.
        * t/list-of-tests.mk (handwritten_tests): add it.
        * NEWS: mention new feature.

2021-06-08  Karl Berry  <karl@freefriends.org>

        doc: omit "really" from manual.

        * doc/automake.texi: remove or replace "really".

2021-06-07  Karl Berry  <karl@freefriends.org>

        doc: --always-make doesn't work.

        * doc/automake.texi (Rebuilding): the GNU Make option
        --always-make does not work with Automake.
        Report from Johan Persson,
        https://lists.gnu.org/archive/html/automake/2021-06/msg00002.html.
        Also, use "GNU Make" (capital M) more consistently.

2021-05-18  Karl Berry  <karl@freefriends.org>

        doc: wording.

        * README:
        * t/python-virtualenv.sh:
        * doc/automake.texi: wording, typos, etc.

2021-05-18  Karl Berry  <karl@freefriends.org>

        doc: move future 2.0 incompatibilities to separate file.

        * NEWS: move info to ...
        * NEWS-2.0: ... this new file.
        * Makefile.am (EXTRA_DIST): add it.

2021-05-18  Karl Berry  <karl@freefriends.org>

        python: new python-prefix test.

        * t/python-prefix.sh: new test.
        * t/list-of-tests.mk (handwritten_tests): add it.
        * NEWS: describe new Python prefix behavior.

2021-05-18  Joshua Root  <jmr@macports.org>

        python: use Python's sys.prefix and sys.exec_prefix

        for PYTHON_PREFIX and PYTHON_EXEC_PREFIX; new configure options
        --with-python_prefix and --with-python_exec_prefix to set explicitly.

        This change fixes https://bugs.gnu.org/35322.

        * m4/python.m4 (AM_PATH_PYTHON): use Python's sys.prefix and
        sys.exec_prefix for PYTHON_PREFIX and PYTHON_EXEC_PREFIX,
        instead of $prefix and $exec_prefix. But use a variable
        reference to ${prefix} if it is contained within sys.prefix;
        similarly for exec_prefix. Also support new configure options
        to set explicitly.
        (PYTHON_PREFIX, PYTHON_EXEC_PREFIX): AC_SUBST these.
        (am_cv_python_pythondir): use our new $am_cv_python_prefix,
        substituting ${PYTHON_PREFIX}.
        (am_cv_python_pyexecdir): likewise.
        * doc/automake.texi (Python): PYTHON_PREFIX, PYTHON_EXEC_PREFIX,
        document new approach.
        * t/instmany-python.sh: set PYTHON_PREFIX as needed.
        * t/python-vars.sh (PYTHON_EXEC_PREFIX, PYTHON_PREFIX): also set from
        Python's sys.{exec_,}prefix; use ${PYTHON_{EXEC,}PREFIX} instead
        of ${exec_,}prefix.

2021-05-12  Karl Berry  <karl@freefriends.org>

        doc: HACKING updates.

        * HACKING: some additional tidbits.

2021-02-27  Dirk Mueller  <josef.moellers@suse.com>

        automake: sort hash keys needed for reproducible output.

        This change fixes https://bugs.gnu.org/46744.

        * bin/automake.in: sort keys, in: handle_LIBOBJS, handle_clean,
         handle_factored_dependencies, scan_autoconf_traces,
         lang_vala_finish.
        * NEWS: mention this.

2021-02-22  Karl Berry  <karl@freefriends.org>

        doc: a_LDFLAGS always overrides AM_LDFLAGS.

        This change addresses https://bugs.gnu.org/34925.

        * doc/automake.texi (Program and Library Variables): document
        that using a_LDFLAGS at all, even in the false branch of a
        conditional, means that AM_LDFLAGS is ignored.

2021-02-21  Mike Frysinger  <vapier@gentoo.org>

        doc: [AM_]RUNTESTFLAGS not [AM_]RUNTESTDEFAULTFLAGS.

        * doc/automake.texi (Other Variables): Change [AM_]RUNTESTDEFAULTFLAGS
        to [AM_]RUNTESTFLAGS.

2021-02-11  Karl Berry  <karl@freefriends.org>

        doc: user flags last does not always allow overriding.

        This change addresses https://bugs.gnu.org/35526.

        * doc/automake.texi (Flag Variables Ordering): recognize that
        user flags last does not always allow overriding.

2021-01-06  Karl Berry  <karl@freefriends.org>

        doc: discuss AC_* ordering a little.

        * doc/automake.texi (Optional): mention that AC_CONFIG_AUX_DIR
        must be called before AM_INIT_AUTOMAKE, and recommend that other
        AC_CONFIG_* macros be called after.  This seems to be the most
        common practice.  Autoconf does not currently impose ordering:
        https://savannah.gnu.org/support/?110416

2020-12-14  Zack Weinberg  <zackw@panix.com>

        Fix some build and test failures with Autoconf 2.70.

        Autoconf 2.70 (released last week) makes a few changes that broke Automake’s
        expectations, mostly in the test suite.  This patch addresses two of the
        problems:

         - autoconf now issues a warning if fed a configure script that doesn’t invoke
           both AC_INIT and AC_OUTPUT; this, plus a problem with system-provided
           tools (still under investigation) broke the *build* on macOS; it also
           causes a couple of spurious testsuite failures.

         - AC_PACKAGE_NAME and AC_PACKAGE_VERSION are now defined unconditionally.
           AM_INIT_AUTOMAKE needs to use m4_ifset instead of m4_ifdef to diagnose
           the obsolete use of AC_INIT with fewer than two arguments.  (This change
           is compatible with autoconf 2.69; m4_ifset is much older, and it means
           ‘defined with a non-empty value’.)

        * configure.ac: Use both AC_INIT and AC_OUTPUT in test configure scripts.
        * t/deprecated-acinit.sh, t/init.sh: Likewise.
        * m4/init.m4 (AM_INIT_AUTOMAKE): Use m4_ifset, not m4_ifdef, to detect
          AC_PACKAGE_NAME and/or AC_PACKAGE_VERSION not having a value.

2020-12-13  Karl Berry  <karl@freefriends.org>

        python: don't assume $(...) in py-compile.

        This change (very) partially fixes https://bugs.gnu.org/45205.

        * lib/py-compile: use `...` instead of $(...).
        Solaris 10 /bin/sh is still in use.

2020-12-09  Karl Berry  <karl@freefriends.org>

        tests: more .NOTPARALLEL tests.

        * t/java-compile-run-nested.sh: .NOTPARALLEL in subdirs too.

2020-12-08  Karl Berry  <karl@freefriends.org>

        tests: more .NOTPARALLEL tests.

        * contrib/t/multilib.sh: yet more .NOTPARALLEL for AM_TESTSUITE_MAKE,
        found by Jim on heavier machines.
        * t/autodist-stamp-vti.sh: likewise.
        * t/java-compile-run-nested.sh: likewise.
        * t/transform2.sh: likewise.

2020-12-07  Karl Berry  <karl@freefriends.org>

        tests: more .NOTPARALLEL tests.

        * contrib/t/multilib.sh: use .NOTPARALLEL to avoid unreproducible
        (and undebuggable, by me) test failures when running
          make -j$njobs AM_TESTSUITE_MAKE="make -j$njobs"
        for some arbitrary but rather large value of $njobs.
        The failures don't occur with just make -j; have to run the makes
        inside the tests in parallel also.
        * t/java-compile-install.sh: likewise.
        * t/java-compile-run-flat.sh: likewise.
        * t/java-uninstall.sh: likewise.
        * t/vala-headers.sh: likewise.

2020-12-05  Karl Berry  <karl@freefriends.org>

        doc: comment Vala -newer test.

        This change updates https://bugs.gnu.org/44772.

        * bin/automake.in (lang_vala_finish_target): comment that
        we're checking "C file not older than Vala file", and the
        log message misleadingly says "reversed".

2020-12-05  Reuben Thomas  <rrt@sc3d.org>

        tags: support setting CTAGS, ETAGS, CSCOPE vars via ./configure.

        This change fixes https://bugs.gnu.org/45013.

        * m4/init.m4: add default settings and AC_SUBST calls for the variables
          `CTAGS', `ETAGS' and `CSCOPE'.
        * lib/am/tags.am: remove default settings of the above variables.
        * doc/automake.texi (Tags): mention and index.
        * NEWS: mention.

2020-12-03  Karl Berry  <karl@freefriends.org>

        warnings: be less forceful about a missing subdir-objects option.

        This change somewhat ameliorates https://bugs.gnu.org/20699.

        * bin/automake.in (handle_single_transform): change
        forward-incompatibility message for subdir-objects to be
        less draconian and less certain that the change will ever be made.
        * t/subobj.sh: message text has changed.
        * doc/automake.texi (Program and Library Variables): mention
        the unfortunate fact that one directory can clean in a sibling,
        subdir-objects notwithstanding.

2020-11-27  Karl Berry  <karl@freefriends.org>

        tests: .NOTPARALLEL test-driver-create-log-dir.

        * t/test-driver-create-log-dir.sh (.NOTPARALLEL): add target,
        since the two tests under sub/ seem to have a race condition.
        No evident way to debug or reliably reproduce. Reported by Jim.

2020-11-27  Reuben Thomas  <rrt@sc3d.org>

        vala: avoid wrong regeneration of C files.

        This change might fix https://bugs.gnu.org/44772.

        * bin/automake.in (lang_val_finish_target): reverse -newer test
        to handle files being created at the same time causing
        spurious rebuilds.

2020-11-24  Karl Berry  <karl@freefriends.org>

        doc: typo.

        This change fixes https://bugs.gnu.org/44845.

        * doc/automake.texi (Vala Support): zardoz.c not zardoc.c.

2020-11-23  Karl Berry  <karl@freefriends.org>

        tests: create log file before running the test script.

        This change partially fixes https://bugs.gnu.org/35762.

        * lib/test-driver: create $log_file before running the
        test script. Also quote $log_file. Combined suggestions
        from howaboutsynergy and Eric Blake.

2020-11-22  Karl Berry  <karl@freefriends.org>

        doc: mention overriding SUBDIRS= with TESTS= and recursive make.

        This change palliates https://bugs.gnu.org/42883,
        though it's not a real fix.

        * doc/automake.texi (Parallel Test Harness): with recursive
        make, when limiting the tests run, also presumably needed to
        override SUBDIRS.

2020-11-18  Jim Meyering  <meyering@fb.com>

        maint: Post-release administrivia

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

2020-11-18  Jim Meyering  <meyering@fb.com>

        version 1.16.3

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

2020-11-16  Jim Meyering  <meyering@fb.com>

        tests: correct preceding change.

        * t/auxdir-pr19311.sh: Fix error in case stmt and match more
        upcoming versions.

2020-11-16  Jim Meyering  <meyering@fb.com>

        tests: auxdir-pr19311.sh no longer fails with latest autoconf

        * t/list-of-tests.mk (XFAIL_TESTS): Remove from this list.
        * t/auxdir-pr19311.sh: Instead, run this test only when autoconf
        is 2.69d or newer.  Otherwise, skip it.

2020-11-16  Jim Meyering  <meyering@fb.com>

        maint: placate maintainer-check's rm -f check

        * t/vala-recursive-setup.sh: Add an unnecessary -f option
        to an rm invocation to avoid "make maintainer-check" failure.

2020-11-15  Jim Meyering  <meyering@fb.com>

        maint: Update files from upstream with 'make fetch'

        * lib/config.guess: Update.
        * lib/config.sub: Likewise.
        * lib/texinfo.tex: Likewise.

2020-11-15  Jim Meyering  <meyering@fb.com>

        tests: avoid missing .dvi failure with parallel tests

        * t/txinfo-no-clutter.sh: Tests of texinfo-related rules
        had overlap that made them fail often when some rules were
        run in parallel, so inhibit parallelism in that one directory.
        See discussion starting at
        https://lists.gnu.org/r/automake-patches/2020-11/msg00011.html

2020-11-15  Jim Meyering  <meyering@fb.com>

        tests: protect against parallel false failure

        * t/parallel-tests-console-output.sh: Do not depend on the order
        of items in test summary. With a parallel test run, they may
        appear in a different order, e.g., when running tests like this:
          make check AM_TESTSUITE_MAKE='make -j14'
        Sort the expected output and the actual output before comparing.

2020-11-15  Jim Meyering  <meyering@fb.com>

        doc: fix quoting in suggested parallel test invocation

        * t/README: Fix reversed single/double quotes.

2020-11-14  Jim Meyering  <meyering@fb.com>

        tests: accommodate an $ac_aux_dir of "." or "./"

        * t/auxdir-pr15981.sh: This test would fail when run with
        autoconf-2.69d because $ac_aux_dir would be "./" rather than
        the expected ".".  Accept both.

2020-11-14  Jim Meyering  <meyering@fb.com>

        tests: avoid failures due to missing ar-lib

        * t/ar4.sh: Create dummy ar-lib, as done in other tests,
        to avoid failure like this:
        configure: error: cannot find required auxiliary files: ar-lib
        * t/ar5.sh: Likewise.

2020-11-13  Karl Berry  <karl@freefriends.org>

        install-sh: trailing whitespace.

        * lib/install-sh: remove trailing whitespace. Sigh.
        (scriptversion): 2020-11-14.01

2020-11-13  Robert Menteer  <reetnem@mac.com>

        dejagnu: quote `pwd` when writing "set objdir" line to site.exp.

        This change fixes https://bugs.gnu.org/44600.

        * lib/am/dejagnu.am (site.exp): quote set objdir line.
        * NEWS: mention this.

2020-11-12  Karl Berry  <karl@freefriends.org>

        install-sh: new option -S SUFFIX for simple file backups.

        * lib/install-sh: implement and document -S.
        Patch sent by Julien Elie:
                https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00004.html
        (scriptversion): 2020-11-13.01
        * t/install-sh-option-S.sh: new test.
        * t/list-of-tests.mk (handwritten_tests): add it.
        * NEWS: mention it.

2020-11-10  Karl Berry  <karl@freefriends.org>

        install-sh: --help tweaks.

        * lib/install-sh (usage): avoid too-long line, mention
        bug reporting address (bug-automake) and automake home page.

2020-11-10  Karl Berry  <karl@freefriends.org>

        install-sh: new option -p to preserve mtime.

        * lib/install-sh: new option -p to call cp -p.
        Idea from patch sent by Julien Elie:
        https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00002.html
        (scriptversion): 2020-11-11.02
        * NEWS: mention this.

        2020-11-10  Karl Berry  <karl@freefriends.org>

2020-11-10  Karl Berry  <karl@freefriends.org>

        vala: forgot to update lists-of-tests.mk.

        * t/list-of-tests.mk (handwritten_tests): include
        t/vala-libs-distcheck.sh and t/vala-libs-vpath.sh.
        Should have been committed with 2020-10-29 vala change,
        but somehow missed.

        2020-11-10  Karl Berry  <karl@freefriends.org>

2020-11-10  Karl Berry  <karl@freefriends.org>

        install-sh: do not chown existing directories.

        * lib/install-sh: do not chown existing directories.
        Original patch sent by Julien Elie:
        https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00003.html
        (scriptversion): 2020-11-11.01
        * NEWS: mention this.

2020-11-10  Karl Berry  <karl@freefriends.org>

        install-sh: do not redundantly specify -f to rm.

        * lib/install-sh: do not redundantly specify -f to rm.
        Mention implication for RMPROG in the --help message.
        Original patch sent by Julien Elie:
        https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00005.html
        * NEWS: mention this.

2020-11-07  Reuben Thomas  <rrt@sc3d.org>

        vala: improve support, especially builddir vs. srcdir.

        This change fixes https://bugs.gnu.org/13002.

        * NEWS: mention these changes.
        * bin/automake.in: generated C files go in builddir, not srcdir.
        Distribute the header files generated from VAPI files.
        * t/vala-libs-distcheck.sh: new test for `make distcheck' of a
        Vala library.
        * t/vala-libs-vpath.sh: new test for a VPATH build of a Vala library.
        * t/vala-libs.sh: add local VAPIs used as external --package to test.

        * t/vala-recursive-setup.sh: we need to make
        maintainer-clean at one point to remove stamp files to avoid
        confusing a VPATH build performed after a non-VPATH build.
        * t/vala-non-recursive-setup.sh: likewise.

        * t/vala-parallel.sh: some test paths need changing to take into
        account that generated C files now go in builddir.
        * t/vala-per-target-flags.sh: likewise.
        * t/vala-recursive-setup.sh: likewise.
        * t/vala-vpath.sh: likewise.

2020-11-07  Karl Berry  <karl@freefriends.org>

        tests: recompute dependencies when lists-of-tests.mk changes.

        This change fixes https://bugs.gnu.org/44458
        and updates https://bugs.gnu.org/11347.

        * t/local.mk ($(srcdir)/%D/testsuite-part.am): restore
        dependency on '%D/list-of-tests.mk' (i.e., t/list-of-tests.mk),
        partially reverting the change of 26 Apr 2012 for bug#11347.
        Otherwise, new tests that have dependencies will not cause an
        update of testsuite-part.am, leading to strange failures
        (bug#44458). The original problem being fixed in #11347 was
        unnecessary rebuilding when modifying tests; that should not be
        affected here, but when new tests are added, it seems reasonable,
        as well as necessary, to ensure dependencies are updated.

2020-10-27  Miro Hron\v{c}ok  <miro@hroncok.cz>

        python: determine Python (3.10) version number correctly.

        This change fixes https://bugs.gnu.org/44239
        (and https://bugzilla.redhat.com/show_bug.cgi?id=1889732).

        * m4/python.m4: use print('%u.%u' % sys.version_info[:2]) for
        the version number instead of merely sys.version[:3], so the
        numbers are treated as numbers.
        * t/python-vars.sh (PYTHON_VERSION): Likewise.
        * doc/automake.texi: Document it.
        * NEWS: mention it. (Minor tweaks from Karl Berry.)

2020-10-23  Jim Meyering  <meyering@fb.com>

        doc: correct "moved in", to "moved to"

        * NEWS: Correct wording.
        * contrib/README: Likewise.
        * doc/automake.texi: Likewise.

2020-10-23  Reuben Thomas  <rrt@sc3d.org>

        contrib/README: fix and clarify the English

2020-10-23  Reuben Thomas  <rrt@sc3d.org>

        Improve Vala compiler detection: use API version, not compiler version

        * m4/vala.m4: check `valac --api-version', not `valac --version'.
        * doc/automake.texi: update documentation.

2020-10-07  Zack Weinberg  <zackw@panix.com>

        Use complete configure.ac’s in testsuite.

        Autoconf 2.70 will issue warnings if it encounters a configure.ac that doesn’t
        call both AC_INIT and AC_OUTPUT.

        Automake already issues warnings if it encounters a configure.ac that uses an
        AM_ macro but doesn’t call AM_INIT_AUTOMAKE or AC_CONFIG_FILES([Makefile]).

        In two places, the testsuite was tripping these warnings, leading to spurious
        failures with Autoconf 2.70 betas.

        * t/aminit-moreargs-deprecation.sh: Add AC_OUTPUT to test configure.ac.
        * t/mkdirp-deprecation.sh: Use a complete test configure.ac, not a stub
          containing only a use of AM_PROG_MKDIR_P.

2020-10-06  Karl Berry  <karl@freefriends.org>

        automake: install-exec did not depend on $(BUILT_SOURCES).

        This change fixes https://bugs.gnu.org/43683.

        * lib/am/install.am (install-exec): %maybe_BUILT_SOURCES% dependency,
        twice.  Basic patch from madmurphy (tiny change), message#8.
        (.MAKE) [maybe_BUILT_SOURCES]: depend on install-exec.
        * NEWS: mention it.
        * doc/automake.texi (Sources): mention this (also that make dist
        depends on $(BUILT_SOURCES)).
        * t/built-sources-install-exec.sh: new test.
        * t/list-of-tests.mk (handwritten_TESTS): add it.
        * t/built-sources-install.sh: typo.
        * t/built-sources-check.sh: typo.

2020-09-21  Zack Weinberg  <zackw@panix.com>

        Update documentation of warnings options and strictness levels.

        The warning categories ‘cross’ and ‘portability-recursive’ were not mentioned
        in the manual.

        Also clarify the relationship between warnings categories and strictness
        levels, and streamline the description of strictness levels by merging the
        “Gnits” section into the “Strictness” section.

        * doc/automake.texi (Gnits, Strictness): Combine these sections.
          Minor revisions to explanation of strictness levels.
          (automake Invocation): Add documentation of all the warnings
          categories that have been added since the last time this section
          was updated.  Minor clarifications.

2020-09-21  Zack Weinberg  <zackw@panix.com>

        Use WARNINGS=none to suppress warnings from autom4te runs.

        aclocal uses autom4te in trace mode to scan configure.ac for macros whose
        definition is not yet available.  It has a kludge to prevent this from
        producing spurious warnings, but a cleaner, fully backward compatible, way to
        get the same effect is to set WARNINGS=none in the environment and not pass
        down any -W options.  (This is better than passing -Wnone on the command line
        because it automatically inherits to any subprocesses started by autom4te.)

        Perl’s ‘local’ feature can be used to make the enviironment variable setting
        temporary, reverting to the previous value when we exit the function.

        automake also runs autom4te (technically autoconf) in trace mode; warnings
        from this invocation will not be *spurious*, but in the common case where
        the person running automake is going to run autoconf next, they will be
        duplicated.  Therefore, make the same change to automake.

        * bin/aclocal.in (trace_used_macros)
        * bin/automake.in (scan_autoconf_traces):
          Use “local $ENV{WARNINGS}='none'” to suppress warnings from autom4te.

2020-09-18  Zack Weinberg  <zackw@panix.com>

        New utility function Automake::ChannelDefs::merge_WARNINGS.

        This function merges a list of warnings categories into the environment
        variable WARNINGS, returning a new value to set it to.  The intended use
        is in code of the form

        {
          local $ENV{WARNINGS} = merge_WARNINGS ("this", "that");

          # run a command here with WARNINGS=this,that,etc
        }

        This is not actually used in automake, but will be in autoconf.

        * lib/Automake/ChannelDefs.pm (merge_WARNINGS): New function.

2020-09-12  Zack Weinberg  <zackw@panix.com>

        t/python-virtualenv.sh: Skip when versions don’t match

        On some operating systems ‘python’ is Python 2.x but ‘virtualenv -ppython’
        will create a virtualenv that uses Python 3.x.  This is a bug, but it’s
        not *automake’s* bug, and should not cause t/python-virtualenv.sh to fail.
        Skip the test, instead of failing it, when the inner=outer version check
        fails.

        (This also has nothing to do with the main goal of this patchset, it just
        annoyed me while I was testing.)

        * t/python-virtualenv.sh: Skip test, rather than failing it, when
          $py_version_pre != $py_version_post.

2020-09-12  Zack Weinberg  <zackw@panix.com>

        Consistently use ‘our’ instead of ‘use vars’.

        At file scope of a file containing at most one ‘package’ declaration,
        ‘use vars’ is exactly equivalent to ‘our’, and the latter is preferred
        starting with Perl 5.6.0, which happens to be the oldest version we
        support.

        (This change has nothing to do with the previous two, but I want to make the
        same change in Autoconf and that means doing it here for all the files synced
        from Automake.)

        (I don’t know why, but this change exposed a latent bug in FileUtils.pm where
        the last pod block in the file didn’t have a ‘=cut’ delimiter, so the code
        after it was considered documentation, causing ‘require FileUtils’ to fail.)

        * 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/Getopt.pm
        * lib/Automake/Options.pm
        * lib/Automake/Rule.pm
        * lib/Automake/RuleDef.pm
        * lib/Automake/VarDef.pm
        * lib/Automake/Variable.pm
        * lib/Automake/Wrap.pm
        * lib/Automake/XFile.pm:
          Replace all uses of ‘use vars’ with ‘our’.

        * lib/Automake/FileUtils.pm:
          Add missing ‘=cut’ to a pod block near the end of the file.

2020-09-12  Zack Weinberg  <zackw@panix.com>

        Consistently process -W(no-)error after all other warning options.

        automake and aclocal were processing ‘-W(no-)error’ whenever it
        appeared on the command line, which means that
        ‘-Werror,something-strange’ would issue a hard error, but
        ‘-Wsomething-strange,error’ would only issue a warning.

        It is not desirable for warnings about unknown warning categories ever to be
        treated as a hard error; that leads to problems for driver scripts like
        autoreconf, which would like to pass whatever -W options it got on its own
        command line down to all the tools and not worry about which tools understand
        which warning categories.  Also, this sort of order dependence is confusing
        for humans.

        Change parse_warnings to take just one option, the _complete_ list of warning
        categories seen on the command line, and to process -Werror / -Wno-error after
        processing all other warnings options.  Thus, unknown warnings categories will
        always just be a plain warning.  This does mean aclocal has to stop using
        parse_warnings as a Getopt::Long callback, but that’s not a big deal.

        Similarly, change parse_WARNINGS to record whether ‘error’ appeared in the
        environment variable, but not activate warnings-are-errors mode itself.
        parse_warnings picks up the record and honors it, unless it’s overridden by
        the command line.

        * lib/Automake/ChannelDefs.pm ($werror): New package global (not exported).
          (parse_WARNINGS): Do not call switch_warning for ‘error’ / ‘no-error’;
          just toggle the value of $werror.
          (parse_warnings): Do not call switch_warning immediately for
          ‘error’ / ‘no-error’; toggle $werror instead.  Call switch_warning ‘error’
          at the very end if $werror is true.  Remove unused $OPTION argument.
        * bin/automake.in: parse_warnings now takes only one argument.
        * bin/aclocal.in: Call parse_warnings after parse_options instead of
          using it as a parse_options callback.

2020-09-11  Zack Weinberg  <zackw@panix.com>

        Sync ChannelDefs.pm from autoconf.

        ChannelDefs.pm *ought* to be kept in sync between automake and autoconf,
        because it defines the set of valid -W options, and autoreconf assumes
        that it can pass arbitrary -W options to all of the tools it invokes.
        However, it isn’t covered by either project’s ‘make fetch’ and it hasn’t
        actually *been* in sync for more than 17 years.

        This patch manually brings over all of the changes made on the autoconf side.
        Most importantly, there is a new warnings channel ‘cross’, for warnings
        related to cross-compilation.  Also, the ‘usage’ function now *returns*
        the text to be put into a usage message, instead of printing it itself.
        (This is necessary on autoconf’s side.)

        * lib/Automake/ChannelDefs.pm: Sync from autoconf.
          (cross): New warnings channel.
          (portability-recursive): Document.
          (usage): Now returns the text to be printed, instead of printing it.
          (parse_warnings): Second argument may now be a list.

2020-09-05  Zack Weinberg  <zackw@panix.com>

        automake: be robust against directories containing ().

        This change fixes https://bugs.gnu.org/14196.

        * m4/missing.m4 (AM_MISSING_HAS_RUN): always quote the
        invocation (not just if $am_aux_dir contains space or tab), in
        case $am_aux_dir contains () or other metachars not rejected by
        AM_SANITY_CHECK; quoting with '...' suggested by Jim Meyering.
        * t/man6.sh (HELP2MAN): adjust grep since missing value
        is quoted now.
        * t/am-missing-prog.sh: likewise.

2020-09-04  Issam E. Maghni  <issam.e.maghni@mailbox.org>

        maint: Update files from upstream with 'make fetch'

        * lib/config.guess: Update.
        * lib/config.sub: Likewise.
        * lib/gendocs_template: Likewise.
        * lib/gitlog-to-changelog: Likewise.
        * lib/texinfo.tex: Likewise.
        * lib/update-copyright: Likewise.

2020-08-31  Zack Weinberg  <zackw@panix.com>

        perl: use warnings instead of -w; consistent ordering of use, etc.

        Per thread at:
        https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00009.html

        * bin/aclocal.in: use warnings instead of #!...-w;
        consistent ordering of basic "use" directives,
        then BEGIN block,
        then standard modules in ASCII order,
        then Automake:: modules (not sort),
        finally use vars.
        Also sort @ISA lists and use qw(...) in ASCII order.
        * bin/automake.in: likewise.
        * lib/Automake/ChannelDefs.pm: likewise.
        * lib/Automake/Channels.pm: likewise.
        * lib/Automake/Condition.pm: likewise.
        * lib/Automake/Config.in: likewise.
        * lib/Automake/Configure_ac.pm: likewise.
        * lib/Automake/DisjConditions.pm: likewise.
        * lib/Automake/FileUtils.pm: likewise.
        * lib/Automake/General.pm: likewise.
        * lib/Automake/Getopt.pm: likewise.
        * lib/Automake/Item.pm: likewise.
        * lib/Automake/ItemDef.pm: likewise.
        * lib/Automake/Language.pm: likewise.
        * lib/Automake/Location.pm: likewise.
        * lib/Automake/Options.pm: likewise.
        * lib/Automake/Rule.pm: likewise.
        * lib/Automake/RuleDef.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: remove unnecessary imports of
        Carp, DynaLoader, and File::Basename.

2020-08-28  Robert Wanamaker  <rlw@nycap.rr.com>

        docs: automake-history.texi @dircategory Software development.

        Per thread at:
        https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00006.html

        * doc/automake-history.texi (@dircategory): Define.

2020-08-28  Karl Berry  <karl@freefriends.org>

        automake: if TEST_EXTENSIONS is set to empty, don't look inside it.

        This change fixes https://bugs.gnu.org/42635.

        * bin/automake.in (handle_tests): do not use $test_suffixes[0]
        if it does not exist.
        * t/test-extensions-empty.sh: new test.
        * t/list-of-tests.mk (handwritten_TESTS): add it.

2020-08-13  Felix Yan  <felixonmars@archlinux.org>

        docs: typo in tap-driver.sh.

        Per thread at:
        https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00000.html

        * lib/tap-driver.sh (setup_result_obj): "assing" typo, etc.

2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>

        port XFile locking to OpenIndiana

        I observed this problem on an NFS filesystem on an OpenIndiana
        host (5.11 illumos-dde7ba523f i386).  fcntl (fd, F_SETLK, ...)
        failed with errno == EINVAL, which POSIX allows for files that
        do not support locking.
        * lib/Automake/XFile.pm (lock): Treat EINVAL like ENOLCK.

2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>

        * Update scriptversions for install-sh, mkinstalldirs.

2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>

        Install directories mode 755 instead of using umask

        Problem reported by Antoine Amarilli in:
        https://lists.gnu.org/archive/html/automake/2019-01/msg00000.html
        and followed up by Akim Demaille in:
        https://lists.gnu.org/archive/html/bug-bison/2020-07/msg00040.html
        * bin/automake.in: Add a comment about this.
        * lib/install-sh: Ignore umask; just create directories mode 755
        unless overridden via -m (for non-intermediate directories only).
        Also, fix 'umask=$mkdir_umask' typo.
        * lib/mkinstalldirs: Likewise.

2020-06-29  Paul Eggert  <eggert@cs.ucla.edu>

        automake: remove stray up_to_date_p

        * lib/Automake/FileUtils.pm (up_to_date_p):
        Don’t export up_to_date_p, which was removed in
        2020-05-11T00:40:14Z!karl@freefriends.org.

2020-06-06  Karl Berry  <karl@freefriends.org>

        tests: support -fno-common in vala-mix2 test.

        This change fixes https://bugs.gnu.org/41726.

        * t/vala-mix2.sh: extern in .h, initialization in .c.
        GCC 10 defaults to -fno-common.

2020-06-06  Karl Berry  <karl@freefriends.org>

        automake: support AM_TESTSUITE_SUMMARY_HEADER override.

        This change handles https://bugs.gnu.org/11745.

        * lib/am/check.am (AM_TESTSUITE_SUMMARY_HEADER): new variable.
        Default value is " for $(PACKAGE_STRING)", including quotes,
        to keep the default output the same.
        ($(TEST_SUITE_LOG)): use it, unquoted.
        * doc/automake.texi (Scripts-based Testsuites): document it.
        * NEWS: mention it.
        * t/testsuite-summary-header.sh: new test.
        * t/list-of-tests.mk (handwritten_tests): add it.
        * t/ax/testsuite-summary-checks.sh: fix typo.

2020-05-28  Akim Demaille  <akim@gnu.org>

        docs: promote Makefile snippets that work properly with make -n.

        This change handles https://bugs.gnu.org/10852.

        * doc/automake.texi (Multiple Outputs): Split commands than
        reinvoke $(MAKE) to avoid file removals during dry runs.

2020-05-25  Karl Berry  <karl@freefriends.org>

        docs: forgot TAR in NEWS; fix " -- " in manual.

        * NEWS: it seems the TAR envvar was never mentioned in NEWS;
        add it, back for 1.11.3 when it was apparently implemented.
        * doc/automake.texi: consistently use "---" instead of " --".

2020-05-25  Karl Berry  <karl@freefriends.org>

        docs: TAR envvar overrides "tar" for make dist.

        This change finishes https://bugs.gnu.org/9822.

        * doc/automake.texi (Basics of Distribution): mention that
        environment variable TAR overrides "tar".

2020-05-17  Karl Berry  <karl@freefriends.org>

        automake: new variable AM_DISTCHECK_DVI_TARGET to override "dvi".

        This change fixes https://bugs.gnu.org/8289.

        * lib/am/distdir.am (AM_DISTCHECK_DVI_TARGET): define as dvi.
        (distcheck): use it, isntead of hardcoding dvi.
        * lib/Automake/Variable.pm (%_silent_variable_override): add
        AM_DISTCHECK_DVI_TARGET.
        * t/distcheck-override-dvi.sh: new test.
        * t/list-of-tests.mk (handwritten_TESTS): add it.
        * doc/automake.texi (Checking the Distribution): document this.
        (Third-Party Makefiles): explicitly mention that
        EMPTY_AUTOMAKE_TARGETS is not a built-in or special name.
        Various other index entries and wording tweaks.
        * NEWS (Distribution): mention this.

2020-05-10  Karl Berry  <karl@freefriends.org>

        automake: remove unused Automake::FileUtils::up_to_date_p function.

        Per thread at:
        https://lists.gnu.org/archive/html/automake-patches/2020-04/msg00000.html>
        especially:
        https://lists.gnu.org/archive/html/automake-patches/2020-05/msg00003.html

        * lib/Automake/FileUtils.pm (up_to_date_p): remove.
        Nothing in Automake itself uses this.  It is used in Autoconf's
        autom4te utility, but Autoconf has its own copy, and the duplication
        was impeding auto4mte development, as discussed in the thread above.
        (While here, insert missing =over/=back to placate pod2text.)
        * NEWS (Miscellanous changes): note this.

2020-05-07  Karl Berry  <karl@freefriends.org>

        docs: make dist implies make dvi.

        This change handles https://bugs.gnu.org/7994.

        * doc/automake.texi (Preparing Distributions): make distcheck
        runs make dvi.
        (Auxiliary Programs) <texinfo.tex>: mention
        that make dist runs make dvi, and therefore a TeX system is
        required when Texinfo sources are present. Add @cmindex entries
        for all auxiliary programs while we're here.

2020-05-07  Karl Berry  <karl@freefriends.org>

        tests: TeX system required for two more tests.

        * t/instdir-no-empty.sh (required): makeinfo tex texi2dvi dvips.
        * t/txinfo-bsd-make-recurs.sh (required): likewise.

2020-04-23  Vincent Lefevre  <vincent@vinc17.net>

        bug#40699: "dist Hook" documentation in manual is incorrect or unclear about write permissions

        On 2020-04-20 14:59:00 -0600, Karl Berry wrote:
        >     i.e. it does not change the permissions in order to make the removal
        >     work recursively
        >
        > Right, I see it now. Had been testing the wrong thing.
        >
        > So, can you propose a specific change for the manual? -k

        I think that it is sufficient to fix the example (the explanation
        is just below). BTW, the second example is also incorrect.

        commit a639e5b51cadbaff88ca4059b4db4571c811070c
        Author: Vincent Lefevre <vincent@vinc17.net>
        Date:   2020-04-23 17:33:54 +0200

            doc: fix dist-hook examples

2020-04-18  Karl Berry  <karl@freefriends.org>

        cosmetics: spurious word in README, copyright year.

        * README: delete spurious "that"; update copyright year end to 2020.
        Original suggestion from Vincent Lefevre,
        https://lists.gnu.org/archive/html/automake-patches/2020-04/msg00007.html

2020-04-08  Samuel Tardieu  <sam@rfc1149.net>

        docs: test-driver options do not accept =, update --help.

        This change fixes https://bugs.gnu.org/22445.

        * lib/test-driver (print_usage): space after --test-name,
        --log-file, --trs-file, not =. Also mention Automake as source.

2020-04-06  Samy Mahmoudi  <samy.mahmoudi@gmail.com>

        cosmetics: typo in comment.

        This change fixes https://bugs.gnu.org/32100.

        * bin/aclocal.in (install_file): remove duplicate "the" in
        "Using the real the destination file ...".

2020-04-05  Colomban Wendling  <lists.ban@herbesfolles.org>

        vala: more precise argument matching.

        This change fixes https://bugs.gnu.org/18734.

        * bin/automake.in (lang_vala_finish_target): anchor option regexp
        so that, e.g., an argument "vapi" does not match the option --vapi.
        * NEWS: mention this (and preceding checklinkx change, sorry).

2020-04-03  Karl Berry  <karl@freefriends.org>

        doc: update urls in manual and include checklinkx script.

        * doc/automake.texi: update many urls; http -> https,
        search.cpan.org -> metacpan.org/pod/distribution, node names, etc.
        Remove sourceware.org/cgi-bin/gnatsweb.pl and
        miller.emu.id.au/pmiller/books/rmch/ as these are 404
        and no good replacement is evident.
        s/perl/Perl/ a couple times in text for good measure.
        * contrib/checklinkx: new script, a small modification of
        W3C checklink <https://validator.w3.org/checklink/docs/checklink.html>
        (W3C license, which is free software), starting from version 4.81
        installed from CPAN:
        https://metacpan.org/pod/distribution/W3C-LinkChecker/bin/checklink.pod
        * doc/local.mk (checklinkx): new target to invoke it, with variables.
        * Makefile.am (EXTRA_DIST): distribute it.
        * NEWS: mention all this.

2020-03-24  Karl Berry  <karl@freefriends.org>

        tests: require etags for tags-lisp-space test.

        * t/tags-lisp-space.sh (required): set to etags.

2020-03-24  Karl Berry  <karl@freefriends.org>

        Merge branch 'master' of git.savannah.gnu.org:/srv/git/automake

2020-03-24  Karl Berry  <karl@freefriends.org>

        doc: forgot Python 3 NEWS entries.

        * NEWS: item for Python 3 support in 1.16.2.

2020-03-23  Jim Meyering  <meyering@fb.com>

        maint: Post-release administrivia

        * NEWS: Add header line for next release.
        * configure.ac (AC_INIT): Bump version number to 1.16b.
        * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

2020-03-16  Jim Meyering  <meyering@fb.com>

        version 1.16.2

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

2020-03-16  Karl Berry  <karl@freefriends.org>

        maint: sync fdl.texi.

        * doc/fdl.texi: sync with gnulib/doc/fdl.texi, for https://fsf.org
        and some Texinfo fixes.

2020-03-12  Karl Berry  <karl@freefriends.org>

        maint: do not descend into unreadable test directories.

        * maintainer/syntax-checks.mk (sc_tests_makefile_variable_order):
        find t ! -perm o+r -prune, since some test directories
        are intentionally unreadable.

2020-03-11  Jim Meyering  <meyering@fb.com>

        doc: gender tweak

        * HACKING: s/his/their/

2020-03-11  Jim Meyering  <meyering@fb.com>

        maint: run "make fetch" to update files from elsewhere

        * lib/config.guess: Auto-update.
        * lib/config.sub: Auto-update.
        * lib/gendocs.sh: Auto-update.
        * lib/gendocs_template: Auto-update.
        * lib/gitlog-to-changelog: Auto-update.
        * lib/gnupload: Auto-update.
        * lib/texinfo.tex: Auto-update.
        * lib/update-copyright: Auto-update.

2020-03-11  Karl Berry  <karl@freefriends.org>

        maint: typo in comment.

        * t/CheckListOfTests.am (maintainer-check-list-of-tests): an -> and.

2020-02-25  Karl Berry  <karl@freefriends.org>

        python: support both Python 2 and 3 in py-compile

        * lib/py-compile: check python major version and use imp
        or importlib accordingly, plus related changes. Original
        patch for Python 3 only from Gabriel Ganne at:
        https://lists.gnu.org/archive/html/automake-patches/2019-07/msg00002.html

2020-02-15  Paul Osmialowski  <pawel.osmialowski@arm.com>

        configure: add flang compilers to _AM_COMPILER_CAN_FAIL

        * configure.ac (_AM_COMPILER_CAN_FAIL): add armflang and flang
        (in two places). Original patch at:
        https://lists.gnu.org/archive/html/automake-patches/2019-02/msg00001.html

2020-02-14  Libor Bukata  <libor.bukata@oracle.com>

        cosmetics: improve error message when dependency tracking fails

        This change fixes https://bugs.gnu.org/35848.

        * m4/depout.m4: Add suggestion to try GNU make to the error message.
        Original patch at
        https://lists.gnu.org/archive/html/automake-patches/2019-05/msg00000.html

2020-02-13  Vincent Lefevre  <vincent@vinc17.net>

        maint: update lib/COPYING from canonical source.

        * lib/COPYING: update from https://www.gnu.org/licenses/gpl-3.0.txt
        (only change is to use https urls).

2020-02-10  Mathieu Lirzin  <mthl@gnu.org>

        build: fix 'installcheck' target

        * t/local.mk (installcheck-testsuite): Do not use 'pre-inst-env' script.
        (AM_TESTS_ENVIRONMENT): Ensure that installed perl modules are found.

2020-01-29  Lukas Fleischer  <lfleischer@lfos.de>

        python: properly uninstall __pycache__ in subdirectories

        This change finishes fixing automake bug#32088:
        https://debbugs.gnu.org/32088

        * lib/am/python.am (uninstall-%DIR%PYTHON): Uninstall
        byte-compiled files in a '__pycache__' subdirectory
        from sub/__pycache__/, not __pycache__/sub/.
        (am__pep3147_tweak): prefix __pycache__ here, for both .pyc and .pyo.
        https://lists.gnu.org/archive/html/automake-patches/2018-05/msg00000.html
        * t/instmany-python.sh (limit): increase to 4500, following
        Andreas Huettel, https://debbugs.gnu.org/32088#11.

2020-01-29  Lukas Fleischer  <lfleischer@lfos.de>

        tests: in python tests, do not require .pyo files (for python3)

        This change partially fixes automake bug#32088:
        https://debbugs.gnu.org/32088

        * t/py-compile-basedir.sh: Remove all .pyo checks.
        Also, in this test only, allow for either 4 or 6 files resulting
        from compilation, as new-enough Python3 results in 6
        (per Andreas Huettel, https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32088#17)
        * t/py-compile-basic.sh: Remove all .pyo checks.
        * t/py-compile-destdir.sh: Likewise.
        * t/py-compile-option-terminate.sh: Likewise.
        * t/python-virtualenv.sh: Likewise.
        * t/python10.sh: Likewise.
        * t/python12.sh: Likewise.
        * t/python3.sh: Likewise.

2020-01-26  Karl Berry  <karl@freefriends.org>

        doc: clarify build tree location

        * doc/automake.texi (VPATH Builds): more words about the build
        tree location. Suggestion from Jefferson Carpenter, 31 May 2018:
        <https://lists.gnu.org/archive/html/automake-patches/2018-05/msg00003.html>

2020-01-19  Karl Berry  <karl@freefriends.org>

        lint: make syntax-check same as maintainer-check.

        * maintainer/syntax-checks.mk (syntax-check): new target,
        same as maintainer-check. For consistency with many other
        GNU packages.
        (.PHONY): add here too.

2020-01-19  Karl Berry  <karl@freefriends.org>

        tests: use find+rm, not perl, to remove temporary directories.

        This change fixes automake bug#39078:
        https://debbugs.gnu.org/39078

        * t/ax/test-lib.sh (rm_rf_): run chmod -R u+rwx and rm -rf,
        instead of calling our t/ax/deltree.pl script.  This reverses the
        change of 2013-05-16.  It made sense to write and use deltree
        at that point, but unfortunately as of perl-5.28.0
        (File::Path.pm version 2.15), rmtree no longer removes a tree with
        unreadable subdirectories, such as we (intentionally) have.  So we
        might as well go back to rm -rf.  The unconditional recursive chmod
        instead of the previously-used more complex find command will
        hopefully prove portable.  See the bug report for more details.

        Our deltree.pl is not used for anything else, but nevertheless
        leaving it in our source tree for now, for ease of reversion
        and comparison.

2020-01-08  Karl Berry  <karl@freefriends.org>

        tests: use skip_ consistently.

        * t/lisp-loadpath.sh: use skip_ instead of exit 77;
        also, notice and reset if the EMACS envvar is simply "t".
        * t/uninstall-fail.sh: use skip_ instead of the undefined skip.

2020-01-05  Karl Berry  <karl@freefriends.org>

        tests: Correctly simulate no emacs in t/nobase-nodist.sh

        * t/nobase-nodist.sh: export EMACS, not EMCAS, as "no".

2020-01-04  Karl Berry  <karl@freefriends.org>

        automake: Support byte compilation in older Emacsen

        * lib/am/lisp.am (am__emacs_byte_compile_setup) [FIRST]: define
        new make variable, to use byte-compile-dest-file-function if
        available, else byte-compile-dest-file.
        (.el.elc): use it.
        * t/lisp-loadpath.sh: skip test if emacs version is <= 23,
        since their -L ordering is backwards.
        * NEWS: update.

2020-01-01  Jim Meyering  <meyering@fb.com>

        maint: make update-copyright

2019-12-23  Jim Meyering  <meyering@fb.com>

        maint: make maintainer-check tests pass

        * maintainer/syntax-checks.mk (sc_sanity_gnu_grep): Remove
        NUL byte from grep output, to avoid shell diagnostic about
        "NUL byte suppressed from expansion."
        (automake_diff_no, aclocal_diff_no): Adjust number of expected
        diff lines.

2019-12-21  Karl Berry  <karl@freefriends.org>

        tests: Ensure UTC for Texinfo @UPDATED@ test

        * t/txinfo-vtexi4.sh: TZ=UTC0; export TZ (same as mdate-sh).
        * NEWS: update.

2019-12-17  Karl Berry  <karl@freefriends.org>

        automake: Ensure space after $(LISP) in tags dependencies.

        This change fixes automake bug#38139.

        * bin/automake.in (handle_tags): Concatenate with space in " @config".
        * t/tags-lisp-space.sh: New test.
        * t/list-of-tests.mk (handwritten_TESTS): Add it.

2019-11-17  Giuseppe Scrivano  <gscrivan@redhat.com>

        dist: add dist-zstd option

        Add support for using the zstd compression algorithm.
        Use a default compression setting of -19, and ".zst" as the suffix.

        * bin/automake.in (handle_dist): Add zstd to the list of known dist-
        suffixes.
        (preprocess_file): Map ZSTD to dist-zstd.
        * doc/automake.texi: Document the new option.
        * lib/Automake/Options.pm (_is_valid_easy_option): Add dist-zstd.
        * lib/am/distdir.am (dist-zstd): New rule.
        (?ZSTD?DIST_TARGETS): Add definition.
        (distcheck): Add a case for *.tar.zst*.
        * t/dist-formats.tap: Add tests.
        * NEWS: Mention the change.

2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>

        config: add msys support

        Requested by Arnold Robbins in:
        https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
        * lib/ar-lib, lib/compile (func_file_conv):
        Treat msys like cygwin.

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

        maint: make update-copyright

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

        maint: make fetch

2019-09-02  Gavin Smith  <gavinsmith0123@gmail.com>

        automake: do not require @setfilename in Texinfo files

        Texinfo no longer requires a @setfilename directive in each
        .texi file, so automake now also relaxes its restriction.
        * bin/automake.in (scan_texinfo_file): Derive name of info file from
        name of input file if no @setfilename line occurs in the file.
        * t/txinfo-no-setfilename.sh: New test.
        * t/list-of-tests.mk: Add it.
        * NEWS: Mention it.

        Fixes automake bugs #36921 and #34201.

2019-08-26  Paul Eggert  <eggert@cs.ucla.edu>

        install-sh: support -s with read-only source

        Problem reported by Karl Berry in:
        https://lists.gnu.org/r/bug-gnulib/2019-08/msg00067.html
        * lib/install-sh: If -s is given, create the temporary file
        with $cp_umask so that ‘strip’ can write to it.

2019-07-03  Bruno Haible  <bruno@clisp.org>

        ar-lib: Fix for MSVC 14.

        * lib/ar-lib (extract): Convert CRLFs in 'lib -NOLOGO -LIST' output to LFs.

2018-10-23  Paul Hardy  <unifoundry@gmail.com>

        doc: Fix various typos and phrasing

        This change fixes automake bug#32150.

        * doc/automake.texi: Various typos and phrasing changes.

2018-07-08  Mathieu Lirzin  <mthl@gnu.org>

        python: Don't use '\n' in sed substitution

        This change fixes automake bug#31222.

        On macOS, 'sed' interprets '\n' in the substitution text as the letter 'n'
        instead of as a newline.

        * lib/am/python.am [?FIRST?] (am__pep3147_tweak): Use a space instead of '\n'.
        * NEWS: Update.

2018-03-24  Mathieu Lirzin  <mthl@gnu.org>

        test-driver.scm: Add "--coverage" option

        * contrib/test-driver.scm: When 'coverage' option is enabled, run tests
        in the debug vm and trace coverage data.
        (%options): Add 'coverage'.
        (show-help): Display option.

2018-03-24  Mathieu Lirzin  <mthl@gnu.org>

        test-driver.scm: Don't guess script name from "--test-name"

        'primitive-load' is used instead of 'load-from-path' since the script is
        given as a relative file name.  For unknown reason, using 'load' fails
        with GNU Mcron test suite when running 'make distcheck'.

        * contrib/test-driver.scm: Get the actual script name directly from the
        command line.  Handle the case where that argument is missing.

2018-03-24  Mathieu Lirzin  <mthl@gnu.org>

        test-driver.scm: Inline 'main' procedure

        Having a main procedure involves passing the '-e main' command-line
        argument to 'guile' which makes the test driver a bit less easy to use.

        * contrib/test-driver.scm (main): Delete.  Move body to the top-level.

2018-03-11  Mathieu Lirzin  <mthl@gnu.org>

        maint: Use 'before-save-hook' in "contrib/test-driver.scm"

        This a follow-up to commit 6bab5b26a1241b0e0edd058d2a921989f9a1747c.

        Use 'before-save-hook' instead of 'write-file-functions' to match what
        is done in other scripts.

        * contrib/test-driver.scm: Update hook usage and use 'UTC0' timezone
        instead of 'UTC'.

2018-03-11  Mathieu Lirzin  <mthl@gnu.org>

        bin: Rely only on the shebang line

        Previously ‘automake’ and ‘aclocal’ were handling the case of being
        interpreted as a Shell script by using a hack leveraging the fact that
        Shell and Perl has a compatible syntax intersection allowing those
        scripts to launch ‘perl’ from the shell.

        * bin/aclocal.in: Remove cryptic launching hack.
        * bin/automake.in: Likewise.

2018-03-11  Mathieu Lirzin  <mthl@gnu.org>

        maint: Post-release administrivia

        * NEWS: Add header line for next release.
        * configure.ac (AC_INIT): Bump version number to 1.16a.
        * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

2018-03-11  Mathieu Lirzin  <mthl@gnu.org>

        version 1.16.1

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

2018-03-11  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update files from upstream with 'make fetch'

        * lib/config.guess: Update.
        * lib/config.sub: Likewise.
        * lib/gendocs.sh: Likewise.
        * lib/gitlog-to-changelog: Likewise.
        * lib/gnupload: Likewise.
        * lib/texinfo.tex: Likewise.
        * lib/update-copyright: Likewise.

2018-03-11  Pavel Raiskup  <praiskup@redhat.com>

        install-sh: avoid (low risk) race in "/tmp"

        Ensure that nobody can cross privilege boundaries by pre-creating
        symlink on '$tmpdir' destination directory.

        Just testing 'mkdir -p' by creating "/tmp/ins$RANDOM-$$/d" is not safe
        because "/tmp" directory is usually world-writeable and
        "/tmp/ins$RANDOM-$$" content could be pretty easily guessed by
        attacker (at least for shells where $RANDOM is not supported).  So, as
        the first step, create the "/tmp/ins$RANDOM-$$" without -p.  This step
        would fail early if somebody wanted catch us.

        Systems that implement (and have enabled) fs.protected_symlinks kernel
        feature are not affected even without this commit.

        References:
        https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455
        https://bugzilla.redhat.com/show_bug.cgi?id=1140725

        * lib/install-sh: Implement safer 'mkdir -p' test by running
        '$mkdirprog $mkdir_mode "$tmpdir"' first.
        * NEWS: Update.

2018-03-08  Mathieu Lirzin  <mthl@gnu.org>

        automake: Don't rely on List::Util to provide 'none'

        This change fixes automake bug#30631.

        This removes the use of List::Util which is not supported by Perl 5.6,
        by reimplementing the 'none' subroutine.

        * lib/Automake/General.pm (none): New subroutine.
        * bin/automake.in (handle_single_transform): Use it.
        * t/pm/General.pl: New test.
        * t/list-of-tests.mk (perl_TESTS): Add it.
        * NEWS: Update.

2018-03-08  Mathieu Lirzin  <mthl@gnu.org>

        python: Support future python version up to 3.9

        This change fixes automake bug#28160.

        Since AM_PYTHON_PATH macro takes no maximum version argument, there is
        no need to generate _AM_PYTHON_INTERPRETER_LIST dynamically, like what
        was previously done by the reverted commit
        1d60fb72168e62d33fe433380af621de64e22f23.  We could rely on M4 to
        generate this list statically however this is likely to be a complex
        solution that would not improve maintainability.

        * m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add 'python3.7',
        'python3.8', and 'python3.9'.
        * NEWS: Update.

2018-03-06  Paul Eggert  <eggert@cs.ucla.edu>

        maint: write-file-hooks -> before-save-hook

        write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
        it's time to use the recommended replacement.
        Problem reported by Glenn Morris in:
        https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
        * contrib/tap-driver.pl, lib/compile, lib/depcomp, lib/install-sh:
        * lib/mdate-sh, lib/missing, lib/mkinstalldirs, lib/py-compile:
        * lib/tap-driver.sh, lib/test-driver, lib/ylwrap:
        Update hook usage for files where Automake is the canonical source.

2018-03-03  Mathieu Lirzin  <mthl@gnu.org>

        Revert "python: Generate python interpreter list"

        This reverts commit 1d60fb72168e62d33fe433380af621de64e22f23.

2018-02-25  Mathieu Lirzin  <mthl@gnu.org>

        maint: Post-release administrivia

        * NEWS: Add header line for next release.
        * configure.ac (AC_INIT): Bump version number to 1.16a.
        * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

2018-02-25  Mathieu Lirzin  <mthl@gnu.org>

        Merge branch 'release'

2018-02-25  Mathieu Lirzin  <mthl@gnu.org>

        version 1.16

        * configure.ac (AC_INIT, APIVERSION): Bump version number to 1.16.
        * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
        * NEWS: Record release version.

2018-02-25  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update INSTALL

        * INSTALL: Use single quotes.

2018-02-25  Mathieu Lirzin  <mthl@gnu.org>

        tests: Remove tests intended only for the 'next' branch

        The commit 199e7a445040270fa5ef67623c56cde40d765199 "Prefer https: URLS"
        which is a cherry-pick of b09d945b795ab9deed2bc457289cd5f41c506b50 from
        'next' to 'master' has mistakenly copied some tests only present on the
        'next' branch.

        * t/am-prog-mkdir-p.sh: Delete.
        * t/txinfo-no-split.sh: Likewise.

2018-02-25  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update files from upstream with 'make fetch'

        * lib/config.guess: Update
        * lib/config.sub: Likewise.
        * lib/gendocs.sh: Likewise.
        * lib/gendocs_template: Likewise.
        * lib/gitlog-to-changelog: Likewise.
        * lib/gnupload: Likewise.
        * lib/texinfo.tex: Likewise.
        * lib/update-copyright: Likewise.

2018-02-18  Mathieu Lirzin  <mthl@gnu.org>

        python: Avoid exceeding command-line length limit

        With Python implementations following PEP-3174, a large number of files
        are installed in the ‘__pycache__’ directory.  As a consequence
        “t/instmany-python.sh” test was failing due to the
        ‘uninstall-pythonPYTHON’ target deleting installed files in a single
        ‘rm’ command.  Doing that in multiple steps avoids exceeding the
        command-line length limit.  This fixes bug#30335.

        * lib/am/python.am (uninstall-%DIR%PYTHON): For byte-compiled files
        installed in '__pycache__' directory, uninstall them by batch of 40.
        [?FIRST?] (am__pep3147_tweak): Adapt.

2018-02-18  Mathieu Lirzin  <mthl@gnu.org>

        tests: Don't check 'Getopt::Long' corner cases

        Depending on the installed 'Getopt::Long' perl module, command-line
        handling may vary a bit.  As a consequence we prefer not to check
        command-line corners cases.  This change fixes automake bug#29638.

        * t/aclocal.sh (am_create_testdir): Don't expect "--versi" to be
        interpreted as "--version".
        * t/automake-cmdline.tap: Don't expect "--vers" to be interpreted as
        "--version" and things after "--" to be interpreted as file arguments.
        (do_check): Display the actual command output.
        * t/maken3.sh (check_targets): "--force" is not a documented option, so
        don't use it.

2018-02-03  Mathieu Lirzin  <mthl@gnu.org>

        python: Generate python interpreter list

        _AM_PYTHON_INTERPRETER_LIST is used by AM_PYTHON_PATH to autodetect
        Python programs whose names correspond to a specific Python
        version (e.g. python3.6).  Previously this list was updated manually.
        The automatic support of newer versions (up to 4.0 excluded) fixes
        bug#28160.

        * m4/python.m4 (am_py_min_ver, am_py_max_ver): New macros.
        (_AM_PYTHON_INTERPRETER_LIST): Generate this list instead of hard-coding
        it.  Implementation is taken from GNU Pyconfigure.

2018-01-19  Mathieu Lirzin  <mthl@gnu.org>

        tests: Improve comment in 'txinfo-many-output-formats.sh'

        * t/txinfo-many-output-formats.sh: Explain why AM_MAKEINFOFLAGS is set
        with an invalid option.

2018-01-18  Mathieu Lirzin  <mthl@gnu.org>

        tests: Distribute DEJATOOL files manually

        "t/check12.sh" was failing because files declared in DEJATOOL are not
        automatically distributed.  The test running 'make distcheck' couldn't succeed
        since some scripts were not distributed.  This fixes automake bug#26738.

        * t/check12.sh (Makefile.am): Distribute files from DEJATOOL.

2018-01-18  Mathieu Lirzin  <mthl@gnu.org>

        tests: Let 'ltorder.sh' run successfully with Guix dynamic loader

        * t/ltorder.sh: Set GUIX_LD_WRAPPER_ALLOW_IMPURITIES environment variable to
        unlock the dynamic loader provided by GNU Guix.

2018-01-18  Mathieu Lirzin  <mthl@gnu.org>

        tests: Fix various 'flex' compilation issues

        * t/lex-clean-cxx.sh (parsefoo.lxx): Declare 'yylex':
        (mainfoo.cc): Make declaration compatible with C++.
        * t/lex-depend-cxx.sh (joe.ll): Declare 'yylex'.
        * t/silent-many-languages.sh (Makefile.am, sub/Makefile.am): Link -lfl only
        with 'fo2' and 'sub/ba2' which are the only program needing it.
        (foo5.l): Define 'isatty'.
        (foo6.y): Declare 'yylex'.

2018-01-18  Mathieu Lirzin  <mthl@gnu.org>

        tests: Check GCS conformance of 'aclocal' command-line interface

        * t/aclocal.sh: Check that 'aclocal' support the --version and --help
        command-line options.

2018-01-17  Mathieu Lirzin  <mthl@gnu.org>

        contrib: Add Guile custom test driver using SRFI-64 test harness

        This sets a home for a script already used by GNU Guix and GNU Mcron.

        * contrib/test-driver.scm: New test driver script.
        * NEWS: Update.

2018-01-17  Mathieu Lirzin  <mthl@gnu.org>

        maint: Document how to use Guix for Automake development

        * HACKING <Setting the development environment>: New part.

2018-01-04  Khem Raj  <raj.khem@gmail.com>  (tiny change)

        automake: Add default libtool_tag to cppasm

        * bin/automake.in (register_language): Define default libtool tag to be
        CC since CPPASCOMPILE is using CC to call assembler.

2018-01-04  Bruno Haible  <bruno@clisp.org>

        doc: Document the portability of various tar formats better

        * doc/automake.texi (List of Automake options): Document the portability of
        the tar-ustar and tar-pax options better.

2018-01-04  Simon Sobisch  <simonsobisch@web.de>  (tiny change)

        missing: Update displayed URLs

        * lib/missing (perl_URL): Use HTTPS.
        (flex_URL): Use new Github homepage.

2018-01-04  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update copyright years to 2018

        This update has been made with 'make update-copyright'.

2018-01-04  Mathieu Lirzin  <mthl@gnu.org>

        maint: Exclude ".dir-locals.el" from copyright updates

        * maintainer/maint.mk (files_without_copyright): Add ".dir-locals.el".

2017-12-16  Jim Meyering  <meyering@fb.com>

        port elisp-compilation support to emacs-23.1 and newer

        In May of 2017, emacs.master support for using the long-deprecated
        byte-compile-dest-file function was removed, and that removal broke
        automake's elisp-compiling rule for any .el file not in the current
        directory.  In emacs-23.1 (July 2009) byte-compile-dest-file-function
        became the recommended way to adjust the byte-compiler's destination.
        The removed functionality has been restored for Emacs-26, albeit with
        dissuasive diagnostics warning about the imminent removal of this
        functionality.  It will be removed in Emacs-27.
        * lib/am/lisp.am (.el.elc): Use byte-compile-dest-file-function, rather
        than byte-compile-dest-file.  Also, use "-f batch-byte-compile '$<'"
        rather than open-coding it, as suggested by Glenn Morris.
        * t/lisp-readonly-srcdir.sh: New file, to test for the above.
        * t/list-of-tests.mk (handwritten_TESTS): Add it.
        * NEWS (Bugs fixed): Mention this problem.

2017-11-28  Jim Meyering  <meyering@fb.com>

        "make dist" did not depend on $(BUILT_SOURCES)

        * lib/am/distdir.am (distdir-am): New intermediate target.
        Interpose this target between $(distdir) and its dependency
        on $(DISTFILES), so that we can ensure $(BUILT_SOURCES) are
        all created before we begin creating $(DISTFILES).
        * t/dist-vs-built-sources.sh: Test for this.
        * t/list-of-tests.mk (handwritten_TESTS): Add it.
        * NEWS (Bugs fixed): Mention it.
        Assaf Gordon reported that "make dist" (after ./configure
        from a pristine clone of GNU hello) would fail due to the
        absence of configmake.h while compiling lib/localcharset.c.
        https://lists.gnu.org/r/bug-hello/2014-03/msg00016.html

2017-11-24  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update HACKING

        * HACKING (Working with git): Remove reference to the 'micro' branch and
        adapt branch descriptions to the current branching scheme.

2017-09-23  Mathieu Lirzin  <mthl@gnu.org>

        maint: Make Emacs use 'makefile-automake-mode'

        * bin/local.mk: Specify mode name in the first line.
        * contrib/t/local.mk: Likewise.
        * doc/local.mk: Likewise.
        * lib/Automake/local.mk: Likewise.
        * lib/am/local.mk: Likewise.
        * lib/local.mk: Likewise.
        * m4/local.mk: Likewise.
        * t/local.mk: Likewise.

2017-09-23  Paul Eggert  <eggert@cs.ucla.edu>

        maint: update .gitignore

        * .gitignore: Add pre-inst-env, and sort.

2017-09-23  Paul Eggert  <eggert@cs.ucla.edu>

        install-sh: do not assume / = //

        * lib/install-sh: Do not append / to destination
        directory if it already ends in /.  This supports
        a destination directory of // on hosts where / and //
        are distinct directories, as POSIX allows.

2017-09-23  Paul Eggert  <eggert@cs.ucla.edu>

        maint: fix two more http: URLs

        * m4/init.m4: Change http: to https: in comments.

2017-09-22  Mathieu Lirzin  <mthl@gnu.org>

        maint: Configure Emacs automatically with ".dir-locals.el"

        * .dir-locals.el: New Emacs directory configuration file.  All perl
        files adapted.

2017-09-22  Mathieu Lirzin  <mthl@gnu.org>

        maint: 'master' should be merged into 'next'

        * HACKING: Fix instructions merge instructions.

2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>

        * lib/mdate.sh (TZ): Use portable setting.

2017-09-19  Mathieu Lirzin  <mthl@gnu.org>

        Merge branch 'minor'

2017-09-19  Mathieu Lirzin  <mthl@gnu.org>

        maint: Document new Branch names convention

        * HACKING: Update to new Branch names.

2017-09-19  Mathieu Lirzin  <mthl@gnu.org>

        maint: Reset master

2017-09-19  Mathieu Lirzin  <mthl@gnu.org>

        Merge branch 'minor'

2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>

        make fetch

2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>

        Fix a couple more http: URLs

2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>

        Prefer https: URLs

        In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use
        https:, to discourage man-in-the-middle attacks when downloading
        software. The attached patch propagates these changes upstream to
        Automake.  This patch does not affect files that Automake is
        downstream of, which I'll patch separately.

        Althouth the resources are not secret, plain HTTP is vulnerable to
        malicious routers that tamper with responses from GNU servers,
        and this sort of thing is all too common when people in some other
        countries browse US-based websites. See, for example:

        Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar
        S. Analyzing internet censorship in Pakistan. RTSI
        2016. https://dx.doi.org/10.1109/RTSI.2016.7740626

        HTTPS is not a complete solution here, but it can be a significant
        help. The GNU project regularly serves up code to users, so we should
        take some care here.

2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>

        make fetch

2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>

        Fix a couple more http: URLs

2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>

        Prefer https: URLs

        In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use
        https:, to discourage man-in-the-middle attacks when downloading
        software. The attached patch propagates these changes upstream to
        Automake.  This patch does not affect files that Automake is
        downstream of, which I'll patch separately.

        Althouth the resources are not secret, plain HTTP is vulnerable to
        malicious routers that tamper with responses from GNU servers,
        and this sort of thing is all too common when people in some other
        countries browse US-based websites. See, for example:

        Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar
        S. Analyzing internet censorship in Pakistan. RTSI
        2016. https://dx.doi.org/10.1109/RTSI.2016.7740626

        HTTPS is not a complete solution here, but it can be a significant
        help. The GNU project regularly serves up code to users, so we should
        take some care here.

2017-09-15  Mathieu Lirzin  <mthl@gnu.org>

        maint: Document how to handle assignment exemption

        * HACKING: Update.

2017-09-15  Reiner Herrmann  <reiner@reiner-h.de>  (tiny change)

        mdate-sh: Ensure reproducible time output

        This change fixes automake bug#20314.

        'mdate-sh' pretty-prints the modification time of a file.  But it's
        output can vary depending on the timezone of the caller. Someone in
        timezone GMT-12 will get a different result (day) than someone in
        timezone GMT+12.  As this output is also used to create/update stamp
        files, which influence the further build process, the build result can
        vary.

        * lib/mdate-sh: Set 'TZ' to UTC which ensures reproducible output.
        * NEWS: Announce bug fix.

2017-09-15  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

        automake: Depend on LIBOBJDIR for LIBOBJS and ALLOCA

        This change fixes automake bug#27781.

        * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for
        each LIBOBJS/ALLOCA source file found.
        * t/list-of-tests.mk (XFAIL_TESTS): Drop
        t/libobj-no-dependency-tracking.sh.
        * NEWS: Announce bug fix.

2017-09-14  Mathieu Lirzin  <mthl@gnu.org>

        Revert "automake: Handle LTLIBOBJS more specifically"

        This reverts commit 5521219348c55af354878583b99c5f9d66d6d38a.

2017-08-31  Mathieu Lirzin  <mthl@gnu.org>

        Merge branch 'minor'

2017-08-31  Mathieu Lirzin  <mthl@gnu.org>

        build: Rename "Makefile.inc" Makefile fragments to "local.mk"

        This is done to follow a convention used by a lot of GNU packages.

        * bin/Makefile.inc: Rename to ...
        * bin/local.mk: ... this.
        * doc/Makefile.inc: Rename to ...
        * doc/local.mk: ... this.
        * lib/Automake/Makefile.inc: Rename to ...
        * lib/Automake/local.mk: ... this.
        * lib/am/Makefile.inc: Rename to ...
        * lib/am/local.mk: ... this.
        * lib/Makefile.inc: Rename to ...
        * lib/local.mk: ... this.
        * m4/Makefile.inc: Rename to ...
        * m4/local.mk: ... this.
        * contrib/t/Makefile.inc: Rename to ...
        * contrib/t/local.mk: ... this.
        * t/Makefile.inc: Rename to ...
        * t/local.mk: ... this.  Adapt.
        * Makefile.am: Adapt.

2017-08-31  Mathieu Lirzin  <mthl@gnu.org>

        Merge branch 'micro' into minor

2017-08-31  Mathieu Lirzin  <mthl@gnu.org>

        maint: Define API version manually

        * configure.ac (APIVERSION): Define it to 1.15a.
        * bootstrap (APIVERSION): Parse 'configure.ac' to get it.

2017-08-31  Mathieu Lirzin  <mthl@gnu.org>

        build: Inline perl prototypes in sources

        Prototypes allows us to avoid using the '&foo' invocation form when
        invoking a subroutine before its definition.  Previously those
        prototypes were generated to prevent them from falling out-of-sync
        with actual definitions.  Now we provide a 'check-perl-protos' lint
        script to ensure that this is not the case.  This has the same
        benefits as generating prototypes while simplifying the
        bootstrap/build process.

        * bin/gen-perl-protos: Remove.
        * bin/Makefile.inc: Adapt.
        * bootstrap: Likewise.
        * bin/aclocal.in: Inline prototypes.
        * bin/automake.in: Likewise.
        * maintainer/check-perl-protos: New lint script.
        * maintainer/syntax-checks.mk (sc_perl_protos): New target.
        (syntax_check_rules): Add it.

2017-08-30  Mathieu Lirzin  <mthl@gnu.org>

        build: Generate versioned scripts at make time

        * configure.ac: Don't generate 'bin/aclocal-${APIVERSION}' and
        'bin/automake-${APIVERSION}'.
        * bin/wrap-aclocal.in: Delete.
        * bin/wrap-automake.in: Likewise.
        * bin/Makefile.inc (%D%/automake-$(APIVERSION))
        (%D%/aclocal-$(APIVERSION)): New targets.
        (CLEANFILES): Add them.

2017-08-30  Mathieu Lirzin  <mthl@gnu.org>

        aclocal: Support ACLOCAL_AUTOMAKE_DIR environment variable

        * bin/aclocal.in: Reset '@automake_includes' and '@system_includes' in
        for build environment.  Allow setting '@automake_includes' with
        ACLOCAL_AUTOMAKE_DIR environment variable.
        (parse_arguments): Ignore 'dirlist' when '@system_includes' is empty.
        * doc/automake.texi (aclocal Options): Document ACLOCAL_AUTOMAKE_DIR.
        * bin/wrap-aclocal.in: Remove extra command line options.
        * pre-inst-env.in: Set ACLOCAL_AUTOMAKE_DIR and ACLOCAL_PATH
        environment variables.
        * t/ax/test-defs.in: Adapt.
        * t/ansi2knr-no-more.sh (warn_rx): Likewise.

2017-08-30  Mathieu Lirzin  <mthl@gnu.org>

        config: Support AUTOMAKE_LIBDIR environment variable

        * lib/Automake/Config.in: Let AUTOMAKE_LIBDIR environment variable
        override the default location for '$libdir'.
        * doc/automake.texi (automake Invocation): Document AUTOMAKE_LIBDIR.
        * pre-inst-env.in (AUTOMAKE_LIBDIR): Set AUTOMAKE_LIBDIR.
        * bin/wrap-automake.in: Don't use "--libdir" option.

2017-08-29  Mathieu Lirzin  <mthl@gnu.org>

        build: Use PERL5LIB from 'pre-inst-env' script

        * bin/aclocal.in: Detect build environment with AUTOMAKE_UNINSTALLED.
        Let 'PERL5LIB' from 'pre-inst-env' define the perl module directories.
        * bin/automake.in: Likewise.
        * bin/wrap-aclocal.in: Don't set 'Automake::perl_libdirs' anymore.
        * bin/wrap-automake.in: Likewise.
        * t/Makefile.inc (LOG_COMPILER, PL_LOG_COMPILER): Use 'pre-inst-env'.
        (AM_PL_LOG_FLAGS): Don't set perl module path.

2017-08-29  Mathieu Lirzin  <mthl@gnu.org>

        build: Extend PATH from 'pre-inst-env' script

        * configure.ac (ACLOCAL, AUTOMAKE): Use 'pre-inst-env'.
        * Makefile.am (extend_PATH): Delete.
        * doc/Makefile.inc (update_mans, $(srcdir)/%D%/amhello-1.0.tar.gz)
        (setup_autotools_paths): Use 'pre-inst-env' instead of $(extend_PATH).

2017-08-29  Mathieu Lirzin  <mthl@gnu.org>

        build: Add 'pre-inst-env' wrapper script

        This script allows someone building Automake from source to easily run
        'automake' and 'aclocal' without having to install it or knowing the
        existence of "wrapped" scripts in "bin" directory.

        * pre-inst-env.in: New script.
        * configure.ac: Generate 'pre-inst-env' at configure time.
        * Makefile.am (nodist_noinst_SCRIPTS, CLEANFILES): Add it.

2017-08-29  Mathieu Lirzin  <mthl@gnu.org>

        build: Move wrapped scripts in "bin" directory

        Those scripts are used both in the build process and for the tests, so
        it seems clearer to not hide them in "t/wrap" directory.

        * t/wrap/aclocal.in: Rename to ...
        * bin/wrap-aclocal.in: ... this.
        * t/wrap/automake.in: Rename to ...
        * bin/wrap-automake.in: ... this.
        * configure.ac: Generate "bin/aclocal-${APIVERSION}" and
        "bin/automake-${APIVERSION}" at configure time.
        * t/Makefile.inc (nodist_noinst_SCRIPTS): Move wrapped scripts ...
        * bin/Makefile.inc (nodist_noinst_SCRIPTS): ... here.
        * Makefile.am (extend_PATH): Use "bin" directory.
        * t/ax/test-defs.in (am_bindir): Likewise.
        * t/get-sysconf.sh: Likewise.
        * .gitignore: Update.

2017-08-27  Mathieu Lirzin  <mthl@gnu.org>

        automake: Handle LTLIBOBJS more specifically

        * bin/automake.in (handle_LIBOBJS_or_ALLOCA): Remove complex regexp
        substitution when handling LTLIBOBJS.

2017-08-21  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

        automake: Ensure that LIBOBJ_DIR builddir is created

        * t/libobj-no-dependency-tracking.sh: New test reproducing the issue
        described in automake bug#27781.
        * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.

2017-08-08  Mathieu Lirzin  <mthl@gnu.org>

        doc: Update to latest help2man

        This fixes bug#27773.

        * doc/help2man: Sync with version 1.47.3 to support reproducible
        builds by using $SOURCE_DATE_EPOCH.

2017-07-15  Mathieu Lirzin  <mthl@gnu.org>

        doc: Fix typo "nothing" => "noting"

        This fixes bug#24476.

        * doc/automake.texi (Checking the Distribution): Fix typo.
        * THANKS: Update.

2017-07-15  Mathieu Lirzin  <mthl@gnu.org>

        doc: Fix typos

        This fixes bug#23099.

        * doc/automake.texi (Scripts-based Testsuites)
        (Parallel Test Harness): Fix typos.
        * THANKS: Update.

2017-07-15  Mathieu Lirzin  <mthl@gnu.org>

        check: Make 'check-TESTS' target depend on test dependencies

        The 'check' and 'recheck' targets are already depending on the progams
        and scripts required to run the test suite.  The 'check-TESTS' target
        while not in the public API might be used by uninformed users, so it
        makes sense to add the same dependency to it.  This fixes bug#27186.

        * lib/am/check.am [!%?SERIAL_TESTS%] (check-TESTS): Add dependency to
        '%CHECK_DEPS%'.
        * THANKS: Update.

2017-07-15  Mathieu Lirzin  <mthl@gnu.org>

        dejagnu: Allow AM_RUNTESTFLAGS to override default RUNTEST arguments

        This fixes bug#25335.

        * lib/am/dejagnu.am (check-DEJAGNU): Swap $(RUNTESTDEFAULTFLAGS) and
        $(AM_RUNTESTFLAGS).
        * THANKS: Update.

2017-07-15  Thomas Jahns  <jahns@dkrz.de>

        aclocal: Avoid problematic string interpolation

        This fixes bug#20903.  Thanks to Eric Bavier for reporting this issue.

        * bin/aclocal.in (automake_includes): Avoid problematic string
        interpolation.
        * NEWS: Update.
        * THANKS: Thank Eric Bavier.

2017-07-15  Mathieu Lirzin  <mthl@gnu.org>

        python: Add python3.6

        This fixes bug#27458.

        * m4/python.m4 (AM_PATH_PYTHON): Add python3.6.

2017-07-06  Thomas Martitz  <kugel@rockbox.org>

        automake: Shorter object file names under subdir-objects

        Combining the 'subdir-objects' option with target-specific flags had
        the consequence of producing long object file names.  This was done to
        preventively ensure the uniqueness of object file names.  We are now
        using shorter names by default, and handle long names when an actual
        conflict is detected.  This will hopefully reduce the necessity of
        using the 'prog_SHORTNAME' facility.

        Example:
        previously:
          AUTOMAKE_OPTIONS = subdir-objects
          bin_PROGRAMS += path/to/foo
          path_to_foo_CFLAGS = $(AM_CFLAGS) -g

        resulted in objects:
          sub/path_to_foo-foo.o

        now object file name is:
          sub/foo-foo.o

        * bin/automake.in (proglist, liblist, ltliblist)
        (dup_shortnames): New globals.
        (initialize_per_input): Initialize them.
        (handle_targets): New subroutine.
        (handle_single_transform): Truncate object file names when possible.
        * t/subobj-objname-clash.sh: New test.
        * t/list-of-tests.mk (handwritten_TESTS): Add it.
        * NEWS: Update.

2017-06-18  Mathieu Lirzin  <mthl@gnu.org>

        maint: Post-release administrivia

        * NEWS: Add header line for next release.
        * configure.ac (AC_INIT): Bump version number to 1.15.1a.
        * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

2017-06-18  Mathieu Lirzin  <mthl@gnu.org>

        version 1.15.1

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

2017-06-18  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update 'git-tag-release' rule

        * maintainer/maint.mk (git-tag-release): Use a Git tag message similar
        to what the 'do-release-commit-and-tag' script from Gnulib do.

2017-06-17  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update files from upstream with 'make fetch'

        * lib/config.guess: Update.
        * lib/config.sub: Likewise.
        * lib/texinfo.tex: Likewise.

2017-06-17  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update NEWS

        * NEWS: Announce important bug fixes.

2017-06-16  Mathieu Lirzin  <mthl@gnu.org>

        Merge branch 'minor'

2017-06-16  Mathieu Lirzin  <mthl@gnu.org>

        Merge branch 'micro' into minor

2017-05-20  Mathieu Lirzin  <mthl@gnu.org>

        bootstrap: Add a rationale for the bootstrap process.

        * bootstrap: Explain why we can't simply run 'autoreconf -i'.

2017-05-20  Mathieu Lirzin  <mthl@gnu.org>

        bootstrap: Rename 'bootstrap.sh' to 'bootstrap'.

        Follow Gnulib's convention of using either "bootstrap" or "autogen.sh"
        file names for development bootstrap scripts.

        * bootstrap.sh: Rename to ...
        * bootstrap: ... this.
        * GNUmakefile (bootstrap): Adapt.
        * HACKING: Likewise.
        * Makefile.am (EXTRA_DIST): Likewise.
        * doc/automake.texi (Future of aclocal)
        (Error required file ltmain.sh not found): Likewise.
        * maintainer/maint.mk (autodiffs, update-copyright): Likewise.

2017-05-20  Mathieu Lirzin  <mthl@gnu.org>

        automake: Update 'read_am_file' docstring.

        * bin/automake.in (read_am_file): Update docstring which was referring
        to a non existent '%contents' variable.

2017-04-16  Bruno Haible  <bruno@clisp.org>

        tests: Never invoke gettextize.

        This change fixes automake bug#26514.

        * t/gettext-macros.sh: Never invoke gettextize.

2017-04-13  Mathieu Lirzin  <mthl@gnu.org>

        tests: Update "t/txinfo-no-clutter.sh".

        This is workaround to a regression introduced by
        48107579abadbe857c8299c38d2ca0a3f8f354c8.  With current
        "lib/texinfo.tex", 'texi2dvi' is not able to produce a valid output
        for a Texinfo document containing a @synindex command.  As a
        consequence the test "t/txinfo-no-clutter.sh" was failing.

        * t/txinfo-no-clutter.sh: Remove use of @synindex command.

2017-03-05  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update "lib/texinfo.tex".

        This fixes a regression in 48107579abadbe857c8299c38d2ca0a3f8f354c8
        where 'texi2dvi' was not able to produce a valid output for a Texinfo
        document without text.  As a consequence the test "t/silent-texi.sh"
        was failing.

        * lib/texinfo.tex: Update to 2017-03-05.09.

2017-03-02  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update copyright years to 2017.

        This update has been made with 'make update-copyright'.

2017-03-02  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update files from upstream with 'make fetch'.

        * lib/INSTALL: Update.
        * lib/config.guess: Likewise.
        * lib/config.sub: Likewise.
        * lib/gendocs.sh: Likewise.
        * lib/gendocs_template: Likewise.
        * lib/gitlog-to-changelog: Likewise.
        * lib/gnupload: Likewise.
        * lib/texinfo.tex: Likewise.
        * lib/update-copyright: Likewise.

2017-03-02  Mathieu Lirzin  <mthl@gnu.org>

        maint: Update fetch URLs.

        * maintainer/maint.mk (SV_CVS, SV_GIT_AC): Remove.
        (SV_GIT_CF, SV_GIT_GL): Use https for Savannah Git repositories.
        (FETCHFILES): Use Gnulib repository as the source of "texinfo.tex",
        "gendocs.sh", and "gendocs_template" files.

2017-02-23  Mathieu Lirzin  <mthl@gnu.org>

        doc: fix typo "requited" => "required"

        This change fixes automake bug#25413.

        * doc/automake.texi (Serial Test Harness): Fix typo.

2017-01-01  Jim Meyering  <meyering@fb.com>

        maint: update copyright dates for 2017

        * all files: Run this command, using update-copyright from gnulib:
          UPDATE_COPYRIGHT_FORCE=1 \
          UPDATE_COPYRIGHT_USE_INTERVALS=2 \
          UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 \
           update-copyright $(git ls-files)

2016-09-08  Jim Meyering  <meyering@fb.com>

        automake: do not emit rule with two dependents

        On a system using our replacement alloca, make would emit
        this warning:
          target '.deps/alloca.Po' given more than once in the same rule
        That arose because automake would emit a rule depending on both
        ./.deps/alloca.Po and .deps/alloca.Po. Normally, duplicate
        dependents are avoided by virtue of their names being keys in
        the %dep_files hash, but in this case, that particular file
        was specified in two different ways.
        * bin/automake.in (handle_ALLOCA): When the $dir prefix is empty,
        make it './', to ensure that when we add ./.deps/alloca.Po
        it is deduped.
        See: http://bugs/gnu/org/22702

2016-06-01  Jim Meyering  <meyering@fb.com>

        compile: remove .Tpo file upon failure

        When generating a .deps/base.Po file, our emitted rule first writes
        to a temporary .Tpo file, so the final creation can be atomic, via
        mv's rename.  However, when generation of the .Tpo fails, it stop the
        process and does not remove that temporary file.  And nothing else
        ever deletes it, either.  Hence, in the unusual case in which one
        expects a compilation to fail during a successful build (gnulib's
        test-verify.sh does precisely this), a .deps/test-verify.Tpo file
        would be left behind, and that would in turn cause a "make distcheck"
        failure because that file would exist in one build+distclean hierarchy
        but not in the distribution tarball.
        * lib/am/depend2.am: Ensure that the temporary file is removed
        upon failure.
        * t/distcheck-Tpo.sh: New file.
        * t/list-of-tests.mk (handwritten_TESTS): Add it.
        This addresses bug#23661.

2016-04-20  Paul Eggert  <eggert@cs.ucla.edu>

        python: add python3.5, python3.4

        * m4/python.m4 (AM_PATH_PYTHON): Add python3.5, python3.4.

2016-03-31  Paul Eggert  <eggert@cs.ucla.edu>

        Merge branch 'minor'

2016-03-31  Paul Eggert  <eggert@cs.ucla.edu>

        Merge branch 'micro' into minor

2016-03-31  Paul Eggert  <eggert@cs.ucla.edu>

        automake: port to Perl 5.22 and later

        Without this change, Perl 5.22 complains "Unescaped left brace in
        regex is deprecated" and this is planned to become a hard error in
        Perl 5.26.  See:
        http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod#A_literal_%22{%22_should_now_be_escaped_in_a_pattern
        * bin/automake.in (substitute_ac_subst_variables): Escape left brace.

2016-03-28  Paul Eggert  <eggert at>

        automake: port better to future gzip

        * lib/am/distdir.am (dist-gzip, dist-shar, distcheck):
        Port better to future versions of gzip, which are planned to
        deprecate the GZIP environment variable (Bug#20132).

2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>

        Merge branch 'minor'

2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>

        Merge branch 'micro' into minor

2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>

        maint: port time-stamp-time-zone to strict POSIX

        Set time-stamp-time-zone to "UTC0", not to "UTC", as POSIX defines
        TZ="UTC0" not TZ="UTC".

2015-11-24  Peter Rosin  <peda@lysator.liu.se>

        Merge branch 'minor'

        * minor:
          compile: add icl to compile wrapper script
          tests: fix a typo-induced bug

2015-11-24  Peter Rosin  <peda@lysator.liu.se>

        Merge branch 'micro' into minor

        * micro:
          compile: add icl to compile wrapper script

2015-11-24  Jonathan L Peyton  <jonathan.l.peyton@intel.com>  (tiny change)

        compile: add icl to compile wrapper script

        * lib/compile: Have icl be treated similarly to cl
        (scriptversion): Update.
        * t/ax/am-test-lib.sh (require_tool): Handle icl.
        * t/compile7.sh: Add new test file for icl...
        * t/list-of-tests.mk (handwritten_TESTS): ...and use it.
        * NEWS: Update.
        * THANKS: Update.

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix a typo-induced bug

        * t/subobj-vpath-pr13928.sh: Here; we were using $FGREP instead of
        $EGREP, oops.

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          deps: fix corner-case "make distclean" bug
          compile: don't place built object files in $(srcdir), ever ...
          tests: fix some bugs in an XFAILing test
          deps: 'subdir-object' option now works when foo_SOURCES contains $(var)
          NEWS: fix a typo

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'deps-pr13928' into minor

        * deps-pr13928:
          deps: fix corner-case "make distclean" bug
          compile: don't place built object files in $(srcdir), ever ...
          tests: fix some bugs in an XFAILing test
          deps: 'subdir-object' option now works when foo_SOURCES contains $(var)

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          NEWS: fix a typo

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        deps: fix corner-case "make distclean" bug

        Assume we have package satisfying the following conditions:
          (1) automatic dependency tracking is enabled;
          (2) the 'subdir-objects' Automake option is enabled;
          (3) the package uses a recursive make setup.

        Also assume that:
          (a) a subdir Makefile declares a foo_SOURCES variable containing
              a source file in the parent directory;
          (b) that parent Makefile declare a compiled program itself.

        Then BSD and Solaris make used to fail when running "make distclean",
        because the 'distclean' target of the subdir Makefile removed the
        whole '.deps' directory before the parent Makefile was done with the
        included '.Po' makefile fragments in that directory. This issue was
        revealed by failures in the 'subobj-vpath-pr13928.sh' test when those
        make implementations were used.

        We fix the issue by ensuring the 'distclean' target of any Makefile
        only removed the '.Po' makefile fragments included by it, rather than
        the whole '.deps' directory where such files resides.

        This change should be the last step in fixing automake bug#13928
        for good.

        * bin/automake.in (handle_languages), lib/am/depend.am: Adjust
        to implement the new 'distclean' logic.
        * t/pr224.sh: Adjust to avoid a spurious failure.
        * PLANS/subdir-objects.txt: Update.

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        compile: don't place built object files in $(srcdir), ever ...

        ... even when a source file is specified as '$(srdir)/foo.c' or
        '$(top_srcdir)/bar.c'. And ditto for dependency-tracking makefile
        fragments (those under '.deps' directories).

        Such issues used to occur when the 'subdir-objects' option was given.

        This change should fix the second and last part of automake bug#13928.
        See also bug#16375 and bug#15293.

        * NEWS: Update.
        * bin/automake.in (handle_single_transform): Make sure object files
        and dependency-tracking makefile fragments coming from source like
        '$(srcdir)/foo.c' and '$(top_srcdir)/bar.c' are placed respectively
        under $(builddir) and $(top_builddir).
        * t/subobj-vpath-pr13928.sh: Enhance to expose even more aspects
        of the bug we've just fixed.
        * t/subobj-pr13928-more-langs.sh: New test, similar to the one above,
        but with non-C languages as well.
        * t/list-of-tests.mk (XFAIL_TESTS): Remove 'subobj-vpath-pr13928.sh',
        it's now supposed to pass.
        (handwritten_TESTS): Add 'subobj-pr13928-more-langs.sh'.

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix some bugs in an XFAILing test

        * t/subobj-vpath-pr13928.sh: This one. The test would have failed (or
        hung!) even if the bug it was testing against were fixed.

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        deps: 'subdir-object' option now works when foo_SOURCES contains $(var)

        Following a suggestions of Johan Kristensen, we have config.status use
        'make' invocations rather than Makefile-parsing 'sed' hacks to bootstrap
        the dependency-tracking '.Po' and '.Plo' makefile fragments. To handle
        the inclusion of such files that are still missing when make is first
        we basically generate a temporary Makefile without these includes, and
        call 'make' on that Makefile.

        This fixes the serious bug bug#13928, which was an hard blocker to make the
        behavior mandated by the 'subdir-object' active by default (which we want
        to do in Automake 2.0).

        The issue has also been reported in bug#15919.

        * NEWS, THANKS: Update.
        * bin/automake.in (handle_languages): Add a trailing "marking" comment
        ("# am--include-marker") to the generated Makefile lines issuing 'include'
        directives for the dependency-tracking '.Po' and '.Plo' makefile fragments.
        Also rename the generated Makefile variable 'am__depfiles_maybe' to the
        clearer 'am__maybe_remake_depfiles'.
        Minor unrelated refactoring.
        * lib/am/configure.am: Adjust to account for the 'am__depfiles_maybe' ->
        'am__maybe_remake_depfiles' renaming.
        * lib/am/depend.am: Add rules to generate a dummy version of all the
        dependency-tracking '.Po' and '.Plo' makefile fragments.
        * m4/depout.m4: Use make invocations rather than Makefile-parsing sed hacks
        to bootstrap the dependency-tracking '.Po' and '.Plo' makefile fragments.
        We still use some sed trickery in order to remove the inclusion of the
        still non existing .Po and .Plo files from the Makefile we invoke make
        upon; this is done stripping lines that contain the magic string
        "# am--include-marker".
        * m4/make.m4 (AM_MAKE_INCLUDE): Given that now automake generates Makefiles
        containing include statements with trailing comment, adjust the checks done
        here to make sure $MAKE support that; e.g., "include foo.mk # comment"
        rather than just "include foo.mk".
        Also refactor and adjust to leave better debugging info in config.log.
        * t/postproc.sh: Rename ...
        * t/depend-postproc.sh: ... to this, and adjust and enhance.
        * t/list-of-tests.mk (handwritten_TESTS): Adjust.
        (XFAIL_TESTS): Remove 't/subobj-indir-pr13928.sh', which is now succeeding.
        * t/subobj-indir-pr13928.sh: Simplify slightly, now that we expect it to
        pass.
        * t/depcomp8a.sh: Adjust grepping check to account for the changes in
        the generated Makefile, and tp be somewhat more robust in light of possible
        future modifications.
        * t/depcomp8b.sh: Likewise.
        * t/subobj11b.sh: Likewise.
        * t/subobj11c.sh: Likewise.
        * t/extra-sources.sh: Likewise.
        * t/lex-depend-grep.sh: Likewise.
        * t/lex-depend-cxx.sh: Add a command to help debugging in case of test
        failure.

        Helped-by: Johan Kristensen <johankristensen@gmail.com>

2015-01-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: fix a typo

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: update copyright years to 2015 (branch 'master')

        * t/am-prog-mkdir-p.sh: Here.
        * t/txinfo-no-split.sh: And here.

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          maint: update copyright years to 2015 (branch 'micro')

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          maint: update copyright years to 2015 (branch 'micro')

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: update copyright years to 2015 (branch 'micro')

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          sync: update third-part files from upstream
          maint: fix typo in error message of a maintainer-only rule
          maint: bump version number 1.15 -> 1.15a ('minor' Git branch)
          release: stable minor release 1.15
          NEWS: minor improvements and fixed some typos and grammaros

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          sync: update third-part files from upstream
          maint: fix typo in error message of a maintainer-only rule

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        sync: update third-part files from upstream

        * lib/config.sub: This.
        * lib/INSTALL, lib/config.guess, lib/gitlog-to-changelog, lib/gnupload,
        lib/update-copyright: And this (but only for copyright year update, no
        real semantic change)

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: fix typo in error message of a maintainer-only rule

        * maintainer/maint.mk (web-manual-update): Here.

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: bump version number 1.15 -> 1.15a ('minor' Git branch)

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

2015-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor' into micro after 1.15 release

        And bump version number: 1.15 -> 1.15.0a

        * minor:
          release: stable minor release 1.15
          NEWS: minor improvements and fixed some typos and grammaros
          docs: "make distcheck" implementation details are not to be abused
          NEWS: improve and adjust in light of the oncoming 1.15 release
          Fix dumb logic error preventing $install_sh from being be overridden
          Expose automake bug#19311
          build: fix race in parallel builds
          init: ensure $ac_aux_dir is defined before being used
          plans: enabling subdir-object by default is blocked on bug#13928
          maint: update copyright years
          maint: sync files from upstream ("make fetch")
          Typofixes in warning messages and manual
          NEWS: a typofix, and better word wrapping
          parallel-tests: avoid possible implicit "make all" in test-suite.log rule
          Allow user to extend .PRECIOUS target
          cosmetics: remove a couple of extra trailing white spaces
          tests: fix a spurious failure on Mac OS X
          docs: make clear the JAVA primary is frozen
          install-sh: a slightly better diagnostic, and tests enhancements
          install-sh: be stricter in catching invalid usages
          tests: more significant names for some tests
          tests: some cosmetic fixes
          tests: more significant names for a test
          docs: drop a few obsolescent FIXME/TODO comments, and associated text
          testsuite harness: report test exit status in log file
          TAP driver: no need to invoke AC_PROG_AWK directly
          TAP driver: remove perl implementation (move it into contrib/)
          NEWS: stop reporting "new" Automake versioning scheme
          cosmetics: untabify the install-sh script
          install-sh: assume that "set -f" and "set +f" work...
          install-sh: assume ${var:-value} works as expected
          install-sh: assume 'dirname' is available and working correctly
          post-release: micro version bump (1.14a)

2014-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: stable minor release 1.15

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

2014-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: minor improvements and fixed some typos and grammaros

2014-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          docs: "make distcheck" implementation details are not to be abused
          NEWS: improve and adjust in light of the oncoming 1.15 release
          shell-no-trail-bslash: improve diagnostic in case of failure

2014-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: "make distcheck" implementation details are not to be abused

        * doc/automake.texi: State explicitly and in detail that the exact location
        and the exact structure of the subdirectory used by "make distcheck" is to
        be considered an implementation detail, which can change at any time.

2014-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: improve and adjust in light of the oncoming 1.15 release

2014-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          shell-no-trail-bslash: improve diagnostic in case of failure

2014-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        shell-no-trail-bslash: improve diagnostic in case of failure

        * t/ax/shell-no-trail-bslash.in: Here, by fixing a typo in a
        variable name and a logic error.
        * t/self-check-shell-no-trail-bslash.sh: Enhance to catch the
        issue.

2014-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branches 'texi-in-builddir-remove-distclean-hack' and 'minor'

        * texi-in-builddir-remove-distclean-hack:
          texinfo: remove hack about info files in CLEANFILES variables

        * minor:
          tests: make script 'shell-no-trail-bslash' simpler and more robust

2014-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          tests: make script 'shell-no-trail-bslash' simpler and more robust

2014-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: make script 'shell-no-trail-bslash' simpler and more robust

        This solves spurious failure in the 'check-no-trailing-backslash-in-recipes'
        target for Automake-NG.

        This is basically a backport of Automake-NG commit v1.14.1-1010-g85aae58;
        the point is to minimize the amount of spurious diffs between the mainline
        Automake and the Automake-NG source trees.

        * t/ax/shell-no-trail-bslash.in: Simplify and fortify.
        * t/self-check-shell-no-trail-bslash.sh: Enhance.

2014-12-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texinfo: remove hack about info files in CLEANFILES variables

        Automake used to implement an undocumented hack causing '.info' files
        that appeared to be cleaned (by e.g. being listed in the CLEANFILES
        variable) to also be built in the builddir rather than in the srcdir;
        this was for backward compatibility with packages such as Texinfo,
        which did things like:

            info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
            DISTCLEANFILES = texinfo texinfo-* info*.info*
            # Do not create info files for distribution.
            dist-info:

        in order not to distribute .info files.

        Now that we have the 'info-in-builddir' option that explicitly causes
        generated '.info' files to be placed in the builddir, this hack is no
        longer necessary, and we can remove it (after having deprecated it in
        the Automake 1.14 release already).

        * bin/automake.in (handle_texinfo_helper): Remove the hack.  Adjust
        comments accordingly.
        * NEWS: Update.
        * t/txinfo23.sh: Delete as obsolete.
        * t/txinfo25.sh: Likewise.
        * t/txinfo24.sh: Likewise.
        * t/txinfo28.sh: Delete as mostly obsolete, its only still relevant
        parts moved ...
        * t/mdate5.sh: ... into this test.
        * t/txinfo-clean.sh: Remove references to deleted tests.
        * t/list-of-tests.mk: Adjust.

2014-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid a possible failure due to autom4te cache staleness

        * t/includes-deprecation.sh: Here.

2014-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          tests: fix spurious failure in test on TEXINFO_TEX overriding
          tests: avoid some spurious failures on AIX 7.1

2014-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          tests: fix spurious failure in test on TEXINFO_TEX overriding
          tests: avoid some spurious failures on AIX 7.1

2014-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix spurious failure in test on TEXINFO_TEX overriding

        * t/txinfo-override-texinfo-tex.sh: Here.  The issue was pre-existing, but
        has been only recently exposed by the fix for automake bug#18286 "distcheck
        fails to detect missing files" (see commit v1.14.1-4-g01a7a4a) and by the
        BSD make semantics.  To convince yourself this change actually makes sense
        semantically, see https://sourceware.org/ml/binutils/2012-06/msg00004.html

2014-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'aix-testsuite-failures' into micro

        * aix-testsuite-failures:
          tests: avoid some spurious failures on AIX 7.1

2014-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid some spurious failures on AIX 7.1

        * t/lex-noyywrap.sh: Here.
        * t/instmany-mans.sh: And here.
        * t/instmany-python.sh: And here.
        * t/instmany.sh: And here.
        * t/parallel-tests-concurrency.sh: And here.

2014-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          dist: fix bug#18286 "distcheck fails to detect missing files"
          tests: expose automake bug#18286 "distcheck fails to detect missing files"
          include: fix bug in handling of user-defined makefile fragments generation
          tests: expose bug in handling of user-defined makefile fragments generation

2014-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          dist: fix bug#18286 "distcheck fails to detect missing files"
          tests: expose automake bug#18286 "distcheck fails to detect missing files"
          include: fix bug in handling of user-defined makefile fragments generation
          tests: expose bug in handling of user-defined makefile fragments generation

2014-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'distcheck-pr18286' into micro

        * distcheck-pr18286:
          dist: fix bug#18286 "distcheck fails to detect missing files"
          tests: expose automake bug#18286 "distcheck fails to detect missing files"

2014-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        dist: fix bug#18286 "distcheck fails to detect missing files"

        BTW, this issue had been already reported in the past:
        http://lists.gnu.org/archive/html/automake/2006-09/msg00008.html
        http://lists.gnu.org/archive/html/automake/2013-01/msg00049.html

        "make distcheck" could sometimes fail to detect missing files in the
        distribution tarball, especially in those cases where both the generated
        files and their dependencies are explicitly in $(srcdir).  An important
        example of this are *generated* makefile fragments included at Automake
        time in Makefile.am.  A basic example:

            # -*- Makefile.am -*-

            $(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh
                cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am

            include $(srcdir)/fragment.am

            ...

        If the use forgot to add data.txt and/or preproc.sh in the distribution
        tarball, "make distcheck" would have erroneously succeeded!

        The reason is that, while $(srcdir)/data.txt does not exist, make also
        looks in $(srcdir)/$(srcdir)/data.txt, and in the distcheck-issued
        VPATH build where $(srcdir) is '..', that file exists, as it is
        part of the original development directory.

        * t/distdir.am (distcheck): Adjust to have the build directory be
        '$(distdir)/_build/sub' rather than just '$(distdir)/_build'.  Thanks
        Nicola Fontana for the suggestion.
        * t/distcheck-pr18286.sh: Enhance and tighten a little.
        * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/distcheck-pr18286.sh',
        as it's now passing.
        * t/subdir-am-cond.sh: Adjust to avoid a fully spurious failure due
        to the new distcheck semantics.
        * t/subdir-ac-subst.sh: Likewise.
        * t/dejagnu-relative-srcdir.sh: Likewise.
        * t/txinfo-builddir.sh: Likewise.
        * NEWS: Update.

        Helped-by: Nicola Fontana <ntd@entidi.it>
        Helped-by: Peter Johansson <trojkan@gmail.com>

2014-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: expose automake bug#18286 "distcheck fails to detect missing files"

        * t/distcheck-pr18286.sh: New test, still XFAILing.
        * t/list-of-tests.mk: Add it.

2014-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'am-deps' into micro

        * am-deps:
          include: fix bug in handling of user-defined makefile fragments generation
          tests: expose bug in handling of user-defined makefile fragments generation

2014-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        include: fix bug in handling of user-defined makefile fragments generation

        If a user defined one single Makefile fragment to be included (via Automake
        includes) in his main Makefile.am, and gave a rule to generate that file
        from other data, Automake used to spuriously complain about with something
        like "overrides Automake target '$(srcdir)/foo.am".  This change remove that
        spurious error (via a simple hack rather than a systematic change, but oh
        well).

        * lib/am/configure.am (%MAKEFILE-IN-DEPS%) [?HAVE-MAKEFILE-IN-DEPS?]: Add
        a trailing "$(am__empty)" to the list of targets, which is enough to trick
        Automake into not complaining about "duplicated targets" in case the
        '%MAKEFILE-IN-DEPS%' list expands to a single target that is also declared
        in some user-defined rule.
        * t/list-of-tests.mk (XFAIL_TESTS): Remove now-passing test
        't/am-include-only-one-generated-fragment.sh'.
        * NEWS: Update.

2014-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: expose bug in handling of user-defined makefile fragments generation

        If a user defines one single Makefile fragment to be included (via Automake
        includes) in his main Makefile.am, and givse a rule to generate that file
        from other data, Automake will spuriously complain about with something
        like "overrides Automake target '$(srcdir)/foo.am".

        * t/am-include-only-one-generated-fragment.sh: Expose the bug (this test
        is still XFAILing).
        * t/list-of-tests.mk: Add the new test.

2014-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          cleanup: refactor code to initialize DIST_COMMON
          dist: ordering of files in DIST_COMMON is deterministic now
          tests: refactor some tests on DIST_COMMON
          maint: make output of 'gen-testsuite-part' deterministic
          When computing lispdir, don't load emacs site wide init file.
          PATH: quote $(PATH_SEPARATOR) as well
          Improve detection of GNU make, avoiding "Arg list too long" errors.

2014-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          cleanup: refactor code to initialize DIST_COMMON
          dist: ordering of files in DIST_COMMON is deterministic now
          tests: refactor some tests on DIST_COMMON
          maint: make output of 'gen-testsuite-part' deterministic
          When computing lispdir, don't load emacs site wide init file.
          PATH: quote $(PATH_SEPARATOR) as well
          Improve detection of GNU make, avoiding "Arg list too long" errors.

2014-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cleanup: refactor code to initialize DIST_COMMON

        There is not need to make that an Automake variable early,
        only to later get and munge its contents, and use the new
        content to redefine the variable.

        * bin/automake.in (@dist_common): New global variable.
        (push_dist_common, handle_dist): Use it.
        (handle_dist): Define am__DIST_COMMON instead of DIST_COMMON
        directly.
        (initialize_per_input): Reset it to empty.
        ($configure_dist_common): Turn this scalar variable ...
        (@configure_dist_common): ... into this array variable.
        (handle_dist): Adjust.
        (required_file_check_or_copy): Update and wrap some comments.
        * lib/am/distdir.am (DIST_COMMON): Append $(am__DIST_COMMON).
        * t/distcom2.sh: Tighten a little.

2014-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        dist: ordering of files in DIST_COMMON is deterministic now

        It had likely stopped being deterministic due to the new perl behavior
        of having non-deterministic order of numerating hash keys:
        <http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
        <http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html>
        See also similar commit v1.14-19-g52e6404, albeit in this case the issue
        is likely coming from autom4te/autoconf, not from automake itself.

        Fixes automake bug http://debbugs.gnu.org/17908

        * bin/automake.in (handle_dist): Sort @dist_common.
        (print_autodist_files): Swap invocations of 'sort' and 'uniq', for
        consistency with the new code in 'handle_dist' and to get rid of a
        minor hack.
        * NEWS: Update.

2014-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: refactor some tests on DIST_COMMON

        So that they prefer checking the semantics of the generated Makefiles,
        rather than grepping their content.  This will be useful in an upcoming
        refactoring.

        * t/distcom-subdir.sh: Adjust this test.
        * t/distcom2.sh: And this.
        * t/distcom3.sh: And this.
        * t/distcom4.sh: And this.
        * t/distcom5.sh: And this.

2014-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: make output of 'gen-testsuite-part' deterministic

        So that diffs displayed by the 'compare-autodiffs' target are
        less spurious and more useful.

        * gen-testsuite-part: Sort keys of %deps_extractor, %wrapper_setups
        and %depmodes before iterating on them.

2014-12-19  Andrew Burgess  <andrew.burgess@embecosm.com>  (tiny change)

        When computing lispdir, don't load emacs site wide init file.

        When computing the lispdir emacs was previously invoked with the '-q'
        option to avoid loading the users initialisation files, however, the
        site wide initialisation file was still loaded, in some cases this can
        cause emacs to hang, with the result that a configure can also hang.

        The lisp code that aclocal causes to be executed reduces the load-path
        list (in emacs) to empty.  The load-path is used by emacs to find
        packages which it wants to load.  Currently, if emacs tries to auto
        load a package during shut down, and the package is not found, then
        emacs will hang.  This does seem like an emacs bug, but protecting
        against this in aclocal is simply a case of not loading the site wide
        initialisation file.

        In this patch then the '-q' option to emacs is replaced with '-Q',
        this has the same, the '-Q' option is similar to '-q --no-site-file
        --no-splash'.

        * doc/automake.texi (Hard-Coded Install Paths): Update explanation of
        emacs code used to get lispdir.
        * m4/lispdir.m4 (AM_PATH_LISPDIR): Update emacs flags.

2014-12-19  KO Myung-Hun  <komh78@gmail.com>  (tiny change)

        PATH: quote $(PATH_SEPARATOR) as well

        On OS/2, $(PATH_SEPARATOR) is ';'. Without quote, it is recognized as
        a mark of end of sentence.

        * Makefile.am: quote $(PATH_SEPARATOR) as well.
        * t/Makefile.inc: Likewise.

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Improve detection of GNU make, avoiding "Arg list too long" errors.

        Such errors could take place when the main makefile included too many
        sub-makefiles, making $(MAKEFILE_LIST) too long and causing the
        recipes $(am__is_gnu_make) to exceed the shell's command-line length
        limits.  This is not a theoretical issue: it could happen for projects
        having lots of C/C++ sources and using automatic dependency tracking,
        which created an included .Po sub-makefile for each of such sources.

        Fixes http://debbugs.gnu.org/18744

        * lib/am/header-vars.am (am__is_gnu_make): Fix the logic to avoid
        the use of $(MAKEFILE_LIST).
        * NEWS: Update.

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          Fix stupid typo in test, causing spurious failure
          sync: update third-part files from upstream
          Make sure AM_INIT_AUTOMAKE has a trailing newline
          dist: adjust warning messages about shar and tarZ deprecation
          docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          Fix stupid typo in test, causing spurious failure

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Fix stupid typo in test, causing spurious failure

        * t/aminit-trailing-dnl-comment-pr16841.sh: s/greop/grep/

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          sync: update third-part files from upstream
          Make sure AM_INIT_AUTOMAKE has a trailing newline
          dist: adjust warning messages about shar and tarZ deprecation
          docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'pr16841' into micro

        * pr16841:
          Make sure AM_INIT_AUTOMAKE has a trailing newline

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        sync: update third-part files from upstream

        * lib/config.guess: This.
        * lib/config.sub: And this.
        * lib/gitlog-to-changelog: And this.
        * lib/gnupload: And this.
        * lib/update-copyright: And this.

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Make sure AM_INIT_AUTOMAKE has a trailing newline

        This used to be the case until Automke 1.13, but we broke it in
        Automake 1.14 (see commit v1.13.1-71-gf78b0f0).  This caused
        issues like http://debbugs.gnu.org/16841

        * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust.
        * t/aminit-trailing-dnl-comment-pr16841.sh: New test.
        * t/list-of-tests.mk: Add it.
        * NEWS, THANKS: Update.

2014-12-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branches 'dist-warn-pr19108' and 'docs-pr16623' into micro

        * dist-warn-pr19108:
          dist: adjust warning messages about shar and tarZ deprecation

        * docs-pr16623:
          docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables

2014-12-19  Aharon Robbins  <arnold@skeeve.com>

        dist: adjust warning messages about shar and tarZ deprecation

        They were swapped.  Reported in http://debbugs.gnu.org/19108.

2014-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables

        In particular, suggesting that $PACKAGE and $VERSION should be aliases of
        the $PACKAGE_TARNAME and $PACKAGE_VERSION definitions coming from AC_INIT,
        and not be defined via an obsolete 2-argument invocation of AM_INIT_AUTOMAKE;
        and why that is the best default, given all our historical baggage.

        See discussion in http://debbugs.gnu.org/16623 for more information and
        background.

        * doc/automake.texi: Adjust.
        * THANKS: Update.

2014-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          Fix dumb logic error preventing $install_sh from being be overridden
          Automake docs: fix typos and use of British English
          Expose automake bug#19311
          build: fix race in parallel builds
          build: fix race in parallel builds

2014-12-17  Thomas Jahns  <jahns@dkrz.de>

        Fix dumb logic error preventing $install_sh from being be overridden

        * m4/install-sh.m4: Here.
        * THANKS: Update.

2014-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branches 'pr19311' and 'micro' into minor

        * pr19311:
          Expose automake bug#19311
          build: fix race in parallel builds

        * micro:
          Automake docs: fix typos and use of British English
          build: fix race in parallel builds

2014-12-17  Karl Berry  <karl@freefriends.org>

        Automake docs: fix typos and use of British English

        * doc/automake.texi: Here.

2014-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Expose automake bug#19311

        AC_PROG_CC called before AC_CONFIG_AUX_DIR can silently force wrong
        $ac_aux_dir definition.

        * t/auxdir-pr19311.sh: New.
        * t/list-of-tests.mk: Add it as an XFAIL test.

2014-12-17  Paul Eggert  <eggert@cs.ucla.edu>

        build: fix race in parallel builds

        Reported by Friedrich Beckmann in: http://bugs.gnu.org/18301
        * lib/am/texi-vers.am (?DIRSTAMP?): Put the process-ID into the
        temporary file name.  Use a similar temporary in the source dir.

2014-08-23  Paul Eggert  <eggert@cs.ucla.edu>

        build: fix race in parallel builds

        Reported by Friedrich Beckmann in: http://bugs.gnu.org/18301
        * lib/am/texi-vers.am (?DIRSTAMP?): Put the process-ID into the
        temporary file name.  Use a similar temporary in the source dir.

2014-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          init: ensure $ac_aux_dir is defined before being used

2014-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        init: ensure $ac_aux_dir is defined before being used

        Since we use '$ac_aux_dir' to define '$am_aux_dir', we need
        to ensure the former has been initialized before we try to
        define the latter, otherwise the definition:

           am_aux_dir=`cd $ac_aux_dir && pwd`

        will set '$am_aux_dir' to '$HOME', likely causing weird and
        unexpected behaviours.

        This change fixes automake bug#15981.

        * m4/auxdir.m4 (AM_AUX_DIR_EXPAND): AC_REQUIRE expansion
        of 'AC_CONFIG_AUX_DIR_DEFAULT'. Fix redundant comment and
        AC_PREREQ, add extra quoting around '$ac_aux_dir'.
        * t/auxdir-pr15981.sh: New test.
        * t/auxdir-cc-pr15981.sh: Likewise.
        * t/list-of-tests.mk (handwritten_TESTS): Add them.
        * THANKS, NEWS: Update.
        * bin/automake.in: Fix a harmless typo in comments, that
        I happened to notice while writing this patch.

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          plans: enabling subdir-object by default is blocked on bug#13928

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        plans: enabling subdir-object by default is blocked on bug#13928

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: update copyright (for files in 'master' only)

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          maint: update copyright years
          maint: sync files from upstream ("make fetch")

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: update copyright years

        We've been in 2014 already for few months now...

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: sync files from upstream ("make fetch")

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          Typofixes in warning messages and manual

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Typofixes in warning messages and manual

        Fixes automake bug#16827 and bug#16997.

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          doc: fix encoding error with UTF-8 characters
          NEWS: a typofix, and better word wrapping
          parallel-tests: avoid possible implicit "make all" in test-suite.log rule

2014-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          doc: fix encoding error with UTF-8 characters

2014-01-04  Paul Eggert  <eggert@cs.ucla.edu>

        doc: fix encoding error with UTF-8 characters

        * doc/automake.texi: Specify @documentencoding and
        @documentlanguage, to prevent encoding errors for parts of this
        input file that are UTF-8.  This also causes the .info output to
        use curly quotes, which is easier to read though it does assume
        UTF-8 support.

2013-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: a typofix, and better word wrapping

2013-12-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        parallel-tests: avoid possible implicit "make all" in test-suite.log rule

        This change fixes automake bug#16302.

        * lib/am/check.am ($(TEST_SUITE_LOG)): Avoid running "make $redo_logs"
        when $redo_logs expands to empty, since in that case we are actually
        ending up invoking a full "make all".  That shouldn't be required, and
        can cause slowdowns for people implementing their extra "laziness
        wrappers" around check-TESTS (automake bug#16302).
        * NEWS: Update.

2013-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          Allow user to extend .PRECIOUS target
          cosmetics: remove a couple of extra trailing white spaces
          tests: fix a spurious failure on Mac OS X
          docs: make clear the JAVA primary is frozen
          install-sh: a slightly better diagnostic, and tests enhancements
          install-sh: be stricter in catching invalid usages
          tests: more significant names for some tests
          tests: some cosmetic fixes
          tests: more significant names for a test
          docs: drop a few obsolescent FIXME/TODO comments, and associated text
          testsuite harness: report test exit status in log file
          TAP driver: no need to invoke AC_PROG_AWK directly
          TAP driver: remove perl implementation (move it into contrib/)

2013-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Allow user to extend .PRECIOUS target

        References:
        <http://lists.freedesktop.org/archives/systemd-devel/2013-July/012155.html>
        <http://lists.gnu.org/archive/html/automake/2013-07/msg00011.html>

        * bin/automake.in: Adjust to ensure we handle '.PRECIOUS' the same way
        we do for '.PHONY' and '.MAKE'.
        * lib/Automake/Rule.pm: Likewise.
        * t/precious.sh: New test.
        * t/list-of-tests.mk: Add it.
        * t/phony.sh: Enhance a little while at it.
        * NEWS: Update.
        * THANKS: Likewise.

        Reported-by: Holger Hans Peter Freyther <holger@freyther.de>

2013-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cosmetics: remove a couple of extra trailing white spaces

2013-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix a spurious failure on Mac OS X

        This change fixes bug#14706.

        * lib/depcomp2.sh: Also cater to spurious diagnostic from GNU rm,
        not only from Apple's rm.

2013-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: make clear the JAVA primary is frozen

        * doc/automake.texi: Here.  The JAVA primary is broken in several ways,
        and will no longer be developed, not even for bug fixes.

        See also automake bugs #9088, #8662 and #8540.

2013-12-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'install-sh-improvements' into minor

        * install-sh-improvements:
          install-sh: a slightly better diagnostic, and tests enhancements
          install-sh: be stricter in catching invalid usages

2013-12-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        install-sh: a slightly better diagnostic, and tests enhancements

        * lib/install-sh: When called with no non-option arguments and the '-t'
        option with an argument that is not an existing directory, have the
        diagnostic output complain about the lack of required arguments rather
        than about the bad argument passed to '-t'.
        * t/install-sh-unittests.sh: Enhance to also check diagnostic printed
        in cases of expected failure.

2013-12-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        install-sh: be stricter in catching invalid usages

        Such usages (which are rejected by GNU install as well) are:

          - options -d and -t used together;

          - argument passed to option -t must be a directory;

          - if there are two or more SOURCEFILE arguments, the
            DESTINATION argument must be a directory.

        Note that we still allow the use of options -d and -T together, by
        making -d take the precedence; this is for compatibility with GNU
        install.

        This change fixes, among other things, automake bug#15376.

        * lib/install-sh: Adjust.
        * t/install-sh-unittests.sh: Enhance.
        * NEWS: Update.
        * THANKS: Add reporter of bug#15376.

        Helped-by: Tobias Hansen <thansen@debian.org>

2013-12-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: more significant names for some tests

        * t/insh2.sh: Rename...
        * t/dist-install-sh.sh: ... like this.
        * t/instsh.sh: Rename...
        * t/add-missing-install-sh.sh: ... like this.
        * t/instsh2.sh: Rename...
        * t/install-sh-unittests.sh: ... like this.
        * t/instsh3.sh: Rename...
        * t/install-sh-option-C.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

2013-12-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: some cosmetic fixes

        * t/instdat.sh: Here.
        * t/instdat2.sh: And here.
        * t/instsh.sh: And here.
        * t/instsh3.sh: And here.

2013-12-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: more significant names for a test

        * t/install2.sh: Rename...
        * t/dist-with-unreadable-makefile-fails.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

2013-12-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branches 'fix-pr11814' and 'drop-perl-tap-driver' into minor

        * fix-pr11814:
          docs: drop a few obsolescent FIXME/TODO comments, and associated text
          testsuite harness: report test exit status in log file

        * drop-perl-tap-driver:
          TAP driver: remove perl implementation (move it into contrib/)

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: drop a few obsolescent FIXME/TODO comments, and associated text

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        testsuite harness: report test exit status in log file

        The exit status of a test should be reported in the test logs, so
        that one can see at a glance whether the test has succeeded or failed,
        without having to look also into the corresponding .trs file.

        This fixes automake bug#11814.

        * lib/test-driver: Also report the test script exit status in the
        test log (as the last line).
        * t/check-exit-status-reported.sh: Test this new behaviour.
        * t/list-of-tests.mk: Add the new test.
        * t/ax/test-lib.sh( am_exit_trap): No longer log the test exit status;
        this has been made redundant by the change to 'test-driver'.  While at
        it, fix an imperfect quoting.

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        TAP driver: no need to invoke AC_PROG_AWK directly

        It is already required by AM_INIT_AUTOMAKE anyway.

        * doc/automake.texi: Adjust examples.
        * t/tap-doc2.sh: Adjust documentation-tracking test.
        * m4/init.m4 (AM_INIT_AUTOMAKE): Explicitly tell that the AC_PROG_AWK
        requirement is also needed whenever the TAP driver is used.

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        TAP driver: remove perl implementation (move it into contrib/)

        That implementation was only meant as a standard against which the
        portable awk+shell implementation was to be measured.  Now, since
        Automake 1.12, the latter implementation is fully functional and
        already used in the wild, and in fact feature-par with the perl
        implementation.  So the perl implementation is now just slowing
        down and complicating our testsuite.  Let's move it to 'contrib/'
        (we don't want to remove it, in case someone is actually using it
        in the wild).

        * lib/tap-driver.pl: Move it ...
        * contrib/tap-driver.pl: ... here.  While at it, convert quoting
        `like this' to quoting 'like this', and remove an obsolescent FIXME
        comment.
        * lib/Makefile.inc (dist_script_DATA): Drop '%D%/tap-driver.pl'.
        * Makefile.am (EXTRA_DIST): Add 'contrib/tap-driver.pl'.
        * doc/automake.texi: Remove one stray reference to 'tap-driver.pl',
        and reference 'tap-driver.sh' instead, as intended.
        * t/ax/am-test-lib.sh ($am_tap_implementation): Delete definition and
        uses.
        (fetch_tap_driver): Simplify to unconditionally assume the shell+awk
        implementation of the TAP driver is used.
        (get_shell_script): Make more flexible so that it can cater to the
        needs of 'fetch_tap_driver()'.
        * t/tap-bad-prog.tap: Likewise.
        * t/tap-bailout-leading-space.sh: Likewise.
        * t/tap-signal.tap: Likewise.
        * t/tap-test-number-0.sh: Likewise.
        * t/test-driver-cond.sh: Use 'tap-driver.sh' instead of 'tap-driver.pl'.
        * gen-testsuite-part (%test_generators): Do not generate sister tests
        that use the perl TAP driver rather than the shell+awk one.
        * NEWS: Update.

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          NEWS: stop reporting "new" Automake versioning scheme
          post-release: micro version bump to 1.14.1a devel version
          release: stable micro release 1.14.1
          HACKING: minor clarification
          tests: make install-info-dir.sh print more debugging info
          tests: remove too-brittle test tap-realtime.sh
          maintainer: am-ft: add option to cater to clock skews
          sync: update INSTALL, config.guess and config.sub from upstream
          TAP driver: cosmetic fixes

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: stop reporting "new" Automake versioning scheme

        It's actually old news by now.

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          post-release: micro version bump to 1.14.1a devel version
          release: stable micro release 1.14.1
          HACKING: minor clarification
          tests: make install-info-dir.sh print more debugging info
          tests: remove too-brittle test tap-realtime.sh
          maintainer: am-ft: add option to cater to clock skews
          sync: update INSTALL, config.guess and config.sub from upstream
          TAP driver: cosmetic fixes

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        post-release: micro version bump to 1.14.1a devel version

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

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: stable micro release 1.14.1

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

2013-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: minor clarification

2013-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: make install-info-dir.sh print more debugging info

        With the hope that this will shed more light on bug#14601

2013-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove too-brittle test tap-realtime.sh

        * t/tap-realtime.sh: Delete.  It has always been brittle, but now
        it's also causing spurious failures when mawk is used as the awk
        implementation in tap-driver.sh (see bug#14601).
        * t/list-of-tests.mk: Adjust.

2013-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maintainer: am-ft: add option to cater to clock skews

        * maintainer/am-ft: Add option '-S', giving a number of seconds to sleep
        after copying the tarball to the remote system and before unpacking,
        building and testing it.  This is to cater to situations where the clock
        of the remote system is skewed (in the past) w.r.t. the clock the local
        system the tarball has been built on.

2013-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        sync: update INSTALL, config.guess and config.sub from upstream

2013-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        TAP driver: cosmetic fixes

        * lib/tap-driver.sh: Quote 'like this', not `like this'.  Remove an
        obsolete FIXME.  Correctly mark another comment as a TODO rather
        than as a FIXME.

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

        Merge branch 'minor'

        * minor:
          cosmetics: fix typo in a user-facing message in tests
          automake: account for perl hash order randomization
          tests: avoid use of intervals to capitalize letters
          cosmetics: untabify the install-sh script
          install-sh: assume that "set -f" and "set +f" work...
          install-sh: assume ${var:-value} works as expected
          install-sh: assume 'dirname' is available and working correctly
          distcheck: don't allow overriding of --prefix and --srcdir by the user
          tests: expose bug#14991 (relates to 'distcheck')

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

        Merge branch 'modernize-install-sh' into minor

        * modernize-install-sh:
          cosmetics: untabify the install-sh script
          install-sh: assume that "set -f" and "set +f" work...
          install-sh: assume ${var:-value} works as expected
          install-sh: assume 'dirname' is available and working correctly

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

        Merge branch 'micro' into minor

        * micro:
          cosmetics: fix typo in a user-facing message in tests
          automake: account for perl hash order randomization
          tests: avoid use of intervals to capitalize letters
          distcheck: don't allow overriding of --prefix and --srcdir by the user
          tests: expose bug#14991 (relates to 'distcheck')

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

        cosmetics: fix typo in a user-facing message in tests

        * t/lex-header.sh: A "skip" message in this test, precisely.

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

        Merge branches 'fix-pr14991' and 'fix-pr14891' into micro

        * fix-pr14991:
          distcheck: don't allow overriding of --prefix and --srcdir by the user
          tests: expose bug#14991 (relates to 'distcheck')

        * fix-pr14891:
          automake: account for perl hash order randomization
          tests: avoid use of intervals to capitalize letters

2013-10-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        automake: account for perl hash order randomization

        Try to explicitly order the keys of some perl hashes when looping
        on them to do sanity/correctness checks and possibly display warning
        messages; this should ensure a more reproducible output.  Not really
        a big deal, but I prefer to keep the order of such output reproducible
        if possible.

        Issue revealed by spurious testsuite failures with perl 5.18, as
        reported in automake bug#14891.  See also:
        <http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
        <http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html>

        * lib/Automake/Variable.pm (variables): Explicitly order the values of
        the returned Automake::Variable instances.
        (variables_dump): Simplify, using the knowledge that 'variables()' now
        sorts its output.
        * t/preproc-errmsg.sh: Adjust.

2013-10-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid use of intervals to capitalize letters

        It was causing spurious failures with with Solaris 8 'tr'.
        See automake bug#14891.

        * t/test-extensions.sh: Adjust.

2013-10-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cosmetics: untabify the install-sh script

        * lib/install-sh: Here, plus a couple of related formatting tweaks.

2013-10-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        install-sh: assume that "set -f" and "set +f" work...

        ... and disable/enable shell globbing, respectively.  This is
        mandated by POSIX, and supported even by Solaris 9 /bin/sh (one
        of the most braindead shells we still support).

        * lib/install.sh: Adjust.
        * NEWS: Update.

2013-10-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        install-sh: assume ${var:-value} works as expected

        The Autoconf manual says it is OK these days.

        * lib/install.sh: Adjust.
        * NEWS: Update.

2013-10-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        install-sh: assume 'dirname' is available and working correctly

        Really, we no longer care about hosts so outdated/broken to miss
        fundamental utilities like basename or dirname.

        * lib/install.sh: Adjust.
        * NEWS, THANKS: Update.

        Suggested-by: Philipp A. Hartmann <philipp.hartmann@offis.de>

2013-10-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        distcheck: don't allow overriding of --prefix and --srcdir by the user

        Not through AM_DISTCHECK_FLAGS, nor through DISTCHECK_FLAGS.  Apparently,
        some packages got in the habit of relaying all the options passed to the
        original ./configure invocation through to the configure invocations
        in "make distcheck".  This was causing problems, because it also passed
        through the original --srcdir and --prefix options.

        Fixes: expose bug#14991 (relates to 'distcheck')

        * lib/am/distdir.am (distcheck): Pass the hard-coded --srcdir and
        --prefix options *after* both the developer-defined options in
        $(AM_DISTCHECK_FLAGS) and the user-defined options in $(DISTCHECK_FLAGS).
        * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test
        'distcheck-no-destdist-or-srcdir-override.sh'.
        * doc/automake.texi (Checking the Distribution): Update.
        * NEWS: Likewise.

2013-10-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: expose bug#14991 (relates to 'distcheck')

        * t/distcheck-no-prefix-or-srcdir-override.sh: New, expose the bug.
        * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.

2013-10-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          tests: fix spurious failure when zip is present but unzip is not
          tests: fix spurious failure due to localization issues
          NEWS: update with the changes since v1.14
          docs: correct typos in the fix-timestamp.sh script
          python: byte-compile nobase_*_PYTHON files only once
          cosmetics: typofix in the 'missing' script
          test: avoid false positives in 'cc-no-c-o' script
          test harness: improve catching of usage errors in script 'test-driver'
          tests: fix a spurious failure on NetBSD-current
          am-ft: make the environment available earlier
          NEWS: post-release tweaks (for 1.14.x series)
          tests: avoid a spurious failure on MacOS X 10.6.8
          tests: don't risk hanging on the 'cl' requirement

2013-10-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          tests: fix spurious failure when zip is present but unzip is not
          tests: fix spurious failure due to localization issues
          NEWS: update with the changes since v1.14
          docs: correct typos in the fix-timestamp.sh script
          python: byte-compile nobase_*_PYTHON files only once
          cosmetics: typofix in the 'missing' script
          test: avoid false positives in 'cc-no-c-o' script
          test harness: improve catching of usage errors in script 'test-driver'
          tests: fix a spurious failure on NetBSD-current
          am-ft: make the environment available earlier
          NEWS: post-release tweaks (for 1.14.x series)
          tests: avoid a spurious failure on MacOS X 10.6.8
          tests: don't risk hanging on the 'cl' requirement

2013-10-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix spurious failure when zip is present but unzip is not

        Fixes automake bug#15181.

        * t/dist-formats.tap (have_compressor): When checking that zip(1), also
        check for unzip(1), otherwise "make distcheck" will be unable to extract
        the zip tarball it creates, which will cause spurious failures.  While
        at it, reorganize the existing code a bit.
        * THANKS, NEWS: Update.

2013-10-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix spurious failure due to localization issues

        Fixes automake bug#15237.

        * t/autohdr-subdir-pr12495.sh: Ensure make is run in the C locale, so that
        we can expect error messages in English when grepping its output.
        * THANKS, NEWS: Update.

2013-10-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: update with the changes since v1.14

2013-10-28  Peter Breitenlohner  <peb@mppmu.mpg.de>  (tiny change)

        docs: correct typos in the fix-timestamp.sh script

        * doc/automake.texi: Here.  The original version of this example script
        makes no sense at all, using 'configure' instead of the intended 'touch'
        in few key places.

2013-10-28  Benoit Sigoure  <tsunanet@gmail.com>  (tiny change)

        python: byte-compile nobase_*_PYTHON files only once

        * lib/am/python.am: Here. Byte-compiling was occurring inside of
        a loop, causing an O(n^2) number of byte-compilations instead of
        O(n).

2013-10-28  Václav Zeman  <vhaisman@gmail.com>  (tiny change)

        cosmetics: typofix in the 'missing' script

        * lib/missing: Here, in a message printed to the user.
        * THANKS: Update.

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

        Merge branch 'fix-pr14911' into micro

        * fix-pr14911:
          test: avoid false positives in 'cc-no-c-o' script

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

        Merge branch 'fix-half-pr14760' into micro

        * fix-half-pr14760:
          tests: fix a spurious failure on NetBSD-current

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

        test: avoid false positives in 'cc-no-c-o' script

        Fixes automake bug#14911.

        * t/ax/cc-no-c-o.in: Be more careful in determining whether both the
        '-c' and '-o' options have been passed on the command line to the
        compiler.  In particular, do not spuriously complain in the face of
        options like '-compatibility_version' or '-current_version' (seen on
        Mac OS X 10.7).
        * THANKS: Update.

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

        test harness: improve catching of usage errors in script 'test-driver'

        Fixes automake bug#14840.

        * lib/test-driver: Catch and report usage errors where the caller has
        forgotten to specify one of the mandatory options (--test-name,
        --log-file, --trs-file) or has not passed any non-option argument.
        Also, be sure to work correctly even when no '--' special argument
        is passed to separate option from non-options arguments.
        * THANKS: Update.

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

        tests: fix a spurious failure on NetBSD-current

        Reported in automake bug#14760.

        * tests/silent-custom.sh: Be prepared to handle creative
        quoting in the output of the shell run for the make recipes
        when the shell traces are active ("set -x").

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

        am-ft: make the environment available earlier

        So that, with a PATH that is updated earlier, we can find the 'xz'
        program even on systems where it isn't in the default PATH.

        * maintainer/am-ft: Adjust accordingly.

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

        NEWS: post-release tweaks (for 1.14.x series)

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

        tests: avoid a spurious failure on MacOS X 10.6.8

        Fixes automake bug#14706.

        * t/depcomp2.sh: Strip, from the redirected ./configure stderr, the
        possible error message "rm: conftest.dSYM: is a directory", generated
        by cleanup code that doesn't cater to the existence of *.dSYM
        directories sometimes created by the compiler on MacOS X.  This
        "massaging" of ./configure stderr is legitimate, since the spurious
        error message is due not to automake-related code, but to a know
        buglet/limitation of either Autoconf or Mac OS X bundles gcc:
        <http://lists.gnu.org/archive/html/bug-autoconf/2007-11/msg00017.html>
        Actually, from that link it appears that the original Autoconf issue
        had been fixed, but it must have been re-introduced in the meantime :-(

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

        tests: don't risk hanging on the 'cl' requirement

        On the GNU/Linux boxes of some users that run our testsuite there
        is a '/usr/local/bin/cl' executable, from the IRAF package:

            <http://iraf.noao.edu/>

        The test 'compile4.sh' (and other tests) try to invoke the 'cl'
        command to check whether it's a Microsoft compiler; the IRAF cl
        is an interactive program, so it hangs on such invocation.  In
        conclusion, the testsuite hangs for those users which have the
        IRAF cl early in PATH.

        Fix the issue by redirecting the input of cl from /dev/null when
        invoking it, which is enough to prevent the cl program from IRAF
        from hanging, and should have no effect on the behaviour of the
        Microsoft compiler.

        This change fixes automake bug#14707.

        * t/ax/am-test-lib.sh (require_tool): Adjust the handling of
        the 'cl' requirement.

2013-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'minor'

        * minor:
          post-release: micro version bump (1.14a)
          post-release: micro version bump (1.14.0a)
          release: stable minor release 1.14

2013-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into minor

        * micro:
          post-release: micro version bump (1.14.0a)

2013-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        post-release: micro version bump (1.14a)

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

2013-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        post-release: micro version bump (1.14.0a)

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

2013-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint' into micro

        * maint:
          release: stable minor release 1.14
          NEWS: one more minor fixlet
          maint: port check-minimal-autoconf to VPATH builds
          tests: avoid spurious failures in Linux -> MinGW cross-compilation mode
          tests: simplify checks for some expected variables values in Makefiles
          NEWS: improve and update wording
          tests: fix/improve few heading comments
          coverage: new test on Texinfo @include support
          tests: tighten a grepping check
          tests: more significant names for some tests
          rename-tests: rework some code for clarity and safety
          tests: cosmetic changes in t/extra-sources.sh
          rename-tests: inform the user about the pre-filled commit msg
          typofix: in comments in 'maintainer/rename-tests'
          rename-tests: also "git add" list-of-tests.mk
          tests: rename t/exsource.sh -> t/extra-sources.sh
          tests: some improvements to Gettext tests
          maint: version bump after beta release 1.13b
          release: beta release 1.13b (will become 1.14)
          automake: assume we can always pass '-o' to the C compiler
          NEWS: fix typo
          NEWS: on assuming "rm -f" without arguments work
          docs: AM_PROG_CC_C_O: correct imprecise statements about it
          NEWS: document deprecation of 'shar' and 'compress' dist formats
          m4: rename minuso.m4 -> prog-cc-c-o.m4
          tests: some tests make no sense if "$CC -c -o" doesn't work
          AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
          compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
          tests: avoid few lingering $MAKE redirections
          tests: fix a spurious failure on NetBSD 5.1
          texi: build version.texi and stamp-vti in srcdir
          tests: fix a botched heading comment
          tests: fix another spurious with FreeBSD make
          tests: fix a spurious failure with FreeBSD make
          tests: remove remaining exec bits ('maint' branch)
          PLANS: subdir-objects: various updates
          THANKS: update Akim's e-mail address
          tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o'
          build: be more respectful of user-specified verbosity
          check-cc-no-c-o: unify initializations in a single place
          check-cc-no-c-o: avoid a spurious failure
          build: fixup for building in a VPATH setup
          Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
          compile: avoid AC_PROG_CC messy rewrite
          options: tiny simplification in dealing with incompatible versions
          options: try to report as much errors as possible
          refactor: fix few "inverted boolean" usages
          options: better name for an internal function
          options: more consistency in use of return statuses to report errors
          options: tiny simplification in dealing with erroneous opts
          options: consistently use return statuses to report errors
          options: re-enable some sanity checks
          THANKS: update Eric Blake's e-mail address
          NEWS: typofix
          news: document new 'subdir-objects' warning
          PLANS: one minor fixlet (mostly cosmetic)
          PLANS: we have already dropped support for split info files in master
          NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
          PLANS: fix reference to non-existent 'next' branch
          PLANS: fix botched version reference
          maintcheck: fix two references to old location of aclocal and automake
          dist: deprecated shar and tar+compress formats
          am: prefer a shorter idiom where possible
          maint: re-run "make update-copyright" ...
          tests: avoid spurious failure with older flex (2.5.4)
          build: move automake and aclocal in 'bin' subdir
          build: break up monolithic Makefile.am in subdir-specific fragments
          maint branch: we are going to become Automake 1.14
          tests: typofixes in comments in t/preproc-c-compile.sh
          tests: remove bashism from a test
          tests: rename some with more descriptive names
          typofix: in comments in t/extra2.sh
          tests: fix botched cross-reference in a heading comment
          automake: refactoring: factor out common cpp-like flags
          NEWS (mint): reflect new Automake versioning scheme
          maintcheck: avoid spurious failure
          perl: perl subroutine prototypes are problematic, don't use them
          maint: more adjustments to the new versioning scheme
          cosmetics: fix some "docstring-like" comments in automake
          style: call perl functions 'like_this()', not '&like_this()'
          preproc: enhance and extend tests
          preproc: add support for relative names in included fragments
          maint: use more perl subroutines prototypes in the automake script
          build: auto-generate perl subroutines prototypes for automake and aclocal
          refactor: rip module Automake::Language out of automake script
          tests: more information about Lex and Yacc programs
          lint: fix spurious failure for 'sc_rm_minus_f' syntax check
          maint: bump version 1.13.1a -> 1.13.2a
          plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
          init.m4: add probe to check "rm -f" without args work
          subdir-objects: complain if it isn't enabled
          plans: update w.r.t. latest changes
          ywrap: remove an obsolete FIXME comment
          ywrap: style fixes (no semantic change intended)
          convenience: "make lint" as an alias for "make maintainer-check"
          docs: typofix in manual
          coverage: using multiple lexers in a single program
          tests: remove most uses of the AM_PROG_CC_C_O obsolete macro
          coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors
          INSTALL: update copyright years
          ithreads: use runtime (not configure time) detection of perl threads
          copyright: add few missing copyright notices
          maint: files in PLANS are to be exempted from copyright notice
          maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable
          copyright: update some copyright years
          compile: use 'compile' script when "-c -o" is used with losing compilers
          HACKING: suggest more checks before releasing
          tests: can fake a compiler not grasping "-c -o" -- globally in all tests
          sync: update files from upstream with "make fetch"
          typofix: in comments in GNUmakefile
          Rename 'maint/' -> 'maintainer/', for Git's sake
          HACKING: minor typofix
          HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes
          HACKING: rewindable branches should live in the 'experimental/*' namespace
          HACKING: fixlets about git branch rewinding policy
          HACKING: commit messages are not to follow GCS ChangeLog rules too strongly
          HACKING: "detailed explanation" in commit messages is almost mandatory
          HACKING: we use "merge --log" even when merging master
          HACKING: typofix
          depend2.am: fix comments on verbosity of compilation rules
          depend2.am: improve comments a little
          plans: automake 1.14 is to assume "rm -f" with no args is OK
          plans: we want to active subdir-objects unconditionally in automake 1.14
          tests: adjust stale references to old test names
          tests: rename the last aclocal test with dumb name
          tests: fix an old botched change to an aclocal test
          tests: fix some botched inter-test references in heading comments
          coverage: compile rules used "-c -o" also with losing compilers
          texi: remove extra verbosity in creation of dirstamp directory
          coverage: user can avoid distributing '.info' pages
          plans: add some on-going plans (already registered on the bug tracker)
          docs: mention dist-hook help for EXTRA_DIST
          texi: remove workaround for older Texinfo (4.1)
          NEWS: improve wordings in entry deprecating suffix-less info files
          build: don't enable 'color-tests' automake option explicitly
          build: enable all warnings as fatal in our own build system
          texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
          tests: make two new test executable
          runtest: better command line API
          tests: move runtest.in away from the top-lever directory
          maint: move more maintainer files in the 'maint/' subdir
          plans: add the "PLANS" directory
          tests: more significant names for some tests
          maint: add some of my maintainer-specific scripts
          texi: deprecate hack about info files in CLEANFILES variables
          texi: info files can be generated in the builddir

2013-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: stable minor release 1.14

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

2013-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          NEWS: one more minor fixlet
          maint: port check-minimal-autoconf to VPATH builds
          tests: avoid spurious failures in Linux -> MinGW cross-compilation mode
          tests: simplify checks for some expected variables values in Makefiles
          NEWS: improve and update wording
          tests: fix/improve few heading comments
          coverage: new test on Texinfo @include support
          tests: tighten a grepping check
          tests: more significant names for some tests
          rename-tests: rework some code for clarity and safety
          tests: cosmetic changes in t/extra-sources.sh
          rename-tests: inform the user about the pre-filled commit msg
          typofix: in comments in 'maintainer/rename-tests'
          rename-tests: also "git add" list-of-tests.mk
          tests: rename t/exsource.sh -> t/extra-sources.sh

2013-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: one more minor fixlet

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: port check-minimal-autoconf to VPATH builds

        * maintainer/maint.mk (check-minimal-autoconf): Here.

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid spurious failures in Linux -> MinGW cross-compilation mode

        * t/ccnoc-deps.sh: Here.
        * t/preproc-demo.sh: And here.

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: simplify checks for some expected variables values in Makefiles

        Do so by using our custom 'is' auxiliary script rather than grepping
        the output from make.  This is more natural, more robust, and often
        shorter to write.

        Unfortunately, we can't do that in all cases: sometimes we really need
        to match the content of a variable against a regular expressions, and
        we can't know nor are interested in its exact value.

        This is basically a follow-up on commit v1.11-1830-g96401cb of
        2012-02-08 (tests: better way to compare lists in Makefile rules).

        * t/subst-no-trailing-empty-line.sh: Adjust.
        * t/pluseq10.sh: Likewise.
        * t/check5.sh: Likewise, and enhance a little while at it.
        * t/check7.sh: Likewise.
        * t/exeext.sh: Likewise.

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: improve and update wording

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix/improve few heading comments

        * t/lflags.sh: Here.
        * t/lflags-cxx.sh: And here.
        * t/yflags.sh: And here.
        * t/yflags-cxx.sh: And here.

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        coverage: new test on Texinfo @include support

        Backported from the Automake-NG testsuite.

        * t/txinfo-include.sh: New test.
        * t/list-of-tests.mk: Add it.

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: tighten a grepping check

        * t/yflags-force-override.sh: Here, by being sure to correctly
        match an expected literal dot.

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: more significant names for some tests

        * t/extra2.sh: Rename...
        * t/extra-sources-no-spurious.sh: ... like this.
        * t/yflags2.sh: Rename...
        * t/yflags-cxx.sh: ... like this.
        * t/lflags2.sh: Rename...
        * t/lflags-cxx.sh: ... like this.

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        rename-tests: rework some code for clarity and safety

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: cosmetic changes in t/extra-sources.sh

        * t/extra-sources.sh: Do not create unneeded C sources.  Add
        trailing ':' command.

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        rename-tests: inform the user about the pre-filled commit msg

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        typofix: in comments in 'maintainer/rename-tests'

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        rename-tests: also "git add" list-of-tests.mk

2013-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: rename t/exsource.sh -> t/extra-sources.sh

        * t/exsource.sh: Rename ...
        * t/extra-sources.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

2013-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: some improvements to Gettext tests

2013-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'gettext-tests' into maint

        * gettext-tests:
          tests: some improvements to Gettext tests

2013-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: some improvements to Gettext tests

        Mostly to bring them more in sync with the ones in Automake-NG.
        See also commit v1.12.2-824-g5468d52 of 2012-08-10([ng] tests:
        reorganize gettext tests a bit) in Automake-NG.

        * t/gettext.sh: Rename ...
        * t/gettext-basics.sh: ... like this, enhance a little, and
        move checks on requirement of 'config.rpath' out into ...
        * t/gettext-config-rpath.sh: ... into this new test, and move
        checks about PR/381...
        * t/gettext-pr381.sh: ... into this new test.
        * t/gettext2.sh: Rename ...
        * t/gettext-external-pr338.sh: ... like this, and enhance a
        little.
        * t/gettext3.sh: Rename ...
        * t/gettext-intl-subdir.sh: ... like this, and add trailing
        ':' command.

2013-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          post-release: micro version bump (1.13.4a)
          release: stable micro release 1.13.4
          sync: update config.guess

2013-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          post-release: micro version bump (1.13.4a)
          release: stable micro release 1.13.4
          sync: update config.guess

2013-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        post-release: micro version bump (1.13.4a)

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

2013-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: stable micro release 1.13.4

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

2013-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        sync: update config.guess

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

2013-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          THANKS: update e-mall address for Ralf Corsepius
          lang, suffix rules: don't require C stuff needlessly
          tests: expose automake bug#14560
          maint: add a missing copyright notice
          sync: update config.guess from upstream
          tests: expose automake bug#13928
          comments: fix some out-of-sync refs to test scripts
          tests: expose automake bug#13940

2013-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          THANKS: update e-mall address for Ralf Corsepius
          lang, suffix rules: don't require C stuff needlessly
          tests: expose automake bug#14560

2013-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'fix-pr14560' into micro

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

2013-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        THANKS: update e-mall address for Ralf Corsepius

2013-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lang, suffix rules: don't require C stuff needlessly

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

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

2013-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: expose automake bug#14560

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

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

2013-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          maint: add a missing copyright notice
          sync: update config.guess from upstream
          tests: expose automake bug#13928
          comments: fix some out-of-sync refs to test scripts
          tests: expose automake bug#13940

2013-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: add a missing copyright notice

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

2013-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

        sync: update config.guess from upstream

        * lib/config.guess: Here.

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

        tests: expose automake bug#13928

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

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

        comments: fix some out-of-sync refs to test scripts

        Those script has been renamed since those comments where written.

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

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

        tests: expose automake bug#13940

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

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        fixup: botched merge for 'bin/automake.in'

        * bin/automake.in (print_autodist_files): Here, we had unwittingly
        botched up a 'format' invocation during the latest maint -> master
        merge.

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          configure: remove an obsolete TODO comment
          post-release: micro version bump (1.13.3a)
          release: stable micro release 1.13.3
          typofix: fix grammaro in comments in t/tags-pr12372.sh
          NEWS: minor fixlets, re-wording, and better text wrapping
          tests: slightly stricter checks in t/cxx-demo.sh
          tests: fix spurious failure when 'etags' program is Exuberant Ctags
          tests: fix spurious failure due to missing sleeps
          maint: version bump after beta release 1.13b
          release: beta release 1.13b (will become 1.14)
          maint: support new Automake versioning scheme in tagging/uploading rules
          announcement: can be generated from development snapshots as well
          announcement: can be generated from development snapshots as well
          announcement: be less strict in the paring of NEWS
          maint: version bump after beta release 1.13.2b
          release: beta release 1.13.2b (will become 1.13.3)
          sync: update config.guess from upstream
          automake: assume we can always pass '-o' to the C compiler
          NEWS: document recent testsuite fixes (MinGW/MSYS related)
          depcomp: avoid trailing backslash in depfile for depmode=msvc7
          tests: prune some weed in a non-POSIX test
          tests: avoid a spurious failure on MSYS
          t/README: document "run_make", discourage "make -e"
          cosmetics: tiny whitespace fixlets
          tests: avoid a spurious failure with MSVC
          tests: avoid a spurious failure on non-POSIX systems

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          configure: remove an obsolete TODO comment
          post-release: micro version bump (1.13.3a)
          release: stable micro release 1.13.3
          typofix: fix grammaro in comments in t/tags-pr12372.sh

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        configure: remove an obsolete TODO comment

        * configure.ac: Here.

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        post-release: micro version bump (1.13.3a)

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

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: stable micro release 1.13.3

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

2013-06-03  Peter Rosin  <peda@lysator.liu.se>

        typofix: fix grammaro in comments in t/tags-pr12372.sh

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          NEWS: minor fixlets, re-wording, and better text wrapping
          tests: slightly stricter checks in t/cxx-demo.sh
          tests: fix spurious failure when 'etags' program is Exuberant Ctags
          tests: fix spurious failure due to missing sleeps

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: minor fixlets, re-wording, and better text wrapping

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: slightly stricter checks in t/cxx-demo.sh

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

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

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix spurious failure when 'etags' program is Exuberant Ctags

        Fixes automake bug#14517.

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

2013-06-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix spurious failure due to missing sleeps

        Fixes automake bug#14528.

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

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

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

        So we really need more explicit sleeps.

2013-05-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: version bump after beta release 1.13b

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

2013-05-31  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: beta release 1.13b (will become 1.14)

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

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          maint: support new Automake versioning scheme in tagging/uploading rules
          announcement: can be generated from development snapshots as well
          announcement: can be generated from development snapshots as well
          announcement: be less strict in the paring of NEWS
          maint: version bump after beta release 1.13.2b
          release: beta release 1.13.2b (will become 1.13.3)
          sync: update config.guess from upstream

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: support new Automake versioning scheme in tagging/uploading rules

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

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        announcement: can be generated from development snapshots as well

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

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

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        announcement: can be generated from development snapshots as well

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

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

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        announcement: be less strict in the paring of NEWS

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

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

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: version bump after beta release 1.13.2b

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

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: beta release 1.13.2b (will become 1.13.3)

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

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        sync: update config.guess from upstream

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          NEWS: document recent testsuite fixes (MinGW/MSYS related)
          depcomp: avoid trailing backslash in depfile for depmode=msvc7
          tests: prune some weed in a non-POSIX test
          tests: avoid a spurious failure on MSYS

2013-05-30  Peter Rosin  <peda@lysator.liu.se>

        automake: assume we can always pass '-o' to the C compiler

        It is assumed that we can pass -c -o to the C compiler, so remove
        some special casing and always do that.

        This change is similar in spirit to v1.13.1d-217-g7299c4d "depend: assume
        we can always pass '-o' to the C compiler"

        This change also happen to fix a testsuite failure
        (t/silent-many-languages.sh) when mixing MSVC and GNU fortran, which
        have different default object file extensions (.obj vs. .o). This
        difference in object file extension is not handled well and caused
        Automake to look for MSVC objects with .o extension. Always using -o
        makes MSVC create .o object files and linking succeeds. Not that
        anybody recommends mixing toolchains or anything.

        * bin/automake.in (handle_languages): Remove conditional modification
        of 'output_flag' entry for 'c'.
        (register_language ('name' => 'c')): Add 'output_flag' entry set to '-o'.

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: document recent testsuite fixes (MinGW/MSYS related)

2013-05-30  Peter Rosin  <peda@lysator.liu.se>

        depcomp: avoid trailing backslash in depfile for depmode=msvc7

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

        Fixes automake bug#14501.

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

2013-05-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'fix-pr14499'

        * fix-pr14499:
          tests: avoid a spurious failure when TeX is not installed.

2013-05-29  Peter Rosin  <peda@lysator.liu.se>
            Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: prune some weed in a non-POSIX test

        Fixes automake bug#14494.

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

2013-05-29  Peter Rosin  <peda@lysator.liu.se>

        tests: avoid a spurious failure on MSYS

        Fixes automake bug#14493.

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

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          t/README: document "run_make", discourage "make -e"
          cosmetics: tiny whitespace fixlets
          tests: avoid a spurious failure with MSVC
          tests: avoid a spurious failure on non-POSIX systems

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        t/README: document "run_make", discourage "make -e"

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cosmetics: tiny whitespace fixlets

2013-05-29  Peter Rosin  <peda@lysator.liu.se>

        tests: avoid a spurious failure with MSVC

        Fixes automake bug#14498.

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

2013-05-29  Peter Rosin  <peda@lysator.liu.se>

        tests: avoid a spurious failure on non-POSIX systems

        Fixes automake bug#14495.

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

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid a spurious failure when TeX is not installed.

        Fixes automake bug#14499.

        * t/txinfo-no-split.sh: If TeX is not available, redefine 'dvi' to be a
        dummy target, so that "make distcheck" doesn't fail while trying to build
        the DVI version of the Texinfo manual.

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid a spurious failure when $CC != cc

        Fixes automake bug#14500.

        * t/subpkg.sh: Improve the grepping of configure output.

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

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

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

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

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: drop an idiomatic use of latinism 'sic'

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

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: fix typos and grammaros

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

2013-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: fix Automake versions

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'suffix-rules-work' into micro

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          NEWS: fix typo

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: fix typo

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          NEWS: report recent documentation fix about AM_PROG_MKDIR_P
          NEWS: Automake 2.0 will assume "rm -f" without args work
          NEWS: on assuming "rm -f" without arguments work
          NEWS: fix a couple of typos in older entries
          docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
          docs: AM_PROG_CC_C_O: correct imprecise statements about it
          maint: sanity checks in 'check-minimal-autoconf' convenience target
          maint: test minimal supported autoconf through convenience target
          maint: install minimal supported autoconf through convenience targets
          test-lib: typofix in comments

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          NEWS: report recent documentation fix about AM_PROG_MKDIR_P
          NEWS: Automake 2.0 will assume "rm -f" without args work
          NEWS: fix a couple of typos in older entries

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: report recent documentation fix about AM_PROG_MKDIR_P

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: Automake 2.0 will assume "rm -f" without args work

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: on assuming "rm -f" without arguments work

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: fix a couple of typos in older entries

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
          maint: sanity checks in 'check-minimal-autoconf' convenience target
          maint: test minimal supported autoconf through convenience target
          maint: install minimal supported autoconf through convenience targets
          test-lib: typofix in comments

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake

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

        * doc/automake.texi: Adjust.

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: AM_PROG_CC_C_O: correct imprecise statements about it

        * doc/automake.texi: Here.

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: sanity checks in 'check-minimal-autoconf' convenience target

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: test minimal supported autoconf through convenience target

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: install minimal supported autoconf through convenience targets

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

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: document fix for bug#14441

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Automake::Rule: consistently prepend underscore to private variables

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Automake::Rule: adjust comments and POD according to previous changes

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Automake::Rule: make private variables lexically scoped

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        suffix rules: better distinction between builtin and user-derived

        Fixes automake bug#14441.

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

2013-05-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Automake::Rule: expose suffix rules as a function, not a scalar

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

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

2013-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: expose automake bug#14441

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

        Helped-by: Felix Salfelder <felix@salfelder.org>

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: remove an "unworthy" FIXME comment
          tests: remove one obsolete workaround for long-lifted limitations
          tests: couple of minor tweaks in demo tests in C++ and Libtool

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        test-lib: typofix in comments

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

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          tests: remove an "unworthy" FIXME comment
          tests: remove one obsolete workaround for long-lifted limitations
          tests: couple of minor tweaks in demo tests in C++ and Libtool

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove an "unworthy" FIXME comment

        * t/location.sh: Here.

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove one obsolete workaround for long-lifted limitations

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

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: couple of minor tweaks in demo tests in C++ and Libtool

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

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          NEWS: document deprecation of 'shar' and 'compress' dist formats
          m4: rename minuso.m4 -> prog-cc-c-o.m4
          tests: adjust or remove some obsolete comments
          tests: remove some useless 'unset' of variables
          tests: avoid a couple of extra sleep with GNU make
          NEWS: document testsuite work for 1.13.3
          lint: remove a couple of obsolete syntax checks
          lint: cosmetics: use #-comments, not ##-comments
          lint: cosmetics: some reordering
          lint: recipes of syntax check require GNU grep; ensure it is used
          lint: better name for a syntax check
          tests: rename $am_make_rc_got -> $am_make_rc
          tests: some tests make no sense if "$CC -c -o" doesn't work
          AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
          compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
          tests: ensure $required is not set too late

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          tests: adjust or remove some obsolete comments
          tests: remove some useless 'unset' of variables

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: document deprecation of 'shar' and 'compress' dist formats

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'prog-cc-c-o-work' into maint

        * prog-cc-c-o-work:
          tests: some tests make no sense if "$CC -c -o" doesn't work
          AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
          compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        m4: rename minuso.m4 -> prog-cc-c-o.m4

        The new name is much clearer.

        * m4/minuso.m4: Rename ...
        * m4/prog-cc-c-o.m4: ... like this.
        * m4/Makefile.in (dist_automake_DATA): Adjust.

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: adjust or remove some obsolete comments

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

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove some useless 'unset' of variables

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

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

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          tests: avoid a couple of extra sleep with GNU make
          NEWS: document testsuite work for 1.13.3
          lint: remove a couple of obsolete syntax checks
          lint: cosmetics: use #-comments, not ##-comments
          lint: cosmetics: some reordering
          lint: recipes of syntax check require GNU grep; ensure it is used
          lint: better name for a syntax check
          tests: rename $am_make_rc_got -> $am_make_rc
          tests: ensure $required is not set too late

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid a couple of extra sleep with GNU make

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

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

2013-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: document testsuite work for 1.13.3

2013-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lint: remove a couple of obsolete syntax checks

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

2013-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lint: cosmetics: use #-comments, not ##-comments

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

2013-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lint: cosmetics: some reordering

        * syntax-checks.mk: Here.

2013-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lint: recipes of syntax check require GNU grep; ensure it is used

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

2013-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lint: better name for a syntax check

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

2013-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: rename $am_make_rc_got -> $am_make_rc

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

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

2013-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: some tests make no sense if "$CC -c -o" doesn't work

        So just skip them, to avoid spurious failures when running
        "make check-no-cc-c-o".

        * t/ax/am-test-lib.sh (require_tool): New requirement '-c-o'.
        * t/subobj10.sh ($required): Add it.
        * gen-testsuite-part (%depmodes): Adjust so that tests that
        use 'makedepend' will be skipped if the compiler is being
        forced not to grasp "-c -o".

2013-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic

        ** Theoretical problems of AC_PROG_CC_C_O:

          Both cc and $CC are checked to see if they support the '-c' and '-o'
          options together.
          This behaviour is highly inconsistent with that of the other macros
          related to C compiler checks -- which test only $CC.
          It can also cause unwarranted uses of the 'compile' script on systems
          where the default 'cc' is inferior, but the user is compiling with a
          proper, different compiler (e.g., gcc).

        ** Practical problems with our previous implementation of C support m4
           macros in Automake:

          - AM_PROG_AR must now be called *before* AC_PROG_CC; this wasn't the
            case before, and it turns out there are packages in the wild that
            relied on the old behaviour.

          - The cross-referenced requirements and macro rewrites juggled among
            AC_PROG_CC, AC_PROG_CC_C_O and AM_PROG_CC_C_O caused warnings in
            autoconf; for example, in our test 't/libobj3.sh', we could see
            warnings like these (here slightly tweaked for legibility):

                configure.ac:5: AC_REQUIRE: `AC_PROG_CC' expanded before required
                autoconf/c.m4:567: AC_PROG_CC_C_O is expanded from...
                autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from...
                autoconf/lang.m4:329: AC_LANG_COMPILER_REQUIRE is expanded from...
                autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
                m4sugar/m4sh.m4:639: AS_IF is expanded from...
                autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
                autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
                aclocal.m4:70: AM_PROG_AR is expanded from...
                configure.ac:5: the top level

        ** Fix all of that:

        We fix all of the described issues with a new internal m4 macro
        _AM_PROG_CC_C_O (inspired to, but not based on, AC_PROG_CC_C_O) that
        gets tacked on to AC_PROG_CC automatically (this is done in the
        Automake-generated aclocal.m4) and that takes care of checking and
        adjusting '$CC' for "-c -o" support.

        The macro AM_PROG_CC_C_O is still present, but is now just a thin
        wrapper around such Automake-enhanced AC_PROG_CC.

        It is worth noting that the present patch causes three slight
        *backward-incompatibilities*:

          1. The name cache variable used by AM_PROG_CC_C_O is no longer
             computed (at configure runtime!) from the content of '$CC',
             but is statically defined as 'am_cv_prog_cc_c_o'.

          2. 'cc' is no longer checked by AM_PROG_CC_C_O, only '$CC' is.

          3. AM_PROG_CC_C_O no longer AC_DEFINE the C preprocessor symbol
             'NO_MINUS_C_MINUS_O'.

        Given however that the third change can easily be worked around, that
        the first two changes can be legitimately seen as bug fixes, and that
        the new semantics introduced by such changes will simplify the transition
        to Automake 2.0 (when the 'subdir-objects' will always be enabled
        unconditionally), we believe they are acceptable to be shipped with
        Automake 1.14.

        With this patch, we also revert some of the testsuite adjustments done
        in previous commit v1.13.2-178-g9877109 of 2013-05-24 (compile: rewrite
        AC_PROG_CC with AM_PROG_CC_C_O contents).  Such adjustments are no longer
        needed.

        * m4/minuso.m4 (_AM_PROG_CC_C_O): New internal macro, basically and
        adjusted version of a merge between Autoconf-provided AC_PROG_CC_C_O
        and our old implementation of AM_PROG_CC_C_O.
        (AM_PROG_CC_C_O): Redefine as a simple wrapper around AC_PROG_CC.
        * m4/init.m4 (AC_PROG_CC): Append _AM_PROG_CC_C_O, not AM_PROG_CC_C_O,
        to the pre-existing expansion of this macro.
        * m4/ar-lib.m4 (AM_PROG_AR): No longer require it to be expanded after
        AC_PROG_CC.
        * t/aclocal-deps.sh: Move AC_PROG_CC invocation after AC_PROG_RANLIB
        and AM_PROG_AR invocations.  Things should work this way too (as they
        used to).
        * t/subobj-clean-lt-pr10697.sh: Likewise.
        * t/alloca.sh: Move AC_PROG_CC invocation after AM_PROG_AR invocation.
        * t/condlib.sh: Likewise.
        * t/aclocal-deps.sh: Move AC_PROG_CC invocation after LT_INIT and
        AM_PROG_AR invocations.  Make autoconf and autoheader warnings fatal.
        * t/am-prog-cc-c-o.sh: Adjust to the new semantics, enhance a  little,
        and reduce code duplication.
        * t/ccnoco.sh: Make autoconf warnings fatal.
        * t/subpkg.sh: Likewise.
        * t/ccnoco-lib.sh: Likewise, and fix a comment.
        * t/link_cond.sh: Enhance a couple of error messages.
        * configure.ac: Drop "nullification" of AM_PROG_CC_C_O.
        * NEWS: Adjust.

2013-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents

        This is a much simpler rewrite than the one we attempted in the past,
        and that was later removed by commit 'v1.13.1d-137-g32eb770' of
        2013-05-11 (compile: avoid AC_PROG_CC messy rewrite).

        Not only this change simplifies the code a little, but has the welcome
        collateral effect of making automatic dependency tracking work better
        with compilers that doesn't grasp the '-c' and '-o' options together.
        Issues in that setup have been caught by several failures in the target
        'check-no-cc-c-o'.

        Unfortunately, this change has less welcome collateral effects:

          1. AM_PROG_AR must now be called *after* AC_PROG_CC;

          2. Autoconf emits extra warnings when used with Automake-generated
             aclocal.m4.

        These are unacceptable regressions for a release, but since we are
        going to fix them soon enough in a follow-up patch (surely to be
        applied before Automake 1.14 is released) we don't worry too much.

        * m4/init.m4: Redefine AC_PROG_CC early, to automatically invoke
        AM_PROG_CC_C_O as well.  Accordingly, drop now-unneeded "automagical"
        AM_PROG_CC_C_O expansion at later time (which took place thanks to
        a AC_CONFIG_COMMANDS_PRE call).
        * m4/minuso.m4 (AM_PROG_CC_C_O): Ensure the expansion of the body
        of this macro takes place with C as "current Autoconf language" (use
        AC_LANG_PUSH/AC_LANG_POP).
        * m4/ar-lib.m4 (AM_PROG_AR): Likewise.  Also, require this macro to
        be expanded *after* AC_PROG_CC (so that any rewrite of $CC, if required,
        has already taken place).
        * t/add-missing.tap: Adjust to avoid spurious failures.
        * t/aclocal-deps.sh: Likewise, by having AM_PROG_AR called *after*
        AC_PROG_CC.
        * t/subobj-clean-lt-pr10697.sh: Likewise.
        * t/alloca.sh: Likewise.
        * t/condlib.sh: Likewise.
        * t/discover.sh: Likewise.
        * t/objc-megademo.sh: Likewise.
        * t/ccnoco.sh: Extend a little.
        * t/ccnoco-deps.sh: New test.
        * t/ccnoco-lib.sh: Likewise.
        * t/ccnoco-lt.sh: Likewise.
        * t/list-of-tests.mk: Add them.

2013-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: ensure $required is not set too late

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

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

2013-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: use append mode to capture parallel make output
          tests: new convenience target 'check-parallel'

2013-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          tests: use append mode to capture parallel make output
          tests: new convenience target 'check-parallel'

2013-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: use append mode to capture parallel make output

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

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

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

              make check AM_TESTSUITE_MAKE="make -j16"

        The possible spurious failures hinted above are due to the fact that
        the redirected output of parallel make can racily lose lines.  For
        example, if GNU make (3.82) is run with -j10 on a Makefile like this:

            all = 0 1 2 3 4 5 6 7 8 9
            default: $(all)
            $(all):
                    @sleep 0.$$(($RANDOM % 10)); echo $@

        and has its standard output redirected in overwrite-mode to a regular
        file, it looses a line of that output every 15 runs or so on a Fedora
        17 system with 64 ppc64 cores.  Redirection in append mode does not
        suffer of this problem, as explained here:
        <http://lists.gnu.org/archive/html/automake-patches/2009-03/msg00073.html>

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

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

2013-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: new convenience target 'check-parallel'

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

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

2013-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: avoid few lingering $MAKE redirections
          tests: avoid '$MAKE' redirections, use 'run_make' instead
          tests: avoid use of redirected 'run_make' invocations
          lint: warn against redirected 'run_make' invocations
          comments: next GNU make release 4.0, not 3.83
          tests: fix a potential spurious failure due to global config.site
          HACKING: it's OK to do testsuite refactoring in a micro version

2013-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid few lingering $MAKE redirections

        These were present in the 'maint' branch, but not in the 'micro' branch.
        Their occurrences has been found by the 'sc_tests_no_run_make_redirect'
        maintainer check.

        * t/fort2.sh: Adjust.
        * t/preproc-demo.sh: Likewise.

2013-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          tests: avoid '$MAKE' redirections, use 'run_make' instead
          tests: avoid use of redirected 'run_make' invocations
          lint: warn against redirected 'run_make' invocations
          comments: next GNU make release 4.0, not 3.83
          tests: fix a potential spurious failure due to global config.site
          HACKING: it's OK to do testsuite refactoring in a micro version

2013-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid '$MAKE' redirections, use 'run_make' instead

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

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

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid use of redirected 'run_make' invocations

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

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

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lint: warn against redirected 'run_make' invocations

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

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

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

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

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

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        comments: next GNU make release 4.0, not 3.83

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

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

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix a potential spurious failure due to global config.site

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

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: it's OK to do testsuite refactoring in a micro version

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

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: remove some code duplication
          cosmetics: remove a couple of extra whitespaces in tests
          tests: two minor fixups

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          tests: remove some code duplication
          cosmetics: remove a couple of extra whitespaces in tests
          tests: two minor fixups

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove some code duplication

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

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cosmetics: remove a couple of extra whitespaces in tests

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

2013-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: two minor fixups

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

2013-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: run_make: options to do command redirection
          tests: only activate 'unset' alias if required
          tests: better idiom to override make macro defs on the cmdline
          test-lib: minor style changes
          test-lib: fix botched function name in an error message

2013-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          tests: run_make: options to do command redirection
          tests: only activate 'unset' alias if required
          tests: better idiom to override make macro defs on the cmdline
          test-lib: minor style changes
          test-lib: fix botched function name in an error message

2013-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: run_make: options to do command redirection

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

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

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

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

        This new API has two main advantages.

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

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

             That can now be substituted with a simpler one:

               run_make -e FAIL -O check

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

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

             Such usages are now to be rewritten as follows:

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

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

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

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

2013-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: only activate 'unset' alias if required

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

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

2013-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: better idiom to override make macro defs on the cmdline

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

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

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

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

2013-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        test-lib: minor style changes

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

2013-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        test-lib: fix botched function name in an error message

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

2013-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        automake: remove one extra trailing whitespace

        * bin/automake.in (lang_vala_ignore): Here.

2013-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        automake: cosmetic changes in indentation and line breaks

        * bin/automake.in (handle_LIBOBJS_or_ALLOCA): Here.

2013-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          maintcheck: minor tweaks and fixlets

2013-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          maintcheck: minor tweaks and fixlets

2013-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maintcheck: minor tweaks and fixlets

        * syntax-checks.mk: Here.

2013-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: fix a spurious failure on NetBSD 5.1
          texi: build version.texi and stamp-vti in srcdir
          tests: fix a botched heading comment
          tests: fix another spurious with FreeBSD make
          tests: fix a spurious failure with FreeBSD make

2013-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix a spurious failure on NetBSD 5.1

        * t/dist-shar.sh ($required): Also require the 'unshar' program.
        Apparently, NetBSD has a 'shar' program but not the corresponding
        'unshar' one.

2013-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texi: build version.texi and stamp-vti in srcdir

        Do so even when the 'info-in-builddir' option is present, or when
        the corresponding '*.info' files are listed in $(CLEANFILES) or in
        $(DISTCLEANFILES).

        This fixes failures in the following tests, when they are run with
        $MAKE pointing to FreeBSD make:

            - txinfo-nodist-info.sh
            - txinfo23.sh
            - txinfo24.sh
            - txinfo28.sh
            - txinfo25.sh

        BTW, notice that the test 'txinfo-builddir.sh' fails with FreeBSD make
        as well, but that is due to a known FreeBSD make VPATH issue (the same
        described in automake bug#7884).  But that is not a regression, since
        the 'info-in-builddir' option will be new in Automake 1.14.  Moreover,
        we already warn in the manual that the use of that option can indeed
        cause problems with VPATH builds done by non-GNU make.

        * bin/automake.in (handle_texinfo_helper): New local variable
        '$soutdir'.  Use it instead of '$outdir' where appropriate (in
        particular, in the transform used on file 'texi-vers.am'.
        * t/txinfo-builddir.sh: Adjust to avoid spurious failures.

2013-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix a botched heading comment

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

2013-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix another spurious with FreeBSD make

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

2013-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix a spurious failure with FreeBSD make

        Failures due to known VPATH support issues in that make implementation
        (the same issues that have been causing the long-standing bug#7884).

        * t/ltlibsrc.sh: Adjust.

2013-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix a spurious failure with FreeBSD make

        Failures due to known VPATH support issues in that make implementation
        (the same issues that have been causing the long-standing bug#7884).

        * t/lex-multiple.sh: Adjust.

2013-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'subdir-objects-work'

        * subdir-objects-work:
          depend: reduce code duplication, de-uglify make verbose output
          depend: prefer $(...) over `...` in Cygwin-specific recipes
          depend: reduce code duplication
          depend: a preparatory refactoring
          depend: refactor and remove code duplication
          Automake::Language: drop unused fields 'compile_flag' and 'output_flag'
          depend: assume '-c' compiler flag always means to produce object files
          depend: assume we can always pass '-o' to the C compiler
          cleanup: having subdir-objects mandatory allow us some simplifications
          subdir-objects: enable unconditionally

2013-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          lisp: fix a failure with Solaris /usr/xpg4/bin/sh
          tests: sanitize 'unset' usages
          tests: fix some botched/outdated comments
          tests: use perl, not find+rm, to remove temporary directories

2013-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          lisp: fix a failure with Solaris /usr/xpg4/bin/sh
          tests: sanitize 'unset' usages
          tests: fix some botched/outdated comments
          tests: use perl, not find+rm, to remove temporary directories

2013-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lisp: fix a failure with Solaris /usr/xpg4/bin/sh

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

2013-05-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: sanitize 'unset' usages

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

            unset VAR || :

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

            VAR=; unset VAR

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

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

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix some botched/outdated comments

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

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: use perl, not find+rm, to remove temporary directories

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

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

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

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

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

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend: reduce code duplication, de-uglify make verbose output

        Verbose output from compilation recipes had been made more messy by
        the previous "simplifying" commit v1.13.1d-220-g1fa0c24.  With this
        patch, not only we reduce some code duplication, but also improve
        that output again, for the joy of users who dislike silent-rules :-)

        * lib/am/depend2.am: Use the new '%XSOURCE%' transform, instead of
        copying and pasting the idiom for VPATH rewrite emulation over and
        over.  Fix some indentation and line-wrapping issues while at it.
        * bin/automake.in (handle_languages): Implement the new transform.
        * t/silent-nested-vars.sh: Adjust to avoid spurious failures.

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove remaining exec bits ('master' branch)

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

        This change is for the 'master' branch (automake 1.99a), and is a
        follow-up to commit 'v1.13.2-3-g74017b5', done on the 'micro' branch
        (automake 1.13.2a) and to commit 'v1.13.2-221-g0985d67', done on the
        'maint' branch (automake 1.13a).

        * t/am-prog-mkdir-p.sh: Remove executable bit.
        * t/txinfo-no-split.sh: Likewise.

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: remove remaining exec bits ('maint' branch)
          tests: remove exec bit from all of them ('micro' branch)
          maint: tests no longer need to have executable bit set
          PLANS: subdir-objects: various updates

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove remaining exec bits ('maint' branch)

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

        This change is for the 'maint' branch (automake 1.13a), and is a
        follow-up to commit 'v1.13.2-3-g74017b5', done on the 'micro' branch
        (automake 1.13.2a).  It will soon be followed by a similar patch
        for the 'master' branch (automake 1.99a).

        * t/am-prog-cc-c-o.sh: Remove executable bit.
        * t/ccnoco4.sh: Likewise.
        * t/dist-shar.sh: Likewise.
        * t/dist-tarZ.sh: Likewise.
        * t/lex-multiple.sh: Likewise.
        * t/preproc-basics.sh: Likewise.
        * t/preproc-c-compile.sh: Likewise.
        * t/preproc-demo.sh: Likewise.
        * t/preproc-errmsg.sh: Likewise.
        * t/rm-f-probe.sh: Likewise.
        * t/self-check-cc-no-c-o.sh: Likewise.
        * t/txinfo-builddir.sh: Likewise.
        * t/txinfo-nodist-info.sh: Likewise.

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          tests: remove exec bit from all of them ('micro' branch)
          maint: tests no longer need to have executable bit set

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove exec bit from all of them ('micro' branch)

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

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

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

2013-05-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: tests no longer need to have executable bit set

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

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

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        PLANS: subdir-objects: various updates

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          post-release: micro version bump (1.13.2a)
          release: stable micro release 1.13.2
          vala tests: skip in a cross compiler setup
          HACKING: miscellaneous fixes, updates and enhancements
          NEWS: minor improvements to wording (about new versioning scheme)
          THANKS: update Akim's e-mail address
          tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o'
          build: be more respectful of user-specified verbosity
          check-cc-no-c-o: unify initializations in a single place
          check-cc-no-c-o: avoid a spurious failure

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'micro' into maint

        * micro:
          post-release: micro version bump (1.13.2a)
          release: stable micro release 1.13.2
          vala tests: skip in a cross compiler setup
          HACKING: miscellaneous fixes, updates and enhancements
          NEWS: minor improvements to wording (about new versioning scheme)

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        post-release: micro version bump (1.13.2a)

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

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: stable micro release 1.13.2

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

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        vala tests: skip in a cross compiler setup

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

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

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

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: miscellaneous fixes, updates and enhancements

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: minor improvements to wording (about new versioning scheme)

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        THANKS: update Akim's e-mail address

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend: prefer $(...) over `...` in Cygwin-specific recipes

        On Cygwin, we can happily assume only POSIX-conforming shells exist.
        This commit is useless by itself, but is useful as a preparatory
        refactoring in view of a future change.

        * lib/am/depend2.am: In recipes for producing '.obj' objects, use
        the POSIX form $(...) for command substitution, rather than the
        classic Bourne one `...`.

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend: reduce code duplication

        Just a simplification; no semantic change is intended.

        * lib/am/depend2.am (am__set_depbase): New.  Use it in all the three
        flavours of recipes (.o, .obj, .lo), instead of duplicating its code.

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend: a preparatory refactoring

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

        * lib/am/depend2.am: Adjust; for example, using '$@' in all recipes
        to indicate the output file (rather than recipe-specific transforms
        like '%OBJ%' and '%LTOBJ%'), and not assuming to know the exact
        file extension of the output file (e.g., whether it's '.o' or '.lo').

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend: refactor and remove code duplication

        * lib/am/depend2.am: Here.  The obsolescent comments removed from this
        same file in commit 'v1.13.1-42-g8f06bfb' of 2012-01-09, "depend2.am: fix
        comments on verbosity of compilation rules", gave the rationale for why
        that code duplication was there in the first place (rationale that, like
        those comments, has been obsolete by the silent-rules introduction).
        * bin/automake.in: Given the refactoring in 'depend2.am', there is no
        longer need to add extra trailing whitespace to the entries of the
        '%sourceflags' hash (which are used for the '%SOURCEFLAG%' transform
        when 'depend2.am' is processed.
        * t/fort2.sh: Adjust to avoid spurious failures.

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Automake::Language: drop unused fields 'compile_flag' and 'output_flag'

        They are unused after the recent flurry of changes.  This is just a
        simplification; no semantic change is intended.

        * lib/Automake/Language.pm (Class::Struct): Remove unused fields here.
        * bin/automake.in: And here, in all the 'register_language()' invocations.

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend: assume '-c' compiler flag always means to produce object files

        Rather than fully-fledged executables.  This is the case for all the
        compilers of all languages supported by Automake.

        This is just a simplification; no semantic changes are intended.

        * bin/automake.in (handle_languages): Drop transform '%-c%'.
        * lib/am/depend2.am: Adjust to just assume the '%-c%' transform
        expands to "-c".

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend: assume we can always pass '-o' to the C compiler

        This is the case after the change in commit v1.13.1-56-g34001a9 of
        2013-01-09 (compile: use 'compile' script when "-c -o" is used with
        losing compilers).

        This is just a simplification; no semantic changes are intended.

        * bin/automake.in (handle_languages): Drop transform '%-o%', and
        definitions of '$output_flag'.
        * lib/am/depend2.am: Adjust to just assume the '?-o?' transform is
        true, and the '%-o%' transform expands to "-o".

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cleanup: having subdir-objects mandatory allow us some simplifications

        Few minor cleanups made possible by earlier changes, plus other minor
        cleanups triggered in cascade.  No semantic change is intended.

        This is a follow-up on previous commit 'v1.13.1d-214-g3ad07d2', and
        an adjusted backport of Automake-NG commit 'v1.12.1-315-gc97d41b'
        of 2012-06-08 ([ng] cleanup: after enabling of subdir-objects
        unconditionally).

        * bin/automake.in (LANG_IGNORE, LANG_SUBDIR): Remove.
        (handle_languages): Drop the '%DEPBASE%' transform when processing
        the '$rule_file'.
        (register_language ('name' => 'vala', ...)): Add '.vapi' to the entry
        'extensions', and simplify the entry 'output_extensions' to point to
        a dummy subroutine (since it wasn't really used anyway).
        (handle_single_transform): No longer expect the 'lang_*_rewrite'
        subroutines to return a 'LANG_*' constant, but only a transformed
        extension, if required.  To decide whether further processing of the
        source file should be stopped, rely on a new set of 'lang_*_ignore'
        subroutines, defaulting to a subroutine that returns false.
        Accordingly, don't special case the handling of '.vapi' files anymore,
        instead rely on ...
        (lang_vala_ignore, lang_header_ignore): ... these new subroutines to
        avoid extra processing of C/C++ headers and Vala '.vapi' headers.
        (lang_java_rewrite): Remove.
        Remove an outdated comment.
        * lib/am/depend2.am: Partial rewrite to reduce code duplication and
        drop use of the '%DEPBASE%' transform.
        * t/compile_f_c_cxx.sh: Adjust.

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        subdir-objects: enable unconditionally

        See automake bug#13378.

        The fact that Automake-generated Makefiles places compiled object files
        in the current directory by default, also when the corresponding source
        file is in a subdirectory, is basically an historical accident, due to
        the fact that the 'subdir-objects' option had only been introduced in
        April 1999, starting with commit 'user-dep-gen-branchpoint-56-g88b5959',
        and never made the default, likely to avoid backwards-compatibility
        issues.

        Since we believe the behaviour enabled by the 'subdir-objects' is the
        only natural and most useful one, we make it the only only one available,
        simplifying the Automake implementation and APIs a little in the process.

        This change is basically an adjusted backport of Automake-NG commit
        'v1.12.1-313-g14fe163' of 2012-06-07, "[ng] subdir-objects: enable
        unconditionally".

        * NEWS: Update.
        * doc/automake.texi (Program and Library Variables): The output
        object files are no longer placed in the current directory by
        default, but rather in the same directory of the source file.
        (LIBOBJS): Now the $(LIBOBJS) and $(ALLOCA) variables can also
        be used outside of the directory where their sources lie.
        (List of Automake options): Report the 'subdir-objects' option
        as a no-op, existing only for compatibility with older versions
        of Automake.
        Other related minor adjustments.
        * bin/automake.in (LANG_PROCESS): Remove, it's no longer needed.
        (handle_languages): Don't test whether option 'subdir-objects'
        is set (just assume it is), and do not use the '%SUBDIROBJ%'
        transform when processing '.am' fragments.
        (lang_sub_obj): Delete, it would just return 'LANG_SUBDIR'
        unconditionally now.
        (lang_lex_rewrite): Adjust.  Don't test whether the option
        'subdir-objects' is set (just assume it is).
        (lang_yacc_rewrite): Likewise.
        (handle_single_transform): Likewise.  Remove an obsolete
        comment.  Add a proper "FIXME" comments about a fragment
        of code that might have become dead code now.
        (handle_LIBOBJS_or_ALLOCA): Simplify assuming that the option
        'subdir-objects' is always set.  Accordingly, there's no need
        to warn anymore if '$(LIBOBJS)' or '$(ALLOCA)' are used outside
        the '$config_libobj_dir' directory (as specified by autoconf
        macro 'AC_CONFIG_LIBOBJ_DIR').
        * lib/am/depend2.am: Assume the '?SUBDIROBJ?' Automake time
        conditional is always true, and remove its uses accordingly.
        * t/compile_f_c_cxx.sh: Adjust.
        * t/cscope.tap: Likewise.
        * t/depcomp8a.sh: Likewise.
        * t/depcomp8b.sh: Likewise.
        * t/libtool3.sh: Likewise.
        * t/ltlibsrc.sh: Likewise.
        * t/pr401.sh: Likewise.
        * t/pr401b.sh: Likewise.
        * t/pr401c.sh: Likewise.
        * t/subobj.sh: Likewise.
        * t/lex-line.sh: Likewise.
        * t/yacc-line.sh: Likewise.
        * t/yacc5.sh: Likewise.
        * t/vala-libs.sh: Likewise.
        * t/fort4.sh: Likewise, and extend a bit.
        * t/fort5.sh: Likewise.
        * t/gcj.sh: Likewise.
        * t/subpkg.sh: Likewise.
        * t/subpkg-yacc.sh: Likewise.
        * t/xsource.sh: Likewise.
        * t/libobj20a.sh: Remove as obsolete.
        * t/libobj20b.sh: Adjust heading comments.
        * t/libobj20c.sh: Likewise.
        * t/subobj4.sh: Remove as obsolete.
        * t/sourcefile-in-subdir.sh: Likewise.

2013-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o'

        That is, when the testsuite is run using a fake C compiler that doesn't
        grasp the '-c' and '-o' options together.

        * t/instdir-prog.sh: Adjust.
        * t/instdir-ltlib.sh: Likewise.
        * t/python-virtualenv.sh: Likewise.

2013-05-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        build: be more respectful of user-specified verbosity

        * t/Makefile.in (check-cc-no-c-o, check-no-trailing-backslash-in-recipes,
        installcheck-testsuite, perf): Here.

2013-05-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        check-cc-no-c-o: unify initializations in a single place

        * t/ax/test-defs.in: That is, by setting CC and GNU_CC here, in accord
        with the value of the variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O'.
        * t/Makefile.in (check-cc-no-c-o) : No need to reset CC and GNU_CC any
        longer in the recursive "make check" invocation.

2013-05-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        check-cc-no-c-o: avoid a spurious failure

        * t/am-prog-cc-c-o.sh: In this test, by relying on the knowledge
        that we are running under the aegis of the 'check-cc-no-c-o'
        maintainer-specific target, knowledge given us by ...
        * t/Makefile.in (check-cc-no-c-o) : ... the new environment
        variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O', set to a value
        of "yes" by this rule.
        * t/ax/test-defs.in: Initialize the new variable to "no" by
        default, and add an explanatory comment.

2013-05-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          build: fixup for building in a VPATH setup

2013-05-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        build: fixup for building in a VPATH setup

        * bin/Makefile.inc (%D%/automake, %D%/aclocal): Make sure that the
        directory where the targets scripts are going to be built exists,
        before trying to create said scripts.

2013-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
          compile: avoid AC_PROG_CC messy rewrite
          options: tiny simplification in dealing with incompatible versions

2013-05-11  Nick Bowler  <nbowler@elliptictech.com>  (tiny change)

        Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O

        If AM_PROG_CC_C_O is expanded multiple times, and the compiler does not
        support -c and -o together, each expansion of the macro will prepend
        the compile script to CC.  This can result in the compile script
        invoking the compile script, which at best pointless and silly.
        Fortunately, there does not appear to be any serious problems as the
        first compile invocation strips out -o options, causing subsequent
        invocations of the script to merely exec their arguments.

        Other than fixing the above, this should not normally cause any changes
        to the resulting configure script, except in the (hopefully rare) case
        where AM_PROG_CC_C_O is directly expanded (i.e., *not* using AC_REQUIRE)
        in the body of a macro defined with AC_DEFUN.  In that case, the use of
        AC_DEFUN_ONCE may cause the expansion of AM_PROG_CC_C_O to appear
        earlier in the configure script.

        * m4/minuso.m4: Change the definition of AM_PROG_CC_C_O to use
        AC_DEFUN_ONCE, avoiding problems caused by multiple expansions.

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

        compile: avoid AC_PROG_CC messy rewrite

        Instead, add an hook to AC_OUTPUT to have AM_PROG_CC_C_O invoked
        automatically.

        See also the long-winded discussion about automake bug#13378.

        * m4/minuso.m4 (AM_PROG_CC_C_O): Bring back the old implementation,
        from commit v1.13.1-55-g1ab8fb6.
        * m4/init.m4 (AC_PROG_CC): Remove this horrible, hacky re-write.
        * (AM_INIT_AUTOMAKE): Arrange for AM_PROG_CC_C_O to be called if
        necessary.
        * t/am-prog-cc-c-o.sh: Adjust to avoid spurious failure.
        * t/subobj.sh: Likewise.

        Suggested-by: Nick Bowler <nbowler@elliptictech.com>

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

        options: tiny simplification in dealing with incompatible versions

        * lib/Automake/Options.pm (_process_option_list): Here, when an
        incompatible version number option is detected, there's no need
        to call error() with the "uniq_scope => US_GLOBAL" switch.
        In fact, if the same incompatible version number is specified in
        AUTOMAKE_OPTIONS in both (say) 'Makefile.am' and 'sub/Makefile.am',
        we want each such erroneous usage reported separately, rather than
        just the first time it is encountered (as we'd expect to happen
        when "uniq_scope => US_GLOBAL" is used).
        Ideally, this change should have been folded into the similar
        commit 'v1.13.1d-129-gf7ef16f', but we noticed that too late.
        Oh well.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        options: consistently use return statuses to report errors (more)

        This is a follow-up to commit 'v1.13.1d-128-g6e486c5', needed to deal
        with errors that are only present in the 'master' branch (while the
        reported commit was on the 'maint' branch).

        * lib/Automake/Options.pm (_process_option_list): Adjust, where dealing
        with the removed options 'dist-shar' and 'dist-tarZ'.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          options: try to report as much errors as possible
          warns: don't tell AM_PROG_MKDIR_P is going to be removed
          refactor: fix few "inverted boolean" usages
          options: better name for an internal function
          options: more consistency in use of return statuses to report errors
          options: tiny simplification in dealing with erroneous opts
          options: consistently use return statuses to report errors
          options: re-enable some sanity checks
          THANKS: update Eric Blake's e-mail address
          NEWS: typofix

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        options: try to report as much errors as possible

        For example, if two invalid options are used in AUTOMAKE_OPTIONS, don't
        report just the first one, but both of them.

        * lib/Automake/Options.pm (_process_option_list): Do so by avoiding
        early returns in here.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          warns: don't tell AM_PROG_MKDIR_P is going to be removed

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        warns: don't tell AM_PROG_MKDIR_P is going to be removed

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

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

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        refactor: fix few "inverted boolean" usages

        In some subroutines, we used a return value of 0 to indicate success,
        and a return status of 1 to indicate failure.  That was not very
        consistent with the perl interpretation of 0 as a false value and 1 as
        a true value.  So we now invert the meaning of the exit statuses.

        * lib/Automake/Options.pm (_process_option_list): Here.
        (process_global_option_list, process_option_list): And by reflex,
        here as well.
        * bin/automake.in (handle_options): And here.
        (generate_makefile, scan_autoconf_traces): Adjust.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        options: better name for an internal function

        * lib/Automake/Options.pm (_option_must_be_from_configure): Rename ...
        (_option_is_from_configure): ... like this.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        options: more consistency in use of return statuses to report errors

        * lib/Automake/Options.pm (_option_must_be_from_configure): By giving
        a proper return status here.
        (_process_option_list): And using it here.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        options: tiny simplification in dealing with erroneous opts

        * lib/Automake/Options.pm (_process_option_list): Here, when an
        invalid option is detected, there's no need to call &error with
        the "uniq_scope => US_GLOBAL" switch.  In fact, if the same
        erroneous option is specified in AUTOMAKE_OPTIONS in both (say)
        'Makefile.am' and 'sub/Makefile.am', we want each such erroneous
        usage reported separately, rather than just the first time it is
        encountered (as happens when "uniq_scope => US_GLOBAL" is used).

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        options: consistently use return statuses to report errors

        * lib/Automake/Options.pm (_process_option_list): Here.
        (process_option_list, process_global_option_list): Remove
        redundant use of 'return'.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        options: re-enable some sanity checks

        They had been unwittingly disabled by a slightly incorrect
        code ordering.

        * lib/Automake/Options.pm (process_option_list): Here.
        (process_global_option_list): And here.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        THANKS: update Eric Blake's e-mail address

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: typofix

        Reported-by: Eric Blake <eblake@redhat.com>

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        dist: remove support for shar and tarZ formats

        See also discussion about automake wishlist bug#13324.

        * lib/Automake/Options.pm: Give fatal errors (rather than warnings) if
        the 'dist-shar' or 'dist-tarZ' options are used.
        * lib/distdir.am: Remove the 'dist-tarZ' and 'dist-shar' targets, and
        references to the '.tar.Z' and '.shar' archives.
        * bin/automake.in (preprocess_file): Remove 'COMPRESS' and 'SHAR'
        transforms.
        (handle_dist): Remove lingering references to 'dist-tarZ' and 'dist-shar'
        options.
        * doc/automake.texi: Adjust, removing references to the removed targets
        and distribution formats.
        * t/dist-shar.sh: Adjust to expect fatal errors rather than warnings.
        * t/dist-tarZ.sh: Likewise.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          news: document new 'subdir-objects' warning
          PLANS: one minor fixlet (mostly cosmetic)
          PLANS: we have already dropped support for split info files in master
          NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
          PLANS: fix reference to non-existent 'next' branch
          PLANS: fix botched version reference
          maintcheck: fix two references to old location of aclocal and automake
          dist: deprecated shar and tar+compress formats

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        news: document new 'subdir-objects' warning

        * NEWS: Automake 1.14 will warn if a subdir source file is
        specified but the 'subdir-objects' option is not given.  This
        is done to smooth the transition to Automake 2.0, which will
        unconditionally assume the behaviour now given only with the
        'subdir-objects' option.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        PLANS: one minor fixlet (mostly cosmetic)

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        PLANS: we have already dropped support for split info files in master

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        PLANS: fix reference to non-existent 'next' branch

        * PLANS/obsolete-removed/configure.in.txt: Here.  We should refer
        to the 'master' branch instead.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        PLANS: fix botched version reference

        * PLANS/rm-f-without-args.txt: Here.  The probe checking that "rm -f"
        without arguments works will be introduced in Automake 1.14, not in
        Automake 1.13.2.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maintcheck: fix two references to old location of aclocal and automake

        * maintainer/syntax-checks.mk (sc_perl_at_substs): Here: it should
        refer to 'bin/automake' and 'bin/aclocal', not 'automake' and
        'alocal'.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        dist: deprecated shar and tar+compress formats

        See also discussion about automake wishlist bug#13324.

        * lib/Automake/Options.pm: Give proper warnings in the 'obsolete'
        category if the 'dist-shar' or 'dist-tarZ' options are used.
        * lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are
        invoked, make them give a non-fatal warning.
        * doc/automake.texi: Report the new deprecations.
        * t/dist-shar.sh: New test.
        * t/dist-tarZ.sh: Likewise.
        * t/lzma.sh: While at it, rename ...
        * t/dist-lzma.sh: ... like this, and tweak it to keep more in
        sync with the new tests.
        * t/dist-formats.tap: Remove references to deprecated formats.
        * t/list-of-tests.mk: Adjust.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
          am: prefer a shorter idiom where possible
          cosmetics: fix few typos, grammaros and missing whitespace
          fixup: remove an obsolete comment
          docs: we still don't have the promised better Java interface
          build: move automake and aclocal in 'bin' subdir
          build: break up monolithic Makefile.am in subdir-specific fragments

        + Extra non-trivial edits:

        * m4/Makefile.inc (dist_automake_ac_DATA): Drop lead-dot.m4 and
        mkdirp.m4.
        * lib/Automake/Makefile.inc (dist_perllib_DATA): Drop Configure_ac.pm.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'dog-feeding' into maint

        * dog-feeding:
          build: move automake and aclocal in 'bin' subdir
          build: break up monolithic Makefile.am in subdir-specific fragments

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        am: prefer a shorter idiom where possible

        That is, prefer:

            test -f FILE || do_action

        over:

            if test ! -f FILE; then do_action; else :; fi

        * lib/am/remake-hdr.am (%CONFIG_H%): Here.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          cosmetics: fix few typos, grammaros and missing whitespace
          fixup: remove an obsolete comment
          docs: we still don't have the promised better Java interface

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cosmetics: fix few typos, grammaros and missing whitespace

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

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        fixup: remove an obsolete comment

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

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

        docs: we still don't have the promised better Java interface

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

        See also automake bug#9088.

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

        Reported-by: Michael Zucchi <notzed@gmail.com>

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

        Merge branch 'maint'

        * maint:
          maint: re-run "make update-copyright" ...

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

        maint: re-run "make update-copyright" ...

        * t/lex-multiple.sh: ... which updates the copyright years
        of this test (they were somehow not bumped in the past).

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

        Merge branch 'maint'

        * maint:
          tests: avoid spurious failure with older flex (2.5.4)
          announcement: cater to more flexible NEWS format

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

        tests: avoid spurious failure with older flex (2.5.4)

        That old version is unfortunately still relevant, being the one
        installed on NetBSD 5.1.

        * t/lex-multiple.sh: Use the '-o' option rather than the longer
        equivalent '--outfile'.  The latter is not supported by older
        versions of flex (e.g., flex 2.5.4).

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

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          announcement: cater to more flexible NEWS format

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

        announcement: cater to more flexible NEWS format

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

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

        build: move automake and aclocal in 'bin' subdir

        * automake.in: Rename ...
        * bin/automake.in: ... like this.
        * aclocal.in: Rename ...
        * bin/aclocal.in: ... like this.
        * Makefile.am: Move parts that dealt with the building/distribution
        of aclocal and Automake ..
        * bin/Makefile.inc): ... in this new included fragment.  Adjust as
        needed, and make deliberate use of the '%D%' substitution.
        * lib/gen-perl-protos: Move ...
        * bin/gen-perl-protos: ... here.
        * bootstrap.sh, configure.ac, maintainer/rename-tests,
        t/wrap/aclocal.in, t/wrap/automake.in, doc/Makefile.inc,
        t/ax/tap-setup.sh, .gitignore: Adjust.
        * maintainer/syntax-checks.mk: Likewise, and enhance a little.

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

        build: break up monolithic Makefile.am in subdir-specific fragments

        This is convenient to do, now that we have improved "relative directory"
        support with the '%reladir%' (a.k.a. '%D%') and '%canon_reladir%' (a.k.a.
        '%C%') Automake-time substitutions for included makefile fragments.

        This move also satisfy our philosophy of using new Automake features in
        our own build system, as a way of facilitating early discovery of possible
        bugs or interface warts.

        * Makefile.am: Break up ...
        * doc/Makefile.inc, lib/Automake/Makefile.inc, lib/Makefile.inc,
        lib/am/Makefile.inc, m4/Makefile.inc, t/Makefile.inc): ... in this
        new included fragments.  Adjust as needed, and make deliberate use
        of the '%D%' substitution.
        * contrib/t/local.am: Rename ...
        * contrib/t/Makefile.inc: ... like this.

2013-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: fix warnings given by Texinfo 5.x

        These warnings:

          doc/automake.texi:3885: warning: node next `Public Macros' in menu \
            `Private Macros' and in sectioning `Obsolete Macros' differ
          doc/automake.texi:4050: warning: node `Private Macros' is next for \
            `Obsolete Macros' in sectioning but not in menu
          doc/automake.texi:4050: warning: node prev `Obsolete Macros' in menu \
            `Private Macros' and in sectioning `Public Macros' differ
          doc/automake.texi:4090: warning: node `Obsolete Macros' is next for \
            `Private Macros' in menu but not in sectioning
          doc/automake.texi:4090: warning: node prev `Private Macros' in menu \
            `Public Macros' and in sectioning `Obsolete Macros' differ

        * doc/automake.texi: Adjust.

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        fixlet: remove leftover comment fragment

        * configure.ac: Here.

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        master branch: we are going to become Automake 2.0

        * configure.ac (AC_INIT): So adjust the beta version in here, from
        1.13a to 1.99a.
        * m4/amversion.m4: Regenerate.

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          maint branch: we are going to become Automake 1.14
          maint: version bump after beta release 1.13.1d
          release: beta release 1.13.1d (will become 1.13.2)
          NEWS: document more robust handling/recognition of make options
          tests: typofixes in comments in t/preproc-c-compile.sh
          tests: remove bashism from a test

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint branch: we are going to become Automake 1.14

        * configure.ac (AC_INIT): So adjust beta version in here, from
        1.13.2a to 1.13a.
        * m4/amversion.m4: Regenerate.

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          maint: version bump after beta release 1.13.1d
          release: beta release 1.13.1d (will become 1.13.2)
          NEWS: document more robust handling/recognition of make options

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: version bump after beta release 1.13.1d

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

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: beta release 1.13.1d (will become 1.13.2)

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

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: document more robust handling/recognition of make options

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: typofixes in comments in t/preproc-c-compile.sh

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove bashism from a test

        * t/preproc-c-compile.sh (Makefile.am): Use "test foo = bar", not the
        bash-specific "test foo == bar".

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          maint: targets and recipes to simplify testing on real-world packages
          build: preparatory refactoring
          build: tiny reduction in code duplication
          make flags analysis: handle more options with args
          make flags analysis: use simpler variable names
          make flags analysis: whitespace changes
          make flags analysis: embed in a subshell
          make flags analysis: be more robust
          make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
          tests: expose weaknesses in make flags analysis
          tests: improve debugging output in checks on make flags analysis
          make flags analysis: refactor, to reduce code duplication
          tests: avoid one tricky use of "make -e"
          cosmetics: remove few trailing whitespace occurrences
          typofix: in NEWS (extra whitespace)
          tests: avoid a spurious error with Solaris make
          subdirs: don't return false positives for the '-k' option's presence
          header-vars: recognize more make flags ('-k' in particular)
          header-vars: simplify how make flags are determined
          tests: remove dead code from t/make-dryrun.tap
          header-vars: new variable $(am__running_with_option)
          tests: expose bug#12554 (false positives for presence of '-k' make option)

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          maint: targets and recipes to simplify testing on real-world packages
          build: preparatory refactoring
          build: tiny reduction in code duplication
          make flags analysis: handle more options with args
          make flags analysis: use simpler variable names
          make flags analysis: whitespace changes
          make flags analysis: embed in a subshell
          make flags analysis: be more robust
          make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
          tests: expose weaknesses in make flags analysis
          tests: improve debugging output in checks on make flags analysis
          make flags analysis: refactor, to reduce code duplication
          tests: avoid one tricky use of "make -e"
          tests: avoid a spurious error with Solaris make
          subdirs: don't return false positives for the '-k' option's presence
          header-vars: recognize more make flags ('-k' in particular)
          header-vars: simplify how make flags are determined
          tests: remove dead code from t/make-dryrun.tap
          header-vars: new variable $(am__running_with_option)
          tests: expose bug#12554 (false positives for presence of '-k' make option)

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge 'better-makeflags-recognition' and 'testing-work' into branch-1.13.2

        * better-makeflags-recognition:
          make flags analysis: handle more options with args
          make flags analysis: use simpler variable names
          make flags analysis: whitespace changes
          make flags analysis: embed in a subshell
          make flags analysis: be more robust
          make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
          tests: expose weaknesses in make flags analysis
          tests: improve debugging output in checks on make flags analysis
          make flags analysis: refactor, to reduce code duplication

        * testing-work:
          maint: targets and recipes to simplify testing on real-world packages
          build: preparatory refactoring
          build: tiny reduction in code duplication

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: targets and recipes to simplify testing on real-world packages

        We introduce a new section in the maintainer-specific makefile that
        contains recipes to test the build system of some well-known GNU
        packages with the current development version of Automake.  Not the
        cleanest way to do so, but good enough for the moment.  We'll revisit
        the matter after the 1.13.2 release (which we now hope will happen
        soon).

        * maint.mk (git-sv-host): New.
        (SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): Use it to reduce code duplication.
        (ALL_PACKAGES, FEW_PACKAGES): New, lists of GNU packages to try out.
        (ttp-check, ttp-check-all): New targets, do the checking with said
        packages.
        (ttp): New, alias for 'ttp-check'.
        (ttp-all): New, alias for 'ttp-check-all'.

2013-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        build: preparatory refactoring

        No semantic change intended.  This change will be required
        by a later patch.

        * Makefile.am (setup_autotools_paths): New.
        ($(srcdir)/doc/amhello-1.0.tar.gz): Use it.

2013-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        build: tiny reduction in code duplication

        The code was only duplicated two times, but we are soon going to
        need a third occurrence, and that would be one to much.

        * Makefile.am (extend_path): New.
        (update_mans): Use it instead of copying & pasting its contents.
        ($(srcdir)/doc/amhello-1.0.tar.gz): Likewise, and minor related
        adjustments.

2013-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        make flags analysis: handle more options with args

        That is, not only -I, but also -O (for upcoming GNU make 3.83),
        -l (GNU make), -d, -E, -D, -m (BSD make), -J, -T (NetBSD make).

        * lib/am/header-vars.am (am__make_running_with_option): Extend
        and adjust, both code and comments.

2013-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        make flags analysis: use simpler variable names

        * lib/am/header-vars.am (am__make_running_with_option): Here.  Now
        that we expect to be run in a subshell, we don't have to worry about
        being namespace-safe.  And '$foo' is much more pleasant to read than
        '$am__foo' -- and pleasant code tends to be more correct.
        (am__make_dryrun, am__make_keepgoing): Adjust.

2013-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        make flags analysis: whitespace changes

        * lib/am/header-vars.am (am__make_running_with_option): Here.
        No semantic change is intended.

2013-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        make flags analysis: embed in a subshell

        So that we won't have to worry about leaking temporary variables,
        and similar stuff.

        * lib/am/header-vars.am (am__make_dryrun, am__make_keepgoing): Here.
        (am__make_running_with_option): Minor adjustments.

2013-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        make flags analysis: be more robust

        In particular, catering to option-with-argument bundled together
        with options-without-arguments, as in:

           # With GNU make 3.82:
           $ make -f- <<<'all:; echo "$$MFLAGS"' -s -k -I none
           -skiI none

           # With development version of GNU make (Git commit b5ea49b):
           $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
           -skiI none

        This fixes some lingering failures in the testsuite; precisely, in
        tests 'make-dryrun.tap' and 'make-keepgoing.tap'.

        * t/header-vars.am (am__make_running_with_option): Enhance.

2013-05-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        make flags analysis: cater to GNU make 3.83 (still unreleased as of now)

        The current development version of GNU make (that is planned to become
        GNU make 3.83, sooner or later) has changed the format its $(MFLAGS)
        variable slightly, removing the space between an option and its argument:

           # With GNU make 3.82, compiled from official tarball:
           $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
           -I none

           # With development version of GNU make (Git commit b5ea49b):
           $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
           -Inone

        This was done on purpose, in order to support more easily the new
        option '-O', which takes an optional argument; see:

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

        So Just adapt to the new format as well.

        * t/header-vars.am (am__make_running_with_option): Adjust to cater
        to the new GNU make behaviour.

2013-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: expose weaknesses in make flags analysis

        This introduces some failures in the testsuite, that will be fixed
        soon enough by follow-up patches.

        * t/make-dryrun.tap: Enhance and extend.
        * t/make-keepgoing.tap: Likewise.

2013-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: improve debugging output in checks on make flags analysis

        * t/make-dryrun.tap: Here.
        * t/make-keepgoing.tap: And here.

2013-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

        make flags analysis: refactor, to reduce code duplication

        And make it a little more reliable.

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

2013-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid one tricky use of "make -e"

        Which was causing a spurious failure on FreeBSD.  Not particularly
        surprising, given how brittle "make -e" is in general ...

        * t/cxx-lt-demo.sh: Instead of forcing $(CC) to be 'false' by
        exporting "CC=false" in the environment and then passing the '-e'
        option to make, do so by passing "CC=false" on the make command
        line, both directly and using AM_MAKEFLAGS.

2013-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'fix-pr12554' into branch-1.13.2

        * fix-pr12554:
          tests: avoid a spurious error with Solaris make
          subdirs: don't return false positives for the '-k' option's presence
          header-vars: recognize more make flags ('-k' in particular)
          header-vars: simplify how make flags are determined
          tests: remove dead code from t/make-dryrun.tap
          header-vars: new variable $(am__running_with_option)
          tests: expose bug#12554 (false positives for presence of '-k' make option)

2013-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          cosmetics: remove few trailing whitespace occurrences
          typofix: in NEWS (extra whitespace)

2013-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cosmetics: remove few trailing whitespace occurrences

2013-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        typofix: in NEWS (extra whitespace)

2013-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        compat: substitute '@mkdir_p@' as '$(MKDIR_P)' unconditionally

        We had started to do so only when the obsolete AM_PROG_MKDIR_P variable
        was used, but that has recently turned out not to be not good enough,
        because Gettext 0.18.2 (the latest one at the moment of writing) is using
        the modern macro AC_PROG_MKDIR_P in its '*.m4' files, but at the same time
        is still using the obsolete make variable '$(mkdir_p)' in its Makefile
        fragments.  This has been causing failures in real-world packages
        bootstrapped with latest Gettext (0.18.2) and with bleeding-edge automake.

        See for example:

          <http://lists.gnu.org/archive/html/bug-tar/2013-04/msg00009.html>

        And the worst things is that those failures have been basically silent
        and unnoticeable up until the final "make install" --- that is, after
        the affected package had been bootstrapped, configured and built.  Yikes!

        This issue has been reported to the Gettext developers:

          <http://lists.gnu.org/archive/html/bug-gettext/2013-04/msg00044.html>

        But even if they will quickly fix it, Gettext 0.18.2 will remain
        affected.

        The fix we can implement in Automake is small and unobtrusive enough,
        definitely worth having in order to save the users and developers from
        having to deal with this hard-to-spot issue.

        * m4/init.m4 (AM_INIT_AUTOMAKE): AC_SUBST '@mkdir_p@' to '$(MKDIR_P)'.
        * t/am-prog-mkdir-p.sh: Enhance.

2013-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          sync: update files from upstream with "make fetch"
          maintcheck: remove outdated whitelisting
          tar: format 'ustar' cannot support UID/GID longer than 21 bits
          docs: issues with configure substitutions in TESTS
          tests: avoid possible autotools caching issues (automake bug#13832)
          tests: rename some with more descriptive names
          docs: add myself and Ralf Wildenhues as authors
          authors: add myself
          dry-run: don't get confused by '-I' option
          tests: avoid a spurious failure with the Korn Shell
          dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
          header vars: can determine whether we are running under GNU make
          NEWS: improve wording for automake bug#13514 fix
          NEWS: document fix for automake bug#13514

2013-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          sync: update files from upstream with "make fetch"
          maintcheck: remove outdated whitelisting
          tar: format 'ustar' cannot support UID/GID longer than 21 bits

2013-04-30  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'fix-pr13588-pax-hangs' into branch-1.13.2

        * fix-pr13588-pax-hangs:
          tar: format 'ustar' cannot support UID/GID longer than 21 bits

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid a spurious error with Solaris make

        * t/make-keepgoing.tap (Makefile.am): Here.

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        subdirs: don't return false positives for the '-k' option's presence

        This change fixes automake bug#12554.

        The old implementation of the code descending into $(SUBDIRS)
        entries used the following snippet to decide whether make is running
        with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
        in a subdirectory should prevent the descent in the following ones:

            fail= failcom='exit 1'; \
            for f in x $$MAKEFLAGS; do \
              case $$f in \
                *=* | --[!k]*);; \
                *k*) failcom='fail=yes';; \
              esac; \
            done

        It's clear that the second pattern in the 'case' construct could possibly
        match false positives, for examples in these two cases:

            make check TESTS="x.test k.test"
            make -I /usr/local/kool-fragments

        which are somewhat unusual, but not invalid.  So we need a more resilient
        implementation, as we did for the detection of the '-n' flag.

        This implementation is now provided by the new private macro
        '$(am__make_keepgoing)' (introduced in recent commits); so we can
        just us that to fix the bug.

        * lib/am/subdirs.am ($(am__recursive_targets)): Use '$(am__make_keepgoing)'
        instead of ad-hoc and more brittle checks.
        * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test case
        't/subdir-keep-going-pr12554.sh'.

        Reported-by: Michael Daniels <mdaniels@rim.com>

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        header-vars: recognize more make flags ('-k' in particular)

        * lib/am/header-vars.am (am__running_with_option): Here.
        Few improvements to comments, while at it.
        (am__make_keepgoing): New, tell whther make is being runt with
        the '-k' option.
        * t/make-keepgoing.tap: New test.
        * t/list-of-tests.mk: Add it.
        * t/make-dryrun.tap: Minor edits to keep it more in sync with
        the new test.

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        sync: update files from upstream with "make fetch"

        * lib/config.guess: Likewise.
        * lib/config.sub: Likewise.

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maintcheck: remove outdated whitelisting

        * syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Here.
        The test 'make-dryrun.sh' has been since long rewritten as the TAP
        test 'make-dryrun.tap', and no longer spuriously triggers this
        maintainer check.

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        header-vars: simplify how make flags are determined

        Actually, son far only the '-n' option ("dry mode") was detected,
        but this change will allow us to soon detect more options.

        * lib/am/header-vars.am (am__running_with_option): Even when $MAKEFLAGS
        appears to contain definition of variables with embedded whitespace,
        use simple textual pre-processing over $MAKEFLAGS rather than tricky
        recursive invocations of make to determine whether the '-n' option was
        given.  This is enough to correctly handle all the tricky usages covered
        in the testsuite.
        * t/nodep.sh: Adjust to avoid a spurious failure.

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove dead code from t/make-dryrun.tap

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        header-vars: new variable $(am__running_with_option)

        This is a preparatory refactoring, needed by later patches.
        No semantic change is intended.

        * lib/am/header-vars.am (am__running_with_option): New, contains
        shell code that determines whether the current make instance is
        running with a given one-letter option (e.g., -k, -n) that takes
        no argument.  Actually, the only supported option at the moment
        is '-n' (support for '-k' will be added soon).
        (am__make_dryrun): Rewrite as a thin wrapper around
        '$(am__make_running_with_option)'.

2013-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: expose bug#12554 (false positives for presence of '-k' make option)

        The current implementation of the code descending into $(SUBDIRS)
        entries uses the following snippet to decide whether make is running
        with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
        in a subdirectory should prevent the descent in the following ones:

            fail= failcom='exit 1'; \
            for f in x $$MAKEFLAGS; do \
              case $$f in \
                *=* | --[!k]*);; \
                *k*) failcom='fail=yes';; \
              esac; \
            done

        It's clear that the second pattern in the 'case' construct can possibly
        match false positives, for examples in these two cases:

            make check TESTS="x.test k.test"
            make -I /usr/local/kool-fragments

        which are somewhat unusual, but not invalid.  So we need a more resilient
        implementation, as we did for the detection of the '-n' flag.

        But alas, such an implementation seems quite tricky to obtain in portable
        make.  So for the moment we content ourselves with exposing the bug, with
        the hope of being able to fix soon enough.

        * t/subdir-keep-going-pr12554.sh: New test.
        * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
        * THANKS: Update

        Reported-by: Michael Daniels <mdaniels@rim.com>

2013-04-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tar: format 'ustar' cannot support UID/GID longer than 21 bits

        See automake bug#8343 and bug#13588.

        POSIX 1988 'ustar' format is defined with *fixed-size* fields. There
        is notably a 21 bits limit (2097151) for the UID and the GID.

        Tom Rini tom_rini@mentor.com says (in bug#8343):

            When the user has a UID or GID that is larger than the ustar format
            supports, pax does not error out gracefully in some cases (FC13).

        Marc Herbert <marc.herbert@intel.com> adds (in bug#8343):

            When "configure" is run by a user with an UID bigger than 21 bits,
            BSD pax 3.4 aborts when trying to create the 'conftest.tar' test
            archive and leaves an empty or corrupted conftest.tar file behind.
            In the next step, pax tries to extract this incomplete or corrupted
            archive and this *** hangs the whole ./configure script ***.

            Note: GNU cpio 2.9 pretends to pass the test but it is a LIE: it
            silently truncates any big UID to its lower 21 bits. I don't know
            what can be the consequences of this lie.

            I think there is currently a design issue in automake/m4/tar.m4
            considering that a ustar archive should should *never* succeed when
            ./configure is run from a big user ID.

        Months later, Petr Hracek <phracek@redhat.com> reports a similar issue
        (in bug#13588) for Fedora 17:

            I am trying to solve problem in case a user is created with big
            UID and during configuration pax hangs with message

                ATTENTION! pax archive volume change required.
                Ready for archive volume: 1
                Input archive name or "." to quit pax.
                Archive name >

            and needs user interaction.

            Reference: <https://bugzilla.redhat.com/show_bug.cgi?id=843376>

        Time to fix this issue, on the line of a preliminary patch provided by
        Petr Hracek in bug#13588.  The final patch ended up being remarkably
        different from that original proposition, though.

        * m4/tar.m4 (_AM_PROG_TAR): If the UID or GID of the current user is
        too high (> 2097151), the 'ustar' format cannot work.  Adjust checks
        accordingly.  Some related code reordering and clean-up.
        * t/tar-ustar-id-too-high.sh: New test.
        * t/list-of-tests.mk: Add it.
        * t/tar.sh: While at it, tweak and enhance a little.
        * t/tar2.sh: Likewise.
        * t/tar3.sh: Likewise.
        * t/tar-override.sh: Likewise.
        * NEWS: Update.
        * THANKS: Likewise.

        Helped-by: Pavel Raiskup <praiskup@redhat.com>
        Helped-by: Petr Hracek <phracek@redhat.com>
        Helped-by: Marc Herbert <marc.herbert@intel.com>
        Helped-by: Tom Rini <tom_rini@mentor.com>

2013-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          docs: issues with configure substitutions in TESTS
          tests: avoid possible autotools caching issues (automake bug#13832)
          docs: add myself and Ralf Wildenhues as authors
          authors: add myself
          dry-run: don't get confused by '-I' option
          tests: avoid a spurious failure with the Korn Shell
          dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
          header vars: can determine whether we are running under GNU make
          NEWS: improve wording for automake bug#13514 fix
          NEWS: document fix for automake bug#13514

2013-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge few bug-fixing branches into branch-1.13.2

        * fix-part-pr13832:
          tests: avoid possible autotools caching issues (automake bug#13832)

        * fix-pr13760:
          dry-run: don't get confused by '-I' option
          dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
          header vars: can determine whether we are running under GNU make

        * fix-doc-pr14019:
          docs: issues with configure substitutions in TESTS

        * news-wording-improve:
          NEWS: improve wording for automake bug#13514 fix

2013-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: issues with configure substitutions in TESTS

        Motivated by automake bug#14019.

        * doc/automake.texi: Currently, when the parallel test harness is in use,
        configure substitutions in TESTS definitions can only work if they expand
        to tests that ends with a suffix listed in TEST_EXTENSIONS.  Document this
        limitation.

2013-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid possible autotools caching issues (automake bug#13832)

        * t/ar-lib4.sh: Here, by removing the autom4te cache before editing
        configure.ac and re-running the autotools.

2013-04-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: rename some with more descriptive names

        * t/tar3.sh: Rename ...
        * t/tar-opts-errors.sh: ... like this.
        * t/tar2.sh: Rename...
        * t/tar-pax.sh: ... like this.
        * t/tar.sh: Rename ...
        * t/tar-ustar.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

2013-04-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: add myself and Ralf Wildenhues as authors

        * doc/automake.texi: Here.

2013-04-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        authors: add myself

2013-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        dry-run: don't get confused by '-I' option

        Fixes automake bug#13760 for non-GNU make implementations that still
        support the option '-I'.  So far, the only such make implementation
        are FreeBSD (8.x) make and NetBSD (5.x) make.

        * lib/am/header-vars.am (am__make_dryrun): If a non-GNU make is being
        used, try to handle the '-I' option in $MAKEFLAGS correctly.  For GNU
        make, that is already done by the proper use of the $MFLAGS variable.

2013-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid a spurious failure with the Korn Shell

        * t/list-flags.sh: Ensure the EMACS variable is set before unsetting it.

2013-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)

        Fixes automake bug#13760 for GNU make.

        * lib/am/header-vars.am (am__make_dryrun): If GNU make is being used, rely
        on the contents of the $(MFLAGS) variable rather than of the $(MAKEFLAGS)
        to decide whther make is being executed in "dry run" mode.  Not only this
        makes the code possibly faster and less brittle, but also fixes automake
        bug#13760 (at least when GNU make is in use).
        * t/make-dryrun.tap: Adjust: some tests that were xfailing now pass.

2013-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        header vars: can determine whether we are running under GNU make

        This is mostly a preparatory patch in view of future changes.

        * lib/am/header-vars.am (am__is_gnu_make): New, contains shell code that
        determines whether we are running under GNU make.
        * t/make-is-gnu.sh: New test.
        * t/list-of-tests.mk: Add it.

2013-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: improve wording for automake bug#13514 fix

        Helped-by: Jack Kelly <jack@jackkelly.name>

2013-04-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: document fix for automake bug#13514

        It was fixed by commit v1.13.1b-5-g7a3d7ce.

2013-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          INSTALL: regen
          sync: update files from upstream with "make fetch"
          tests: tweaks and minimal improvements to t/insthook.sh
          typofix: in comments in t/extra2.sh
          tests: fix botched cross-reference in a heading comment

2013-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          INSTALL: regen
          sync: update files from upstream with "make fetch"
          tests: tweaks and minimal improvements to t/insthook.sh

2013-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        INSTALL: regen

2013-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        sync: update files from upstream with "make fetch"

        * lib/INSTALL: Update.
        * lib/config.guess: Likewise.
        * lib/config.sub: Likewise.
        * lib/gendocs.sh: Likewise.
        * lib/gendocs_template: Likewise.
        * lib/gitlog-to-changelog: Likewise.
        * lib/gnupload: Likewise.
        * lib/texinfo.tex: Likewise.
        * lib/update-copyright: Likewise.

2013-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: tweaks and minimal improvements to t/insthook.sh

2013-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        typofix: in comments in t/extra2.sh

2013-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: fix botched cross-reference in a heading comment

        * t/extra-dist-wildcards.sh: Here.

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        compat: reinstate support for obsolete $(INCLUDES) variable

        Since INCLUDES and AM_CPPFLAGS can be both used at the same time in a
        single project, and interact in a non-obvious way, switching away from
        INCLUDES is, unfortunately, not simply a matter of doing a mindless
        INCLUDES -> AM_CPPFLAGS substitution.  In fact, the transition from a
        "INCLUDES + CPPFLAGS" setup to a "AM_CPPFLAGS only" setup could cause
        subtle bugs to sneak into the build systems of the client packages
        doing the transition.  Forcing this risk upon our users is definitely
        not worth the small enhancement in consistency and cleanliness that
        the removal of INCLUDES would give us.

        For a more extended rationale and related discussions, see:
        <http://lists.gnu.org/archive/html/automake/2013-02/msg00001.html>

        This change basically reverts commit v1.13-8-g880595d.

        * automake.in: Re-introduce support for INCLUDES (its use will cause
        warnings in the 'obsolete' category rather than fatal errors).
        * doc/automake.texi: Adjust to re-add mention of INCLUDES.
        * t/includes-no-more.sh: Rename ...
        * t/includes-deprecation.sh: ... like this, and adjust.
        * t/list-of-tests.mk: Update.
        * t/warnopts.sh: Minor fixlet while at it.

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

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          automake: refactoring: factor out common cpp-like flags

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        automake: refactoring: factor out common cpp-like flags

        * automake.in (@cpplike_flags): In this new variable...
        (C, C++, Objective C, Objective C++, Unified Parallel C, Preprocessed
        Assembler, Preprocessed Fortran, Preprocessed Fortran 77): ... to be
        used by registration (with the 'register_language' subroutine) of these
        languages.

        This is a refactoring meant to simplify future changes; no semantic
        change is intended.

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          NEWS (mint): reflect new Automake versioning scheme

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS (mint): reflect new Automake versioning scheme

        The next minor Automake version will be 1.14, and *not* 1.13.2 -- that
        will be the next bug-fixing version.

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS (master): reflect new Automake versioning scheme

        The next minor Automake version will be 1.14 (not 1.13.2 -- that will
        be the next bug-fixing version).  And the next major Automake version
        will be 2.0.

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          Add missing '$' for variable expansion in depout.m4
          maintcheck: avoid spurious failure
          perl: perl subroutine prototypes are problematic, don't use them
          fixup: one stray reference to older versioning scheme

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          Add missing '$' for variable expansion in depout.m4
          fixup: one stray reference to older versioning scheme

2013-04-19  Gavin Smith  <gavinsmith0123@gmail.com>  (tiny change)

        Add missing '$' for variable expansion in depout.m4

        * m4/depout.m4: "am__include" appeared where "$am__include" was meant.

        Reference:
        <http://lists.gnu.org/archive/html/automake-patches/2013-04/msg00000.html>

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'preproc' into maint

        * preproc:
          maintcheck: avoid spurious failure

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maintcheck: avoid spurious failure

        * t/preproc-errmsg.sh: Here, breaking up a sed command to avoid spuriously
        triggering a failure in the 'sc_tests_logs_duplicate_prefixes' maintainer
        check.

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'no-perl-protos' into maint

        * no-perl-protos:
          perl: perl subroutine prototypes are problematic, don't use them

2013-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        perl: perl subroutine prototypes are problematic, don't use them

        Basically, in perl, "subroutine prototypes" are not prototypes at all;
        rather, they are a trick to allow user-defined subroutines that behave
        like perl built-in functions.  For example, prototyped subroutines can
        be called without parentheses, and can impose context on their arguments.

        Such semantics can be useful in some selected situations, but might also
        easily cause unexpected and harmful behaviours and side effects if we
        try to use perl prototypes as we would use C prototypes.

        See the excellent article "Far More than Everything You've Ever Wanted
        to Know about Prototypes in Perl" by Tom Christiansen for more detailed
        information:

            <http://www.perlmonks.org/?node_id=861966>
            <http://web.archive.org/web/20080421062920/\
             library.n0i.net/programming/perl/articles/fm_prototypes>

        It is important to note that modern perl allows a non-predeclared
        subroutine to be called without the '&' character, as long as its
        call uses proper parentheses:

            foo 'str', 2;   # will trigger errors if foo is not predeclared
            foo('str', 2);  # ok even if foo is not predeclared
            &foo('str', 2); # ditto; but the '&' is old-style and redundant

        Note also that the prototype indicating "no argument":

            sub func() { ... }

        can actually be useful, and has no discernible downsides, so we'll
        keep using it where it makes sense.

        Also, in few, selected cases, we *want* to have subroutines behave like
        perl builtins (e.g., we want the 'append_exeext' function to be able
        to take a code block as first argument).  In such cases, we will of
        course continue to make use of perl subroutine prototypes.

        Let's finally see an example that might clarify the kind of problems the
        use of subroutine prototypes in perl can cause.  This is just scratching
        the surface; there are several other aspects, typically subtler and more
        dangerous, that are not touched here.

        If you have the prototyped subroutine definition:

            sub foo ($@)
            {
                my $s = shift;
                print "SCALAR: $s\n";
                print "ARRAY: @_\n";
            }

        and call 'foo' in code like:

            @list = (-1, 0, 1);
            foo(@list);

        you won't get a compile-time nor a runtime error (as a naive interpretation
        of the "prototype" characterization would let you think).  Rather, the
        prototype will cause the array '@list' will be coerced into scalar context
        before being passed too 'foo', which means that its *length* (3) will be
        passed to 'foo' as first argument; and since no further arguments are
        present after '@list', that *void* will be coerced to an empty list before
        being passed to 'foo'.

        So code above will have the result of printing:

          SCALAR: 3
          ARRAY:

        Quite tricky, and definitely a behaviour we don't want to rely on.

        * automake.in: Delete most subroutine prototypes.  Fix few of the
        remaining ones.  Related minor simplifications and adjustments.
        * lib/gen-perl-protos: Adjust.

2013-03-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          preproc: enhance and extend tests
          preproc: add support for relative names in included fragments

2013-03-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'preproc' into maint

        * preproc:
          preproc: enhance and extend tests
          preproc: add support for relative names in included fragments

2013-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        fixup: one stray reference to older versioning scheme

        * lib/Automake/Options.pm: Here, in a FIXME comment: reference
        "Automake 3.0" rather than "Automake 1.15".

2013-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint' into master

        * maint:
          maint: more adjustments to the new versioning scheme
          aclocal: fix for more-than-once specified directories
          aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
          coverage: expose automake bug#13760
          tests: refactor/enhance tests about make dry-run mode
          maint: describe new versioning and branching scheme, and adjust to it
          cosmetics: fix some "docstring-like" comments in automake

2013-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          aclocal: fix for more-than-once specified directories
          aclocal: just warn if the primary local m4 dir doesn't exist (don't error)

2013-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: more adjustments to the new versioning scheme

        This is a follow-up to commit 'v1.13.1b-11-g97aaf12'.

        * automake.in: Adjust a comment.
        * PLANS: Adjust several files in here.

2013-02-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'fix-pr13514' into branch-1.13.2

        * fix-pr13514:
          aclocal: fix for more-than-once specified directories
          aclocal: just warn if the primary local m4 dir doesn't exist (don't error)

2013-02-21  Pavel Raiskup  <praiskup@redhat.com>

        aclocal: fix for more-than-once specified directories

        Related to automake bug#13514.

        Do not consider directories for extra m4 files multiple times in
        'aclocal'.  Doing so caused problems on older packages that specify

            configure.ac:  AC_CONFIG_MACRO_DIRS([m4])
            Makefile.am:   ACLOCAL_AMFLAGS = -I m4

        if the 'm4' directory does not exist when aclocal is called the first
        time by autoreconf.

        See:
        <http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html>

        * aclocal.in (scan_m4_files): Remove duplicates in @user_includes.
        * t/aclocal-macrodir.tap: Extend.
        * t/aclocal-macrodirs.tap: Likewise.

2013-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'docstrings-tweaks' into maint

        * docstrings-tweaks:
          cosmetics: fix some "docstring-like" comments in automake

2013-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          coverage: expose automake bug#13760
          tests: refactor/enhance tests about make dry-run mode
          maint: describe new versioning and branching scheme, and adjust to it

2013-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'new-versioning-scheme' into branch-1.13.2

        * new-versioning-scheme:
          maint: describe new versioning and branching scheme, and adjust to it

2013-02-20  Pavel Raiskup  <praiskup@redhat.com>

        aclocal: just warn if the primary local m4 dir doesn't exist (don't error)

        Related to automake bug#13514.

        Every package which does not need to have the local m4 macro
        directory pre-existing in the version control system (because
        e.g., it does not have nor need any private m4 macros) would
        fail during the "autoreconf -vfi" phase if AC_CONFIG_MACRO_DIRS([m4])
        is specified in configure.ac (it could be to instruct tools like
        'autopoint' and 'libtoolize' to use 'm4' as the local directory
        where to install definitions of their m4 macros, and to instruct
        aclocal to look into it).  The failure would go like this:

          autoreconf: Entering directory `.'
          autoreconf: running: aclocal --force
          aclocal: error: couldn't open directory 'm4': No such file or directory
          autoreconf: aclocal failed with exit status: 1

        The problem is that when 'aclocal' is run for the first time during
        'autoreconf', the directory 'm4' does not exist yet.  It will be
        created by e.g., 'libtoolize' or 'autopoint' later on.  During the
        second 'aclocal' run, the 'm4' directory exists and aclocal does not
        complain.

        To work around this issue, we degrade the error to a simple warning.
        The warning is still quite useful when aclocal is run by hand - so
        we are not removing completely.

        See also:
        <http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html>
        <http://lists.gnu.org/archive/html/automake-patches/2010-02/msg00030.html>
        <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565663>
        <https://bugzilla.redhat.com/show_bug.cgi?id=901333>

        * aclocal.in (SCAN_M4_DIRS_SILENT, SCAN_M4_DIRS_WARN)
        (SCAN_M4_DIRS_ERROR): New constants.
        (scan_m4_dirs): Change the second parameter name to $ERR_LEVEL to
        better reflect new semantic. Use new constants.
        (scan_m4_files): Adjust to reflect the new 'scan_m4_dirs' semantics.
        * t/aclocal-macrodir.tap: Adjust.
        * t/aclocal-macrodirs.tap: Likewise.
        * THANKS: Update.
        * NEWS: Likewise.

        Suggested-by: Ben Pfaff <blp@cs.stanford.edu>

2013-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        coverage: expose automake bug#13760

        * t/make-dryrun.tap: Here.
        * THANKS: Update with the name of the bug reporter.

2013-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: refactor/enhance tests about make dry-run mode

        * t/make-dryrun.tap: Here.

2013-02-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: describe new versioning and branching scheme, and adjust to it

        See discussion about automake bug#13578 for more details and background.

        Basically, for the versioning scheme:

          - micro versions only for bug and regression fixing;
          - minor versions for new backward-compatible features, and new
            non-fatal deprecations;
          - major versions for backward-incompatibilities, complex new
            features, and major refactoring.

        And for the git branching scheme:

          + branch 'next' is for the upcoming major version;
          + branch 'master' is now for the upcoming minor version;
          + branch 'maint' is for the upcoming micro (bug-fixing) version;
          + the merging hierarchy is: 'maint' -> 'master' -> 'next'.

        * HACKING (Automake versioning and compatibility scheme): New.
        (Working with git): Adjust.
        * NEWS: Update and fix.
        * aclocal.in: Adjust some "FIXME" messages.
        * automake.in: Likewise.
        * m4/mkdirp.m4: Likewise.
        * t/aclocal-acdir.sh: Likewise.
        * t/aclocal-macrodir.tap: Likewise.
        * t/aclocal-macrodirs.tap: Likewise.
        * lib/Automake/Options.pm: Likewise.
        * m4/internal/ac-config-macro-dirs.m4: Likewise.

2013-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cosmetics: fix some "docstring-like" comments in automake

        * automake.in: Here.  And remove some redundant ones.

2013-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          style: call perl functions 'like_this()', not '&like_this()'
          maint: use more perl subroutines prototypes in the automake script
          build: auto-generate perl subroutines prototypes for automake and aclocal
          refactor: rip module Automake::Language out of automake script

2013-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'perl-sub-protos' into maint

        * perl-sub-protos:
          style: call perl functions 'like_this()', not '&like_this()'
          maint: use more perl subroutines prototypes in the automake script
          build: auto-generate perl subroutines prototypes for automake and aclocal
          refactor: rip module Automake::Language out of automake script

2013-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          typofix: in comments in 't/ax/test-lib.sh'
          tests on TAP: don't run the driver with perl unconditionally
          typofix: in comments in 'automake.in'
          tests: remove obsolete (and now wrong) comment
          typofix: in diagnostic in test 't/tap-realtime.sh'
          automake: fix reference to relevant tests in comments
          NEWS: we no longer plan to drop $(INCLUDES) support in next major version

2013-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          typofix: in comments in 't/ax/test-lib.sh'
          tests on TAP: don't run the driver with perl unconditionally
          typofix: in comments in 'automake.in'
          tests: remove obsolete (and now wrong) comment
          typofix: in diagnostic in test 't/tap-realtime.sh'
          automake: fix reference to relevant tests in comments
          NEWS: we no longer plan to drop $(INCLUDES) support in next major version

2013-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        typofix: in comments in 't/ax/test-lib.sh'

2013-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        style: call perl functions 'like_this()', not '&like_this()'

        We can do so now that our build rules auto-generate a list of
        prototypes for all functions ins our scripts.

        * automake.in: Adjust throughout.
        * HACKING: Adjust advises.

2013-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        preproc: enhance and extend tests

        * t/preproc-demo.sh: New test, a "demo" of how the new pre-processing
        feature could be used in a real-world package.
        * t/preproc-errmsg.sh: New test, check that error messages remain
        useful when the new pre-processing features are involved.
        * t/preproc-reldir.sh: Split up ...
        * t/preproc-basics.sh, t/preproc-c-compile.sh: ... into these two
        tests, with some refactorings, clean-up and enhancements.
        * t/list-of-tests.mk: Adjust.

2013-02-14  Peter Rosin  <peda@lysator.liu.se>
            Stefano Lattarini  <stefano.lattarini@gmail.com>

        preproc: add support for relative names in included fragments

        The rationale for this change is that it is annoying to have
        to repeat the directory name when including a Makefile fragment.
        For deep directory structures these repeats can generate a lot
        of bloat.  It also hinders reuse and easy directory restructuring
        if all Makefile fragments have to know exactly where they live.

        Suggested by Bob Friesenhahn, and later discussed in bug#13524.

        In the course of discussion, the following notations were rejected:
        &{reldir}& - to hard to type, {reldir} - interferes with ${reldir},
        {am_reldir} - short form {D} interferes with ${D}, @am_reldir@ - short
        form @D@ interferes with AC_SUBST([D]) as well as invading the
        config.status turf. Other notations were also suggested...

        * automake.in (read_am_file): Add third argument specifying the
        relative directory of this Makefile fragment compared to the
        main Makefile.  Replace %reldir% and %canon_reldir% in the
        fragment with this relative directory (with slashes etc, or
        canonicalized).
        (read_main_am_file): Adjust.
        * t/preproc-reldir.sh: New test.
        * t/list-of-tests.mk: Augment.
        * doc/automake.texi (Include): Document the new feature.
        NEWS: Add new feature.

2013-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests on TAP: don't run the driver with perl unconditionally

        * t/ax/tap-setup.sh: When a 'Makefile.am' was pre-existent in the
        test directory at the moment the client test script sourced this
        file, said 'Makefile.am' was tweaked to provide it with a proper
        definition of TEST_LOG_DRIVER.  However, there was an error in this
        automatic definition, since it caused the TAP test driver to be
        unconditionally invoked with perl.  This wasn't an issue in most
        situations, since perl is smart enough to re-execute a given script
        with the proper interpreter if it sees a she-bang line that doesn't
        seem to point to perl itself.  Still, there is no reason to do
        something blatantly wrong even if our tools correct the dumb mistake
        for us.  So fix the TEST_LOG_DRIVER definition.

2013-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        typofix: in comments in 'automake.in'

2013-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove obsolete (and now wrong) comment

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

2013-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>

        typofix: in diagnostic in test 't/tap-realtime.sh'

2013-02-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: use more perl subroutines prototypes in the automake script

        * automake.in: Throughout this file.  Note that these new prototypes
        are not much useful, since many subroutine calls still use the old
        '&foo' form; but we'll take care of that in later patches.
        * lib/Automake/Language.pm (target_hook): Call the '_target_hook'
        of the given language in a more modern form, avoiding '&'.

2013-02-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

        build: auto-generate perl subroutines prototypes for automake and aclocal

        This will allow us to avoid either using the '&foo' invocation form when
        invoking a subroutine before its definition, or having to maintain the
        list of prototypes by hand (with the risk of having it become incomplete
        or fall out-of-sync when future edits to the automake and aclocal scripts
        are done).

        * Makefile.am (automake, aclocal): Automatically generate a list of
        prototypes by looking at the subroutines definitions.
        * bootstrap.sh: Likewise, when generating the temporary automake and
        aclocal scripts used for bootstrapping.
        * automake.in: Add a placeholder that will be tracked by the new recipes
        and substituted with the computed prototypes.  Remove existing prototypes,
        that are now superfluous. Some adjustments required by the new, more
        comprehensive prototypes declarations.
        * aclocal.in: Likewise.
        * maintainer/syntax-checks.mk (sc_diff_automake, sc_diff_aclocal): Adjust.

2013-02-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        refactor: rip module Automake::Language out of automake script

        This is just a preparatory patch in view of future changes.

        * lib/Automake/Language.pm: New module, ripped out from ...
        * automake.in: ... here.  Related adjustments.
        * Makefile.am (dist_perllib_DATA): List the new module.

2013-02-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        automake: fix reference to relevant tests in comments

        Some of those tests had been renamed in recent or less-recent changes.

2013-02-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: we no longer plan to drop $(INCLUDES) support in next major version

        For a rationale and related discussion, see:
        <http://lists.gnu.org/archive/html/automake/2013-02/msg00001.html>

        And note that support for INCLUDES has not been re-introduced in the
        master branch yet, at the moment of writing; but we plan to definitely
        do so before the next major release.

2013-01-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: IRIX is still supported; only SGI depmode no longer is

        This change is for the master branch (see the similar commit
        'v1.13.1b-3-g97f04a5' on the maint branch).

        The only IRIX-specific support that is actually removed in master (and
        thus in the next major Automake version) is the depcomp support for the
        SGI compiler.  That means that automatic dependency tracking will no
        longer work with that compiler, but "normal" compilation should still
        work, at least until the compiler is supported by Autoconf.

        So there is no point in alarming our users by stating in the NEWS file
        that "support for IRIX and the SGI compilers has been removed"; after
        all, while we don't test on nor particularly care about IRIX anymore,
        that doesn't mean we are deliberately breaking it, and the likelihood
        of an intended breakage there is very low.

        See:
        <http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00164.html>
        <http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00165.html>

        * NEWS: Adjust.  Improve explanation of our rationale for dropping
        support for the SGI compilers.

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

2013-01-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          NEWS: IRIX is still supported; only SGI C compiler depcomp no longer is
          maint: version bump after beta release 1.13.1b
          NEWS: typofix
          release: beta release 1.13.1b (will become 1.13.2)

2013-01-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          NEWS: IRIX is still supported; only SGI C compiler depcomp no longer is
          maint: version bump after beta release 1.13.1b
          NEWS: typofix
          release: beta release 1.13.1b (will become 1.13.2)

2013-01-28  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: IRIX is still supported; only SGI C compiler depcomp no longer is

        This change is for the maint branch.

        The only IRIX-specific support that is going to actually be removed in
        the next major Automake versions is the depcomp support for the SGI
        compiler.  That means that automatic dependency tracking will no
        longer work with that compiler, but "normal" compilation should still
        work, at least until the compiler is supported by Autoconf.

        So there is no point in alarming our users by stating in the NEWS file
        that "support for IRIX and the SGI compilers is going to be removed";
        after all, while we don't test on nor particularly care about IRIX
        anymore, that doesn't mean we are deliberately breaking it, and the
        likelihood of an intended breakage there is very low.

        See:
        <http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00164.html>
        <http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00165.html>

        * NEWS (Future backward-incompatibilities: Adjust.  Improve explanation
        of our rationale for dropping SGI support. Fix an unrelated typo while
        at it.

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

2013-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        coverage: split info files are not installed nor distributed

        See automake bugs #12320 and #13351.

        * t/txinfo-no-extra-dist.sh: Enhance.

2013-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: version bump after beta release 1.13.1b

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

2013-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: typofix

2013-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        release: beta release 1.13.1b (will become 1.13.2)

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

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          docs: '.txi' and '.texinfo' extensions are deprecated
          NEWS: document recent documentation improvements
          docs: more precise cross reference
          docs: 'dist-shar' and 'dist-tarZ' are obsolescent today
          docs: improve documentation of 'dist-*' targets slightly
          docs: make even clearer 'dist-gzip' is the default.
          docs: document 'dist-xz' together with the other 'dist-*' options
          docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets
          warn: correct broken hyperlink in warning message

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        * branch-1.13.2:
          docs: '.txi' and '.texinfo' extensions are deprecated
          NEWS: document recent documentation improvements
          docs: more precise cross reference
          docs: 'dist-shar' and 'dist-tarZ' are obsolescent today
          docs: improve documentation of 'dist-*' targets slightly
          docs: make even clearer 'dist-gzip' is the default.
          docs: document 'dist-xz' together with the other 'dist-*' options
          docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets
          warn: correct broken hyperlink in warning message

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: '.txi' and '.texinfo' extensions are deprecated

        And Automake will warn about them (since commit 'v1.13.1-6-ge1ed314').

        * doc/automake.texi (Texinfo): Adjust.

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: document recent documentation improvements

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: more precise cross reference

        See automake bug#13520.

        * doc/automake.texi (The Types of Distributions): Here,
        cross-reference "List of Automake options" rather then
        the more generic node "Options".  Improve wording while
        at it.

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: 'dist-shar' and 'dist-tarZ' are obsolescent today

        Both the options and the formats; and they might be deprecated
        and removed in future automake versions (see discussion on
        automake bug#13324).

        In any case, it's better if the documentation starts advising
        against their use right now.

        * doc/automake.texi (The Types of Distributions): Here.
        (List of Automake options): And here.

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: improve documentation of 'dist-*' targets slightly

        * doc/automake.texi (The Types of Distributions): Here.

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: make even clearer 'dist-gzip' is the default.

        See automake bug#13520.

        * doc/automake.texi (The Types of Distributions): Here.

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: document 'dist-xz' together with the other 'dist-*' options

        See automake bug#13520.

        * doc/automake.texi (List of Automake options): Here.

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets

        See automake bug#13519.

        * doc/automake.texi: Adjust.

2013-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        warn: correct broken hyperlink in warning message

        * automake.in (scan_autoconf_traces): Here, when an use of the
        deprecated two- and three-arguments forms of AM_INIT_AUTOMAKE
        is detected.

        Fixes automake bug#13519.

2013-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: more information about Lex and Yacc programs
          lint: fix spurious failure for 'sc_rm_minus_f' syntax check
          maint: bump version 1.13.1a -> 1.13.2a
          maint: update copyright in files generated by automake and aclocal
          tests: avoid a spurious failure when running inside Emacs
          tests: make two new test executable
          m4: rename an m4 file to a more appropriate name
          NEWS: update w.r.t. recent documentation fixes
          compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC
          docs: parallel-tests is no longer experimental
          docs: serial-tests are not deprecated, just discouraged
          plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
          NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
          init.m4: add probe to check "rm -f" without args work

2013-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: more information about Lex and Yacc programs

        * t/get-sysconf.sh: Try to also get the version of '$LEX' and '$YACC'.
        This will help debugging of user-reported problems.

2013-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        lint: fix spurious failure for 'sc_rm_minus_f' syntax check

        * maintainer/syntax-checks.mk (sc_rm_minus_f): Also exempt
        file 't/rm-f-probe.sh'.

2013-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: bump version 1.13.1a -> 1.13.2a

        The 1.13.2 bug-fixing release will ship from the 'branch-1.13.2' git
        branch, not from the 'maint' one, since the latter contains changes
        that are non-trivial and hasn't cooked enough yet.  The 'maint' branch
        will give rise to the 1.13.3 release instead, eventually.  Adjust the
        version number to match.

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

2013-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'branch-1.13.2' into maint

        That branch is for the "emergency" bug-fixing release 1.13.2.

        * branch-1.13.2:
          maint: update copyright in files generated by automake and aclocal
          tests: avoid a spurious failure when running inside Emacs
          tests: make two new test executable
          m4: rename an m4 file to a more appropriate name
          NEWS: update w.r.t. recent documentation fixes
          compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC
          docs: parallel-tests is no longer experimental
          docs: serial-tests are not deprecated, just discouraged
          NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14

2013-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: update copyright in files generated by automake and aclocal

        * bootstrap.sh ($RELEASE_YEAR): Bump top 2013.
        * configure.ac ($RELEASE_YEAR): Likewise.

2013-01-21  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)

        tests: avoid a spurious failure when running inside Emacs

        Some versions of Emacs set the environment variable 'EMACS' to 't'
        for child processes.  Thus, when running from inside Emacs, "$(MAKE) -e"
        erroneously allows the 't' to override the one in the Makefile.

        * t/lisp-flags.sh: Unset var 'EMACS', fixing the issue.

2013-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: make two new test executable

        * t/backslash-issues.sh: This.
        * t/extra-data.sh: And this.

        Issue revealed by the 'sc_tests_executable' maintainer check.

2013-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        m4: rename an m4 file to a more appropriate name

        * m4/obsolete-err.m4: Rename ...
        * m4/obsolete.m4: ... like this.
        * Makefile.am (dist_automake_ac_DATA): Adjust.
        * t/ansi2knr-no-more.sh: Likewise.

2013-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: update w.r.t. recent documentation fixes

2013-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC

        Make them give runtime warnings in the obsolete category, but apart
        from that, make them behave as they did in Automake 1.12.x and earlier.

        While removing those macros seemed quite harmless, because it didn't put
        a real burden on the developers (requiring them just to do a quick edit
        to configure.ac), it turned out to place an unsustainable burden (or at
        least, a burden perceived as such) on distro packagers who use the latest
        Automake to bootstrap existing packages.  Many of those packages, while
        having likely updated to AC_CONFIG_HEADERS in their development version,
        still used AM_CONFIG_HEADER in their existing released versions, and the
        removal of this macro would have thus forced the Fedora packagers to
        patch all of them.  References:

          <http://www.mail-archive.com/devel@lists.fedoraproject.org/msg52840.html>
          <http://www.spinics.net/lists/fedora-devel/msg175922.html>
          <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>

        In addition, the Fedora packagers have already decided to patch their
        Automake 1.13.1 to reinstate the AM_CONFIG_HEADER and AM_PROG_CC_STDC
        macros (plus other macros that I don't believe it's worth worrying about):

          <http://www.spinics.net/lists/fedora-devel/msg176098.html>
          <http://www.mail-archive.com/devel@lists.fedoraproject.org/msg53030.html>
          <http://pkgs.fedoraproject.org/cgit/automake.git/commit/?id=ffe6bc39>

        So, rather than having one more incompatibility floating around, we
        better mirror that change (or, actually, its relevant parts) in the
        upstream.

        * m4/obsolete-err.m4 (AM_CONFIG_HEADER, AM_PROG_CC_STDC): Revert to the
        older semantics, plus a runtime warning in the 'obsolete' category.
        * t/backcompat6.sh: Use AM_CONFIG_HEADER once again.
        * t/am-config-header-no-more.sh: Rename ...
        * t/am-config-header.sh: ... like this, and adjust.
        * t/am-prog-cc-stdc-no-more.sh: Rename ...
        * t/am-prog-cc-stdc.sh: ... like this, and adjust.
        * t/list-of-tests.mk: Adjust.
        * NEWS: Update.

2013-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'rm-f-probe' into maint

        * rm-f-probe:
          init.m4: add probe to check "rm -f" without args work

2013-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: parallel-tests is no longer experimental

        So don't declare it as such in the documentation.

        Reported by Brandon Black:
        <http://lists.gnu.org/archive/html/automake/2013-01/msg00052.html>

        * doc/automake.texi: Adjust.
        * THANKS: Update.

2013-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: serial-tests are not deprecated, just discouraged

        We don't plan to remove support for them, nor to have the serial-tests
        option give any kind of runtime warning, so don't alarm the users
        still using serial tests with pointless "deprecation" or "obsolescence"
        warnings.

        Fixes automake bug#13478.

        See also:
        <http://lists.gnu.org/archive/html/automake/2013-01/msg00058.html>

        * doc/automake.texi: Adjust.
        * THANKS: Update.

2013-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS (master): we are not going to remove AM_PROG_MKDIR_P in 1.14

        See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore
        AM_PROG_MKDIR, again", for the rationale.

2013-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14

        See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore
        AM_PROG_MKDIR, again", for the rationale; that rationale is now
        also copied...

        * PLANS/obsolete-removed/am-prog-mkdir-p.txt: ... here.

2013-01-18  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14

        See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore
        AM_PROG_MKDIR, again", for the rationale.

2013-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'texi-no-split-info'

        * texi-no-split-info:
          texi: no longer support split info files

2013-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          subdir-objects: complain if it isn't enabled
          plans: update w.r.t. latest changes

2013-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        compat: restore AM_PROG_MKDIR, again

        OK, this is getting ridiculous, but we cannot remove this macro yet
        (and, yes, the fault for this mess lies entirely on me; let's not
        dwell on that, thank you very much).

        Gettext (so far the greatest "offender" in the use of AM_PROG_MKDIR), in
        its latest release 0.18.2, has removed all the uses of that macro still
        present in its code base.  So I thought we could finally and safely
        remove it.  Wrong.  If a package's 'configure.ac' contains a call like:

           AM_GNU_GETTEXT_VERSION([0.18])

        then the 'autopoint' script will bring the data files from the Gettext
        release *1.18* into the package's tree -- yes, even even if the developer
        has installed *and is using* Gettext 1.18.2!  Now, these data files
        comprise m4 files (that will be seen by subsequent aclocal and autoconf
        calls), and of course, the pre-0.18.2 version of some of these files
        still contains occurrences of AM_PROG_MKDIR_P -- so Automake 1.13 errors
        out, and we lose.  This has already happened in practice:

          <http://lists.gnu.org/archive/html/bug-grep/2013-01/msg00003.html>

        Moreover, while we might see it as not unreasonable to ask a developer
        using Automake 1.14 to also update Gettext to 1.18.2, that would not
        be enough; in order for gettext to use the correct data files, our
        developer would have to update his configure.ac to read:

           AM_GNU_GETTEXT_VERSION([0.18.2])

        thus requiring *all* of his co-developers to install Gettext 1.18.2,
        even if they are still using, say, Automake 1.13.  Bad.

        So we re-instate this macro as a simple alias for AC_PROG_MKDIR (plus
        a non-fatal runtime warning in the 'obsolete' category), and drop any
        plan to remove it (see how much good those plans have done us so far).

        Note that NEWS is not yet adjusted, since we'll have to adjust it in
        maint before (to minimize spurious merge conflicts).

        * doc/automake.texi: Update.
        * PLANS/obsolete-removed/am-prog-mkdir-p.txt: Likewise.
        * t/gettext-macros.sh: Adjust.
        * t/am-prog-mkdir-p.sh: New test.
        * t/mkdir_p.sh: Remove, folded into the new one.
        * t/am-prog-mkdir-p-no-more: Remove as superseded.
        * t/list-of-tests.mk: Adjust.
        * t/obsolete-err.m4: Re-instate AM_PROG_MKDIR_P as a working
        alias for AC_PROG_MKDIR_P (albeit giving runtime warnings, and
        calling AC_SUBST on 'mkdir_p' too).
        * m4/init.m4 (AM_INIT_AUTOMAKE): No longer call AC_SUBST for
        'mkdir_p', as that is once again AM_PROG_MKDIR_P's business.

2013-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

        init.m4: add probe to check "rm -f" without args work

        See automake bug#10828.

        POSIX will say in a future version that running "rm -f" with no argument
        is OK: <http://austingroupbugs.net/view.php?id=542>).

        We want to be able to make that assumption in our Makefile recipes.
        So we introduce an aggressive probe to check that the usage we want is
        actually supported "in the wild" to an acceptable degree.

        * m4/init.m4 (AM_INIT_AUTOMAKE): Implement the probe.  To make any issue
        more visible, cause the running configure to be aborted by default if
        the 'rm' program in use doesn't match our expectations; the user can
        still override this though, by setting the ACCEPT_INFERIOR_RM_PROGRAM
        environment variable to "yes".

        * t/spy-rm.tap: Update heading comments.
        * t/rm-f-probe.sh: New test.
        * t/list-of-tests.mk: Add it.
        * PLANS/rm-f-without-args.txt: Adjust.

2013-01-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

        subdir-objects: complain if it isn't enabled

        Since the next major automake version will make the behaviour so far
        only activated with the 'subdir-object' option mandatory, it's better
        if we start warning users not using that option.

        As suggested by Peter Johansson, we strive to avoid the warning when
        it would be irrelevant, i.e., if all source files sit in "current"
        directory.

        See automake bug#13378.

        * automake.in (handle_single_transform): Print the warning when
        necessary.
        * t/subobj.sh: Enhance.
        * t/ax/depcomp.sh: Adjust.
        * t/cscope.tap: Likewise.
        * t/depcomp8a.sh: Likewise.
        * t/depcomp8b.sh: Likewise.
        * t/ext2.sh: Likewise.
        * t/extra-portability.sh: Likewise.
        * t/fort2.sh: Likewise.
        * t/fort4.sh: Likewise.
        * t/fort5.sh: Likewise.
        * t/lex-line.sh: Likewise.
        * t/libtool3.sh: Likewise.
        * t/ltinstloc.sh: Likewise.
        * t/ltlibsrc.sh: Likewise.
        * t/ltorder.sh: Likewise.
        * t/parallel-tests-suffix-prog.sh: Likewise.
        * t/sourcefile-in-subdir.sh: Likewise.
        * t/specflg9.sh: Likewise.
        * t/subobj4.sh: Likewise.
        * t/subobj7.sh: Likewise.
        * t/subpkg-yacc.sh: Likewise.
        * t/subpkg.sh: Likewise.
        * t/suffix-custom-subobj-and-specflg.sh: Likewise.
        * t/vala-libs.sh: Likewise.
        * t/vala-non-recursive-setup.sh: Likewise.
        * t/yacc-grepping2.sh: Likewise.
        * t/yacc-line.sh: Likewise.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        plans: update w.r.t. latest changes

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          ywrap: remove an obsolete FIXME comment
          ywrap: style fixes (no semantic change intended)
          convenience: "make lint" as an alias for "make maintainer-check"
          docs: typofix in manual
          coverage: using multiple lexers in a single program

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        ywrap: remove an obsolete FIXME comment

        If it were still relevant, somebody would have complained by now.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        ywrap: style fixes (no semantic change intended)

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        convenience: "make lint" as an alias for "make maintainer-check"

        * maintainer/syntax-checks.mk (lint): Here.  I'm a lazy typist ...

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: typofix in manual

        * doc/automake.texi (Yacc and Lex): Here, don't write "automake -i"
        where "automake -a" is actually intended.  Re-wrap some text while
        at it.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        coverage: using multiple lexers in a single program

        Using Flex and Automake built-in support for lex, that is possible.
        A little tricky, but not difficult.

        See:
        <http://lists.gnu.org/archive/html/automake/2010-10/msg00081.html>
        <http://lists.gnu.org/archive/html/automake/2009-03/msg00061.html>

        * t/lex-multiple.sh: New test.
        * t/list-of-tests.mk: Add it.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: remove most uses of the AM_PROG_CC_C_O obsolete macro
          coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors
          INSTALL: update copyright years
          ithreads: use runtime (not configure time) detection of perl threads
          copyright: add few missing copyright notices
          maint: files in PLANS are to be exempted from copyright notice
          maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable
          copyright: update some copyright years

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: remove most uses of the AM_PROG_CC_C_O obsolete macro

        Our NEWS file says its use will no longer be required in Automake
        1.13, so better make sure that is actually the case.

        * Several tests: Adjust.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors

        Suggested by Eric Blake.

        * t/am-prog-cc-c-o.sh: New test.
        * t/list-of-tests.mk: Add it.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        INSTALL: update copyright years

2013-01-12  Mike Frysinger  <vapier@gentoo.org>  (tiny change)

        ithreads: use runtime (not configure time) detection of perl threads

        I can't imagine the runtime checks being a big runtime penalty, so there
        shouldn't be a need to do the checks at configure check and hardcode the
        result in the generated automake.

        With the current system, it means if you change your perl config (build
        perl w/threads, build automake, build perl w/out threads), or deploy a
        compiled automake package on a different system (build had threads, but
        deployed system does not), you get errors when trying to run automake.

        So take the logic from configure.ac and move it to the one place where
        PERL_THREADS is used (lib/Automake/Config.in) and do the version/config
        checking at runtime.

        * bootstrap.sh (PERL_THREADS): Delete assignment and use in sed.
        * configure.ac (am_cv_prog_PERL_ithreads, PERL_THREADS): Delete all code
        related to these two variables.
        * lib/Automake/Config.in (perl_threads): Initialize to 0, and only set to
        1 if the perl version is at least 5.007_002, and useithreads is in Config.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        copyright: add few missing copyright notices

        Issue revealed by warnings from "make update-copyright".

        * maintainer/am-ft: Add copyright notice.
        * maintainer/am-xft: Likewise.
        * maintainer/rename-tests: Likewise.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: files in PLANS are to be exempted from copyright notice

        * maintainer/maint.mk (update-copyright): Adjust.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable

        * maintainer/maint.mk (update-copyright): Here.  The 'lib/update-copyright'
        already honoured it, but some parts of our recipe didn't.  This has caused
        the incomplete copyright bump that was fixed by the previous patch.

2013-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        copyright: update some copyright years

        With "make update-copyright".  Apparently they were missed in the
        last bump.

        * bootstrap.sh, configure.ac, t/txinfo-builddir.sh: In these files.

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

        Merge branch 'maint'

        * maint:
          compile: use 'compile' script when "-c -o" is used with losing compilers
          HACKING: suggest more checks before releasing
          tests: can fake a compiler not grasping "-c -o" -- globally in all tests
          sync: update files from upstream with "make fetch"
          typofix: in comments in GNUmakefile
          Rename 'maint/' -> 'maintainer/', for Git's sake
          HACKING: minor typofix
          HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes
          HACKING: rewindable branches should live in the 'experimental/*' namespace
          HACKING: fixlets about git branch rewinding policy
          HACKING: commit messages are not to follow GCS ChangeLog rules too strongly
          HACKING: "detailed explanation" in commit messages is almost mandatory
          HACKING: we use "merge --log" even when merging master
          HACKING: typofix
          depend2.am: fix comments on verbosity of compilation rules
          depend2.am: improve comments a little
          plans: automake 1.14 is to assume "rm -f" with no args is OK
          plans: we want to active subdir-objects unconditionally in automake 1.14

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

        compile: use 'compile' script when "-c -o" is used with losing compilers

        Do so seen when only source files in the "current" directory are present.

        This commit is part of a series of related changes addressing automake
        bug#13378 (see also the plan 'PLANS/subdir-objects.txt').

        Before this change, Automake-generated C compilation rules mistakenly
        passed the "-c -o" options combination unconditionally (even to losing
        compiler) when the 'subdir-objects' was used but sources were only
        present in the top-level directory.  Issue spotted by Nick Bowler:

          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>

        We fix this by having Automake redefine AC_PROG_CC to take over the role
        of AM_PROG_CC_C_O and to require the 'compile' script unconditionally
        (albeit that will continue to be invoked only when inferior compilers
        are detected).

        Among other things, this means AM_PROG_CC_C_O explicitly is no longer
        required; that macro is still supported for backward-compatibility, but
        calling it is basically a no-op now.

        This change has some pros and some cons (obviously, we believe the former
        outweighs the latter).  Here are the most relevant ones:

        + Pros 1:
          Some logic in the Automake script has been simplified.
        + Pros 2:
          That simplification has automatically fixed an actual bug (see
          Nick's mails referenced above; admittedly, that was present only in
          corner-case situations, but still); the test 't/ccnoco4.sh', which
          demonstrated the bug and has been failing so far, now passes.
        + Pros 3:
          Things works more "automagically" now (no need to manually add the
          AM_PROG_CC_C_O macro to configure.ac anymore).

        * Cons 1:
          The 'compile' script will be required in all projects using C
          compilation; this will only be a problem for packages not using
          '--add-missing'.  However, such packages are definitely more rare
          than the ones using '--add-missing', and adjusting them will be
          trivial -- just copy the compile script over from the new Automake
          installation.
        * Cons 2:
          The copy & paste of autoconf internals hack this change has introduced
          in our "rewrite" of AC_PROG_CC is really an egregious abomination.  It
          can only be justified with the fact that we expect future versions of
          autoconf to implement the semantics we need directly in AC_PROG_CC, so
          that we'll be able to leverage that (since Automake 1.14 will require
          the latest Autoconf version released).

        Now, the detailed list of file-by-file changes ...

        * automake.in ($seen_cc_c_o): Remove this global variable.
        (scan_autoconf_traces): Don't set it, and do not trace the
        'AM_PROG_CC_C_O' m4 macro.
        (lang_c_rewrite): Remove, no longer needed.
        * doc/automake.texi: Adjust expected "autoreconf --install" output
        in the amhello example.  Remove statements about the need for the
        AM_PROG_CC_C_O macro.  Report it is obsolete now.
        * m4/init.m4: Re-write AC_PROG_CC to append checks about whether the
        C compiler supports "-c -o" together.  These checks have basically
        been ripped out (with adaptations) from the 'AC_PROG_CC_C_O' macro
        of Autoconf and ...
        * m4/minuso.m4 (AM_PROG_CC_C_O): ... this macro of ours, which has
        thus basically become a no-op.
        * t/ax/am-test-lib.sh (am_setup_testdir): Also copy the 'compile'
        script in the test directory; if we don't do so, every test using
        AC_PROG_CC should call automake with the "--add-missing" option, or
        copy the 'compile' script itself.
        * t/cond11.sh: No need to create a dummy 'compile' script: that is
        already brought in by 'am_setup_testdir()', that is automatically
        invoked when 'test-lib.sh' is sourced.
        * t/add-missing.tap: Adjust: we expect the 'compile' script to be
        required by a mere AC_PROG_CC call now.
        * t/dist-auxdir-many-subdirs.sh: Likewise.
        * t/specflg6.sh: Likewise.
        * t/subobj4.sh: Likewise.
        * t/cxx-lt-demo.sh: Likewise, and update comments to match.
        * t/distcom2.sh: Enhance a little.
        * t/dollarvar2.sh: Adjust.
        * t/extra-portability.sh: Likewise.
        * t/libobj19.sh: Likewise.
        * t/per-target-flags.sh: Likewise.
        * t/repeated-options.sh: Likewise.
        * t/subobj.sh: Likewise, and enhance a little.
        * t/ccnoco2.sh: Remove as obsolete.
        * t/list-of-tests.mk (handwritten_TESTS): Adjust.
        (XFAIL_TESTS): Remove 't/ccnoco4.sh'.
        * NEWS: Update.

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

        HACKING: suggest more checks before releasing

        In particular, "make check-no-trailing-backslash-in-recipes",
        "make check-cc-no-c-o" and "make maintainer-check" should also
        be run.

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

        tests: can fake a compiler not grasping "-c -o" -- globally in all tests

        The ability to easily do so will be quite important in upcoming changes
        about C compilation handling and semantics of the 'subdir-objects'
        option.  Refer to the extensive discussion about automake bug#13378 for
        more details: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378>.

        See also commit 'v1.13.1-34-g744cd57' of 2013-01-08, "coverage: compile
        rules used "-c -o" also with losing compilers".

        * t/ax/cc-no-c-o.in: New, a "C compiler" that chokes when the '-c' and
        '-o' options are passed together to it on the command line.
        * Makefile.am (t/ax/cc-no-c-o): Generate this script from it.
        (noinst_SCRIPTS, CLEANFILES): Add it.
        (EXTRA_DIST): Add 't/ax/cc-no-c-o.in'.
        (check-cc-no-c-o): New target, runs the whole testsuite with 'cc-no-c-o'
        as the C compiler (bot GNU and non-GNU).
        * .gitignore: Update.
        * t/ccnoco.sh: Use the new script instead of duplicating it.
        * t/ccnoco3.sh: Likewise.
        * t/ccnoco4.sh: Likewise.
        * t/self-check-cc-no-c-o.sh: New testsuite self-check.
        * t/list-of-tests.mk: Adjust.

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

        sync: update files from upstream with "make fetch"

        * lib/INSTALL: Update.
        * lib/config.guess: Likewise.
        * lib/config.sub: Likewise.
        * lib/gendocs_template: Likewise.
        * lib/gitlog-to-changelog: Likewise.
        * lib/gnupload: Likewise.
        * lib/texinfo.tex: Likewise.
        * lib/update-copyright: Likewise.

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        typofix: in comments in GNUmakefile

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Rename 'maint/' -> 'maintainer/', for Git's sake

        Otherwise, Git gets confused by the fact that a directory ('maint')
        is named like a branch, and forces me to tweak the command line to
        resolve the ambiguity for it.

        * maint/: Rename ...
        * maintainer/: ... like this.
        * Makefile.am, GNUmakefile: Adjust.

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: minor typofix

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: rewindable branches should live in the 'experimental/*' namespace

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: fixlets about git branch rewinding policy

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: commit messages are not to follow GCS ChangeLog rules too strongly

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: "detailed explanation" in commit messages is almost mandatory

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: we use "merge --log" even when merging master

2013-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        HACKING: typofix

2013-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend2.am: fix comments on verbosity of compilation rules

        The situation and decisions described on those comments have become
        quite outdated since the introduction of the silent-rules support.
        Today, the general idea is to have nice, terse output if silent rules
        are enabled, and complete, faithful, very verbose output if they are
        not -- without trying to "massage" this verbose output in a more
        pleasant form if that would cause complication in the affected code.

        So it's better to just drop the obsolescent comments.

        Note that we don't start simplifying the existing rules according
        to this new philosophy; that will only be done when touching some
        existing code (for the 'depend2.am' code, that will probably happen
        on the master branch).

2013-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

        depend2.am: improve comments a little

        * lib/am/depend2.am: The "fastdep" mode is supported not only for
        gcc 3.x, but for gcc 3.x or later, in particular, for all gcc in
        the 4.x series (at the time of writing, the latest release is 4.72).
        Adjust the comments to match, and re-wrap them while at it.

2013-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

        plans: automake 1.14 is to assume "rm -f" with no args is OK

        See automake bug#10828.

        * PLANS/rm-f-without-args.txt: New.

2013-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

        plans: we want to active subdir-objects unconditionally in automake 1.14

        See automake bug#13378.

        * PLANS/subdir-objects.txt: New.
        * t/ccnoco4.sh: Improve heading comments a little.

2013-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: adjust stale references to old test names
          tests: rename the last aclocal test with dumb name
          tests: fix an old botched change to an aclocal test
          tests: fix some botched inter-test references in heading comments
          coverage: compile rules used "-c -o" also with losing compilers
          texi: remove extra verbosity in creation of dirstamp directory
          coverage: user can avoid distributing '.info' pages
          plans: add some on-going plans (already registered on the bug tracker)
          docs: mention dist-hook help for EXTRA_DIST
          texi: remove workaround for older Texinfo (4.1)
          NEWS: improve wordings in entry deprecating suffix-less info files
          plans: add the "PLANS" directory

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

        tests: adjust stale references to old test names

        * t/remake-renamed-m4-macro-and-file.sh: Adjust to reflect to old
        "acloca22 -> t/aclocal-deleted-header.sh" test rename.
        * t/aclocal-pr450.sh (configure.ac): Use '$me' in the AC_INIT call,
        instead of hard-coding the old name of this test, i.e., "acloca19".

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

        tests: rename the last aclocal test with dumb name

        * t/acloca10.sh: Rename ...
        * t/aclocal-I-install.sh: ... to this saner and slightly more
        self-explanatory name.
        * t/list-of-tests.mk: Adjust.

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

        tests: fix an old botched change to an aclocal test

        * t/acloca10.sh (configure.ac): Here, invoke the m4 macro 'MACRO2'
        before the macro 'MACRO1' (the related test 't/aclocal-I-order-2.sh'
        does the opposite).  This reverts a botched edit done (by myself,
        oops) in commit 'v1.11-1335-gefdc3e1' of 2011-09-11, "tests: minor
        optimizations/simplifications in some aclocal tests", and makes the
        behaviour of the test match once again what is stated in the
        heading comments.  While at it, improve those same heading comments
        a little.

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

        tests: fix some botched inter-test references in heading comments

        * t/aclocal-I-order-2.sh: Here.
        * t/aclocal-I-order-2.sh: And here.

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

        coverage: compile rules used "-c -o" also with losing compilers

        If the 'subdir-objects' option is used, Automake-generated rules for
        C compilation pass both the "-c" and "-o" options to the C compiler,
        *unconditionally*.  There are some compilers that choke on such an
        usage, but the AM_PROG_CC_C_O macro takes care of them (it does so by
        redefining $CC to use the Automake-provided 'compile' wrapper script
        automatically, if a losing compiler is detected at configure runtime).

        Unfortunately, in case the 'subdir-objects' option is specified in a
        Makefile.am, but all the source files resided anyway in the top-level
        directory (relative to the Makefile.am), Automake do *not* complain
        if AM_PROG_CC_C_O wasn't invoked in 'configure.ac' -- all the while
        still passing "-c -o" to the compiler invocations.  This could cause
        compilation failures with losing compilers if the user forget to call
        AM_PROG_CC_C_O in 'configure.ac' (and Automake would not warn him of
        the issue).

        Expose this bug in the testsuite.

        Issue identified by Nick Bowler in the discussion on automake bug#13378:
        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>

        * t/ccnoco4.sh: New test.
        * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): List it.

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

        texi: no longer support split info files

        See automake bug#13351 and bug#12320.

        Automake-generated recipes have for a long time supported "split"
        info files:

          http://www.gnu.org/software/texinfo/manual/texinfo/texinfo.html#Tag-and-Split-Files

        When I asked the rationale for this feature:

          http://lists.gnu.org/archive/html/texinfo-devel/2012-08/msg00015.html

        Karl Berry confirmed that the reason for its existence was indeed
        "efficiency, especially memory size":

          http://lists.gnu.org/archive/html/texinfo-devel/2012-08/msg00024.html

        He also added that "The Elisp manual is one of the largest ones around.
        Looks like it would be maybe 3.5mb as one file."  Not in any way big by
        modern standards.

        OTOH, it appears that the use of split info files (at least in the way
        they have been handled by Automake-generated rules for a long time) can
        cause real problems in some (admittedly quite corner-case) situations:

          http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3963
          http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12320

        So we now follow suit with Automake-NG (see commit v1.12.2-901-gdd603e2,
        <http://lists.gnu.org/archive/html/automake-ng/2012-08/msg00147.html>)
        and have Automake-generated makefiles pass the '--no-split' option
        unconditionally to makeinfo invocations.

        This allow some nice simplifications in our Texinfo recipes, and offer
        an automatic fix for bug#12320.

        Another *very* good aspect of such a change is that it should be 100%
        transparent to the Automake users.

        * lib/am/texinfos.am: Simplify moderately.
        * lib/am/texibuild.am: Simplify greatly the recipe for the creation
        of info files.
        * t/txinfo-makeinfo-error-no-clobber.sh: Adjust.
        * t/txinfo-no-split.sh: New test.
        * t/list-of-tests.mk: Add it.

2013-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texi: remove extra verbosity in creation of dirstamp directory

        * lib/am/texi-vers.am (%STAMPVTI%): Here.

2013-01-05  Stefano Lattarini  <stefano.lattarini@gmail.com>

        coverage: user can avoid distributing '.info' pages

        Can be done like this:

                AUTOMAKE_OPTIONS = info-in-builddir
                dist-info:
                    @:

        Note that this usage is not yet documented: we might decide to go
        for a fully-fledged 'no-dist-info' flag, or something like that, in
        future automake version (this is not yet decided); in which case,
        it's better not to have people start to rely on the hack above.
        Still, there's no good reason to break it gratuitously, hence this
        test coverage.

        * t/txinfo-nodist-info.sh: New test.
        * t/list-of-tests.mk: Add it.

2013-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texi: remove leftover support for DGJPP '.iNN' info files

        A follow-up to commit 'v1.13-6-gad08bbf'.

        * lib/am/texinfos.am (dist-info): Stop catering to info files
        with '.iNN' extension (as in '.i23' or '.i02').

2013-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'plans' into maint

        * plans:
          plans: add some on-going plans (already registered on the bug tracker)

2013-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        plans: add some on-going plans (already registered on the bug tracker)

2013-01-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'plans' into maint

        * plans:
          plans: add the "PLANS" directory


        Conflicts:
                Makefile.am

2013-01-03  Karl Berry  <karl@gnu.org>

        docs: mention dist-hook help for EXTRA_DIST

        * automake.texi (Basics of Distribution): mention dist-hook
        as working around the problems of whole directories in EXTRA_DIST.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texi: remove workaround for older Texinfo (4.1)

        * lib/am/texibuild.am: Here, in the rules generating HTML output.
        We can do so because, since Automake 1.13, we require Texinfo >= 4.9
        anyway.

        Basically a backport of Automake-NG commit '1.12.2-879-ge6caf5e'.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        NEWS: improve wordings in entry deprecating suffix-less info files

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          build: don't enable 'color-tests' automake option explicitly
          build: enable all warnings as fatal in our own build system
          texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
          tests: make two new test executable
          runtest: better command line API
          tests: move runtest.in away from the top-lever directory
          maint: move more maintainer files in the 'maint/' subdir
          tests: more significant names for some tests
          maint: add some of my maintainer-specific scripts
          texi: deprecate hack about info files in CLEANFILES variables
          texi: info files can be generated in the builddir

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        build: don't enable 'color-tests' automake option explicitly

        It's enabled by default since commit 'v1.12.2-136-g2d5571e' (this
        change appeared in Automake 1.13).

        * configure.ac (AM_INIT_AUTOMAKE): Drop 'color-tests'.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        build: enable all warnings as fatal in our own build system

        Automake should of course be able to bootstrap itself in a
        warning-free manner w.r.t. the Autotools.  So make any failure
        to do so fatal.  Not doing so caused the regression fixed by
        previous commit 'v1.13.1-22-ga790fae' to go unnoticed.

        * configure.ac (AM_INIT_AUTOMAKE): Add '-Werror' and '-Wall'.
        * bootstrap.sh: Pass the '-Wall -Werror' options to aclocal,
        automake and autoconf invocations.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texi: Texinfo sources and CLEANFILES definition should co-exist peacefully

        But they don't now, due to a regression introduced in commit
        'v1.13.1-4-gc1a8f56'.  Fix it.  The regression was hitting our
        own build system!

        * automake.in (handle_texinfo_helper): Only complain if the
        'info-in-builddir' is not active and a '.info' file (not any
        random file!) is listed in CLEANFILES or DISTCLEANFILES.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: make two new test executable

        * t/backslash-issues.sh: This.
        * t/extra-data.sh: And this.

        Issue revealed by the 'sc_tests_executable' maintainer check.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'info-in-builddir' into maint

        * info-in-builddir:
          texi: deprecate hack about info files in CLEANFILES variables
          texi: info files can be generated in the builddir

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        runtest: better command line API

        * t/ax/runtest.in: Accept options '-k' and '--keep-testdirs' (same
        as exporting '$keep_testdirs' to "yes").  To improve compatibility
        with the "make check" interface, allow environment variables to be
        passes on the command line.  Minor adjustments while at it.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: move runtest.in away from the top-lever directory

        Not only this leaves the top-lever directory less cluttered, but
        helps in keeping the testsuite-related files more "centralized".

        * runtest.in: Move ...
        * t/ax/runtest.in: ... here.  While at it, add customary
        '@configure_input@' comment line.
        * Makefile.am (runtest, EXTRA_DIST): Adjust.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: move more maintainer files in the 'maint/' subdir

        * maint.mk: Move ...
        * maint/maint.mk: ... here.
        * syntax-checks.mk: Move ...
        * maint/syntax-checks.mk: ... here.
        * Makefile.am: Adjust.
        * GNUmakefile: Likewise.

2013-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        plans: add the "PLANS" directory

        Individual files or sub-directories about future and on-going
        development plans in Automake will be added in follow-up commits.

        This new set of documents is meant to help ensure a more controlled
        and smooth development and evolution for Automake, in several ways.

         - Having the plans clearly spelled out should will avoid messy
           roadmaps with no clear way forward or with muddy or ill-defined
           aims or purposes; a trap this is too easy to fall into.

         - Keeping planned changes cooking and re-hashed for a while should
           ensure rough edges are smoothed up, transitions are planned in a
           proper way (hopefully avoiding debacles like the AM_MKDIR_PROG_P
           deprecation and the AM_CONFIG_HEADER too-abrupt removal), and
           "power users" have more chances of getting informed in due time,
           thus having all the time to prepare for the changes or raise
           objections against them.

         - Having the plans clearly stated and registered in a "centralized"
           location should make it more difficult to them to slip through
           the cracks, getting forgotten or (worse) only half-implemented.

         - Even for discussions and plans registered on the Bug Tracker
           as well, a corresponding entry in the PLANS directory can help
           in keeping main ideas summarized, and consensus and/or objections
           registered and easily compared.

        Motivation:
        <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
        Not a flatting picture for us (and maybe a little too harsh), but
        basically true and even spot-on in some regards.

        * PLANS/README: New.
        * Makefile.am (EXTRA_DIST): Distribute the whole PLANS directory.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: more significant names for some tests

        * t/spy.sh: Rename...
        * t/spy-double-colon.sh: ... like this.
        * t/yacc4.sh: Rename...
        * t/yacc-misc.sh: ... like this.
        * t/yaccdry.sh: Rename...
        * t/yacc-dry.sh: ... like this.
        * t/yaccpp.sh: Rename...
        * t/yacc-cxx-grepping.sh: ... like this.
        * t/yaccvpath.sh: Rename...
        * t/yacc-vpath.sh: ... like this.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        maint: add some of my maintainer-specific scripts

        They are likely not general enough for widespread use, but they
        are useful nonetheless.

        In the best-case scenario, they will start to be used by other
        people, and thus accordingly improved and made more general and
        flexible.

        In the worst case scenario, well, I still get to keep them in a
        centralized, blessed place, simplifying the deployment and use
        of them; so still a win for me :-)

        * maint/am-ft: New script.
        * maint/am-xft: Likewise.
        * maint/rename-tests: Likewise.
        * Makefile.am (EXTRA_DIST): Add them.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: reorganize tests on backslash issues
          style: add trailing ':' to some test cases
          tests: tweak tests on obsolete EXTRA_DATA variable
          tests: more significant names for some tests
          cosmetics: remove few occurrences of trailing whitespace
          docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocation
          texi: warn against '.txi' and '.texinfo' input suffixes
          cleanup: remove two lines of dead code in automake
          texi: warn against suffix-less info files
          build: respect silent rules in generation of "amhello" example tarball

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: reorganize tests on backslash issues

        * t/backsl.sh, t/backsl2.sh, t/backsl3.sh: Merge ...
        * t/backslash-issues.sh: ... into this test.
        * t/backsl4.sh: Rename ...
        * t/backslash-before-trailing-whitespace.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        style: add trailing ':' to some test cases

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: tweak tests on obsolete EXTRA_DATA variable

        * t/extra3.sh, t/extra4.sh: Merge ....
        * t/extra-data.sh: ... into this, with updated comments.
        * t/list-of-tests.mk: Adjust.  Also Tweak the order in
        which some other tests are listed.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: more significant names for some tests

        * t/extra5.sh: Rename ....
        * t/extra-dist-vpath-dir.sh: ... like this.
        * t/extra6.sh: Rename ....
        * t/extra-dist-dirs-and-subdirs.sh: ... like this.
        * t/extra7.sh: Rename ....
        * t/extra-dist-vpath-dir-merge.sh: ... like this.
        * t/extra8.sh: Rename ....
        * t/extra-programs-misc.sh: ... like this.
        * t/extra9.sh: Rename ....
        * t/extra-programs-and-libs.sh: ... like this.
        * t/extra10.sh: Rename ....
        * t/extra-dist-wildcards.sh: ... like this.
        * t/extra11.sh: Rename ....
        * t/extra-dist-wildcards-gnu.sh: ... like this.
        * t/extra12.sh: Rename ....
        * t/extra-dist-wildcards-vpath.sh: ... like this.
        * t/extradep.sh: Rename ....
        * t/extra-deps.sh: ... like this, and adjust heading comments.
        * t/extradep2.sh: Rename ....
        * t/extra-deps-lt.sh: ... like this, and adjust heading comments.
        * t/list-of-tests.mk: Adjust.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cosmetics: remove few occurrences of trailing whitespace

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocation

        Albeit obsolescent and raising warnings in the 'obsolete' category,
        that usage is still supported, and will need to be until Autoconf
        improves its handling of configure-time-generated package version
        numbers.  So it's better to explicitly document it again, stating
        that it is obsoleted but still working (and why), rather then leaving
        it as Yet Another Undocumented Feature (that will mysteriously and
        suddenly break some random day in the future).

        It's worth giving some background about how we ended up in the
        situation that this patch fixes.

        We had originally removed support for the long-deprecated two-args
        AM_INIT_AUTOMAKE invocation (see commit v1.12-67-ge186355).  Before
        that removal could land in a released Automake version, Bob Friesenhahn
        made a quite compelling point that the two-args AM_INIT_AUTOMAKE
        invocation could still be useful for modern, maintained packages like
        GraphicsMagick, at least until Autoconf is fixed to offer better support
        for "dynamic" package versions (see commit v1.12.2-245-g2abe183 for more
        in-depth rationales and references).  However, in that commit we didn't
        revert the removal of the *documentation* for this two-arguments
        AM_INIT_AUTOMAKE invocation (and no rationale for not doing so was given
        in the commit message).  Time to remedy that.

        Indirectly suggested by Diego Elio Pattenò:
        <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>

        * doc/automake.texi: Adjust.
        * NEWS: Update.
        * THANKS: Likewise.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texi: warn against '.txi' and '.texinfo' input suffixes

        The warning being in the 'obsolete' category.  This is mostly to
        ease transition to Automake-NG (see commit v1.12.1-416-gd5459b9),
        and to discourage use of seldom-tested setups.

        * automake.in (handle_texinfo_helper): Warn against Texinfo input
        files with '.txi' or '.texinfo' suffixes.
        * NEWS: Update.
        * t/txinfo-other-suffixes.sh: Adjust and enhance.
        * t/txinfo-no-repeated-targets.sh: No longer use '.txi' and
        '.texinfo' extensions.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cleanup: remove two lines of dead code in automake

        * automake.in (scan_texinfo_file): Here, the definition and
        munging of '$infobase'.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texi: warn against suffix-less info files

        The warning being in the 'obsolete' category.  This is mostly to
        ease transition to Automake-NG (see commit v1.12.1-392-ga0c7b6a),
        and to discourage use of seldom-tested setups.

        * automake.in (scan_texinfo_file): Warn against '@setfilename'
        directives that specify suffix-less output info files.
        * t/txinfo-without-info-suffix.sh: Adjust and enhance.
        * t/txinfo-makeinfo-error-no-clobber.sh: No longer use suffix-less
        info files in '@setfilename' directives.
        * t/primary-prefix-valid-couples.sh: Likewise.
        * t/txinfo-setfilename-repeated.sh: Likewise.
        * t/txinfo-vtexi2.sh : Likewise.
        * t/mdate2.sh: Likewise.
        * NEWS: Update.

2013-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        texi: deprecate hack about info files in CLEANFILES variables

        For quite a long time, Automake has been implementing an undocumented
        hack which ensured that '.info' files which appeared to be cleaned (by
        e.g. being listed in the CLEANFILES or DISTCLEANFILES variables) were
        built in the builddir rather than in the srcdir; this hack was introduced
        to ensure better backward-compatibility with packages such as Texinfo,
        which did things like:

            info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
            DISTCLEANFILES = texinfo texinfo-* info*.info*
            # Do not create info files for distribution.
            dist-info:
                @:

        in order not to distribute .info files.

        Now that we have the 'info-in-builddir' option that explicitly causes
        generated '.info' files to be placed in the builddir, this hack should
        be longer necessary, so we deprecate it with runtime warnings.  It is
        scheduled to be removed altogether in Automake 1.14.

        * automake.in (handle_texinfo_helper): Raise proper runtime warnings
        if the hack is triggered.
        * NEWS: Update.
        * t/txinfo28.sh: Adjust.
        * t/txinfo23.sh: Likewise.
        * t/txinfo25.sh: Adjust and extend.
        * t/txinfo24.sh: Likewise.

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

        texi: info files can be generated in the builddir

        User can now ask info files to be built in the $(builddir), rather than
        the $(srcdir), by specifying the Automake option 'info-in-builddir'.
        This feature was requested by the developers of GCC, GDB, GNU binutils
        and the GNU bfd library.  See the extensive discussion about automake
        bug#11034 for more details.

        OK, to be honest, having '.info' files built in the builddir was
        *already* possible, but only using ugly and undocumented hacks involving
        definition of the CLEANFILES and/or DISTCLEANFILES.  For example, the
        binutils project did something like this in the relevant 'Makefile.am':

            # Automake 1.9 will only build info files in the objdir if they are
            # mentioned in DISTCLEANFILES.  It doesn't have to be unconditional,
            # though, so we use a bogus condition.
            if GENINSRC_NEVER
            DISTCLEANFILES = binutils.info
            endif

        See also the extensive discussion about automake bug#11034; in
        particular, the following messages:
        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#65>
        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#80>
        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#86>
        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#101>

        * lib/Automake/Options.pm (_is_valid_easy_option): Recognize the
        new 'info-in-builddir' option.
        * automake.in (handle_texinfo_helper): If that option is set,
        initialize '$insrc' to '0', so that info files will be generated
        in the builddir.  Adjust comments to match.
        * t/txinfo-builddir.sh: New test.
        * t/list-of-tests.mk: Add it.
        * NEWS: Update.
        * doc/automake.texi: Document the new options.

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

        build: respect silent rules in generation of "amhello" example tarball

        * Makefile.am ($(srcdir)/doc/amhello-1.0.tar.gz): Here.

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

        Merge branch 'maint'

        * maint:
          NEWS: fixlets and updates
          post-release: minor version bump (1.13.1a)
          release: stable minor release 1.13.1

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

        NEWS: fixlets and updates

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

        post-release: minor version bump (1.13.1a)

        * configure.ac, m4/amversion.m4: Bump version to 1.13.1a.

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

        release: stable minor release 1.13.1

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

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

        Merge branch 'maint'

        * maint:
          tests: don't always look for a C++ compiler named 'RCC'
          tests: fix bug in pkg-config-macros.sh, could cause spurious SKIPs
          docs: autom4te cache can break CONFIGURE_DEPENDENCIES
          coverage: test CONFIGURE_DEPENDENCIES
          coverage: test CONFIG_STATUS_DEPENDENCIES

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

        tests: don't always look for a C++ compiler named 'RCC'

        On MacOS X (10.8), since the file system is case-insensitive, RCC
        can point to the "Resource Compiler" of the Qt4 Toolkit:

            <http://doc.qt.digia.com/4.2/rcc.html>

        That mismatch causes our configure script to erroneously think that
        no working C++ compiler is present, and that is thus necessary to
        skip all the test cases requiring such a compiler.

        So only look for a compiler named 'RCC' if the file system is
        case-sensible.

        Issue spotted analyzing the testsuite logs reported in bug#13317.

        * configure.ac: Adjust.

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

        tests: fix bug in pkg-config-macros.sh, could cause spurious SKIPs

        Issue spotted perusing the testsuite logs reported in bug#13317.

        * t/pkg-config-macros.sh: Don't use (uninitialized) '$dir' where '$d'
        should have been used instead.  Set IFS to ':' before looping on the
        $PATH expansion.  Fix typo: 'alocal' instead of 'aclocal'.  These
        issues were causing the location in PATH of the 'pkg-config' program
        not to be found even when the program was present.
        * THANKS: Update.

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

        docs: autom4te cache can break CONFIGURE_DEPENDENCIES

        In fact, the new test 'remake-configure-dependencies.sh' only
        works because it disables the autom4te cache :-(  That is more
        of an AUtotools design issue than an Automake bug, so better
        just document it ...

        * doc/automake.texi (Rebuilding): ... here.

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

        coverage: test CONFIGURE_DEPENDENCIES

        * t/remake-configure-dependencies.sh: New test.
        * t/list-of-tests.mk: Add it.
        * doc/automake.texi: Reference it in comments.

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

        coverage: test CONFIG_STATUS_DEPENDENCIES

        * t/remake-config-status-dependencies.sh: New test.
        * t/list-of-tests.mk: Add it.
        * doc/automake.texi: Reference it in comments.

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

        Merge branch 'maint'

        * maint:
          tests: fix reference to related tests in some comments
          tests: some enhancements to texinfo tests (from Automake-NG)
          tests: fix reference to sister tests in two heading comments

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

        tests: fix reference to related tests in some comments

        * t/acloca10.sh: Here.
        * t/check2.sh: And here.
        * t/remake-deleted-m4-file.sh: And here.

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

        tests: some enhancements to texinfo tests (from Automake-NG)

        * t/txinfo-many-output-formats.sh: Backport improvements, almost verbatim,
        from Automake-NG commit 'v1.13-768-gb434acc' (plus minor tweaks for the
        sake of non-GNU make implementation).
        * t/txinfo-many-output-formats-vpath.sh: New test, backported almost
        verbatim from that same Automake-NG commit (again, with minor tweaks for
        the sake of non-GNU make implementations).
        * t/lsit-of-tests.mk: Adjust.

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

        tests: fix reference to sister tests in two heading comments

        * t/color-tests.sh: Here.
        * t/color-tests2.sh: And here.

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

        maint: update copyright year for 2013 (in branch master)

        * t/includes-no-more.sh: Only here (all other files already touched in maint)

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

        Merge branch 'maint'

        * maint:
          maint: update copyright year for 2013 (in branch maint)

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

        maint: update copyright year for 2013 (in branch maint)

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

        Merge branch 'maint'

        * maint:
          docs: adjust comment w.r.t. recent tests renaming
          tests: some more renames for texinfo tests

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

        docs: adjust comment w.r.t. recent tests renaming

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

        tests: some more renames for texinfo tests

        * t/txinfo.sh: Rename ...
        * t/txinfo-tex-dist.sh: ... like this.
        * t/txinfo10.sh: Rename ...
        * t/txinfo-dvi-recurs.sh: ... like this.
        * t/txinfo20.sh: Rename ...
        * t/txinfo-makeinfo-error-no-clobber.sh: ... like this.
        * t/txinfo-setfilename-suffix-match.sh: Rename ...
        * t/txinfo-setfilename-suffix-strip.sh: ... like this.
        * t/txinfo-suffix-less-info.sh: Rename ...
        * t/txinfo-without-info-suffix.sh: ... like this.
        * t/vtexi.sh: Rename ...
        * t/txinfo-vtexi.sh: ... like this.
        * t/vtexi2.sh: Rename ...
        * t/txinfo-vtexi2.sh: ... like this.
        * t/vtexi3.sh: Rename ...
        * t/txinfo-vtexi3.sh: ... like this, and adjust heading comments.
        * t/vtexi4.sh: Rename ...
        * t/txinfo-vtexi4.sh: ... like this, and adjust heading comments.
        * t/list-of-tests.mk: Adjust.

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

        Merge branch 'maint'

        * maint:
          tests: enhance and tweak some texinfo tests
          tests: remove a redundant texinfo test
          tests: don't list a removed tests in XFAIL_TESTS
          tests: more explicative names for some tests
          cleanup: drop a redundant %?FIRST% transform
          maint: state when compatibility cruft should be removed or warned about

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

        tests: enhance and tweak some texinfo tests

        * t/txinfo-subdir-pr343.sh: Move the tests checking that '.info.bak'
        files in subdirs are not unduly distributed into ...
        * t/txinfo-no-extra-dist.sh: ... in here.  Enhance a little while
        at it.
        * t/txinfo-other-suffixes.sh: Also check that the '.texinfo' suffix
        is accepted and works.
        * t/txinfo-setfilename-suffix-match.sh: Remove useless call to
        autoconf, enhance a little.

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

        tests: remove a redundant texinfo test

        * t/txinfo-add-missing.sh: This one, its checks being already covered
        by the more extensive 't/add-missing.tap' test.
        * t/txinfo-add-missing2.sh: Rename ...
        * t/txinfo-add-missing-and-dist.sh: Like this.
        * t/list-of-tests.mk: Adjust.

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

        tests: don't list a removed tests in XFAIL_TESTS

        * t/list-of-tests.mk (XFAIL_TESTS): No longer list 't/txinfo5.sh' here,
        it has been removed together with the Cygnus support.

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

        tests: more explicative names for some tests

        Do so for several Texinfo-related tests.  Note that some of such tests
        with suboptimal names are *not* renamed; that's because they are going
        to be removed in the master branch anyway (since they check from some
        soon-to-be-removed features), so renaming them would be wasted work,
        and could even create useless merge conflicts.

        * t/txinfo2.sh: Rename ...
        * t/txinfo-no-extra-dist.sh: ... like this.
        * t/txinfo3.sh: Rename ...
        * t/txinfo-suffix-less-info.sh: ... like this.
        * t/txinfo4.sh: Rename ...
        * t/txinfo-unrecognized-info-suffix.sh: ... like this.
        * t/txinfo6.sh: Rename ...
        * t/txinfo-other-suffixes.sh: ... like this.
        * t/txinfo7.sh: Rename ...
        * t/txinfo-add-missing.sh: ... like this.
        * t/txinfo8.sh: Rename ...
        * t/txinfo-add-missing2.sh: ... like this.
        * t/txinfo9.sh: Rename ...
        * t/txinfo-no-repeated-targets.sh: ... like this.
        * t/txinfo17.sh: Rename ...
        * t/txinfo-setfilename-repeated.sh: ... like this.
        * t/txinfo13.sh: Rename ...
        * t/txinfo-subdir-pr343.sh: ... like this.
        * t/txinfo16.sh: Rename ...
        * t/txinfo-info-in-srcdir.sh: ... like this.
        * t/txinfo21.sh: Rename ...
        * t/txinfo-many-output-formats.sh: ... like this.
        * t/txinfo22.sh: Rename ...
        * t/txinfo-override-texinfo-tex.sh: ... like this.
        * t/txinfo26.sh: Rename ...
        * t/txinfo-absolute-srcdir-pr408.sh: ... like this.
        * t/txinfo27.sh: Rename ...
        * t/txinfo-no-installinfo.sh: ... like this.
        * t/txinfo29.sh: Rename ...
        * t/txinfo-override-infodeps.sh: ... like this.
        * t/txinfo31.sh: Rename ...
        * t/txinfo-setfilename-suffix-match.sh: ... like this.
        * t/txinfo32.sh: Rename ...
        * t/txinfo-bsd-make-recurs.sh: ... like this.
        * t/txinfo33.sh: Rename ...
        * t/txinfo-clean.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

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

        cleanup: drop a redundant %?FIRST% transform

        * lib/am/texinfos.am: Here: this file is only included one time
        per Makefile by Automake.

        Cherry picked from Automake-NG commit 'v1.12.2-864-g5c580b0'.

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

        maint: state when compatibility cruft should be removed or warned about

        * automake.in: Here.
        * lib/Automake/Options.pm: And here.
        * m4/obsolete-err.m4: And here.

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

        Merge branch 'maint'

        * maint:
          fixup: copyright yars in two recent tests
          obsolete: fixup: don't use AU_DEFUN where AC_DEFUN is required

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

        fixup: copyright yars in two recent tests

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

        obsolete: fixup: don't use AU_DEFUN where AC_DEFUN is required

        * m4/obsolete-err.m4: Here, for the definition of 'AM_PROG_CC_STDC'

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

        obsolete: better error message if AM_PROG_MKDIR_P is used

        In Automake 1.14, the long-deprecated macro AM_PROG_MKDIR_P will be
        removed.  Instead of simply dropping the macro definition, which would
        cause unclear error messages in aclocal and autoconf:

            configure.ac:4: warning: macro 'AM_PROG_MKDIR_P' not found in library
            configure.ac:4: error: possibly undefined macro: AM_PROG_MKDIR_P
              If this token and others are legitimate, please use m4_pattern_allow.
              See the Autoconf documentation.

        we re-add an AM_PROG_MKDIR_P definition that simply raises a *clear* error
        message when the macro is used.

        See also recent similar commits 'v1.13-5-g9c07d89' and 'v1.13-4-g8e921bf'

        * t/am-prog-mkdir-p-no-more.sh: New test.
        * t/list-of-tests.mk: Add it.
        * m4/obsolete-err.m4: Add the new "error-raising" definition for
        AM_PROG_MKDIR_P.

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

        NEWS: document removal of AM_PROG_MKDIR_P macro

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

        Merge branch 'maint'

        * maint:
          NEWS: minor fixup
          obsolete: better error message if AM_PROG_CC_STDC is used
          obsolete: better error message if AM_CONFIG_HEADER is used
          sync: update files from upstream with "make fetch"
          tests: better names for temporary configure.ac files

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

        NEWS: minor fixup

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

        obsolete: better error message if AM_PROG_CC_STDC is used

        In Automake 1.13, the long-deprecated (since 2002) macro AM_PROG_CC_STDC
        has been removed.  Such a removal, albeit sensible and justified, was
        probably done in a too-abrupt way, since it didn't turn the pre-existing
        warning messages into fatal error messages, but simply dropped the macro
        definition, so that remaining usages of it would cause unclear error
        messages, e.g.:

            configure.ac:4: warning: macro 'AM_PROG_CC_STDC' not found in library

        from aclocal, and:

            configure.ac:4: error: possibly undefined macro: AM_PROG_CC_STDC
              If this token and others are legitimate, please use m4_pattern_allow.
              See the Autoconf documentation.

        from autoconf.

        In an attempt to mitigate this issue, we re-add an AM_PROG_CC_STDC
        definition that simply raises a *clear* error message when the macro
        is used.

        * t/am-prog-cc-stdc-no-more.sh: New test.
        * t/list-of-tests.mk: Add it.
        * m4/obsolete-err.m4: Add the new "error-raising" definition for
        AM_PROG_CC_STDC; the error message is a variation of the one already
        present in the older version of this macro, before it got removed in
        commit 'v1.12-15-gd2ca168'.
        * NEWS: Update.

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

        obsolete: better error message if AM_CONFIG_HEADER is used

        In Automake 1.13, the long-deprecated macro AM_CONFIG_HEADER (deprecated
        since 2002) has been removed in favour of AC_CONFIG_HEADERS.  However,
        the removal was done without a proper deprecation period, and that
        caused packages upgrading to Automake 1.13 to fail with very unclear
        error messages, e.g.:

            configure.ac:4: warning: macro 'AM_CONFIG_HEADER' not found in library

        from aclocal, and:

            configure.ac:4: error: possibly undefined macro: AM_CONFIG_HEADER
              If this token and others are legitimate, please use m4_pattern_allow.
              See the Autoconf documentation.

        from autoconf.

        In an attempt to mitigate this issue, we re-add an AM_CONFIG_HEADER
        definition that simply raises a *clear* error message when the macro
        is used.

        Report by Paolo Bonzini:
        <http://lists.gnu.org/archive/html/automake/2012-12/msg00039.html>

        * t/am-config-header-no-more.sh: New test.
        * t/list-of-tests.mk: Add it.
        * m4/obsolete-err.m4: New file, contain the new AM_CONFIG_HEADER
        "error-raising" definition, as well as the definition of the
        similarly obsolete macros 'AM_C_PROTOTYPES' and 'fp_C_PROTOTYPES',
        moved in from ...
        * m4/protos.m4: ... this file, which has thus been removed.
        * Makefile.am (dist_automake_ac_DATA): Adjust.
        * t/ansi2knr-no-more.sh: Likewise.
        * NEWS: Update.

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

        sync: update files from upstream with "make fetch"

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

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

        tests: better names for temporary configure.ac files

        When editing a pre-existent 'configure.ac' file in a test script, name
        the temporary file 'configure.tmp' rather than 'configure.int'; the
        latter was a relict of the times when we used 'configure.in' as the
        default name for the Autoconf input files throughout the testsuite.

        * t/cond43.sh: Adjust.
        * t/depcomp8a.sh: Likewise.
        * t/depcomp8b.sh: Likewise.
        * t/gettext.sh: Likewise.
        * t/mmode.sh: Likewise.
        * t/pr401.sh: Likewise.
        * t/pr401b.sh: Likewise.
        * t/pr401c.sh: Likewise.
        * t/python11.sh: Likewise.
        * t/cond42.sh: Likewise.  Also, while at it, rename ...
        (edit_configure_in): ... this function ...
        (edit_configure_ac): ... like this.

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

        NEWS: better distinction between obsolete and obsolescent features

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

        cleanup: get rid of 'Automake::Configure_ac' module

        Now that we unconditionally assume the Autoconf input is named
        "configure.ac", it's easier and clearer to inline the checks on
        the existence of such a file directly in the automake and
        aclocal scripts.

        This change is basically a backport of the 'v1.12-327-gee6d72a'
        commit from Automake-NG.

        * lib/Automake/Variable.pm (Automake::Configure_ac): Drop this import.
        ($configure_ac): Define to "configure.ac", unconditionally.
        * automake.in: Likewise.  Also, in main code, check the existence
        of 'configure.ac' directly, instead of calling the now-removed
        'require_configure_ac' function.
        * aclocal.in: Likewise.

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

        maint: remove last vestiges of 'configure.in' support from the testsuite

        * syntax-checks.mk: Don't whitelist any file in the maintainer
        check looking against use of 'configure.in' in the testsuite.
        * t/autodist-configure-no-subdir.sh: Remove last references to
        'configure.in'.

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

        tests: remove a botched comment from a test case

        * t/backcompat6.sh: Here.

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

        maint: reflect removal of 'configure.in' support in comments and messages

        * t/help.sh, syntax-checks.mk, aclocal.in, old/TODO: In these files.

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

        Drop support for 'configure.in' as the Autoconf input file

        The autoconf input should be named 'configure.ac' instead.  The use
        of 'configure.in' has been deprecated in Autoconf since at least
        the 2.13 -> 2.50 transition, and future Autoconf versions (starting
        with 2.70 probably) will start to warn about it at runtime.  Automake
        has been warning about it since the 1.13 release.

        This change is basically a backport of commit 'v1.12-325-g927d4cb',
        from Automake-NG.

        * lib/Automake/Configure_ac.pm (find_configure_ac): Don't look for
        'configure.in' if 'configure.ac' is not found.
        (require_configure_ac): On failure, don't tell that "'configure.ac'
        or 'configure.in' is required", but just that "'configure.ac' is
        required".
        * automake.in (@common_sometimes): Don't list 'configure.in'.
        (scan_autoconf_files): Adjust heading comments.
        * NEWS: Update.
        * t/help.sh: Adjust.
        * t/configure.sh: Remove as obsolete.
        * t/list-of-tests.mk: Adjust.

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

        Drop support for $(ACLOCAL_M4_SOURCES), it's obsolete

        The $(ACLOCAL_M4_SOURCES) variables has been obsolete by a long time,
        and basically unused (since at least commit ab57cf28 of 2003-04-24), so
        drop any mention of it.

        * automake.in (scan_aclocal_m4): Flatly reject any ACLOCAL_M4_SOURCES
        definition with a fatal error, rather than just warning about it.
        if any deinifn
        $(ACLOCAL_M4_SOURCES).  Don't append it to @ac_deps.  This makes such
        variable always empty, so there's no need to return it.  Adjust the
        signature of this function accordingly, and ...
        (handle_configure): ... update this function accordingly.
        * NEWS: Update.

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

        tests: remove stray uses of 'Exit', in favour of simple 'exit'

        * t/warnopts.sh: Here.  Suggested by the 'sc_tests_exit_not_Exit'
        maintainer check.

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

        Merge branch 'remove-djgpp-support'

        * remove-djgpp-support:
          general: assume dot-starting file names are supported
          Drop support for DJGPP, MS-DOS, Windows 95/98/ME

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

        general: assume dot-starting file names are supported

        Now that we've dropped support for DJGPP, Windows 95/98/ME
        and MS-DOS, that should always the case.

        This change is basically a backport of Automake-NG commit
        'v1.12-342-ge6af355'.

        * lib/am/texibuild.am: Just assume we can have directories whose
        name starts with a dot, i.e., that '${am__leading_dot}' expands
        to '.'.
        * automake.in (require_build_directory): Likewise.
        * m4/depend.m4 (AM_SET_DEPDIR): Likewise.  Now $(DEPDIR) will
        be set unconditionally to '.deps'.
        * m4/init.m4 (AM_INIT_AUTOMAKE): Don't AC_REQUIRE the m4 macro
        'AM_SET_LEADING_DOT' anymore.
        * m4/lead-dot.m4: Delete.
        * Makefile.am (dist_automake_ac_DATA): Remove it.
        * t/subobj11a.sh: Just assume $(DEPDIR) expands to '.deps'.

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

        Drop support for DJGPP, MS-DOS, Windows 95/98/ME

        Basically a backport and squash-in of three Automake-NG commits:
        v1.12.1-447-g041fe15, v1.12-343-g4526363, v1.12-341-gc853c20,
        plus proper simplifications of the ylwrap script.

        See also:
        <http://lists.gnu.org/archive/html/automake-ng/2012-05/msg00104.html>

        * automake.in (BEGIN): Don't override $ENV{SHELL} for DJGPP.
        (handle_libtool): Do not bother cleaning '_libs' directories, they
        are only used by Libtool on MS-DOS (and we no longer support that
        setup).
        * syntax-checks.mk (automake_diff_no): Adjust, as now there are only
        seven (not eight) different lines between 'automake.in' and 'automake'.
        * bootstrap.sh: Don't special case the default value for BOOTSTRAP_SHELL
        on DJGPP.  While we are at, allow that variable to be overridden from
        the environment. Also, adjust comments: we don't use "ln -s" not because
        it's not properly supported by DJGPP, but because it might not be
        properly supported by MinGW/MSYS.
        * configure.ac (MODIFICATION_DELAY): Define to '2' unconditionally, as
        we no longer have to cater to quirks of Windows 95/98/ME.
        * lib/am/texibuild.am: Remove support for '*.iNN' files used on DJGPP.
        * lib/am/texinfos.am: Likewise.
        * lib/ylwrap: Remove support for DOS-specific filenames for bison
        output.
        * t/txinfo19.sh: Remove as obsolete.
        * t/list-of-tests.mk: Adjust.
        * NEWS: Update.

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

        depcomp: remove support for SGI C/C++ compilers

        These compilers are only meant to run on IRIX, and that system has seen
        its last release in 2006, and is expected to lose support from SGI in
        December 2013:
        <http://www.sgi.com/services/support/irix_mips_support.html>

        This change fixes automake bug#12967 and bug#12978.

        * lib/depcomp (sgi): Remove this depmode.
        * NEWS: Update.

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

        tests: a test about warnings in category 'obsolete' was failing spuriously

        * t/warnings-obsolete-default.sh : After our removal of $(INCLUDES)
        support, this test has been spuriously failing because it was assuming
        that a definition of the INCLUDES make variable only caused a warning
        rather than a fatal error.  Fix it to use a definition of the newly
        obsolescent ACLOCAL_AMFLAGS make variable.

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

        ACLOCAL_AMFLAGS: fully deprecate, with warnings in the 'obsolete' category

        Users are expected to use the AC_CONFIG_MACRO_DIR{,S} autoconf macros
        instead.  And the use of the '--install' aclocal option in ACLOCAL_AMFLAGS
        has proved to be a bad idea anyway -- see automake bug#9037.

        * NEWS: Update.
        * t/aclocal-amflags.sh: Enhance and adjust.
        * t/acloca14b.sh: Adjust.
        * t/acloca22b.sh: Likewise.
        * t/ax/distcheck-hook-m4.am: Likewise.
        * t/dist-missing-m4.sh: Likewise.
        * t/remake-renamed-m4-macro.sh: Likewise.
        * t/remake-renamed-m4-macro-and-file.sh: Likewise.
        * t/remake-renamed-m4-file.sh: Likewise.
        * t/remake-moved-m4-file.sh: Likewise.
        * t/remake-gnulib-remove-header.sh: Likewise.
        * t/remake-gnulib-add-acsubst.sh: Likewise.
        * t/remake-deleted-m4-file.sh: Likewise.
        * t/remake-deleted-m4-file.sh: Likewise.
        * t/libtool-macros.sh: Likewise.
        * t/gettext-macros.sh: Likewise.

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

        compile: remove support for $(INCLUDES)

        It has already been deprecated in the manual and by warnings in the
        'obsolete' category for ages (at least since 2003), in favour of
        AM_CPPFLAGS.  Automake-NG has removed support for it already.  And
        the warnings in the obsolete category are on by default since the
        1.12.4 release.

        So, by removing it in Automake 1.14, we will simplify the transition
        path for people that want to switch to Automake-NG.

        See also Automake-NG commit v1.12-267-g6b74968 of 2012-05-21,
        "[ng] compile: don't support $(INCLUDES) anymore, it's obsolete".

        * NEWS, doc/automake.texi: Update.
        * automake.in (generate_makefile): Reject INCLUDES unconditionally.
        In all languages: don't add $(INCLUDES) to the compiler command line.
        * t/includes-deprecation.sh: New test.
        * t/list-of-tests.mk: Add it.
        * t/werror2.sh : Adjust to avoid spurious failures.
        * t/pluseq5.sh: Likewise.
        * t/warnopts.sh: Likewise.

        Suggested-by: Paolo Bonzini <bonzini@gnu.org>

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

        Merge branch 'aclocal-lookup-order'

        * aclocal-lookup-order:
          aclocal: allow third-party macros take precedence over automake ones

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

        aclocal: allow third-party macros take precedence over automake ones

        It makes sense to allow "local system-wide" m4 macros take precedence
        over built-in macros (defined in the aclocal versioned m4 directory
        "${prefix}/share/aclocal-${APIVERSION}"), the same way we allow
        "environment-level" m4 macros (through the ACLOCAL_PATH environment
        variable ) take precedence over system-wide third-party macros.

        An example: after this change, a definition of AM_PROG_VALAC placed
        in file (say) '/usr/local/share/aclocal/my-vala.m4' should take
        precedence over the same-named automake-provided macro defined in
        file '/usr/local/share/aclocal-1.14/vala.m4'.

        Even more importantly, after this change, m4 macros accessible
        through $ACLOCAL_PATH entries will take precedence over m4 macros
        defined in the aclocal versioned m4 directory; it was quite counter
        intuitive that it was not the case before.

        * aclocal.in (scan_m4_files): Search files in @system_includes before
        files in @automake_includes.
        * t/aclocal-acdir.sh: Adjust.
        * t/aclocal-path-precedence.sh: Likewise.
        * t/dirlist.sh: Likewise.
        * doc/automake.texi: Adjust.
        * NEWS: Update.

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

        Merge branch 'am-prog-mkdir-p-remove'

        Finally backporting the AM_PROG_MKDIR_P removal that has already taken
        place in Automake-NG.  We can safely do this since the latest Gettext
        release (1.18.2) has removed all uses of AM_PROG_MKDIR_P, replacing
        them with uses of AC_PROG_MKDIR_P instead.

        References:
        <http://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00064.html>
        <http://lists.gnu.org/archive/html/automake/2012-12/msg00024.html>
        Commit v0.18.1.1-147-g2cccb4c in the Gettext git repository.

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

        Merge branch 'maint'

        Actually a dummy merge, since we retain our own "1.13a" version
        number.

        * maint:
          post-release: minor version bump

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

        post-release: major version bump

        This is for the master branch.

        * configure.ac, m4/amversion.m4: Bump version to 1.13a.

2012-12-28  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.13.0a.

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

        release: stable major release 1.13

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

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

        news: fix botched URL

2012-12-21  Akim Demaille  <akim@lrde.epita.fr>

        ylwrap: various fixes

        Rename properly header guards in generated header files, instead of
        leaving Y_TAB_H.

        Convert header guards in implementation files.  Because ylwrap failed
        to rename properly #include in the implementation files, current
        versions of Bison (e.g., 2.7) duplicate the generated header file in
        the implementation file.  The header guard then protects the
        implementation file from duplicate definitions from the header file.

        Generate header guards with a single '_' for series of non alphabetic
        characters, instead of several.  This is what Bison does.

        Makes the test t/yacc-d-basic.sh pass again.

        * lib/ylwrap (guard): Properly honor $1 to rename properly the
        header guards.
        Keep a single _ instead of several.
        (rename_sed): Rename as...
        (sed_fix_filenames): this.
        Suggested by Stefano Lattarini.
        (sed_fix_header_guards): New.
        Use it.

2012-12-21  Akim Demaille  <akim@lrde.epita.fr>

        tests: strengthen the ylwrap tests

        * t/yacc-d-basic.sh: Comment changes.
        (generated): New.
        Use it to factor various tests.
        Check that Y_TAB_H is not issued.

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

        NEWS: we plan to ditch MS-DOS/DJGPP support in future Automake versions

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

        maint: typofixes in makefile comments

        * maint.mk (git-upload-release): Here.

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

        maint: remove extra verbosity from a maintainer rule

        * maint.mk (git-upload-release): Here, by adding a forgotten
        '@' recipe modifier.

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

        NEWS: fix grammaro

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

        maint: version bump after beta release

        * configure.ac (AC_INIT): Bump version number to 1.12c, as per
        HACKING suggestion.
        * m4/amversion.m4: Likewise (autoupdated by "make bootstrap").

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

        release: beta release 1.12b (will become 1.13)

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

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

        cosmetics: comments fixlets in our Makefile

        * Makefile.am: Prefer '#' comments over '##' ones where it makes sense.
        Other minor style tweaks to comments about "updated later" variables.

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

        cosmetics: consistency changes in some make recipes

        * Makefile.am (install-exec-hook, uninstall-hook): Don't use extra
        quoting in variable assignments.  More consistent use of whitespace.

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

        tests: avoid a spurious failure on NetBSD

        * t/tags-pr12372.sh (configure.ac): AC_SUBST the LINK variable to a
        dummy invocation, to avoid possible errors from make or the linker;
        errors we do not care about in the least in this test.
        (Makefile.am, sub/Makefile.am): Remove LINK definitions; simply
        inherit that in configure.ac.

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

        tests: re-enable some checks disabled by mistake ...

        * t/subpkg-macrodir.sh: ... in this test.  And fix some typos that would
        have caused the newly re-enabled check to spuriously fail.  Issue revealed
        by the lack of '.PHONY' support in Solaris CCS make (yes, so we've been
        actually *helped* by that make implementation once, at last.  Scary ;-)

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

        tests: avoid a "grep -E" portability issue

        As stated in the Autoconf manual, the empty alternative is not portable
        with "grep -E".  For example, while with GNU grep we have:

            $ echo b | grep -E '(|a)b'; echo status = $?
            b
            status = 0

        with Solaris 10 /usr/xpg4/bin/grep we have:

            $ echo b | grep -E '(|a)b'; echo status = $?
            1
            status = 1

        * t/silent-texi.sh: That was causing a spurious failure here.  Fix it
        by simply using '?' instead (as suggested by the Autoconf manual).

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

        tests: avoid a spurious failure due to a Clang bug

        This version of clang:

            clang version 3.2 (trunk 163574)
            Target: powerpc64-unknown-linux-gnu
            Thread model: posix

        caused the test 't/ltcond2.sh' to spuriously fail due to what
        appeared like a clang bug.  Here is a part of the diagnostic (trimmed
        down for better clarity):

            clang: .../cfarm/llvm/lib/MC/MCAsmStreamer.cpp:338: \
              virtual void {anonymous}::MCAsmStreamer::EmitLabel(llvm::MCSymbol*): \
              Assertion `Symbol->isUndefined() && "Cannot define a symbol twice!"' \
              failed.
            ...
            7  clang  0x0000000012a459c4 llvm::AsmPrinter::EmitGlobalVariable\
              (llvm::GlobalVariable const*) + 18446744073680468044
            8  clang  0x0000000012a490a8 llvm::AsmPrinter::doFinalization\
              (llvm::Module&) + 18446744073680481840
            ...
            Stack dump:
            0.  Program arguments: .../opt/cfarm/clang-2012.09.10/bin/clang \
                  -cc1 -triple powerpc64-unknown-linux-gnu -S -disable-free \
                  ...
            1.  <eof> parser at end of file
            2.  Code generation
            3.  Running pass 'Function Pass Manager' on module 'hello-generic.c'.
            clang: error: unable to execute command: Aborted
            clang: error: clang frontend command failed due to signal (use -v to \
                   see invocation)
            clang version 3.2 (trunk 163574)
            Target: powerpc64-unknown-linux-gnu
            Thread model: posix

        So tweak the affected test case to avoid triggering this bug.  This is
        the easiest way for us to keep the testsuite result clean and meaningful
        on our main Clang test bed.

        * t/ltcond2.sh: Prefer using "extern const char *" variables rather
        than functions returning a statically allocated "const char *" variable.

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

        NEWS: start preparing for the 1.13 release

        * NEWS: Here.  In particular, list (some of) the planned future
        backward-incompatibilities that will take place in Automake 1.14.

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

        Merge branch 'maint'

        * maint:
          tests: typofix in the shebang line of 't/py-compile-destdir.sh'
          HACKING: release process: fixlets about the announcement
          maint: post-release minor version bump
          release: stable release 1.12.5
          tests: avoid errors due to underquoted third-party macros
          maintcheck: also consider contrib tests for syntax checks
          cosmetics: whitespace fixlets in syntax-checks.mk
          maint: prefer $(MKDIR_P) over $(mkinstalldirs) in maintainer rules

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

        tests: typofix in the shebang line of 't/py-compile-destdir.sh'

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

        HACKING: release process: fixlets about the announcement

        * HACKING: The announcement should be generate *before* bumping
        the version number to the next alpha number.  Also, only an
        abridged version of the announcement should be copied on the
        Savannah news feed (a link to the complete announcement should
        be linked from there, though).

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

        maint: post-release minor version bump

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

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>

        Merge branch 'maint'

        * maint:
          sync: update files from upstream with "make fetch"
          gitignore: align with recent changes
          fixup: add dummy rule for ChangeLog generation in Makefile.am
          maint: no longer use AM_MAKEFLAGS in maintainer rules
          maint: use more GNU make features in maintainer rules
          maint: move maintainer make rules in maint.mk

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>

        fixup: source 'test-init.sh', not './defs', in a test

        * t/pkg-config-macros.sh: Here.

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

        Merge branch 'maint'

        * maint:
          docs: fixlet about xz compression levels and command line options
          maint: more files excluded in 'update-copyright'
          maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
          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
          tests: improve 'pkg-config' requirement

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 'maint'

        * maint:
          docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
          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
          tests: avoid two spurious failures on FreeBSD

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-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'depcomp-work'

        * depcomp-work:
          depcomp: remove 'icc' depmode, add 'tcc' one
          news: update w.r.t. recent depcomp changes
          tests: fix spurious failures with tcc
          depcomp: improve comments about tcc support
          depcomp: remove last relics of libtool 1.4 support
          depcomp: remove an unused variable
          depcomp: rewrite a sed invocation for less quoting
          depcomp: whitespace fixes
          depcomp: shell code style changes
          depcomp: make some code more self-documenting
          depcomp: less duplication between AIX and Tru64 modes
          depcomp: avoid an extra fork when possible
          depcomp: reduce code duplication
          depcomp: don't rely on character ranges working as in C locale
          depcomp: cosmetic fixlets to a comment
          depcomp: safer quoting in variable expansion
          depcomp: correctly propagate exit status in exit trap
          depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
          depcomp: remove useless quoting in variable definitions
          depcomp: be more idiomatic in checking for zero exit statuses

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

        Merge branch 'maint'

        * maint:
          news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
          tests: give few vala tests more significant names
          vala tests: don't use the 'posix' profile, it's no longer supported
          news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
          news: document the fix for automake bug#10227
          tests: fix a spurious testsuite failure on Solaris
          python: make installed modules find by default on Debian and Ubuntu

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-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: give few aclocal tests more significant names

        * t/dirlist-abspath.sh: Rename ...
        * t/aclocal-dirlist-abspath.sh: ... like this.
        * t/dirlist.sh: Rename ...
        * t/aclocal-dirlist.sh: ... like this.
        * t/dirlist2.sh: Rename ...
        * t/aclocal-dirlist-globbing.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

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

        tests: remove a redundant workaround for a testsuite weakness

        * t/warnings-unknown.sh: Here, since we have improved our wrapper
        scripts for aclocal and automake enough to make that workaround
        unneeded.

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

        depcomp: remove 'icc' depmode, add 'tcc' one

        According to the comments in the now-removed test 'depcomp5.test' (removed
        by commit 'v1.11-1829-g5066c1b' of 2012-02-08, "tests: improve and rework
        tests on dependency tracking") "icc 8.0 and greater understand gcc options,
        so depmode is set to gcc".  According to Wikipedia, the 8.0 version of the
        Intel C compiler has been released in December 2003, that is, almost nine
        yeas ago.  So we can remove explicit support for icc 7.x from the depcomp
        script.

        Since our support for tcc has so far been relied on the icc depmode, we
        must write a new explicit 'tcc' depmode.  That is easy to do, since we can
        rely on the simpler and better-specified format of tcc-specified makefiles;
        for more info, see:
        <http://lists.gnu.org/archive/html/automake/2012-10/msg00043.html>

        * lib/depcomp (icc): Remove.
        (tcc): New.
        * NEWS: Update.

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

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

        * NEWS: Here.

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

        tests: fix spurious failures with tcc

        * t/depcomp8a.sh, t/depcomp8b.sh: Here, by avoiding initialization of
        global 'extern' variables, preferring functions definitions instead.

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

        depcomp: improve comments about tcc support

        * lib/depcomp (icc): Here.  See also tcc commit 0394caf7 "Emit spaces
        for -MD" and automake commit v1.11-768-gb96263 "depcomp: support tcc
        (Tiny C Compiler)".

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

        depcomp: remove last relics of libtool 1.4 support

        * lib/depcomp (tru64): Here.

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

        depcomp: remove an unused variable

        * lib/depcomp ($alnum): This.

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

        depcomp: rewrite a sed invocation for less quoting

        * lib/depcomp (dashmstdout): Here.

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

        depcomp: whitespace fixes

        * lib/depcomp: We indent by two spaces, and without using tabs.

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

        depcomp: shell code style changes

        * lib/depcomp: Here, in comments and line continuations.

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

        depcomp: make some code more self-documenting

        * lib/depcomp (make_dummy_makefile): With the help of this function.
        Use it throughout.

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

        depcomp: less duplication between AIX and Tru64 modes

        * lib/depcomp (tru64, aix): In these entries of the big 'case'
        switch, with the help of ...
        (aix_post_process_depfile): ... this new function.

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

        depcomp: avoid an extra fork when possible

        * lib/depcomp (set_dir_from): Here.

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

        depcomp: reduce code duplication

        * lib/depcomp: Here, when we have to get the directory and basename
        components of objects or source files; do so with the help of ...
        (set_dir_from, set_base_from): ... these new shell functions.

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

        depcomp: don't rely on character ranges working as in C locale

        * lib/depcomp (pgcc): Here.
        Related reorganization, with the unconditional definition of ...
        ($upper, $lower, $digits, $alnum, $alpha): ... these shell variables.

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

        depcomp: cosmetic fixlets to a comment

        * lib/depcomp (pgcc): Here, as that's unportable according to the
        autoconf manual.  In fact, there's no need to re-trap the signals
        just before exiting, since at that point a signal would cause at
        most a useless but harmless attempt to remove the

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

        depcomp: safer quoting in variable expansion

        * lib/depcomp (pgcc): Here.  Probably not needed, but since the
        rest of the script seems to employ proper quoting, better to be
        consistent.

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

        depcomp: correctly propagate exit status in exit trap

        * lib/depcomp (pgcc): Here.

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

        depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory

        * lib/depcomp (pgcc): Here.

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

        depcomp: remove useless quoting in variable definitions

        * lib/depcomp (pgcc): Here.

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

        depcomp: be more idiomatic in checking for zero exit statuses

        * lib/depcomp: Prefer "if test $stat -ne 0; then ..." over the longer
        "if test $stat -eq 0; then :; else ...".

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

        tests: give some tests more significant names

        * t/req.sh: Rename ...
        * t/aclocal-req.sh: ... like this.
        * t/reqd.sh: Rename ...
        * t/add-missing-multiple.sh: ... like this.
        * t/block.sh: Rename ...
        * t/comment-block.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

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

        Merge branch 'maint'

        * maint:
          tests: fix a spurious failure with older flex versions

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-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: avoid a failure due to m4 builtin 'sinclude' in package name

        Even with Autoconf 2.69, AC_INIT is not very robust when to package
        names that contain some selected m4 builtins; for example:

            $ echo 'AC_INIT([sinclude], [1.0])' | autoconf -o/dev/null -
            stdin:1: warning: file `' included several times

            $ echo 'AC_INIT([dnl], [1.0])' | autoconf -o/dev/null -
            /usr/bin/m4:stdin:1: excess arguments to builtin `m4_define' ignored
            autom4te: /usr/bin/m4 failed with exit status: 1

        Reference:
        <http://lists.gnu.org/archive/html/bug-autoconf/2012-11/msg00005.html>

        * t/aclocal-m4-sinclude.sh (configure.ac): Use 'm4sinclude' as package
        name in the AC_INIT invocation, to avoid tickling the just-described
        bug.

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

        Merge branch 'maint'

        * maint:
          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-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-19  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: more explicative names for few aclocal tests

        * t/aclocal3.sh: Rename ...
        * t/aclocal-missing-macros.sh: ... like this.
        * t/aclocal4.sh: Rename ...
        * t/aclocal-deps.sh: ... like this.
        * t/aclocal5.sh: Rename ...
        * t/aclocal-deps-subdir.sh: ... like this.
        * t/aclocal6.sh: Rename ...
        * t/aclocal-remake-misc.sh: ... like this.
        * t/aclocal7.sh: Rename ...
        * t/aclocal-no-force.sh: ... like this.
        * t/acloca8.sh: Rename ...
        * t/aclocal-no-unused-required.sh: ... like this.
        * t/acloca9.sh: Rename ...
        * t/aclocal-I-order-1.sh: ... like this.
        * t/acloca11.sh: Rename ...
        * t/aclocal-I-order-2.sh: ... like this, and update heading comments.
        * t/acloca12.sh: Rename ...
        * t/aclocal-I-order-3.sh: ... like this, and update heading comments.
        * t/acloca13.sh: Rename ...
        * t/aclocal-m4-sinclude.sh: ... like this, and update heading comments.
        * t/acloca14.sh: Rename ...
        * t/aclocal-m4-include-are-scanned.sh: ... like this.
        * t/acloca14.sh: Rename ...
        * t/aclocal-m4-include-are-scanned-aclocal-amflags.sh: ... like this,
        and update heading comments.
        * t/acloca15.sh: Rename ...
        * t/aclocal-scan-configure-ac-pr319.sh: ... like this.
        * t/acloca16.sh: Rename ...
        * t/aclocal-no-extra-scan.sh: ... like this, and enhance slightly.
        * t/acloca18.sh: Rename ...
        * t/aclocal-serial.sh: ... like this.
        * t/acloca19.sh: Rename ...
        * t/aclocal-pr450.sh: ... like this.
        * t/acloca20.sh: Rename ...
        * t/aclocal-no-symlinked-overwrite.sh: ... like this.
        * t/acloca21.sh: Rename ...
        * t/aclocal-comments-respected.sh: ... like this.
        * t/acloca22.sh: Rename ...
        * t/aclocal-deleted-header.sh: ... like this.
        * t/acloca22b.sh: Rename ...
        * t/aclocal-deleted-header-aclocal-amflags.sh: ... like this.
        * t/acloca23.sh: Rename ...
        * t/aclocal-underquoted-defun.sh: ... like this.
        * t/list-of-tests.mk: Update.

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

        tests: improve coverage on Texinfo + silent rules

        * t/silent-texi.sh: Here, by basic importing the version of the
        test that is the 'ng/master' branch (that of Automake-NG), plus
        a minor tweak to avoid a spurious failure with NetBSD make.

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

        Merge branch 'maint'

        * maint:
          build: fix rebuild rules for Makefile.in and aclocal.m4
          hacking: release procedure: fix order of some steps
          maint: post-release minor version bump
          release: stable release 1.12.5

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>

        Merge branch 'maint'

        * maint:
          maintcheck: avoid failures, sync with 'ng/master' more
          maintcheck: remove 'sc_perl_syntax'
          sync: update files from upstream with "make fetch"
          maint: get rid of $perllibdir environment variable hack
          configure: respect the '-q' option better
          cosmetics: de-tabify configure.ac

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-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        fixup: Automake installation works again

        By renaming 'dist_automake_ac_DATA' to 'nobase_dist_automake_ac_DATA' in
        a recent patch, we have broken the Automake installation, since m4 files
        that were expected to be installed in '${prefix}/aclocal-${APIVERSION}'
        are now being installed in '${prefix}/aclocal-${APIVERSION}/m4' instead.
        Fix this mess.

        * Makefile.am (nobase_dist_automake_ac_DATA): Rename ...
        (dist_automake_ac_DATA): ... like this.  And move
        'm4/internal/ac-config-macro-dirs.m4' ...
        (dist_automake_internal_ac_DATA): ... here.
        (automake_internal_acdir): New, simply defined to
        '$(automake_acdir)/internal'.

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

        Merge branch 'ac-config-macro-dirs'

        * ac-config-macro-dirs:
          tests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf
          aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs
          aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well

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

        tests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf

        When "older" version of autoconf are used (that is, those before commit
        v2.69-44-g1ed0548), we have no sane way to prevent the autom4te invocation
        issued from aclocal to possibly display warnings "MACRO m4_require'd but
        not m4_defun'd".  That's not a big deal, because that just means that
        people using pre-2.70 autoconf with cutting-edge automake will see few
        spurious warnings, but the actual semantics will remain correct.

        However, this blemish was causing a couple of annoying testsuite failures.
        Solve this by simply skipping the affected tests when older (pre-2.70)
        autoconf versions are used.

        * t/aclocl-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with
        AC_REQUIRE"): Skip when older autoconf is in use.
        * t/aclocl-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
        AC_REQUIRE"): Likewise.

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

        recursion: remove _AM_EXTRA_RECURSIVE_TARGETS indirection

        Since automake automatically smashes extra whitespace and newlines
        in the arguments of the macros it traces, we can remove the extra
        indirection with the _AM_EXTRA_RECURSIVE_TARGETS.  This doesn't
        truly simplify the existing code, but make it slightly easier to
        understand anyway, since leave it with one less indirection.

        * automake.in: Trace AM_EXTRA_RECURSIVE_TARGETS directly, rather
        than tracing _AM_EXTRA_RECURSIVE_TARGETS.  Remove trailing and
        leading empty fields in the extracted arguments.
        * m4/extra-recurs.m4 (_AM_EXTRA_RECURSIVE_TARGETS): Remove, no longer
        needed.
        (AM_EXTRA_RECURSIVE_TARGETS): Adjust by making it a simple no-op.

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

        aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs

        The autom4te program coming with autoconf 2.68 and earlier had a bug
        which caused the "-" command line argument (with which we tell it to
        read some input from from standard input) to aways be pushed at the
        *end* of the command line, regardless of where the user specified it
        (that bug was fixed by autoconf commit 'v2.68-120-gf4be358', "getopt:
        new Autom4te::Getopt module").

        This broken semantics conflict with our usage in aclocal, where we
        need to pass some input to the invoked autom4te program early, and
        have so far been using the stdin to do so.  Now we start using an
        external file instead.

        * m4/internal/ac-config-macro-dirs.m4: New file, contain a fallback
        definition of the AC_CONFIG_MACRO_DIRS macro for older autoconf
        releases.
        * aclocal.in (trace_used_macros): When invoking autom4te, use that
        file instead of "abusing" standard input.
        * Makefile.am (dist_automake_ac_DATA): Rename ...
        (nobase_dist_automake_ac_DATA): ... like this.
        Add 'm4/internal/ac-config-macro-dirs.m4' to it.
        * t/aclocal-acdir.sh: Adjust to avoid spurious failures.

        Helped-by: Eric Blake <eblake@redhat.com>

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

        aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well

        This will allow our users to interact also with pre-2.70 autoconf without
        need for the user to add ACLOCAL_AMFLAGS in Makefile.am.  For example,
        before this change, in order to have aclocal look for macros in 'm4/dir1'
        and 'm4/dir2' also when (say) autoconf 2.69 was used, our users would
        have had to add something like:

            ACLOCAL_AMFLAGS = -I m4/dir1 -I m4/dir2

        in Makefile.am, in addition to the

            AC_CONFIG_MACRO_DIRS([m4/dir1 m4/dir2])

        in configure.ac.  Now, the AC_CONFIG_MACRO_DIRS call is enough.

        See the long-winded discussion on automake bug#12845 for more details:
        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12845>

        * aclocal.in ($ac_config_macro_dirs_fallback): New global variable,
        contains m4 code to issue a fallback definition of AC_CONFIG_MACRO_DIRS
        as an alias for the private macro _AM_CONFIG_MACRO_DIRS.
        (trace_used_macros): Handle and trace that macro.  Do some code
        reorganization and fix related botched indentation while at it.
        (write_aclocal): Output '$ac_config_macro_dirs_fallback' early in
        the generated aclocal.m4.
        * t/aclocal-macrodirs.tap: Run unconditionally, even with older
        autoconf.
        * t/subpkg-macrodir.sh: Likewise.
        * doc/automake.texi: Document only AC_CONFIG_MACRO_DIRS, rather
        than AC_CONFIG_MACRO_DIR.

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

        Merge branch 'ac-config-macro-dirs'

        * ac-config-macro-dirs:
          news: we trace AC_CONFIG_MACRO_DIRS
          aclocal: trace AC_CONFIG_MACRO_DIR_TRACE
          aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS
          coverage: expose a bug in aclocal (spurious warnings)
          aclocal: smash newlines in arguments of traced macros
          tests: better coverage for AC_CONFIG_MACRO_DIRS
          aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better
          aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS

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-10  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-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

        news: we trace AC_CONFIG_MACRO_DIRS

        * NEWS (New in 1.13): Update accordingly.

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

        news: improve wording

        * NEWS (New in 1.13): Prefer "no longer" over "not anymore",
        wherever possible.  Related re-wrapping of text.

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

        aclocal: trace AC_CONFIG_MACRO_DIR_TRACE

        This is now the documented way, and indeed the only correct way, to
        support AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS in third-party
        tools.  See autoconf commit v2.69-45-g5269030 of 2012-11-09,
        "AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks".

        * aclocal.in (trace_used_macros): Trace 'AC_CONFIG_MACRO_DIR_TRACE'
        rather than 'AC_CONFIG_MACRO_DIRS'.  We still have to trace
        'AC_CONFIG_MACRO_DIR' explicitly though, for compatibility with
        Autoconf versions before 2.70.
        * t/aclocal-macrodirs.tap: Enhance w.r.t. precedence of arguments
        in one and several AC_CONFIG_MACRO_DIRS calls.

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

        aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS

        When some macro expanded in configure.ac calls AC_REQUIRE on another
        macro that is defined in one of the local m4 macro dirs specified
        with AC_CONFIG_MACRO_DIRS, aclocal prints spurious warnings like:

            configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
            configure.ac:3: MY_FOO is expanded from...

        Such warnings come from autom4te, and are due to the fact that the
        *first* autom4te invocation issued by aclocal is not yet able to
        "see" the m4 macro definitions in the local m4 dirs (because they
        can be looked for only after the AC_CONFIG_MACRO_DIRS call has been
        traced, and tracing it requires running autom4te).

        To allow us to work around this issue, autom4te has introduced a new
        "witness" macro 'm4_require_silent_probe', that, when defined, allows
        us to silence that particular kind of warnings (and only it).

        Reported by Nick Bowler; see point (4) of:
        <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

        * aclocal.in (trace_used_macros): Pre-define the special macro
        'm4_require_silent_probe' when invoking autom4te.
        * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
        AC_REQUIRE"): This test passes now: remove the "TODO" directive.
        * t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIRS interaction with
        AC_REQUIRE"): Likewise.
        * t/acloca17.sh: Remove.
        * t/list-of-tests.mk: Adjust.

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

        coverage: expose a bug in aclocal (spurious warnings)

        When some macro expanded in configure.ac calls AC_REQUIRE on another
        macro that is defined in one of the local m4 macro dirs specified
        with one of the macros AC_CONFIG_MACRO_DIRS or AC_CONFIG_MACRO_DIR,
        aclocal prints spurious warnings like:

            configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
            configure.ac:3: MY_FOO is expanded from...

        Expose this weakness in our testsuite.

        Reported by Nick Bowler; see point (4) of:
        <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

        * t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with
        AC_REQUIRE"): New test, still xfailing.
        * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS interaction with
        AC_REQUIRE"): Likewise.

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

        aclocal: smash newlines in arguments of traced macros

        This change fixes the existing issues with AC_CONFIG_MACRO_DIRS
        containing newlines:
        <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

        Likely, it will also allow a less involved implementation of the
        AM_EXTRA_RECURSIVE_TARGETS macro (but that is left for potential
        follow-up patches).

        * aclocal.in (trace_used_macros): When calling autom4te, pass its
        '--trace' option an argument containing '${::}%' rather than '$1'.
        According to the autoconf manual (as of version 2.69), that will expand
        to the concatenation, with the '::' string, of all the arguments passed
        to a macro, with all newline characters in such arguments smashed.
        Related adjustments when handling the macro AC_CONFIG_MACRO_DIRS, to
        ensure leading whitespace in its argument are handled correctly.
        * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS: extra whitespace"):
        No longer declare it as an xfailing test.

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

        tests: better coverage for AC_CONFIG_MACRO_DIRS

        Suggested by a report from Nick Bowler:
        <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

        * t/aclocal-macrodirs.tap: Enhance to check use of extra whitespaces
        and newline characters in the arguments to AC_CONFIG_MACRO_DIRS.  This
        test currently fails, so mark it as "TODO".  While at it, throw in other
        minor edits and enhancements.

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

        aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better

        This new implementation ensures that any directory (possibly excluding
        the first one, if the '--install' option is used) that is declared with
        AC_CONFIG_MACRO_DIRS and that is non-existent will cause an error from
        aclocal.

        * aclocal.in (scan_m4_dirs): Add a new argument, telling whether it's OK
        for the scanned directory to be non-existing.  Adjust the implementation
        accordingly.
        ($first_user_m4dir): Remove, no more needed.
        (scan_m4_files): Update 'scan_m4_dirs' invocations so that aclocal will
        not complain if the first user macro directory is non-existing and the
        '--install' option is given: such directory will be created later by
        aclocal itself.
        * t/aclocal-macrodir.tap: Do not mark the last test as TODO anymore;
        it now passes.  Make stricter by ensuring a non-existing directory in
        AC_CONFIG_MACRO_DIRS causes an hard error, not a warning.

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

        aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS

        A new macro 'AC_CONFIG_MACRO_DIRS' has been recently introduced in
        autoconf (and is expected to appear in the autoconf 2.70 release),
        allowing us to declare several local m4 macro directories for a
        package.

        It can be done either passing several arguments to a single invocation:

            AC_CONFIG_MACRO_DIRS([dir1 dir2])

        or issuing more invocations:

            AC_CONFIG_MACRO_DIRS([dir1])
            AC_CONFIG_MACRO_DIRS([dir2])

        or a combination of the two:

            AC_CONFIG_MACRO_DIRS([dir1 dir2])
            AC_CONFIG_MACRO_DIRS([dir3])

        This will allow projects to use several m4 macro local dirs, without the
        need to use ACLOCAL_AMFLAGS (which we want to make obsolete and finally
        remove).  This is especially important for projects that are used as
        nested subpackages of larger projects.

        For more information and rationales, refer to these past discussions:

        <http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html>
        <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html>
        <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00000.html>
        <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00012.html>
        <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8037/>
        <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8087>
        <http://thread.gmane.org/gmane.comp.sysutils.automake.patches/8956>

        as well as to Automake commit v1.12.1-165-gcd1a9cc of 2012-07-03,
        "aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead",
        autoconf commit v2.69-42-gd73770f of 2012-10-17, "AC_CONFIG_MACRO_DIRS:
        new macro, mostly for aclocal".

        * aclocal.in ($ac_config_macro_dir): Turn this global scalar it into ...
        (@ac_config_macro_dirs): ... this global array.
        (trace_used_macros): Update '@ac_config_macro_dirs' instead of
        re-defining '$ac_config_macro_dir'.  Cater to calls the now-preferred
        macro 'AC_CONFIG_MACRO_DIRS' in addition to the "obsolescent" one
        AC_CONFIG_MACRO_DIR.
        (main loop): Append '@ac_config_macro_dirs', not '$ac_config_macro_dir',
        to '@user_includes'.
        * t/subpkg-macrodir.sh: New test.
        * t/aclocal-macrodirs.tap: Likewise.
        * t/list-of-tests.mk: Add them.
        * t/aclocal-macrodir.tap: Adjust and extend a little to keep it more in
        sync with 'aclocal-macrodirs.tap'.

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

        tests: remove an obsolete comment

        * t/silent-yacc.sh: Here.

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

        tests: remove mostly-redundant tests on silent rules

        We used to have several couples of tests named like 'silent-foo-gcc.sh'
        and 'silent-foo-generic.sh'.  Differently from what the names suggest,
        the first test in such a couple (that is, "silent-foo-gcc.sh") was not
        meant to check specific GCC-related features, but rather to check how
        the silent rules behave in combination with automatic dependency tracking
        when the 'gcc' depmode (that targets GCC versions before the 3.x and 4.x
        release series) is forced.

        Such depmode forcing was done exclusively to cover the code paths in
        'lib/am/depend2.am' that actually invoke the 'depcomp' script, rather
        than using the inlined, GCC-specific compiler invocation (the so-called
        "fastdep" mode), which is the default with modern GCC or with other
        modern compilers that can emulate the GCC command-line interface (e.g.,
        clang 3.0).

        But whenever we run the silent-*-generic.sh" tests with other supported
        compilers which have an associated depmode different from 'gcc3', these
        same "non-fastdep" code paths are covered, since in those tests we run
        ./configure with the '--enable-dependency-tracking' option, which causes
        slower depmodes not to be rejected.  Examples of such compilers are the
        Sun C and C++ compilers (at least since version 5.9, a.k.a. Sun Studio
        12.1), and the Tiny C Compiler (from version 0.9.26); and I run the
        Automake testsuite quite regularly with those compilers.

        So, the "silent-*-gcc.sh" test cases don't offer any real coverage
        enhancements, while still using testsuite runtime and causing some
        (admittedly minor, but still annoying) synchronization headaches with
        the sister tests "silent-foo-general.sh" tests.  So let's just remove
        these "silent-*-gcc.sh" tests.

        * t/silent-c-gcc.sh: Remove.
        * t/silent-cxx-gcc.sh: Likewise.
        * t/silent-lt-gcc.sh: Likewise.
        * t/silent-many-gcc.sh: Likewise.
        * t/silent-c-generic.sh: Rename ...
        * t/silent-c.sh: ... like this, and adjust heading comments.
        * t/silent-cxx-generic.sh: Rename ...
        * t/silent-cxx.sh: ... like this, and adjust heading comments.
        * t/silent-lt-generic.sh: Rename ...
        * t/silent-lt.sh: ... like this, and adjust heading comments.
        * t/silent-many-generic.sh: Rename ...
        * t/silent-many-languages.sh: ... like this, and adjust heading
        comments.
        * t/list-of-tests.mk: Adjust.

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

        tests: enhance coverage on silent-rules and C compilation rules a little

        * t/silent-c-generic.sh: Here, by trying them also with automatic
        dependency tracking explicitly disabled.

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

        Merge branch 'maint'

        * maint:
          tests: new variable $am_testaux_builddir
          tests: rename $am_testauxdir -> $am_testaux_srcdir

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

        tests: rename few tests (on silent-rules support)

        Either to more informative names, or to names more consistent with the
        ones of similar/related tests.

        * t/silent.sh: Rename ...
        * t/silent-c-generic.sh: ... like this, and adjust heading comments.
        * t/silent2.sh: Rename ...
        * t/silent-c-gcc.sh: ... like this, and adjust heading comments.
        * t/silent3.sh: Rename ...
        * t/silent-lt-generic.sh: ... like this, and adjust heading comments.
        * t/silent4.sh: Rename ...
        * t/silent-lt-gcc.sh: ... like this, and adjust heading comments.
        * t/silentcxx.sh: Rename ...
        * t/silent-cxx-generic.sh: ... like this, and adjust heading comments.
        * t/silentcxx-gcc.sh: Rename ...
        * t/silent-cxx-gcc.sh: ... like this, and adjust heading comments.
        * t/silentf77.sh: Rename ...
        * t/silent-f77.sh: ... like this, and adjust heading comments.
        * t/silentf90.sh: Rename ...
        * t/silent-f90.sh: ... like this, and adjust heading comments.
        * t/silent7.sh: Rename ...
        * t/silent-gen.sh: ... like this, and adjust heading comments.
        * t/silent6.sh: Rename ...
        * t/silent-custom.sh: ... like this.
        * t/silent8.sh: Rename ...
        * t/silent-texi.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

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

        tests: merge two tests on silent-rules with libtool

        This helps to reduce code duplication, and also to (marginally)
        speed up the involved tests.

        Before this change, we had:

          $ diff -u t/silent3.sh t/silent9.sh

          --- t/silent3.sh      2012-11-07 19:38:05.000000000 +0100
          +++ t/silent9.sh      2012-11-07 19:27:54.000000000 +0100
          @@ -14,9 +14,9 @@
           # You should have received a copy of the GNU General Public License
           # along with this program.  If not, see <http://www.gnu.org/licenses/>.

          -# Check silent-rules mode, with libtool, standard depmode case.
          +# Check silent-rules mode, with libtool, nodep case.

          -# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
          +# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.

           required='cc libtoolize'
           . test-init.sh
          @@ -26,8 +26,8 @@
           cat >>configure.ac <<'EOF'
           AC_CONFIG_FILES([sub/Makefile])
           AC_PROG_CC
          -AM_PROG_AR
           AM_PROG_CC_C_O
          +AM_PROG_AR
           AC_PROG_LIBTOOL
           AC_OUTPUT
           EOF
          @@ -61,7 +61,7 @@
           $AUTOMAKE --add-missing
           $AUTOCONF

          -./configure --enable-silent-rules
          +./configure --disable-dependency-tracking --enable-silent-rules
           $MAKE >stdout || { cat stdout; exit 1; }
           cat stdout
           $EGREP ' (-c|-o)' stdout && exit 1

        * t/silent9.sh: Remove, merge ...
        * t/silent3.sh: ... in here.
        * t/list-of-tests.mk: Adjust.

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>

        Merge branch 'maint'

        * maint:
          vala tests: source test-init.sh, not ./defs
          tests: fix a spurious typo-related failure
          tests: remove spurious leftover use of 'Exit'
          tests: can check our recipes avoid trailing backslashes
          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>

        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>

        Merge branch 'maint'

        * maint:
          configure: correctly identify missing GNU compilers as such

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: get rid of ./defs, it's no longer used.

        * defs: Delete.
        * configure.ac (AC_CONFIG_LINKS): No longer link it.
        * t/ax/tap-setup.sh: Don't look for a file named 'defs' in
        the grandparent directory of the current test directory to
        decide whether we're running in the correct directory.
        * syntax-check.mk (xdefs): Remove '$(srcdir)/defs'.

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

        maintcheck: fix the name of a check

        * (sc_tests_Exit_not_exit): Rename ...
        (sc_tests_exit_not_Exit): ... like this, which is more faithful
        to what the check actually does.  Adjust a grammaro in comments
        while at it.
        (syntax_check_rules): Adjust.

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

        maintcheck: guard against uses of ./defs in tests

        Now, 'test-init.sh' should be used instead.

        * (sc_tests_no_source_defs): New maintainer check.
        (syntax_check_rules): Add it.

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

        tests: remove spurious leftover use of 'Exit'

        * t/per-target-flags.sh: Here, and simply use 'exit' instead.
        Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.

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

        tests: remove an obsolete, and probably now wrong, comment

        * t/dirlist.sh: Here.

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

        tests: remove obsolescent references to './defs'

        * t/distcom-subdir.sh, t/distcom2.sh, t/ax/depcomp.sh, t/conff2.sh,
        t/ccnoco3.sh, t/ccnoco.sh, t/self-check-dir.tap, t/self-check-exit.tap,
        t/self-check-me.tap: Here.  Instead, refer to "am-test-lib.sh",
        "test-init.sh", or simply "the testsuite setup", as appropriate.

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

        tests: prefer including 'test-init.sh' rather than './defs'

        This is a follow-up to today's commit v1.12.4-22-g0610fc8,
        "tests: prepare to move ./defs to t/ax/test-init.sh"

        * All tests: To run the common setup, use the command:

            . test-init.sh

        instead of the older, "historical" one:

            . ./defs || exit 1

        Note that the "|| exit 1" wasn't really useful, since the 'errexit'
        shell flag is in effect in both './defs' and 'test-init.sh', and all
        the known shells that are good enough to run the automake testsuite
        do automatically exit with error when a sourced file cannot be found
        (at least, they do so in non-interactive mode, which is the only
        mode that concerns us in the testsuite).

        * t/ax/tap-summary-aux.sh, t/ax/testsuite-summary-checks.sh: Likewise.

        * gen-testsuite-part: Do the same in the generated tests.

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

        Merge branch 'maint'

        * maint:
          tests: merge, tweak and modernize few test scripts
          tests: move coverage about BUILT_SOURCES
          tests: more meaningful names for some test cases
          tests: merge some grepping tests on Yacc support

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>

        Merge branch 'maint'

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

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

        AM_PROG_MKDIR_P: remove as obsolete, this time for good

        This commit basically reverts v1.12.4-158-gdf23daf, re-instating
        commit v1.12-20-g8a1c64f.

        Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro has been
        deprecated in the documentation and with runtime warnings since
        Automake 1.12.1.  Still, when we released Automake 1.13, we had
        to delay that macro's removal, since at the time the last released
        version of GNU gettext still AC_REQUIRE's AM_PROG_MKDIR_P via its
        'intl.m4' and 'po.m4' files, which are pulled into *many* projects.

        But it's now time to remove AM_PROG_MKDIR_P once and for all.
        Projects still needing to work with older gettext releases will
        be able to do so by adding a definition like

           AC_DEFUN([AM_PROG_MKDIR_P], [AC_PROG_MKDIR_P([$@])])

        to their 'acinclude.m4' file or to another local '*.m4' file.

        * m4/mkdirp.m4: Delete.
        * Makefile.am (dist_automake_ac_DATA): Remove it.
        * automake.in (scan_autoconf_traces): Don't handle, nor warn about,
        AM_PROG_MKDIR_P.
        * doc/automake.texi (Obsolete Macros): Delete (it only spoke about
        AM_PROG_MKDIR_P).
        * t/gettext-macros.sh: Adjust.
        * t/mkdirp-deprecation.sh: Delete.
        * t/list-of-tests.mk: Don't list it.

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>

        Merge branch 'maint'

        * maint:
          depcomp: avoid potential interferences from the environment
          depcomp: improve comments about the 'gcc' depmode
          sync: update files from upstream with "make fetch"
          maintcheck: remove an obsolescent check
          tests: rename some tests to more expressive names, again
          tests: remove an obsolescent grepping check
          tests: merge two tests on automatic remake functionality
          tests: rename some test to more expressive names
          news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
          tests: ensure generation of wrapper tests matching multiple conditions
          tests: simplify a loop in gen-testsuite-part
          compile: support libfoo.a naming when wrapping Microsoft tools
          NEWS: fix wording and grammaros, re-wrap text accordingly
          cosmetics: fix typo in 'lib/depcomp' comments

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  Jim Meyering  <jim@meyering.net>

        compat: reinstate AM_PROG_MKDIR_P, for gettext

        Do not remove AM_PROG_MKDIR_P just yet.

        gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its
        intl.m4 and po.m4 files, which are pulled into *many* projects.

        When I try to build one of those projects (coreutils) using the latest
        from automake.git/master, I see this failure:

            $ aclocal -I m4
            configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \
              but not m4_defun'd
            m4/po.m4:23: AM_PO_SUBDIRS is expanded from...
            m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
            configure.ac:477: the top level

        That is because AM_PROG_MKDIR_P was removed (via commit
        v1.12-20-g8a1c64f) in preparation for the next release of automake.

        * NEWS: Remove the paragraph that announced the removal of
        AM_PROG_MKDIR_P.
        * Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4.
        * m4/mkdirp.m4: Re-add file.
        * t/mkdirp-deprecation.sh: Likewise.
        * t/list-of-tests.mk: Add it.
        * automake.in: Restore removed code, and adjust comments, s/1.13/1.14/
        to reflect new plan for removal.
        * doc/automake.texi (Obsolete Macros): Restore the section, but
        now with only one entry: the one for AM_PROG_MKDIR_P.

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>

        Merge branch 'maint'

        * maint:
          config headers: remove stale comment in makefile fragment
          NEWS: wording and quoting fixlets in few older entries
          config headers: don't emit rules for headers not generated by autoheader
          docs: fix minor typo: s/expending/expanding/
          sync: update files from upstream with "make fetch"
          maint: post-release minor version bump
          maint: typo fixes s/lies into/lies in/
          release: stable release 1.12.4
          NEWS: minor fix

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-12  Jim Meyering  <meyering@redhat.com>

        fix typos in mk-dirp.m4

        * t/gettext-macros.sh: Fix typo in name of macro emitted into
        mk-dirp.m4: s/AM_MKDIR_P/AM_PROG_MKDIR_P/,
        and as Stefano Lattarini noted, also fix this typo:
        s/AC_MKDIR_P/AC_PROG_MKDIR_P/.

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

        tags: automake bug bug#12372 is fixed

        It has been fixed as a side effect of the overhauling of tags support.

        * t/list-of-tests.mk (XFAIL_TESTS): No longer list 'tags-pr12372.sh'.
        * NEWS: Update.

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

        Merge branch 'maint'

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

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>

        Merge branch 'maint'

        * maint:
          sync: update files from upstream with "make fetch"
          news: cygnus will be removed in automake 1.13
          news: some changes for 1.13 has been "de-planned"
          news: report that the have seen fixlets after 1.12.3
          warns: enable category 'obsolete' by default

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>

        tests: fix a maintainer-check failure ('Exit' used instead of 'exit')

        * t/lisp-loadpath.sh: Here.

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

        Merge branch 'maint'

        * maint:
          sync: update files from upstream with "make fetch"
          automake: don't define many identical 'lang_*_rewrite' subroutines
          coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)

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-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          docs: don't suggest to use recursive makefile setup
          tests: fix a timestamp race in python tests
          tests: fixup: make distcheck-override-infodir pass again
          sync: update files from upstream with "make fetch"
          maint: post-release minor version bump
          release: stable release 1.12.3
          maintcheck: fix spurious warnings
          docs: fix typo: s/make install-info/make uninstall-info/
          tests: fixup: make a couple of tests executable

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

        AM_INIT_AUTOMAKE: allow obsolescent two-args invocation once again

        This partially reverts commit 'v1.12-67-ge186355' of 2012-05-25,
        "init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore"

        Some users still need to be able to define the version number for
        their package dynamically, at configure runtime.

        Their user case is that, for development snapshots, they want to be
        able to base the complete version of the package on the VCS revision
        ID (mostly Git or Mercurial).  They could of course do so by
        specifying such version dynamically in their call to AC_INIT, as is
        done by several GNU packages.  But then they would need to regenerate
        and re-run the configure script before each snapshot, which might be
        very time-consuming for complex packages, to the point of slowing
        down and even somewhat impeding development.

        The situation should truly be solved in Autoconf, by allowing a way
        to specify the version dynamically in a way that doesn't force the
        configure script to be regenerated and re-run every time the package
        version changes.  But until Autoconf has been improved to allow
        this, Automake will have to support the obsolescent two-arguments
        invocation for AM_INIT_AUTOMAKE, to avoid regressing the suboptimal
        but working solution for the use case described above.

        See also:
        <http://lists.gnu.org/archive/html/automake/2012-08/msg00025.html>

        * NEWS: Update.
        * m4/init.m4 (AM_INIT_AUTOMAKE): Support once again invocation with
        two or three arguments.
        * t/aminit-moreargs-no-more.sh: Renamed ...
        * t/aminit-moreargs-deprecated.sh: ... like this, and updated.
        * t/nodef.sh: Recovered test, with minor adjustments.
        * t/backcompat.sh: Likewise.
        * t/backcompat2.sh: Likewise.
        * t/backcompat3.sh: Likewise.
        * t/backcompat6.sh: Likewise.
        * t/list-of-tests.mk: Adjust.

        Suggested-by: Bob Friesenhahn n<bfriesen@simple.dallas.tx.us>

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>

        Merge branch 'maint'

        * maint:
          tests: rework tests on AM_PATH_PYTHON
          cosmetics: fix typos and references in comments
          typofix: in a test diagnostic
          readme: fixlets to HACKING

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-12  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          cleanup: remove stale references to 'lzma' option

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

        cleanup: remove unused transform '%HAVE-MANS%'

        * automake.in (preprocess_file): Here.

2012-08-10  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>

        Merge branch 'maint'

        * maint:
          automake: remove an unused local variable
          distcheck: more resilient against possible failures
          cleanup: remove almost-unused global var 'am_relative_dir'

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>

        Merge branch 'maint'

        * maint:
          cleanup: remove two almost-unused global variables: {am,in}_file_name
          cleanup: remove almost-unused global var 'topsrcdir'
          automake: remove an unused variable
          tests: make a test script more semantic
          tests: remove an obsolete, no-op test script
          tests: remove an obsolete test script

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>

        Merge branch 'maint'

        * maint:
          tests: avoid spurious failures with older Texinfo
          tests: avoid tons of spurious failures on NetBSD
          runtest: avoid spurious failures on NetBSD
          news: dependency tracking for Portland Group Compilers is now supported

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>

        Merge branch 'elisp-work'

        * elisp-work:
          news: document all the recent elisp-related changes and improvements
          coverage: byte-compiling elisp files in different subdirectories
          elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation
          elisp: --batch implies -q, remove -q
          elisp: support elisp files in subdirectories properly
          elisp: simplify suffix rules using emacs '-L' option
          elisp: no need to "absolutize" $(srcdir) and $(builddir) ...
          elisp: prefer $(builddir) files over $(srcdir) ones
          elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)
          coverage: elisp path contains $(srcdir) and $(builddir)
          coverage: emacs lisp files in subdirectories

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

        Merge branch 'maint'

        * maint:
          tests: cater to OpenSolaris 'zip'

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>

        Merge branch 'maint'

        * maint:
          tests: fix a spurious XPASS on OpenIndiana
          tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana
          tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana
          tests: reimplement wrappers for automake and aclocal in perl
          tests: work around a ksh bug w.r.t. ${1+"$@"}
          depcomp: style changes to Portland Group Compilers support
          depcomp: initial support for Portland Group Compilers

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-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

        news: document all the recent elisp-related changes and improvements

        * NEWS (Elisp byte-compilation): Here.  Also notice that the recent
        changes have fixed the long-standing (almost two years old!) automake
        bug#7441.

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

        coverage: byte-compiling elisp files in different subdirectories

        Where a '.el' file in a subdirectory might require a '.el' file in
        another one.  This does not work out of the box, but can be made to
        work with a judicious use of $(AM_ELCFLAGS) (just introduced in the
        previous commit).

        * t/lisp-subdir-mix.sh: New test.
        * t/list-of-tests.mk: Add it.

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

        elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation

        * lib/am/lisp.am (.el.elc): Add "$(AM_ELCFLAFS) $(ELCFLAGS)"
        to the emacs command line.
        * t/lisp-flags.sh: New test.
        * t/list-of-tests.mk: Add it.
        * doc/automake.texi (Emacs Lisp): Update.

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>

        Merge branch 'maint'

        * maint:
          build: fix build in VPATH setup
          gen-tests: simplify sourcing of helper shell files

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>

        news: fix a couple of minor formatting issues

        * NEWS (New in 1.13): Here.

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>

        typofix: in a comment in Makefile.am

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

        Merge branch 'maint'

        * maint: (38 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 '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-25  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>

        Merge branch 'maint'

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

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-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tags: refactor to reduce code duplication (2)

        No semantic change is intended.

        * lib/am/tags.am (am__define_uniq_tagged_files): New variable,
        factor out some code common to ...
        (ctags-am, tags-am, ID): ... the recipes of these targets.

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

        tags: refactor to reduce code duplication (1)

        No semantic change is intended.

        * lib/am/tags.am (am__uniquify_input): New variable, factor
        out some code common to ...
        (ctags-am, tags-am, ID): ... the recipes of these targets.

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

        Merge branches 'tags-simplify-recursion' and 'color-tests-always'

        * tags-simplify-recursion:
          tags: unify recursion for tags targets with that of "usual" targets

        * color-tests-always:
          tests: better name for a couple of tests
          check: support colorized testsuite output by default

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

        tests: avoid a spurious failure with Solaris /bin/sh

        The /bin/sh shell on Solaris is dumb enough not to set the exit
        status to 127 after the execution of a non-existing command is
        attempted:

          $ /bin/sh -c 'nonesuch'; echo stat = $?
          /bin/sh: nonesuch: not found
          stat = 1

        This means that the missing script, when run through that shell,
        cannot discriminate between a real failure of a maintainer tool
        and a failure due to its absence.  This is not a big deal in
        practice (especially because all the 'missing' invocations in
        our Makefiles are done with $(SHELL), and that is almost surely
        set by configure to a proper POSIX shell), but was causing an
        annoying failure in our testsuite.  Fix it.

        * t/missing3.sh: If 'missing' is run with a /bin/sh shell suffering
        from the just-described bug, skip the check that would spuriously
        fail due to that bug.

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

        tests: fix buglet in t/missing3.sh

        * t/missing3.sh: Be sure to use 'run_cmd' also in the first invocation
        of 'missing', to ensure the stderr will actually be saved in a file we
        can later grep.

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

        Merge branch 'maint'

        * maint:
          self tests: avoid spurious failures on older bash
          tests: remove t/parallel-tests-many.sh (fixes spurious failure)
          typofix: in a comment in the automake script
          news: minor fixlets and reordering

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-22  Stefano Lattarini  <stefano.lattarini@gmail.com>

        tests: better name for a couple of tests

        * t/color.sh: Rename ...
        * t/color-tests.sh: ... like this.
        * t/color2.sh: Rename ...
        * t/color-tests2.sh: ... like this.
        * t/list-of-tests.mk: Adjust.

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

        check: support colorized testsuite output by default

        Fixes automake bug#11855.

        With this change, we make the 'color-tests' option enabled by default.
        That option remains still silently accepted as a no-op, for backward
        compatibility.

        The developer of a package is still free to disable testsuite coloring on
        a per-makefile basis (by adding "AM_COLOR_TESTS = no" to the Makefile.am)
        or on a whole-project basis (by AC_SUBST'ing AM_COLOR_TESTS to "no" in
        configure.ac).  But now the user will be able to request the testsuite
        output to be colorized, if he really wants to:

            # With GNU make:
            make AM_COLOR_TESTS=yes check
            # With non-GNU make:
            make AM_COLOR_TESTS=yes AM_MAKEFLAGS=AM_COLOR_TESTS=yes check

        * NEWS: Update.
        * doc/automake.texi: Updated, and some related minor reformatting
        and rewording.
        * automake.in (handle_tests): No need to pass the transform '%COLOR%'
        when processing "check.am".
        * lib/am/parallel-tests.am: Remove use of the '%?COLOR%' transform;
        just act as if it were unconditionally TRUE.
        * t/color.sh: No need to specify 'color-tests' in 'AUTOMAKE_OPTIONS'
        nor in 'AM_INIT_AUTOMAKE'.
        * t/ax/testsuite-summary-checks.sh: Likewise.
        * t/ax/tap-summary-aux.sh: Likewise.
        * t/color2.sh: Likewise.  Also, ensure that colorized testsuite output
        can be disabled by default by calling "AC_SUBST([AM_COLOR_TESTS], [no])".
        * t/tap-realtime.sh: Define 'AM_COLOR_TESTS' to "no" in Makefile.am, to
        avoid spurious colorization of the output due to the use of the 'expect'
        program.
        * t/color-tests-opt.sh: New test, check that the 'color-tests' option is
        still recognized as a no-op.
        * t/list-of-tests.mk: Add the new test.

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

        tags: unify recursion for tags targets with that of "usual" targets

        This change has a side effect: now any failure of the 'tags', 'ctags',
        'cscope' and 'cscopelist' targets in a subdirectory will cause the
        recursive command issued from the top directory to fail.  We believe
        that this behavioural change is not only justified by the simplification
        this patch entails, but actually offers better semantics: ignoring
        failures by default is never a good idea, and with make, the user can
        anyway order the completion of commands in the face of possible failures
        with the '-k' option.

        * NEWS: Update.
        * automake.in (%required_targets): Add keys 'cscopelist-am', 'tags-am'
        and 'ctags-am'.
        (handle_tags): Greatly simplified, the major part of the handling of
        recursion for the 'tags', 'ctags' and 'cscopelist' now moved out to ...
        * lib/am/tags.am: ... this file, that has been adjusted and extended
        accordingly.
        * t/maken3.sh: Remove testing of the 'TAGS' target, that is now just
        an alias to 'tags'.  Without this change, this test would spuriously
        fail.

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  Jack Kelly  <jack@jackkelly.name>

        elisp: --batch implies -q, remove -q

        According to the emacs manual[1], --batch implies -q, so there's no
        need to pass -q when compiling elisp.

        * lib/am/lisp.am: Remove -q from $(EMACS) call.

        [1]: http://gnu.org/s/emacs/manual/html_node/emacs/Initial-Options.html

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

        Merge branch 'maint'

        * maint:
          fixup: delete "# serial" line in m4/amversion.in
          news: update about recent ylwrap changes and fixes
          m4: get rid of "# serial" lines
          configure: ${#param} must be supported by the shell for the testsuite
          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  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-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

        elisp: support elisp files in subdirectories properly

        For more reference, see:
        <http://lists.gnu.org/archive/html/automake/2009-10/msg00013.html>
        <http://thread.gmane.org/gmane.comp.sysutils.automake.bugs/4772>

        * lib/am/lisp.am (.el.elc): If the file being byte-compiled is in
        a subdirectory, add that (both as a subdirectory of the builddir
        and the srcdir) to the emacs load path.  While we are at it (and
        for consistency), drop quoting of $(srcdir) and $(builddir), since
        those variables are ensured (by configure-time checks) not to
        contain white space nor shell metacharacters.
        * t/list-of-tests.mk (XFAIL_TESTS): Add 't/lisp-subdir.sh' and
        't/lisp-subdir2.sh', since they now passes.

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

        elisp: simplify suffix rules using emacs '-L' option

        * lib/am/lisp.am (.el.elc): Use '-L dir' instead of calling '--eval' to
        explicitly append to the 'load-path' variable.

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

        elisp: no need to "absolutize" $(srcdir) and $(builddir) ...

        * lib/am/lisp.am (.el.elc): ... here: we don't chdir around anyway,
        nor move or copy around our source '.el' files.  Update comments,
        and re-wrap them while we are at it.

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

        elisp: prefer $(builddir) files over $(srcdir) ones

        * lib/am/lisp.am (.el.elc): Here.  This better respects VPATH spirit.
        Adjust and extends comments.
        * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/lisp-loadpath.sh', which
        now passes.

2012-07-14  Jack Kelly  <jack@jackkelly.name>

        elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)

        Motivated by automake bug#11806.

        Traditionally, automake byte-compiled emacs-lisp '.el' files by invoking
        'elisp-comp' on all of them in a bulk; this involved complex timestamping
        and file-locking logic.  It was also brittle in any slightly-unusual
        setup, because 'elisp-comp' operated by copying all of the elisp files
        to be compiled into a temporary sub-directory and compiling them in there,
        the copying the resulting byte-compile files back in the build directory.

        This patch removes all of that juggling and chicanery in favour of
        defining a much simpler '.el.elc' suffix rule.  Not only this is simpler,
        but it also interacts better with "make -jN" calls, which are becoming
        more and more common and useful on today's increasingly multicore systems.

        * Makefile.am (dist_script_DATA): Remove 'elisp-comp'.
        * automake.in (@common_files): Likewise.
        (handle_emacs_lisp): Do not require 'elisp-comp'.
        * doc/automake.texi: Remove references to 'elisp-comp'.
        * lib/am/lisp.am: Define elisp compilation via a suffix rule; this
        basically amounts to a complete re-write of the lisp byte-compilation
        rules.
        * lib/elisp-comp: Remove.
        * t/add-missing.tap: Remove elisp-comp test.
        * t/dist-auxdir-many-subdirs.sh: Remove reference to elisp-comp.
        * t/primary-prefix-invalid-couples.tap: Likewise.
        * t/primary-prefix-valid-couples.sh: Likewise.
        * t/lisp4.sh: Remove reference to elc-stamp.
        * t/lisp5.sh: Likewise.
        * t/lisp6.sh: Likewise.
        * t/lisp3.sh: Likewise.  Also remove the recompilation check that
        involves a (message) call.
        * t/lisp7.sh: Remove check for "Warnings can be ignored".  Remove
        reference to elc-stamp.
        * t/lisp8.sh: Likewise.
        * t/lispdry.sh: Remove references to elc-stamp.

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

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

        coverage: elisp path contains $(srcdir) and $(builddir)

        * t/lisp-loadpath.sh: Check that.  Also check that, in true VPATH
        spirit, elisp files in the build directory are preferred to those
        in the source directory.  This test currently fails.
        * t/list-of-tests.mk (handwritten_TESTS): Add the new test.
        (XFAIL_TESTS): Likewise.

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

        coverage: emacs lisp files in subdirectories

        * t/lisp-subdir.sh, t/lisp-subdir2.sh: New tests, still failing.
        * t/list-of-files.mk (handwritten_TESTS, XFAIL_TESTS): Add them.

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>

        Merge branch 'maint'

        * maint:
          news: mention fixed testsuite weaknesses
          news: bump, for future 1.12.3
          tests: verify the shell test scripts are syntactically valid
          tests: don't use C instead of C++ compiler on case-insensitive platforms
          tests: avoid spurious TAP errors on Mac OS X 10.7
          tests: fix spurious failure in aclocal7.sh on fast machines

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>

        Merge branch 'maint' (with fix for CVE-2012-3386)

        This makes the fix for a locally-exploitable security vulnerability
        (CVE-2012-3386) available to the Automake master branch.

        * maint:
          sync: update files from upstream with "make fetch"
          news: improve wording in entry about CVE-2012-3386
          maint: post-release minor version bump
          release: stable release 1.12.2
          distcheck: never make part of $(distdir) world-writable
          compat: automake should substitute @mkdir_p@, for backward compatibility
          fixup: t/README: it's ./runtest, not ./t/ax/runtest

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>

        Merge branch 'maint'

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

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-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          cosmetics: rename t/ax/test-runner => t/ax/runtest
          fixup: another "make recheck" failure with BSD make
          test runner: work correctly in VPATH setups
          compat: automake should define $(mkdir_p), for backward compatibility
          coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works
          tests init: don't automatically re-execute tests with a POSIX shell
          yacc tests: fix spurious failure with parallel make
          tests: ignore minor 'recheck' regression for BSD make
          tests: don't clutter the top-level dir with temporary test directories
          tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d"
          lisp: better support of VPATH builds
          news: fixlets and updates

        + Extra non-trivial edits:

        * NEWS: State that $(mkdir_p) is still provided as an alias to
        $(MKDIR_P), for (partial) backward-compatibility.

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>

        tests: make 't/aclocal-macrodir.tap' executable

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

        maintcheck: fix spurious failure in 'maintainer-check-list-of-tests'

        * Makefile.am (test_subdirs): Add 'contrib/t', otherwise we would get a
        spurious error like:

          List of tests in Makefile an on filesystem differ
          + diff -u in-makefile on-filesystem
          --- tests-in-makefile-list.tmp    2012-07-03 23:07:47.000000000 +0200
          +++ tests-on-filesystem-list.tmp  2012-07-03 23:07:47.000000000 +0200
          @@ -1,7 +1,3 @@
          -contrib/t/help-multilib.sh
          -contrib/t/multilib.sh
          -contrib/t/parallel-tests-html-recursive.sh
          -contrib/t/parallel-tests-html.sh
           t/ac-output-old.tap
           t/acloca10.sh
           t/acloca11.sh
          make: *** [maintainer-check-list-of-tests] Error 1

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

        build: fix cleaning of test directories in contrib (and in t/perf)

        * Makefile.am (clean-local-check): Update recipe to cater to the fact
        that some tests using a temporary directory have been placed in other
        directories that the 't/' directory (for the moment, at least 't/perf'
        and 'contrib/t').

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

        Merge branch 'aclocal-trace-macrodir'

        * aclocal-trace-macrodir:
          aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead

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

        aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead

        Maintaining ACLOCAL_AMFLAGS in the Makefile.am to pass extra flags
        to aclocal is (and have always been) quite of an hack.  For example,
        autoreconf is forced to grep Makefile.am to honour those flags.  But
        this is a bad obsolescent behaviour; in fact, the autotools have moved
        consistently in the past years from custom grepping of Makefile.am and
        configure.ac to tracing of m4 macro calls, which is more consistent,
        more reliable and more flexible.

        And when autoreconf is not used, the developer is forced to add *by hand*
        the flags specified by ACLOCAL_AMFLAGS to the aclocal calls not triggered
        by make rebuild rules; here lie again more duplication and more chances
        for errors.

        Moreover, ACLOCAL_AMFLAGS has only two typical use cases:

          - to instruct aclocal to look for extra macro definition in a local
            directory (as with "ACLOCAL_AMFLAGS = -I m4"); and

          - to further instruct aclocal to copy in that local directory the
            required third-party .m4 files found in the system-wide directory
            (as with "ACLOCAL_AMFLAGS = -I m4 --install").

        The first use case can be better covered if aclocal can instead trace and
        honours call to the AC_CONFIG_MACRO_DIR autoconf macro; and the second
        use case shouldn't be considered really legitimate, as it is quite (and
        subtly) brittle (see automake bug#9037).

        Thus we now make aclocal trace AC_CONFIG_MACRO_DIR macro, and act
        accordingly.  For backward compatibility, we continue to support the
        ACLOCAL_AMFLAGS special variable (although removing any mention of it
        from the documentation).  Future Automake releases will likely start
        to warn about the use of that variable, and eventually remove support
        for it altogether.

        From a suggestion by Eric Blake.

        This is a much simplified (and IMHO saner) version of the patch series
        discussed in the threads:
        <http://lists.gnu.org/archive/html/automake-patches/2010-10/msg00045.html>
        <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00156.html>

        * aclocal.in ($ac_config_macro_dir): New global variable.
        (trace_used_macros): Also trace the macro 'AC_CONFIG_MACRO_DIR',
        and set the '$ac_config_macro_dir' variable accordingly.
        (parse_arguments): Code for diagnosis of '--install' used without
        any user-specified include directory moved  ...
        (while (1)): .. into the main loop.  Which now also updates the
        list of user-specified include directories to include the directory
        given as argument to the call (if any) of 'AC_CONFIG_MACRO_DIR'.
        * lib/am/configure.am: Update comments.
        * NEWS: Updated.
        * doc/automake.texi: Likewise.  Also, stop advising the use of the
        '--install' in ACLOCAL_AMFLAGS (see automake bug#9037 for a rationale),
        and remove any reference to ACLOCAL_AMFLAGS (which is now considered
        obsolescent).
        * t/aclocal-path-install.sh: Adjust grepping check in the aclocal
        error messages.
        * t/subpkg.sh: Updated: add 'AC_CONFIG_MACRO_DIR' call to configure.ac,
        remove setting of 'ACLOCAL_AMFLAGS' in Makefile.am and use of aclocal
        command line arguments.
        * t/subpkg2.sh: Likewise.
        * t/subdir8.sh: Likewise.
        * t/remake10c.sh: Likewise.
        * t/remake8a.sh: Likewise.
        * t/remake8b.sh: Likewise.
        * t/aclocal4.sh: Likewise.
        * t/aclocal6.sh: Likewise.
        * t/acloca14.sh: Likewise.
        * t/acloca22.sh: Likewise.
        * t/aclocal5.sh: Likewise, and do not not invade the Automake
        namespace (this avoids spurious failures).
        * t/acloca14b.sh: New test, identical to the previous version of
        'acloca14.test'; it is kept to verify backwards compatibility with
        the use of ACLOCAL_AMFLAGS.
        * t/acloca22b.sh: Likewise (but for 'acloca22.test').
        * t/aclocal-amflags.sh: New test, check for backwards
        compatibility that ACLOCAL_AMFLAGS still works.
        * t/remake-macrodir.sh: New test, checking that aclocal's honoring of
        AC_CONFIG_MACRO_DIR interacts nicely with automatic rebuild rules.
        * t/list-of-tests.mk: Add the new tests.

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-02  Stefano Lattarini  <stefano.lattarini@gmail.com>

        contrib: check-html: pass flags to rst2html invocations

        Related to automake bug#11287.

        * contrib/t/check-html.am (.log.html): Here, passing $(AM_RST2HTMLFLAGS)
        and $(RST2HTMLFLAGS) (in that order).

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

        contrib: simple improvements to check-html

        Related to automake bug#11287.

        * contrib/t/check-html.am (.log.html): Do not look for $RST2HTML in
        the environment, looking for $(RST2HTML) should be enough (also, the
        pre-existing code was broken, because it single-quoted $RST2HTML).
        Fix the loop-and-search implementation to be more similar to the
        one in 'contrib/t/parallel-tests-html.sh'.  Prefer 'mv -f' over bare
        'mv'.  Do not break the recipe in

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

        coverage: check-html can be used recursively

        Addresses the main part of Automake bug#11287.

        * contrib/t/parallel-tests-html-recursive.sh: New test.
        * contrib/t/local.am: Add it.

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

        tests: tests for stuff in contrib goes in 'contrib/t'

        * t/help-multilib.sh: Move ...
        * contrib/t/help-multilib.sh: .. here. Remove a now-obsolete
        "FIXME" comment.
        * t/multlib.sh: Move ...
        * contrib/t/multilib.sh: .. here.  Remove a now-obsolete
        "FIXME" comment.
        * t/parallel-test2.sh: Move ...
        * contrib/t/parallel-tests-html.sh: .. here.  Remove a
        now-obsolete "FIXME" comment.
        * contrib/t/local.am: New, basically defining the list of
        tests for stuff in 'contrib/'.
        * t/list-of-tests.mk, Makefile.am: Adjust.
        * .gitignore: Update.
        * syntax-checks.mk (xtests): Likewise.

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

        Merge branch 'user-recursive-targets'

        * user-recursive-targets:
          recursion: support user-defined recursive targets
          tests: rename 'recurs*.sh' to 'var-recurs*.sh'
          tests: minor improvements to 'recurs*.sh'

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

        recursion: support user-defined recursive targets

        The user can now define his own recursive targets that recurse
        in the directories specified in $(SUBDIRS).  That can be done by
        specifying the name of such targets in invocations of the new
        'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.

        The API goes like this:

            $ cat configure.ac
            AC_INIT([pkg-name], [1.0]
            AM_INIT_AUTOMAKE
            AM_EXTRA_RECURSIVE_TARGETS([foo])
            AC_CONFIG_FILES([Makefile sub/Makefile])
            AC_OUTPUT

            $ cat Makefile.am
            SUBDIRS = sub
            foo-local:
                @echo This will be run by "make foo".

            $ cat sub/Makefile.am
            foo-local:
                @echo This too will be run by a "make foo" issued either in
                @echo the 'sub/' directory or in the top-level directory.

        Like for the "default" recursive targets (e.g., 'all' and 'check'),
        the user-defined recursive targets descend in the $(SUBDIRS) in a
        depth-first fashion, and process '.' last (unless that is explicitly
        specified in $(SUBDIRS)).

        * NEWS, doc/automake.texi: Document the new feature.
        * automake.in (@extra_recursive_targets): New global variable.
        (scan_autoconf_traces): Trace macro '_AM_EXTRA_RECURSIVE_TARGETS'.
        (handle_user_recursion): New subroutine; among other things, it defines
        the new internal '$(am__extra_recursive_targets)' make variable, and
        the '*-am', '*-local' and '*-recursive' targets associated with the
        user-specified user recursive targets.
        (generate_makefile): Call the new subroutine.
        * lib/am/subdirs.am (am__recursive_targets): New internal make variable,
        listing all of '$(RECURSIVE_TARGETS)', '$(RECURSIVE_CLEAN_TARGETS)' and
        '$(am__extra_recursive_targets)' together.
        (AM_RECURSIVE_TARGETS): Adjust the definition of this variable ...
        (.PHONY, .MAKE): ... and the list of dependencies of these special targets
        to take advantage of the new '$(am__recursive_targets)' variable.
        ($(am__recursive_targets)): New targets, superseding ...
        ($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)): ... these, and
        inheriting their rules.  This way, the rules to handle recursion for
        built-in recursive targets (e.g., 'all', 'dvi', 'clean') and for user
        defined recursive targets are the same.
        * m4/extra-recurs.m4: New file, contain definition of new macro
        'AM_EXTRA_RECURSIVE_TARGETS' and '_AM_EXTRA_RECURSIVE_TARGETS'.
        These macros are basically dummy, only used for tracing by automake.
        * m4/Makefile.am (dist_automake_ac_DATA): Update.
        * t/recurs-user.sh: New test.
        * t/recurs-user2.sh: Likewise.
        * t/recurs-user-deeply-nested.sh: Likewise.
        * t/recurs-user-indir.sh: Likewise.
        * t/recurs-user-keep-going.sh: Likewise.
        * t/recurs-user-many.sh: Likewise.
        * t/recurs-user-no-subdirs.sh: Likewise.
        * t/recurs-user-no-top-level.sh: Likewise.
        * t/recurs-user-override.sh: Likewise.
        * t/recurs-user-phony.sh: Likewise.
        * t/recurs-user-wrap.sh: Likewise.
        * t/remake-recurs-user.sh: Likewise.
        * t/list-of-tests.mk: Update.

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

        tests: rename 'recurs*.sh' to 'var-recurs*.sh'

        * t/recurs.sh: Rename ...
        * t/var-recurs.sh: ...  to this.
        * t/recurs2.sh: Rename ...
        * t/var-recurs2.sh: ... to this.
        * tests/list-of-tests.mk: Adjust.

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

        tests: minor improvements to 'recurs*.sh'

        * t/recurs.sh: Removed useless calls to AM_CONDITIONAL in
        the generated 'configure.ac'.
        * t/recurs2.sh: Add trailing ':' command.

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

        Merge branch 'maint'

        * maint:
          tests: don't trust the exit status of "make -k" for non-GNU makes
          parallel-tests: reimplement fix for bug#11791
          tests setup: unset CDPATH
          tests setup: more namespace safeness
          tests setup: remove an unused variable
          tests setup: less hard-coding of the test subdirectory

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-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          parallel-tests: silence an overly verbose recipe
          tests: fix some uses of 'Exit', where 'exit' should now be used instead
          maintcheck: test scripts should be executable, check for that

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 'maint'

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

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>

        Merge branch 'maint'

        * maint:
          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>

        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: prefer "test ! -e FILE" to check that a file doesn't exist

        * t/autohdrdry.sh: Here, rather than using "test ! -r FILE".

2012-06-30  Jim Meyering  <jim@meyering.net>

        texi: clean after Texinfo manuals in $(SUBDIRS) directories correctly

        Fixes the regression exposed by previous commit 'v1.12.1-165-g498492f'.

        * automake.in (handle_texinfo_helper): Add $infobase.{t2d,t2p}
        to @mostly_cleans, but *without* the '$relative_dir/' prefix.

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

        coverage: regression in texinfo "make mostlyclean" with $(SUBDIRS)

        After commit v1.12.1-91-g205c757 of 2012-06-20, "texi: require
        Texinfo >= 4.9, related enhancements", the presence of a Texinfo manual
        'manual.texi' in a subdir (say 'doc/') of a package using a recursive
        make setup would cause "make distcheck" to fail, due to the presence of
        the 'manual.t2d/' directory created by texi2dvi.  That directory would
        not be correctly removed because the 'mostlyclean' rule would run, from
        within the 'doc/' sub-directory, "rm -rf doc/manual.t2d", instead of
        the expected (and correct) "rm -rf manual.t2d".

        Reported by Jim Meyering:
        <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00203.html>

        * t/txinfo21.sh: Enhance to expose the issue.
        * t/txinfo-no-clutter.sh: Likewise, and other miscellaneous improvements.

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

        Merge branch 'maint'

        * maint:
          tests: fix a spurious failure
          configure: fix detection of POSIX shell to work in a VPATH build
          tests: prefer "test ! -e FILE" to check that a file doesn't exist

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-28  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>

        Merge branch 'maint'

        * maint:
          configure: move a misplaced "section" comment
          configure: clump check for ${var%...} and ${var#...} expansion together
          cosmetics: improve wording of a couple of configure messages
          configure: the testsuite shell must support 'test -e' and 'test ! -e'
          tests: remove stale workarounds for Solaris /bin/sh

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>

        Merge branch 'maint'

        * maint:
          tests init: don't bother allowing '$me' to be overridable
          tests init: typofixes in comments

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>

        Merge branch 'maint'

        * maint:
          tests: one test was not executable, make it so
          readme: fix typo in t/README: s/$((...)/$((...))/
          tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace
          tests: avoid spurious maintainer-check failures
          tests: remove obsolete hacks around maintainer-check false positives

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 'maint'

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

        + Extra non-trivial edits:
        * Several tests: Adjusted to use 'exit' rather than 'Exit'.

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>

        cosmetics: remove trailing whitespace in some files

        * lib/missing, t/comment7.sh, t/objc-flags.sh, t/objcxx-flags.sh,
        t/perf/testsuite-summary.sh, t/self-check-explicit-skips.sh: Here.

        Prompted by a report from Karl Berry.

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

        coverage: enhance tests in 'missing' script a little

        * t/am-missing-prog.sh: Here, by also verifying its expected
        exit status.

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

        Merge branch 'maint'

        * maint:
          coverage: tests AM_MISSING_PROG usage
          docs: document AM_MISSING_PROG

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>

        Merge branch 'maint'

        * maint:
          tests: fix a spurious failure with Solaris make
          tests: avoid several spurious failures on Solaris
          tests: avoid a spurious failure on NetBSD

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-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'missing-not-touch-just-warn'

        * missing-not-touch-just-warn:
          missing: --run is supported again (as a no-op) for use by older automake

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

        missing: --run is supported again (as a no-op) for use by older automake

        Commit v1.12.1-87-ga22717d of 2012-06-21 ("missing: do not touch
        timestamps; only warn for out-of-date files") has removed the '--run'
        option, since our new preferred calling conventions now imply it; but
        if a newer 'missing' is mixed with an already built project that used
        an older Automake version (this happened in practice for GNU m4; see:
        <http://lists.gnu.org/archive/html/bug-m4/2012-06/msg00001.html>), then
        the 'Makefile' in that project will fail due to passing the '--run'
        option when trying to bring the project up-to-date.

        * lib/missing: Parse and ignore '--run'.

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

        Merge branch 'missing-not-touch-just-warn'

        * missing-not-touch-just-warn:
          missing: don't cater to 'configure.in' in our advice
          missing: better tips about missing tools

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

        missing: don't cater to 'configure.in' in our advice

        The use of 'configure.in' as autoconf input now deprecated the development
        versions of both Automake and Autoconf, and we'd like to speed up its
        demise.

        * missing: In the advice displayed in case some autotools are detected to
        be missing, refer to 'configure.ac' unconditionally, instead of referring
        to 'configure.in' when that file exists in the current directory (and no
        'configure.ac' does).

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-24  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: fix automatic re-execution of tests with Zsh
          tests: drop support for older Zsh shells
          tests: allow AM_TEST_RUNNER_SHELL to be overridden
          tests: fix setup for older Zsh

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>

        missing: better tips about missing tools

        * lib/missing: Try to point the user to the home page of such tools
        where possible.  Also, make clear that some tools (e.g., aclocal or
        autoheader) are distributed as part of bigger projects (resp. automake
        and autoconf, in those cases).  While at it, refactor and re-format
        the existing code heavily, in particular introducing
        (give_advice): ... this new function in the process.

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

        Merge branch 'missing-not-touch-just-warn'

        * missing-not-touch-just-warn:
          missing: do not touch timestamps; only warn for out-of-date files

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

        Merge branch 'maint'

        * maint:
          tests: avoid one last `...` command substitution in 'test-init.sh'
          maintcheck: guard against `...` for command substitution in test cases
          tests: more uses of $(...) over `...` for command substitution
          cosmetics: quote `like this', not 'like this', in a couple of tests
          readme: clarify/extend few entries in 't/README'
          readme: better separation of entries in 't/README'
          readme: subsections "Do" and "Do not" in 't/README' merged
          tests: new requirement 'grep-nonprint'
          cosmetics: fix description of an expected error message in a test
          tests: assume automake quotes 'like this', not `like this'

2012-06-22  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-22  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>

        Merge branch 'maint'

        * maint:
          tests: prefer using 'is_newest' over 'ls -t' hacks
          tests: implement is_newest as an auxiliary script, not shell function
          tests: fix some spurious failures in VPATH setup
          tests: work in VPATH setup again

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>

        Merge branch 'maint'

        * maint:
          tests: automatic re-execution works for non-POSIX shells too
          tests: use more POSIX shell features our test scripts

        + Extra non-trivial edits:

        * t/ax/test-init.sh: Apply the diffs between past versions of
        'defs' in maint and in master; i.e., remove handling of $required
        entries 'texi2dvi-o' and 'makeinfo-html', and adjust to the fact
        that the parallel testsuite harness is now the default.

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>

        Merge branch 'maint'

        * maint:
          docs: avoid failures with development version of Texinfo (4.13.90)
          typofix: s/test derivers/test drivers/ in check.am comments
          typofix: s/env/even/ in comments in GNUmakefile

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>

        missing: do not touch timestamps; only warn for out-of-date files

        Before this change, the missing script had a twofold role:

          - it warned the user if some required maintainer tools was missing,
            or too old;

          - in such a case, it tried to "fix" the timestamp of the files that
            should have been rebuilt by that tool (without actually updating
            the file contents, of course), to allow the build to continue.

        The second capability used to be quite useful in the days when most
        projects committed files generated by maintainer-only tools in their
        VCS repository (today the trend is not to keep such generated files
        VCS-committed anymore).  In such a setup, the "timestamp-fixing"
        capability of 'missing' was quite useful, in that it allowed users
        lacking some required maintainer tool to build from a VCS checkout
        in the face of skewed timestamps (as could have been caused by
        "cvs update" or "git checkout").

        But then, when the automatic remake rules kicked in due to the
        generated files being *actually out-of-date* (e.g., because the user
        had modified 'configure.ac' but lacked a modern-enough autoconf to
        rebuild it), that behaviour of 'missing' caused the same problem that
        plagued AM_MAINTAINER_MODE; i.e., the user would get non-dependable
        builds and inconsistent statuses of the build tree -- changes to
        source files don't reflect on generated files, and this can be very
        confusing and cause hard-to-spot errors).

        So we now believe that the best approach to deal with timestamp-related
        issues is not to have 'missing' to "automagically" try to resolve
        them (with all the risk and brittleness entailed), but rather to
        suggest those projects still keeping generated files committed in their
        VCS to provide a proper (say) 'fix-timestamp.sh' script that touches
        the timestamp of the checked-out files, to ensure no spurious rebuild
        will be triggered.  As a bonus, such a script can be more aware of the
        particularities, nooks and corner cases of a project, and thus more
        reliable than the old 'missing' script.

        An example of this approach is offered by GNU awk (release 4.0.1, Git
        tag 'gawk-4.0.1', commit b85b04e8).  The GNU awk maintainers commit
        the Autotools-generated files (configure, Makefile.in, etc.) and other
        generated in the project's Git repository, but offer a useful script
        'bootstrap.sh' that fixes the timestamps of those files, to ensure no
        useless remake is triggered in a freshly cloned repository:

            #! /bin/sh
            # bootstrap.sh --- touch relevant files to avoid out-of-date issues
            #                  in Git sandboxes
            touch aclocal.m4
            find awklib -type f -print | xargs touch
            sleep 1
            touch configure
            sleep 2
            touch configh.in
            sleep 1
            touch test/Maketests
            find . -name Makefile.in -print | xargs touch
            touch doc/*.info
            touch po/*.gmo
            touch po/stamp-po
            touch awkgram.c
            touch command.c
            touch version.c

        A similar, simplified script is also reported as an example in the
        manual.

        * NEWS: Update.
        * doc/automake.texi (Auxiliary Programs, maintainer-mod): Update.
        (CVS): Do not suggest that 'missing' can "automagically" fix botched
        timestamp due to a "cvs update"; this isn't true anymore.  Give an
        example of a custom 'fix-timestamp.sh' script that can be used to
        obtain the same effect (in a slightly more laborious but also more
        explicit and less brittle way).  Fix some minor typos and improper
        wordings while we are at it.
        * lib/missing: Basically rewritten to implement the new semantics.
        As a side effect (one of the several), the '--run' option is no more
        required nor recognized.
        * m4/missing.m4 (AM_MISSING_HAS_RUN): Enhance the test on '$MISSING'
        to ensure it actually provides the new semantics (by trying the new
        "witness" option '--is-lightweight').
        * lib/am/distdir.am (distdir): No need anymore to check for "bad"
        distributed man pages that were actually dummy stubs generated by
        the 'missing' script.
        * t/missing4.sh: Rename ...
        * t/remake-aclocal-version-mismatch.sh: ... like this.
        * t/missing2.sh: Rename ...
        * t/missing-version-mismatch.sh: ... like this, and adjust to the
        new semantics.
        * t/missing3.sh: Adjust to the new semantics.
        * t/man4.sh: Remove as obsolete.
        * t/missing.sh: Likewise.
        * t/missing5.sh: Likewise.
        * t/txinfo30.sh: Likewise.
        * t/man6.sh: Adjust grepping checks.
        * t/remake6.sh: Likewise.
        * t/list-of-tests.mk: Adjust.

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>

        Merge branch 'maint'

        * maint:
          bootstrap: overhaul and improve
          docs: quote 'like this', not `like this'

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-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

        fixup: tests: special requirement 'makeinfo-html' removed from ./defs

        This should have ideally been part of earlier commit v1.12.1-93-g3c64d54.

        * defs (makeinfo-html): Remove.

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

        maintcheck: guard against obsolete $required entries

        * syntax-check.mk: Add rules guarding against the use of the
        obsolete test requirements 'texi2dvi-o' and 'makeinfo-html'.

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

        tests: drop requirement 'makeinfo-html'; 'makeinfo' is enough

        * defs: Since we now require Texinfo 4.9 or later in the Automake
        generated Makefiles, and since the '--html' option of makeinfo, as
        well as its capability to generate HTML output, has been supported
        since Texinfo 4.0 (according to the Texinfo NEWS file), the
        requirement 'makeinfo-html' is obsolete -- the simpler requirement
        'makeinfo' is enough.
        * t/instdir-texi.sh ($required): Adjust by using simply 'makeinfo'
        instead of 'makeinfo-html'.
        * t/silent8.sh: Likewise.
        * t/txinfo21.sh: Likewise.

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

        tests: drop requirement 'texi2dvi-o'; 'texi2dvi' is enough

        * defs: Since we now require Texinfo 4.9 or later in the Automake
        generated Makefiles, and since the '-o' option of texi2dvi has been
        supported since Texinfo 4.1, the requirement 'texi2dvi-o' is
        obsolete -- the simpler requirement 'texi2dvi' is enough.
        * t/silent8.sh ($required): Adjust by using simply 'texi2dvi'
        instead of 'texi2dvi-o'
        * t/txinfo-no-clutter.sh: Likewise.
        * t/txinfo13.sh: Likewise.
        * t/txinfo23.sh: Likewise.
        * t/txinfo24.sh: Likewise.
        * t/txinfo25.sh: Likewise.
        * t/txinfo28.sh: Likewise.
        * t/txinfo33.sh: Likewise.
        * t/vtexi4.sh: Likewise.

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

        texi: require Texinfo >= 4.9, related enhancements

        We start passing the '--build-dir' option to the texi2dvi and texi2pdf
        invocations done in our Texinfo-related rules.  The argument for this
        option will be specific for each info_TEXINFOS entry, to work around a
        texi2dvi bug that could otherwise cause racy failures in parallel make
        builds:
        <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html>
        That bug seems already fixed in the development version of texi2dvi,
        though:
        <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00074.html>
        so the details of our '--build-dir' usage can be revisited once we can
        assume Texinfo 5.0 or later.

        Since the '--build-dir' options has been only supported since Texinfo
        4.9, we lose compatibility with all older Texinfo versions.

        But we also get some real improvements.

        First, the '--build-dir' option implies the '--tidy' option; this, like
        the '--clean' option that we were formerly using, prevents cluttering of
        the build directory with all the TeX and Texinfo auxiliary files and
        build by-products, but, differently from '--clean', keeps them around
        for later re-runs to use; this shortens the rebuild times considerably.

        Second, the use of '--build-dir' also allows us to specify different
        build directories for the PDF and DVI output, preventing the rules
        building them from stomping on each other's feet when run in parallel.
        This is demonstrated by the test cases 'txinfo-no-clutter.sh' and
        'txinfo33.sh', which before this change used to fail when run with
        MAKE="make -j4", but now succeed even in that case.

        * NEWS: Update.
        * lib/am/texibuilds.am: Do not try to avoid texi2dvi/texi2pdf option
        '-o'; it has been supported since Texinfo 4.1, and we now require
        Texinfo >= 4.9.  Remove an obsolete comment.  Modify calls to texi2dvi
        and texi2pdf to use the '--build-dir' option, so that TeX auxiliary
        files and build by-products for a 'foo.texi' input will be placed in
        a 'foo.t2d' directory (for texi2dvi) or in a 'foo.t2p' directory (for
        texi2pdf).
        * automake.in (scan_texinfo_file): Greatly simplify the implementation,
        since we don't need anymore to keep track of the TeX auxiliary files and
        build by-products to clean.  Drop the '@CLEAN_FILES' part of the return
        value.
        (handle_texinfo_helper): Adjust the 'scan_texinfo_file()' call to its
        new signature.  Append the "work directories" now created by texi2dvi
        and texi2pdf invocation to the list of files/directories removed upon
        "make mostlyclean".
        * lib/am/texinfos.am: Update the cleaning rules (and comments)
        accordingly.
        * t/txinfo-no-clutter.sh: Minimal adjustment to avoid spurious failures.
        * .gitignore: Update.

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

        docs: it's not true that DISTCHECK_CONFIGURE_FLAGS is maintainer-reserved

        At least, not anymore since commit 'v1.11-372-g9760039' of 2001-06-10,
        "distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS".  See also
        automake bug#8784.

        * doc/automake.texi (Flag Variables Ordering): Do not report
        'DISTCHECK_CONFIGURE_FLAGS' as a "variables that are only useful
        to the maintainer that has no user counterpart": now it is a
        user-reserved variable, its maintainer-reserved counterpart
        being 'AM_DISTCHECK_CONFIGURE_FLAGS' .

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

        Merge branch 'am-preprocess-drop-tricky-transform'

        * am-preprocess-drop-tricky-transform:
          automake: stop supporting "%KEY?iftrue:iffalse%" transforms
          am: stop using "%KEY:iffalse?iftrue%" transforms

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

        Merge branch 'maint'

        * maint:
          tests: minor reorganization of few tests
          fixup: adjust t/list-of-tests.mk for renamed/added tests
          subdirs: enhance coverage, tweak and rename few tests
          sync: update files from upstream with "make fetch"
          py-compile: consistently quote 'like this', not `like this'.
          docs: recursive make considered harmful
          docs: clean rules are not run in reverse order of build rules anymore
          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

        + Extra non-trivial edits:

        These are due to the fact that support for silent rules is enabled
        unconditionally these days (since commit 'v1.12-34-g14141f2' of
        2012-05-01, "silent rules: support for them is always active now").

        * automake.in: In the new silent related code, do not ever check
        whether the 'silent-rules' option is active; just assume support
        for silent rules is enabled.
        * t/silent-obsolescent-warns.sh: Remove as obsolete.
        * t/list-of-tests.mk: Adjust.

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>

        automake: stop supporting "%KEY?iftrue:iffalse%" transforms

        And the similar "reduced forms" "%KEY:iffalse%" and "%KEY?iftrue%"
        as well.

        They are convoluted, never used (after the previous change), and will
        get in the way in the Automake-NG branch, where we'll soon want to use
        GNU make static pattern rules in our internal '*.am' fragments.

        * automake.in (preprocess_file, transform): Simplify not to support
        those transform patterns.

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

        am: stop using "%KEY:iffalse?iftrue%" transforms

        And the similar "reduced forms" "%KEY:iffalse%" and "%KEY?iftrue%"
        as well.

        They are harder to grasp, can be easily reformulated in function of
        other "plainer" transforms ("?KEY?" and "?!KEY?"), and we'll remove
        support for them anyway in a later change.

        * lib/am/data.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am,
        lib/am/progs.am, lib/am/python.am, lib/am/scripts.am: Adjusted not
        to rely on those kinds of transforms.

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 'maint'

        * maint:
          maintcheck: fix failures, both real and spurious
          subdir tests: avoid an use of "make -j4", for portability
          tests: avoid failure due to libtool quirks in C++ demo test
          tests: fix spurious failures due to missing '$sleep'
          subdirs: unify rules for "cleaning" and "normal" recursive targets
          tests: add a "demo" test on C support
          tests: look for '.lo' rather than '.o' object when using Libtool with C++
          cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
          maint: grammar fixes: s/all these/all of these/
          subdir-objects: improve "make mostlyclean" efficiency and flexibility

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>

        Merge branch 'maint'

        * maint:
          tests: look for '.lo' rather than '.o' object when using Libtool with C++
          cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
          tests: add basic semantic tests on C++ support
          tests: minor tweak to 't/objc-megademo.sh'

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-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

        cleanup: simplify subroutine '&saw_extension'

        * automake.in (saw_extension): Now that we use the '%extension_seen'
        hash only as a set (it's keys being its elements), we can simplify
        the implementation of this function accordingly.

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

        cleanup: remove subroutine '&saw_sources_p'

        * automake.in (saw_sources_p): Remove, its implementation is now so
        trivial that it's easier to inline it into ...
        (handle_languages): ... it's only caller.

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

        cleanup: remove unused '&count_files_for_language' subroutine

        * automake.in (count_files_for_language): Remove.  Its only remaining
        caller (saw_sources_p) has stopped calling it in the previous commit.

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

        automake: simplify '&saw_sources_p'

        This is just a minor cleanup.  No semantic change is intended.

        * automake.in (saw_sources_p): Since its now-only caller calls it with
        the '0' argument, remove the code paths that assumed the argument could
        be '1', and assume no arguments.
        (handle_languages): Drop the arguments '0' in the '&saw_sources_p'
        invocation.

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

        tags: look at $(am__tagged_files) to decide whether to activate

        This is just a preparatory refactoring in view of future changes.

        * automake.in (handle_tags): To decide whether to include the tags rules,
        rely on whether the automake-defined variable $(SOURCES) is non-empty,
        rather than on the fact that '&saw_sources(1)' returns true.

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

        tags: new var $(am__tagged_files) to list all files to run taggers on

        This change reduce code duplication a little, and will be needed by
        future simplifications.

        * automake.in (handle_tags): Define a new 'am__tagged_files' private
        make variable that lists all files to run taggers (mkid, cscope, ctags,
        etc) on.  Drop the now-useless transform '%CONFIG%' when including
        'tags.am'.
        * lib/am/tags.am: Use it in several recipes and dependencies list to
        reduce code duplication.

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

        tags (cscope): also process $(TAGS_FILES)

        * lib/am/tags.am (cscopelist): Also scan the files (if any) listed in
        the '$(TAGS_FILES) variable, for consistency by what is done by the
        'ID', 'TAGS' and 'CTAGS' rules.

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

        tags (ID, cscope): also process config header (if any)

        * lib/am/tags.am (cscopelist, ID): Also scan the file given by the
        '%CONFIG%' transform, for consistency by what is done by the 'TAGS'
        and 'CTAGS' rules.

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

        Merge branch 'maint'

        * maint:
          news: document deprecation of configure.in
          news: put planned backward compatibilities early
          sync: update files from upstream with "make fetch"
          maint: deprecate 'configure.in' as autoconf input
          maint: post-release minor version bump
          release: stable release 1.12.1
          copyright: update copyright years in a couple of files
          tests: avoid spurious failures with Solaris 9 cscope program
          maintcheck: fix a spurious failure
          perf: beginning of a performance testsuite
          aclocal: declare function prototypes, do not use '&' in function calls
          news: support for configure.in will be dropped in future automake versions
          tests: fix botched heading comments in 'lex-clean-cxx.sh'
          [ng] maintcheck: some tweaks and fixlets
          help: fix a typo in the list of warning categories
          maint: version bump after beta release
          release: beta release 1.12.0b (will become 1.12.1)
          release: remove overly picky check

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-27  Stefano Lattarini  <stefano.lattarini@gmail.com>

        missing: support AC_CONFIG_HEADERS in addition to obsolete AC_CONFIG_HEADER

        * missing (autoheader*): Do not look only for AC_CONFIG_HEADER when
        grepping configure.ac, but also for AC_CONFIG_HEADERS: the latter has
        been preferred to the former by several years now in Autoconf.

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

        missing: don't bother checking for AM_CONFIG_HEADER: it is gone now

        * missing (autoheader*): Do not look for AM_CONFIG_HEADER when
        grepping configure.ac: it is not supported anymore (has been in
        fact deleted in commit v1.12-15-gd2ca168 of 2012-04-27, "m4: delete
        several obsolete macros").

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

        docs: remove mention of AM_CONFIG_HEADER: it is obsolete and removed now

        * doc/automake.texi (Variables used when building a program): Remove
        obsolete mention of AM_CONFIG_HEADER as an alias to AC_CONFIG_HEADERS.

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-25  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'am-init-automake'

        * am-init-automake:
          init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore

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

        init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore

        This is a follow-up on commit v1.12-66-g27136df of 2012-05-06, "init: warn
        against obsolete usage of AM_INIT_AUTOMAKE".

        With this change, we drop support for the two-arguments and three-arguments
        invocation forms of the AM_INIT_AUTOMAKE macro, as in either of:
            AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
            AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE)

        * NEWS, doc/automake.texi: Update.
        * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments
        invocation form as a hard error.
        * t/aminit-moreargs-deprecation.sh: Renamed ...
        * t/aminit-moreargs-deprecation.sh: ... to this, and updated to check
        the new semantics.
        * t/ac-output-old.tap: Adjust by avoiding old-style uses of AC_INIT
        and AM_INIT_AUTOMAKE.
        * t/acsilent.sh: Likewise.
        * t/dirlist.sh: Likewise.
        * t/dirlist2.sh: Likewise.
        * t/req.sh: Likewise.
        * t/nodef.sh: Remove as obsolete.
        * t/version.sh: Likewise.
        * t/version2.sh: Likewise.
        * t/backcompat.sh: Likewise.
        * t/backcompat2.sh: Likewise.
        * t/backcompat3.sh: Likewise.
        * t/backcompat5.sh: Likewise.
        * t/backcompat4.sh: Renamed ...
        * t/backcompat-acout.sh: ... to this.
        * t/list-of-tests.mk: Adjust.

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 'parallel-tests-default'

        * parallel-tests-default:
          check: the parallel-tests driver is now the default

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

        Merge branch 'maint'

        * maint:
          ylwrap: preserve subdirectories in "#line" munging
          ylwrap: preparatory refactoring

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>

        check: the parallel-tests driver is now the default

        The old serial testsuite driver is still supported, and can be activated
        by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773'
        of 2012-02-20, "automake: new option 'serial-tests'").

        * lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op
        (but still explicitly recognized, for backward compatibility), while the
        'serial-tests' option is recognized and registered.
        * automake.in: Adjust to ensure that the parallel test harness is used by
        default; mostly, this amounts at using "! option('serial-tests')" where
        "option('parallel-tests')" was used before.
        * NEWS, doc/automake.texi: Update.
        * configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is
        redundant now.
        * defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests'
        when the serial testsuite harness is to be used, and no option otherwise.
        * lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of
        conditional '%PARALLEL_TESTS%'.
        * lib/test-driver: Adjust heading comments.
        * t/ax/extract-testsuite-summary.pl: Likewise.
        * t/check-exported-srcdir.sh: Likewise.
        * t/check-subst.sh: Likewise.
        * t/java-compile-run-nested.sh: Likewise.
        * t/parallel-tests-dry-run-1.sh: Likewise.
        * t/parallel-tests-dry-run-2.sh: Likewise.
        * t/parallel-tests-interrupt.sh: Likewise.
        * t/parallel-tests-many.sh: Likewise.
        * t/test-metadata-global-log.sh: Likewise.
        * t/tests-environment-backcompat.sh: Likewise.
        * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment.
        * t/check8.sh: Likewise.
        * t/check-tests-in-builddir.sh: Likewise.
        * t/java-compile-run-flat.sh: Adjust a botched comment.
        * t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests'
        option.
        * t/ax/testsuite-summary-checks.sh: Likewise.
        * t/aclocal-path-precedence.sh: Likewise.
        * t/dist-aux-many-subdirs.sh: Likewise.
        * t/parallel-tests-no-color-in-log.sh: Likewise.
        * t/parallel-tests-reset-term.sh: Likewise.
        * t/parallel-tests-subdir.sh: Likewise.
        * t/check-no-test-driver.sh: Fix setup to adjust to the changed
        semantics.  Update heading comments.
        * t/parallel-tests-driver-install.sh: Adjust to the new semantic.
        * t/test-driver-is-distributed.sh: Simplified according to the
        new semantics.

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

        Merge branch 'maint'

        * maint:
          tests: use 'parallel-tests' Automake option by default
          doc: fix location of Automake's own test-suite.log file
          yacc tests: avoid a spurious failure with Sun C++ 5.9
          self tests: cater for /bin/ksh symlinked to Zsh
          tests: fix spurious failures due to dpkg install-info

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>

        Merge branch 'maint'

        * maint:
          tests: fix spurious failure due to i18n issue
          tests: add few missing 'cc' and 'c++' requirements

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-08  Stefano Lattarini  <stefano.lattarini@gmail.com>

        fixup: s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/ in 't/confsub.sh'

        Issue introduced in the recent merge 'v1.12-101-g12405c9'.

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

        Merge branch 'maint'

        * maint:
          tests: fix a spurious failure with dash
          test defs: fix indentation (cosmetic change)
          tests: remove obsolete uses of $sh_errexit_works
          configure: search a sturdy POSIX shell to be used in the testsuite
          tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
          fixup: distribute t/README
          init: warn against obsolete usage of AM_INIT_AUTOMAKE

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>

        Merge branch 'maint'

        * maint:
          m4: prepend m4 builtins with "m4_"
          docs: fix clumsy grammar in the scripts-based testsuite chapter

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  Stefano Lattarini  <stefano.lattarini@gmail.com>

        require: autoconf >= 2.65; related simplifications

        The new support for Objective C++ (to be added in Automake 1.12.1) can be
        simplified if we assume Autoconf version 2.65 or later (2.65 being the
        version that introduced support for Objective C++).  Since such an Autoconf
        version is two and half years old now (and will likely be almost three
        years old when Automake 1.13 gets released), requiring it is acceptable.
        This will also simplify testing and maintenance of Automake, because we'll
        need to test with fewer Autoconf version, and possibly rely on new Autoconf
        features.

        * NEWS (Version requirements): Automake 1.13 will require Autoconf
        2.65 or later.
        * configure.ac ($required_autoconf_version): Bump to 2.65.
        * m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf >= 2.65.
        Assume AC_PROG_OBJCXX is unconditionally defined.
        * m4/depout.m4: Adjust a comment about a nugget of defensive programming.
        * t/ext.sh: Assume that AC_PROG_OBJCXX is unconditionally defined,
        and that we are using Autoconf >= 2.65.  Related simplifications.
        * t/objc-megademo.sh: Likewise.
        * t/objcxx-basic.sh: Likewise.
        * t/objcxx-deps.sh: Likewise.
        * t/objcxx-flags.sh: Likewise.
        * t/objcxx-minidemo.sh: Likewise.
        * t/nodep2.sh: Likewise.
        * t/backcompat3.sh: Assume AC_INIT accepts an URL argument.
        * t/depend5.sh: Adjust a comment.
        * syntax-checks.mk (sc_test_names): Delete this check as now useless:
        autoconf >= 2.65 (>= 2.63, actually) can handle arguments to AC_INIT
        that contain or are m4 builtins or predefined macros.
        (m4_builtin): Delete this now-useless variable as well, was used only
        by the check above.
        (syntax_check_rules): Update.

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>

        Merge branch 'maint'

        * maint:
          tests: use append mode to capture parallel make output
          parallel-tests: separate different logs with an empty line

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>

        Merge branch 'maint'

        * maint:
          maintcheck: avoid a couple of spurious failures
          maintcheck: reduce code duplication, increase coverage

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-04  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>

        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'.

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

        Merge branch 'maint'

        * maint:
          tests: avoid spurious failure on missing Obj C/C++ compiler
          objc, objc++: test support for compilation flags
          objc, objc++: add stress test
          objc, objc++: test automatic dependency tracking
          objc: reorganize basic tests
          objc++, objc: add first semantic tests
          objc++: add first basic test
          news: announce initial support for Objective C++
          objc++: test support for '.mm' suffix in _SOURCES entries
          objc++: add documentation
          objc++: initial support for Objective C++

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-03  Stefano Lattarini  <stefano.lattarini@gmail.com>

        dist: don't bother putting README first in $(DIST_COMMON)

        Comments on some of our automake-time pre-processing of $(DIST_COMMON)
        said that it was done in order to "put README first because it then
        becomes easier to make a Usenet-compliant shar file".  But such a
        format is hardly relevant anymore, and not worth the (albeit small)
        added complexity.

        * automake.in (handle_dist): Don't sort @dist_common.
        (for_dist_common): Delete this function, is not used anymore.
        * lib/am/distdir.am (DISTFILES): Remove obsolete comment.
        * t/distcom4.sh: Adjust.

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

        Merge branch 'always-support-silent-rules'

        * always-support-silent-rules:
          silent rules: support for them is always active now

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

        Merge branch 'maint'

        * maint:
          news: document improvement in parallel-tests performance
          tests: fix spurious failure due to autom4te caching
          news: fix typos
          aclocal: error out again on unrecognized arguments
          parallel-tests: save few forks when possible
          parallel-tests: optimize global log creation
          parallel-tests: optimize 'recheck' target for speed
          coverage: add performance tests on some parallel-tests aspects

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-remove'

        * cygnus-remove:
          cygnus: remove support for Cygnus-style trees

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

        Merge branch 'maint'

        * maint:
          cosmetics: fix typo in aclocal m4 directory README
          cygnus: warn when it's used (flagged as 'obsolete' now)

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>

        silent rules: support for them is always active now

        Before this change, support for silent rules was optional and activated
        only if the 'silent-rules' option was specified.

        The rationale behind that behaviour was that the silent-rules machinery
        originally only worked with make implementations supporting nested
        variables expansions, which isn't (or wasn't) a POSIX-specified features;
        so that packages wanting to be "extra-portable" couldn't use the
        silent-rules machinery at all.

        But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011,
        "silent-rules: fallback for makes without nested vars" (motivated
        by automake bugs #9928 and #10237), Makefiles generated when the
        'silent-rules' option is enabled can work also with those make
        implementations that don't support nested variables expansion (albeit
        the configure-time selected verbosity cannot be overridden at make
        runtime in such case).

        In light of that, and since silent rules are disabled by default even
        when the 'silent-rules' option is given (unless the developer explicitly
        makes them enabled by default be calling "AM_SILENT_RULES([yes])" in
        configure.ac), we can now have the support for silent rules always
        enabled.

        The 'silent-rules' option will thus become a no-op, but will reaming a
        valid option for the time being, for better backward-compatibility.

        A collateral effect of this change is that the use of the 'silent-rules'
        option will not anymore automatically disable the warnings in the
        'portability-recursive' category.

        The present change is basically a backport of the Automake-NG commit
        'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for
        them is always active now".  Stemmed by this thread on the Automake-NG
        list:
        <http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html>

        * automake.in: Enable silent-rules machinery unconditionally.  Reword
        some comments.  Do not switch off warnings in the category
        'portability-recursive' anymore if the 'silent-rules' option is
        given.
        * m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally.
        * lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option.
        Do not bother anymore checking that it is set in 'configure.ac'.
        * t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES.
        * t/silent2.sh: Likewise.
        * t/silent3.sh: Likewise.
        * t/silent4.sh: Likewise.
        * t/silent8.sh: Likewise.
        * t/silent9.sh: Likewise.
        * t/silent-lex.sh: Likewise.
        * t/silent-many-gcc.sh: Likewise.
        * t/silent-many-generic.sh: Likewise.
        * t/silent-yacc-headers.sh: Likewise.
        * t/silent-yacc.sh: Likewise.
        * t/silentcxx-gcc.sh: Likewise.
        * t/silentcxx.sh: Likewise.
        * t/silentf77.sh: Likewise.
        * t/silentf90.sh: Likewise.
        * t/help-silent.sh: Likewise.
        * t/silent-configsite.sh: Likewise, and other minor adjustments.
        * t/silent7.sh: Likewise.  Also, extend to check that silent rules
        are disabled by default, and remove obsoleted checks about the
        'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'.
        * t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'.
        Call automake with '-Wno-portability-recursive'.  Remove other
        obsoleted checks.
        * t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in
        'configure.ac' to disable warning in the 'portability-recursive'
        category anymore.
        * t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure.
        * t/silent-amopts.sh: Remove as obsolete.
        * t/silent-nowarn.sh: Likewise.
        * t/list-of-tests.mk: Adjust.
        * NEWS: Update.
        * doc/automake.texi: Update and simplify accordingly.
        * configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option.

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

        Merge branch 'maint'

        * maint:
          fixup: botched edit in bootstrap.sh

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>

        Merge branch 'maint'

        * maint:
          news: fix confusing wording
          news: fixed weaknesses in build system and testsuite
          bootstrap: consistently use correct copyright year
          fixup: remove leftover "TERM=ansi" definition in 't/color.sh'

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>

        Merge branch 'maint'

        * maint:
          news: Automake 1.13 will require Autoconf >= 2.65
          news: put planned future backward-incompatibilities on top
          readme: update INSTALL to latest version from Autoconf
          sync: some auxiliary files synced from upstream
          hacking: copyright notices must be updated before releasing
          color-tests: coloring can be forced on non-ANSI terminals as well

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: remove support for Cygnus-style trees

        Support for "Cygnus-style" tree as enabled by the 'cygnus' option
        has been deprecated in the documentation and with runtime warning
        since Automake 1.12.1.  It's now time to remove it.

        Closes automake bug#11034.

        * lib/Automake/Options.pm (_process_option_list): Issue a proper
        error when the 'cygnus' option is seen.
        * automake.in: Don't handle the 'cygnus' option anymore.
        * docs/automake.texi: Remove references to cygnus option and
        Cygnus-style trees.
        * lib/am/dejagnu.am, lib/am/texinfos.am: Drop special setups for
        cygnus mode.
        * NEWS: Update.
        * t/cygnus-no-more.sh: New test.
        * t/flavor.sh: Adjust.
        * t/cygnus-deprecation.sh: Remove.
        * t/cygnus-check-without-all.sh: Likewise.
        * 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/txinfo5.sh: Likewise.
        * t/txinfo5b.sh: Likewise.
        * t/list-of-tests.mk: Update.

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-remove' into master

        * mkdirp-remove:
          AM_PROG_MKDIR_P: remove as obsolete

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

        Merge branch 'maint'

        * maint:
          AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13

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-29  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'maint'

        * maint:
          tests: root can write on files without write perms; cater for this
          tests: require lex, not yacc, in a lex test case
          maint: fix a comment typo

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: remove as obsolete

        Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro (and its
        output variable '$(mkdir_p)') has in the documentation and with
        runtime warning since Automake 1.12.1.  It's now time to remove it.

        * automake.in (scan_autoconf_traces): Remove special handling of
        'AM_PROG_MKDIR_P'.
        * m4/mkdirp.m4: Delete.
        * Makefile.am (dist_automake_ac_DATA): Remove it.
        * t/mkdirp-deprecation.sh: Delete.
        * t/list-of-tests.mk: Remove it.
        * doc/automake.texi: Remove references to the 'AM_MKDIR_P' m4 macro
        and the '$(mkdir_p)' output variable.
        * t/gettext-macros.sh: Ensure the gettext-requiring tests will
        still see the now-removed 'AM_PROG_MKDIR_P' macro as an alias for
        the 'AC_PROG_MKDIR_P' macro, since even recent versions of gettext
        uses 'AM_PROG_MKDIR_P' in their '.m4' files.
        * NEWS: Update.

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>

        Merge branches 'remove-acdir-option' and 'remove-obsolete-m4'

        * remove-acdir-option:
          aclocal: remove the --acdir option

        * remove-obsolete-m4:
          m4: delete several obsolete macros

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

        Merge branch 'maint'

        * maint:
          fixup: avoid unconditional re-bootstrapping on "make dist"
          build: ensure release year in copyright notice is up-to-date
          cosmetics: fix spacing in THANKS
          readme: explicitly state we use ranges in copyright years
          bootstrap: add convenience make target
          automake, aclocal: update copyright year in output

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>

        aclocal: remove the --acdir option

        It not documented in the manual anymore, its use has already been
        causing a deprecation warning, and its oncoming removal has already
        been announced in the NEWS file.  So let's finally remove it.

        * aclocal.in (parse_arguments): Don't recognize the '--acdir' option
        anymore.
        (handle_acdir_option): Remove subroutine.
        * configure.ac ($ACLOCAL): Adjust.
        ($AUTOMAKE): Cosmetic changes, for consistency.
        * tests/aclocal-acdir.test: Remove usages of the '--acdir' option.
        * tests/aclocal-print-acdir.test: Likewise.
        * NEWS: Update.

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>

        m4: delete several obsolete macros

        Support for several obsolescent macros has already been deprecated,
        and their removal already announced in the documentation and in the
        NEWS file.  It's now time to finally remove them.

        * m4/dmalloc.m4 (fp_WITH_DMALLOC): Don't define anymore.
        * m4/maintainer.m4 (jm_MAINTAINER_MODE): Likewise.
        * m4/lispdir.m4 (ud_PATH_LISPDIR): Likewise.
        * m4/protos.m4 (fp_C_PROTOTYPES): Likewise.
        * m4/ccstdc.m4: Delete file.
        * m4/header.m4: Likewise.
        * m4/obsol-gt.m4: Likewise.
        * m4/obsol-lt.m4: Likewise.
        * m4/obsolete.m4: Likewise.
        * Makefile.am (dist_automake_ac_DATA): Don't list the deleted '.m4'
        files anymore.
        * t/confh.sh: Use 'AC_CONFIG_HEADERS' instead of the now-removed
        AM_CONFIG_HEADER.
        * t/confh.sh: Likewise.
        * t/confh4.sh: Likewise.
        * t/confh6.sh: Likewise.
        * t/confh7.sh: Likewise.
        * t/confh8.sh: Likewise.
        * t/confsub.sh: Likewise.
        * t/stamph2.sh: Likewise.
        * t/subdir6.sh: Likewise.
        * t/autohdr2.sh: Remove as obsolete.
        * t/obsolete.sh: Likewise.
        * t/list-of-tests.mk. Don't list the deleted test cases anymore.
        * NEWS: Update.
        * doc/automake.texi: Likewise.  In particular ...
        (Obsolete Macros): Remove this node altogether.

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>

        Merge branch 'maint'

        * maint:
          maint: don't use "union" merge driver for NEWS anymore
          build: avoid too greedy rebuilds in the testsuite
          tests: avoid yet another spurious environment influence
          tests: fix a failure in Lex/C++ tests on Mac OS X
          tests: fix a spurious failure due to truncated timestamps
          build: require autoconf 2.69
          build: don't require minimal automake version in AM_INIT_AUTOMAKE

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-25  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: major version bump

        This is for the master branch.

        * configure.ac, m4/amversion.m4: Bump version to 1.12a.

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

        Merge branch 'maint'

        * maint:
          post-release: minor version bump

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-16  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-16  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-15  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-11  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-11  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-08  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-28  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-06  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-06  Stefano Lattarini  <stefano.lattarini@gmail.com>

        Merge branch 'msvc' into master (dummy merge)

2012-03-06  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-23  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-23  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-23  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-23  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-23  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-17  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-13  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-13  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-13  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-30  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-27  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-30  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.

Generated by dwww version 1.15 on Mon Jun 24 15:29:29 CEST 2024.