automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.2


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.2-909-gaaca2ab
Date: Tue, 14 Aug 2012 08:54:06 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=aaca2ab09a10b4532db4158e8d59c7afbf32c7cc

The branch, ng/master has been updated
       via  aaca2ab09a10b4532db4158e8d59c7afbf32c7cc (commit)
       via  c206ced65841bff504ae1628a1cf629f34709ec4 (commit)
       via  080905d5f9ced80db683ba2b28a0c61940159ab4 (commit)
       via  c3408fea2205b82df473c8655e3c37e8c43333e2 (commit)
       via  f24dac074237cd4006fd34ba0cecbeaa8939f364 (commit)
       via  6337717a9ac90dfac2d36c68bdd5cf6dea6a47ce (commit)
       via  fcea22c906da553605c407284c105deb8f60caee (commit)
       via  a0f51e4b3e7088e89fd64bd3c3af2f7629555b60 (commit)
       via  dd603e21f7ba2410adeab2348aa540947dcffee1 (commit)
       via  f095d7e3c86a1c94b1e5437d6e9becdf82006f36 (commit)
       via  c6cc38027572445a25d749db99473f82521cc79e (commit)
       via  daeca29aa2500bcbba1fd7bfe285a6e6d0500ef3 (commit)
       via  cbc0fc858b4acbc7116fa52c955e2d73f65ffabd (commit)
       via  917d095981ecfc3cc09fff4f758fe46f1ee9a354 (commit)
       via  1726b6d56c8138dcc0ecd392c6d878a75329d382 (commit)
       via  fa252add85c72412bb281446a4e3d078f7553966 (commit)
       via  68485e91bd5585f851ce833bad8a98a784036045 (commit)
       via  95d2b38ec3fd0bac9c773f49847fbe4ca0b91546 (commit)
       via  0980ac4ce95e65867403ae705d777e1c728db1eb (commit)
       via  b80d8d27d48007f8ebca8af72166a80d67ff6b88 (commit)
       via  2868ff8ca1792a7d5298923aff49647a754bc23e (commit)
       via  0b4d3325ca69a6081537f744bf09f6beaef325dd (commit)
       via  f8f26eeabd36fa7993c65497077aa745572b1dd3 (commit)
       via  1a93e9857e4f211769147fe9d0e9ffe6326c38fe (commit)
       via  2abbd59c3601fbaaad4c640a90bbd2e3413a385c (commit)
       via  673afd53c32fe365d2d3d9f33d12e1c1f824503a (commit)
       via  bc9b8ccafdf9873b5d075ba4118e3ad3f00e7394 (commit)
       via  81124853eb362772505a829bd959dc904a3ef1d4 (commit)
       via  bf030d98eee40566a2bb54808f59c01c8f882834 (commit)
       via  e6caf5ebdf120426fac27ef8f9691c5d187f8e9e (commit)
       via  04c52b271b56cd21b7342f33c3d48f04909549fd (commit)
       via  4b486997bd6fc1cb199b7af8ecce589977a95a71 (commit)
       via  874ef95e032ddfd2050e39fc0a29cb5ba1dc10fd (commit)
       via  9be004f2ab5ee92e67f04bb621dec9125f0f5080 (commit)
       via  8a810e765d24e43af010d9ce0b6728b103bf427b (commit)
       via  978f2d7b51b0c93d09663635202964f7be2665aa (commit)
      from  54afcd6bc2ec319999a43e67106c10d5523f6d3a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit aaca2ab09a10b4532db4158e8d59c7afbf32c7cc
Merge: f095d7e c206ced dd603e2
Author: Stefano Lattarini <address@hidden>
Date:   Mon Aug 13 17:36:03 2012 +0200

    Merge branches 'ng/dist-work' and 'ng/info-no-split' into ng/master
    
    * ng/dist-work:
      [ng] rename: am.dist.uninstallcheck-listfiles -> 
am.dist.uninstallcheck-listfiles
      [ng] dist: new internal API to specify formats of distribution tarballs
      [ng] diag: new make function $(am.fatal)
      [ng] dist: fixup: add 'dist' and 'dist-all' to AM_RECURSIVE_TARGETS
      [ng] distcheck: remove stale tarballs with 'rm -f', not 'rm -rf'
      [ng] dist: vars DIST_TARGETS and DIST_ARCHIVES are no more public
      [ng] dist: refactor: reduce duplication in the 'dist-*' recipes
    
    * ng/info-no-split:
      [ng] texinfo: don't support split info files anymore

commit c206ced65841bff504ae1628a1cf629f34709ec4
Author: Stefano Lattarini <address@hidden>
Date:   Sun Aug 12 23:15:28 2012 +0200

    [ng] rename: am.dist.uninstallcheck-listfiles -> 
am.dist.uninstallcheck-listfiles
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 080905d5f9ced80db683ba2b28a0c61940159ab4
Author: Stefano Lattarini <address@hidden>
Date:   Sun Aug 12 20:58:17 2012 +0200

    [ng] dist: new internal API to specify formats of distribution tarballs
    
    The API to specify the formats of distribution tarballs has been changed
    completely, in a BACKWARD-INCOMPATIBLE way.
    
    Instead of using the various 'dist-*' automake options, the developer is
    now expected to specify the default formats of its distribution tarballs
    with the special variable AM_DIST_FORMATS; for example, where once would
    have been:
    
        AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
    
    now it must be:
    
        AM_DIST_FORMATS = gzip bzip2 zip
    
    and similarly, where once would have been:
    
        AUTOMAKE_OPTIONS = no-dist-gzip dist-bzip2 dist-xz
    
    now is it simply:
    
        AM_DIST_FORMATS = bzip2 xz
    
    Similarly, The various 'dist-*' targets (dist-gzip, dist-xz, dist-lzip,
    dist-bzip2 and dist-gz) has been removed.  If the user wants to generate
    tarballs for formats not specified by the default AM_DIST_FORMATS, he can
    simply override that variable dynamically:
    
        # Will generate a '.zip' archive and a '.tar.xz' archive, and not
        # further ones.
        make dist AM_DIST_FORMATS='zip xz'
    
    This change is of course is totally backward incompatible, but the
    enhanced flexibility and simplicity is worth it.  Not to mention that
    the transition from the mainline Automake API to the new Automake-NG
    one is trivial.
    
    * NG-NEWS: Update.
    * ng/automake-ng.texi: Likewise.
    * configure.ac (AM_INIT_AUTOMAKE): Drop the 'dist-xz' option.  While
    at it, drop the 'color-tests' option (now on by default, even in
    coming-soon Automake 1.13) and add the 'ng' option (mostly for some
    showing-off :-).
    * t/ax/am-test-lib.sh: Also unset 'AM_DIST_FORMATS'.
    * Makefile.am (AM_DIST_FORMATS): New, containing 'gzip' ad 'xz' (so
    that we distribute the same formats we did before).
    * lib/am/distcheck.mk (AM_DIST_FORMATS): New, defaulting to 'gzip'.
    (am.dist.bad-targets): New, list invalid entries of $(AM_DIST_FORMATS).
    Error out with a suitable message if that variable is non-empty.
    Rename all the 'dist-*' targets, once public, to '.am/dist-*' (which
    are private).  Adjust their rules.
    (am.dist.all-targets): Adjust to said 'dist-*' => '.am/dist-*'
    renaming.
    (am.dist.default-targets): New, defined from $(AM_DIST_FORMATS).
    (dist, dist-all): Rewritten to rely on dependencies rather than on
    recursive make invocation (the new API allows us to do so easily).
    Other minor related adjustments.
    (distcheck): Use $(AM_DIST_FORMATS) instead of $(am.dist.formats)
    in the recipe.
    * automake.in (handle_dist): Drop analysis of the various 'dist-*'
    options, and of the 'no-dist-gzip' one; don't define the internal
    make variable 'am.dist.formats'.
    * lib/Automake/Options.pm (_is_valid_easy_option): Recognize the
    various 'dist-*' options and the 'no-dist-gzip' one no more.
    (_process_option_list): Explicitly reject them (to give better
    diagnostic).
    * t/dist-obsolete-opts.sh: New, check such diagnostic.
    * t/dist-obsolete.sh: Remove as obsolete.
    * t/repeated-options.sh: Minor adjustments to avoid spurious
    failures.
    * t/dist-formats.tap: Adjust heavily (almost a complete rewrite).
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit c3408fea2205b82df473c8655e3c37e8c43333e2
Author: Stefano Lattarini <address@hidden>
Date:   Sun Aug 12 20:42:02 2012 +0200

    [ng] diag: new make function $(am.fatal)
    
    Mostly a preparatory patch for future changes.
    
    * lib/am/header-vars.mk (am.fatal): New.
    * automake.in (generate_makefile): Use in instead of $(error) in the
    generated make code exiting for earlier errors.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit f24dac074237cd4006fd34ba0cecbeaa8939f364
Author: Stefano Lattarini <address@hidden>
Date:   Sun Aug 12 18:14:12 2012 +0200

    [ng] dist: fixup: add 'dist' and 'dist-all' to AM_RECURSIVE_TARGETS
    
    * lib/am/distcheck.mk: Here.  That wasn't happing due to a botched
    "ifdef", broken by some recent change (probably during the transition
    from 'distcheck.am' to 'distcheck.mk').
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 6337717a9ac90dfac2d36c68bdd5cf6dea6a47ce
Author: Stefano Lattarini <address@hidden>
Date:   Sun Aug 12 18:12:01 2012 +0200

    [ng] distcheck: remove stale tarballs with 'rm -f', not 'rm -rf'
    
    * lib/am/distcheck.mk (distcheck): Here.  They are regular files
    anyway.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit fcea22c906da553605c407284c105deb8f60caee
Author: Stefano Lattarini <address@hidden>
Date:   Sun Aug 12 18:08:25 2012 +0200

    [ng] dist: vars DIST_TARGETS and DIST_ARCHIVES are no more public
    
    Turn them into two internal variables.  This will clean up the
    interface a bit, and make the new planned dist-related APIs (still
    to be implemented) simpler to use.
    
    * lib/am/distcheck.mk (DIST_TARGETS, DIST_ARCHIVES): Rename ...
    (am.dist.default-targets, am.dist.default-archives): ... like
    these, respectively.
    (distcheck, dist, dist-all): Adjust.
    * t/dist-formats.tap (nogzip): Likewise.
    * NG-NEWS: Update.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit a0f51e4b3e7088e89fd64bd3c3af2f7629555b60
Author: Stefano Lattarini <address@hidden>
Date:   Sun Aug 12 16:54:52 2012 +0200

    [ng] dist: refactor: reduce duplication in the 'dist-*' recipes
    
    * lib/am/distcheck.mk: Here, with heavy refactorings, in particular
    introducing ...
    (am.dist.all-formats,
    am.dist.all-targets,
    am.dist.compress-cmd.gzip,
    am.dist.uncompress-cmd.gzip,
    am.dist.compress-cmd.bzip2,
    am.dist.uncompress-cmd.bzip2,
    am.dist.compress-cmd.lzip,
    am.dist.uncompress-cmd.lzip
    am.dist.compress-cmd.xz,
    am.dist.uncompress-cmd.xz,
    am.dist.create-cmd.zip,
    am.dist.extract-cmd.zip): ... these new internal variables ...
    (am.dist.create-archive-for-format.aux,
    am.dist.create-archive-for-format,
    am.dist.extract-archive-for-format.aux,
    am.dist.extract-archive-for-format): ... and these new internal
    make functions ...
    (am.dist-gzip, am.dist-bzip2, am.dist-lzip, am.dist-xz,
    am.dist.zip): ... and rewriting these rules as static-pattern
    rules sharing the same recipe ...
    (distcheck): ... and updating the recipe for this target.
    * t/dist-formats.tap: Little adjustments for better usefulness
    of verbose output when debugging.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit dd603e21f7ba2410adeab2348aa540947dcffee1
Author: Stefano Lattarini <address@hidden>
Date:   Mon Aug 13 15:00:34 2012 +0200

    [ng] texinfo: don't support split info files anymore
    
    They were once required for performance or memory-saving reasons; but
    such considerations, while certainly relevant in the past, will,
    thanks to today's powerful machines, get less and less important in
    the future, shrinking to irrelevance soon enough ("soon" for what
    concerns the Automake-NG timetable, at least).
    
    So, since the need to cater to split '.info' output files adds some
    annoying complexity in some places of the Automake-NG codebase, we
    simply stop supporting them.  This change should actually be almost
    transparent to the users.
    
    References:
    <http://lists.gnu.org/archive/html/automake-ng/2012-08/msg00116.html>
    <http://lists.gnu.org/archive/html/texinfo-devel/2012-08/msg00015.html>
    
    * lib/am/texinfos.mk (.am/install-info, uninstall-info-am,
    dist-info, am.clean.maint.f): Simplify moderately.
    * lib/am/texibuild.mk (am.texi.build.info): Simplify greatly.
    * t/txinfo20.sh: Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit f095d7e3c86a1c94b1e5437d6e9becdf82006f36
Merge: fa252ad c6cc380
Author: Stefano Lattarini <address@hidden>
Date:   Mon Aug 13 14:28:52 2012 +0200

    Merge branch 'master' into ng/master
    
    * master:
      tests: rework tests on AM_PATH_PYTHON
      cosmetics: fix typos and references in comments
      typofix: in a test diagnostic
      readme: fixlets to HACKING
      cleanup: remove unused transform '%HAVE-MANS%'
      cleanup: remove stale references to 'lzma' option

-----------------------------------------------------------------------

Summary of changes:
 HACKING                                       |   29 ++-
 Makefile.am                                   |    7 +-
 NG-NEWS                                       |   53 +++-
 automake.in                                   |   39 +--
 configure.ac                                  |    3 +-
 doc/automake-ng.texi                          |  121 ++++----
 lib/Automake/Options.pm                       |   22 +--
 lib/am/distcheck.mk                           |  136 +++++---
 lib/am/distdir.mk                             |    5 +-
 lib/am/header-vars.mk                         |    5 +
 lib/am/texi-spec.am                           |    2 +-
 lib/am/texibuild.mk                           |   64 +---
 lib/am/{texinfos.am => texinfos.mk}           |   89 +++---
 t/acloca10.sh                                 |    2 +-
 t/acloca12.sh                                 |    2 +-
 t/acloca22.sh                                 |    4 +-
 t/aclocal5.sh                                 |    2 +-
 t/ar-lib5a.sh                                 |    2 +-
 t/ar-lib5b.sh                                 |    2 +-
 t/ar-lib6a.sh                                 |    2 +-
 t/ar-lib6b.sh                                 |    2 +-
 t/asm.sh                                      |    2 +-
 t/asm2.sh                                     |    2 +-
 t/asm3.sh                                     |    4 +-
 t/autodist-subdir.sh                          |    2 +-
 t/autodist.sh                                 |    2 +-
 t/auxdir6.sh                                  |    2 +-
 t/auxdir7.sh                                  |    2 +-
 t/auxdir8.sh                                  |    2 +-
 t/ax/am-test-lib.sh                           |    2 +
 t/canon4.sh                                   |    2 +-
 t/canon6.sh                                   |    2 +-
 t/check-fd-redirect.sh                        |    2 +-
 t/check-subst-prog.sh                         |    2 +-
 t/check-subst.sh                              |    2 +-
 t/colon2.sh                                   |    2 +-
 t/colon3.sh                                   |    2 +-
 t/color-tests.sh                              |    2 +-
 t/color-tests2.sh                             |    2 +-
 t/compile_f90_c_cxx.sh                        |    2 +-
 t/cond44.sh                                   |    2 +-
 t/cond45.sh                                   |    2 +-
 t/condhook.sh                                 |    2 +-
 t/condhook2.sh                                |    2 +-
 t/confh7.sh                                   |    2 +-
 t/confh8.sh                                   |    2 +-
 t/depcomp8a.sh                                |    2 +-
 t/depcomp8b.sh                                |    2 +-
 t/dist-formats.tap                            |  408 +++++--------------------
 t/dist-missing-included-m4.sh                 |    2 +-
 t/dist-missing-m4.sh                          |    2 +-
 t/{dist-obsolete.sh => dist-obsolete-opts.sh} |   15 +-
 t/distcom4.sh                                 |    2 +-
 t/distcom5.sh                                 |    2 +-
 t/extra10.sh                                  |    2 +-
 t/extradep2.sh                                |    2 +-
 t/f90only.sh                                  |    2 +-
 t/fort2.sh                                    |    2 +-
 t/gnits2.sh                                   |    2 +-
 t/help-depend.sh                              |    2 +-
 t/help-depend2.sh                             |    2 +-
 t/install-info-dir.sh                         |    2 +-
 t/instdir-cond2.sh                            |    2 +-
 t/instdir.sh                                  |    2 +-
 t/instdir2.sh                                 |    2 +-
 t/instfail-info.sh                            |    2 +-
 t/instfail-java.sh                            |    4 +-
 t/instfail-libtool.sh                         |    4 +-
 t/instfail.sh                                 |    2 +-
 t/instmany-mans.sh                            |    2 +-
 t/instmany-python.sh                          |    2 +-
 t/java-compile-run-flat.sh                    |    2 +-
 t/java-compile-run-nested.sh                  |    6 +-
 t/lex-clean-cxx.sh                            |    2 +-
 t/lex-clean.sh                                |    2 +-
 t/lex-depend-grep.sh                          |    2 +-
 t/lex-lib.sh                                  |    2 +-
 t/lex-line.sh                                 |    2 +-
 t/lex-nodist.sh                               |    4 +-
 t/lexcpp.sh                                   |    2 +-
 t/lexvpath.sh                                 |    2 +-
 t/lflags.sh                                   |    4 +-
 t/lflags2.sh                                  |    4 +-
 t/libobj12.sh                                 |    2 +-
 t/libobj13.sh                                 |    2 +-
 t/libobj16a.sh                                |    2 +-
 t/libobj16b.sh                                |    2 +-
 t/libtool3.sh                                 |    2 +-
 t/libtool9.sh                                 |    2 +-
 t/link_f90_only.sh                            |    2 +-
 t/lisp5.sh                                    |    2 +-
 t/maintclean-vpath.sh                         |    2 +-
 t/maintclean.sh                               |    2 +-
 t/nobase-libtool.sh                           |    4 +-
 t/output10.sh                                 |    2 +-
 t/override-conditional-1.sh                   |   26 +-
 t/parallel-tests-dry-run-1.sh                 |    2 +-
 t/parallel-tests-dry-run-2.sh                 |    2 +-
 t/parallel-tests-fd-redirect-exeext.sh        |    4 +-
 t/parallel-tests-fd-redirect.sh               |    4 +-
 t/parallel-tests-log-compiler-1.sh            |    2 +-
 t/parallel-tests-log-compiler-2.sh            |    2 +-
 t/parallel-tests-suffix-prog.sh               |    2 +-
 t/parallel-tests-suffix.sh                    |    2 +-
 t/parallel-tests6.sh                          |    2 +-
 t/pluseq11.sh                                 |    2 +-
 t/posixsubst-libraries.sh                     |    2 +-
 t/posixsubst-ltlibraries.sh                   |    2 +-
 t/pr279-2.sh                                  |    2 +-
 t/pr279.sh                                    |    2 +-
 t/pr401.sh                                    |    2 +-
 t/pr401b.sh                                   |    2 +-
 t/pr401c.sh                                   |    2 +-
 t/primary-prefix-couples-force-valid.sh       |    2 +-
 t/primary-prefix-valid-couples.sh             |    2 +-
 t/py-compile-basic.sh                         |    2 +-
 t/py-compile-basic2.sh                        |    2 +-
 t/{python9.sh => python-am-path-iftrue.sh}    |   29 ++-
 t/python-missing.sh                           |   80 +++++
 t/{python5b.sh => python-too-old.sh}          |   45 ++--
 t/python-vars.sh                              |    2 +-
 t/python4.sh                                  |   43 ---
 t/python5.sh                                  |   45 ---
 t/python6.sh                                  |   38 ---
 t/python7.sh                                  |   38 ---
 t/python8.sh                                  |   37 ---
 t/remake-deleted-m4-file.sh                   |    2 +-
 t/remake-renamed-m4-macro-and-file.sh         |    2 +-
 t/remake-subdir-from-subdir.sh                |    4 +-
 t/remake-subdir-gnu.sh                        |    4 +-
 t/remake-subdir.sh                            |    4 +-
 t/remake.sh                                   |    2 +-
 t/remake10a.sh                                |    2 +-
 t/remake10b.sh                                |    2 +-
 t/remake10c.sh                                |    2 +-
 t/remake1a.sh                                 |    2 +-
 t/remake3.sh                                  |    2 +-
 t/remake3a.sh                                 |    2 +-
 t/remake8a.sh                                 |    4 +-
 t/remake8b.sh                                 |    4 +-
 t/remake9a.sh                                 |    2 +-
 t/remake9b.sh                                 |    2 +-
 t/remake9c.sh                                 |    2 +-
 t/remake9d.sh                                 |    2 +-
 t/repeated-options.sh                         |   25 ++-
 t/silent-many-gcc.sh                          |    6 +-
 t/silent-many-generic.sh                      |    4 +-
 t/silent-yacc.sh                              |    2 +-
 t/silent.sh                                   |    2 +-
 t/silent2.sh                                  |    2 +-
 t/silent3.sh                                  |    2 +-
 t/silent4.sh                                  |    2 +-
 t/silent9.sh                                  |    2 +-
 t/silentcxx-gcc.sh                            |    4 +-
 t/silentcxx.sh                                |    2 +-
 t/silentf77.sh                                |    2 +-
 t/silentf90.sh                                |    2 +-
 t/subdir-ac-subst.sh                          |    2 +-
 t/subdir-add-pr46.sh                          |   11 +-
 t/subdir-add2-pr46.sh                         |   20 +-
 t/subdir-am-cond.sh                           |    2 +-
 t/subobj11a.sh                                |    1 -
 t/subst3.sh                                   |    3 +-
 t/suffix.sh                                   |    2 +-
 t/suffix2.sh                                  |    2 +-
 t/tap-ambiguous-directive.sh                  |    2 +-
 t/tap-fancy.sh                                |    2 +-
 t/tap-fancy2.sh                               |    2 +-
 t/tap-log.sh                                  |    2 +-
 t/tap-no-spurious.sh                          |    2 +-
 t/tap-passthrough-exit.sh                     |    2 +-
 t/tap-passthrough.sh                          |    2 +-
 t/tap-plan-errors.sh                          |    6 +-
 t/tap-recheck.sh                              |    2 +-
 t/tap-todo-skip-together.sh                   |    2 +-
 t/tap-whitespace-normalization.sh             |    2 +-
 t/test-driver-custom-multitest-recheck.sh     |    6 +-
 t/test-driver-custom-multitest-recheck2.sh    |    2 +-
 t/test-log.sh                                 |    2 +-
 t/txinfo10.sh                                 |   39 ---
 t/txinfo20.sh                                 |    7 -
 t/txinfo21.sh                                 |   10 +
 t/txinfo23.sh                                 |    4 +-
 t/txinfo24.sh                                 |    4 +-
 t/txinfo25.sh                                 |    4 +-
 t/txinfo28.sh                                 |    2 +-
 t/txinfo33.sh                                 |    2 +-
 t/vtexi3.sh                                   |    2 +-
 t/vtexi4.sh                                   |    2 +-
 t/yacc-basic.sh                               |    2 +-
 t/yacc-clean-cxx.sh                           |    2 +-
 t/yacc-clean.sh                               |    2 +-
 t/yacc-cxx.sh                                 |    2 +-
 t/yacc-d-basic.sh                             |    2 +-
 t/yacc-d-cxx.sh                               |    2 +-
 t/yacc-d-vpath.sh                             |    2 +-
 t/yacc-line.sh                                |    6 +-
 t/yacc-nodist.sh                              |    3 +-
 t/yacc2.sh                                    |    2 +-
 t/yaccpp.sh                                   |    2 +-
 t/yaccvpath.sh                                |    2 +-
 t/yflags.sh                                   |    4 +-
 t/yflags2.sh                                  |    4 +-
 203 files changed, 772 insertions(+), 1130 deletions(-)
 rename lib/am/{texinfos.am => texinfos.mk} (83%)
 rename t/{dist-obsolete.sh => dist-obsolete-opts.sh} (64%)
 rename t/{python9.sh => python-am-path-iftrue.sh} (70%)
 mode change 100755 => 100644
 create mode 100644 t/python-missing.sh
 rename t/{python5b.sh => python-too-old.sh} (67%)
 delete mode 100755 t/python4.sh
 delete mode 100755 t/python5.sh
 delete mode 100755 t/python6.sh
 delete mode 100755 t/python7.sh
 delete mode 100755 t/python8.sh
 delete mode 100755 t/txinfo10.sh

diff --git a/HACKING b/HACKING
index 03b9dd5..baa5747 100644
--- a/HACKING
+++ b/HACKING
@@ -1,10 +1,10 @@
-================================================================
+============================================================================
 = This file
 
 * This file attempts to describe the rules to use when hacking
   automake.
 
-================================================================
+============================================================================
 = Administrivia
 
 * The correct response to most actual bugs is to write a new test case
@@ -38,7 +38,7 @@
 * Changes other than bug fixes must be mentioned in NEWS.  Important
   bug fixes should be mentioned in NEWS, too.
 
-================================================================
+============================================================================
 = Naming
 
 * Internal make variables and functions should be named following patterns
@@ -53,7 +53,7 @@
   except in those situation where that would cause spurious
   conflicts with mainline Automake.
 
-================================================================
+============================================================================
 = Editing '.am' files
 
 * Always use $(...) and not ${...}
@@ -73,7 +73,7 @@
 * Ensure install rules do not create any installation directory where
   nothing is to be actually installed.  See automake bug#11030.
 
-================================================================
+============================================================================
 = Editing automake.in and aclocal.in
 
 * Indent using GNU style.  For historical reasons, the perl code
@@ -87,7 +87,7 @@
   &, just convert the old code as you work on it, and write new
   code without.
 
-================================================================
+============================================================================
 = Working with git
 
 * To regenerate dependent files created by aclocal and automake,
@@ -131,7 +131,7 @@
   release.  For next, and for feature branches, the announcement for the
   branch should document rewinding policy.
 
-================================================================
+============================================================================
 = Writing a good commit message
 
 * Here is the general format that Automake's commit messages are expected
@@ -192,7 +192,7 @@
       ... removed in commit 'v1.11-1674-g02e9072' of 01-01-2012,
       "dist: ditch support for lzma"...
 
-================================================================
+============================================================================
 = Test suite
 
 * Use "make check" and "make maintainer-check" liberally.
@@ -207,7 +207,7 @@
 
 * See file 't/README' for more information.
 
-================================================================
+============================================================================
 = Release procedure
 
 * The steps outlined here are meant to be followed for alpha and stable
@@ -222,7 +222,8 @@
   date.  The maintainer-only target "update-copyright" can help with
   this.
 
-* Update NEWS.
+* Check NEWS; in particular, ensure that all the relevant differences
+  with the last release are actually reported.
 
 * Update the version number in configure.ac.
   (The idea is that every other alpha number will be a net release.
@@ -230,7 +231,13 @@
   distinguish net and repo versions.)
 
 * Run this:
-  ./bootstrap.sh && ./configure && make && make check && make distcheck
+
+    make bootstrap && make check && make distcheck
+
+  It is also advised to run "git clean -fdx" before invoking the
+  bootstrap, to ensure a really clean rebuild.  However, it must
+  be done carefully, because that command will remove *all* the
+  files that are not tracked by git!
 
 * Run "make git-tag-release".
   This will run the maintainer checks, verify that the local git
diff --git a/Makefile.am b/Makefile.am
index 5b3d6ab..9455f0f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -27,6 +27,9 @@ EXTRA_DIST =
 ##  Top level.  ##
 ## ------------ ##
 
+# Distribution formats.
+AM_DIST_FORMATS = gzip xz
+
 # We want a handful of substitutions to be fully-expanded by make;
 # then use config.status to substitute the remainder where a single
 # expansion is sufficient.  We use a funny notation here to avoid
@@ -185,7 +188,6 @@ EXTRA_DIST += lib/Automake/Config.in
 
 dist_am_DATA = \
   lib/am/am-dir.mk \
-  lib/am/texibuild.mk \
   lib/am/common-targets.mk \
   lib/am/color-tests.mk \
   lib/am/serial-tests.mk \
@@ -198,6 +200,8 @@ dist_am_DATA = \
   lib/am/distcheck.mk \
   lib/am/distdir.mk \
   lib/am/subdirs.mk \
+  lib/am/texibuild.mk \
+  lib/am/texinfos.mk \
   lib/am/compile.am \
   lib/am/configure.am \
   lib/am/data.am \
@@ -221,7 +225,6 @@ dist_am_DATA = \
   lib/am/scripts.am \
   lib/am/texi-vers.am \
   lib/am/texi-spec.am \
-  lib/am/texinfos.am \
   lib/am/vala.am \
   lib/am/yacc.am
 
diff --git a/NG-NEWS b/NG-NEWS
index 7d3bc75..129da68 100644
--- a/NG-NEWS
+++ b/NG-NEWS
@@ -212,21 +212,54 @@ Distribution
 
      EXTRA_DIST = $(wildcard doc/*.txt $(srcdir)/doc/*.txt)  # Better.
 
-* The variables $(DISTFILES), $(DIST_COMMON) and $(DIST_SOURCES) had
-  never been documented in mainline Automake, and were always intended
-  to be internal variables.  But that was not clear from their names.
-  So we have renamed rename like this:
+* The make variables $(DISTFILES), $(DIST_COMMON), $(DIST_SOURCES) and
+  $(DIST_ARCHIVES) had never been documented in mainline Automake, and
+  were always intended to be internal variables.  But that was not clear
+  from their names.  So we have renamed rename like this:
 
-    DISTFILES     =>  am.dist.all-files
-    DIST_COMMON   =>  am.dist.common-files
-    DIST_SOURCES  =>  am.dist.sources
+    DISTFILES      =>  am.dist.all-files
+    DIST_COMMON    =>  am.dist.common-files
+    DIST_SOURCES   =>  am.dist.sources
+    DIST_ARCHIVES  =>  am.dist.default-archives
 
   Do not use any of these variables in your Makefiles!
 
 * Support for distribution archived in the '.shar.gz' and '.tar.Z' formats
-  have been removed.  Accordingly, the targets 'dist-shar' and 'dist-tarZ'
-  are no more present in the generated Makefiles, and the use of the
-  Automake options 'dist-shar' and 'dist-tarZ' will elicit a fatal error.
+  have been removed; and with them the targets 'dist-shar' and 'dist-tarZ'.
+
+* The API to specify the formats of distribution tarballs has been changed
+  completely.
+
+  Instead of using the various 'dist-*' automake options, the developer is
+  now expected to specify the default formats of its distribution tarballs
+  with the special variable AM_DIST_FORMATS; for example, where once would
+  have been:
+
+      AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
+
+  now it must be:
+
+      AM_DIST_FORMATS = gzip bzip2 zip
+
+  and similarly, where once would have been:
+
+      AUTOMAKE_OPTIONS = no-dist-gzip dist-bzip2 dist-xz
+
+  now is it simply:
+
+      AM_DIST_FORMATS = bzip2 xz
+
+* The various 'dist-*' targets (dist-gzip, dist-xz, dist-lzip, dist-bzip2
+  and dist-gz) has been removed.  If the user wants to generate tarballs
+  for formats not specified by the default AM_DIST_FORMATS, he can simply
+  override that variable dynamically:
+
+      # Will generate a '.zip' archive and a '.tar.xz' archive, and not
+      # further ones.
+      make dist AM_DIST_FORMATS='zip xz'
+
+* The DIST_TARGETS variable has been removed (as a side-effect of the
+  previous change).
 
 
 Obsolete Features Removed
diff --git a/automake.in b/automake.in
index ea1f01a..1799875 100644
--- a/automake.in
+++ b/automake.in
@@ -2973,16 +2973,13 @@ sub handle_texinfo ()
   # FIXME: I think this is an obsolete future feature name.
   reject_var 'html_TEXINFOS', "HTML generation not yet supported";
 
-  my $info_texinfos = var ('info_TEXINFOS');
-  if ($info_texinfos)
+  if (my $info_texinfos = var ('info_TEXINFOS'))
     {
       define_verbose_texinfo;
       verbatim ('texibuild');
       handle_texinfo_helper ($info_texinfos);
     }
-  $output_rules .=  file_contents ('texinfos',
-                                  new Automake::Location,
-                                  'LOCAL-TEXIS' => !!$info_texinfos);
+  verbatim ('texinfos');
 }
 
 
@@ -3199,27 +3196,6 @@ sub handle_dist ()
   # The remaining definitions are only required when a dist target is used.
   return if option 'no-dist';
 
-  # The list of tarball formats we must support.
-  my @archive_formats;
-  if ($relative_dir eq '.')
-    {
-      # We order @archive_formats by expected duration of the
-      # compressors, slowest first, for better parallelism in
-      # "make dist".
-      unshift @archive_formats, 'gzip' unless option 'no-dist-gzip';
-      foreach my $fmt (qw/zip bzip2 lzip xz/)
-        {
-          unshift @archive_formats, $fmt if option "dist-$fmt";
-        }
-      # At least one of the archive formats must be enabled.
-      if (@archive_formats == 0)
-        {
-          error (option 'no-dist-gzip',
-                 "no-dist-gzip specified but no dist-* specified,\n"
-                 . "at least one archive format must be enabled");
-        }
-    }
-
   # Look for common files that should be included in distribution.
   # If the aux dir is set, and it does not have a Makefile.am, then
   # we check for these files there as well.
@@ -3279,7 +3255,6 @@ sub handle_dist ()
                    rule ('distcheck-hook') ? 'yes' : '');
   define_variable ('am.dist.handle-gettext', INTERNAL,
                    $seen_gettext && !$seen_gettext_external ? 'yes' : '');
-  define_variable ('am.dist.formats', INTERNAL, @archive_formats);
 
   my $flm = option 'filename-length-max';
   define_variable ('am.dist.filename-filter', INTERNAL,
@@ -5663,10 +5638,7 @@ sub preprocess_file ($%)
 
   # Complete %transform with global options.
   # Note that %transform goes last, so it overrides global options.
-  %transform = ( 'INSTALL-INFO' =>  ! option 'no-installinfo',
-                'INSTALL-MAN'  =>  ! option 'no-installman',
-                'HAVE-MANS'    => !! var ('MANS'),
-
+  %transform = ( 'INSTALL-MAN'  =>  ! option 'no-installman',
                 'SUBDIRS'      => !! var ('SUBDIRS'),
                 'TOPDIR_P'     => $relative_dir eq '.',
 
@@ -6673,6 +6645,8 @@ sub generate_makefile ($$)
                    $relative_dir eq '.' ? "yes" : "");
   define_variable ('am.conf.check-news', INTERNAL,
                    option 'check-news' ? "yes" : "");
+  define_variable ('am.conf.no-installinfo', INTERNAL,
+                   option 'no-installinfo' ? "yes" : "");
   define_variable ('am.conf.aux-dir', INTERNAL, $am_config_aux_dir);
   define_variable ('am.relpath.makefile', INTERNAL, basename ($makefile));
   define_variable ('am.relpath.makefile.am', INTERNAL,
@@ -6769,8 +6743,7 @@ sub generate_makefile ($$)
   # relevant diagnostic should have already been reported by any
   # call to the function '$(am.error)', so we just print a generic
   # "errors seen, stopping" message.
-  $output_checks .= '$(if $(am.error.seen),' .
-                    '$(error Some Automake-NG error occurred))' .
+  $output_checks .= '$(if $(am.error.seen),$(call am.fatal))' .
                     "\n";
 
   if ($exit_code != 0)
diff --git a/configure.ac b/configure.ac
index 50176d8..ab64763 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,8 +39,7 @@ AC_SUBST([am_AUTOUPDATE], ["${AUTOUPDATE-autoupdate}"])
 dnl We call AC_PROG_CC in an unusual way, and only for use in our
 dnl testsuite, so also use 'no-dependencies' and 'no-define' among
 dnl the automake options to avoid bloating and potential problems.
-AM_INIT_AUTOMAKE([dist-xz filename-length-max=99 color-tests
-                  no-define no-dependencies])
+AM_INIT_AUTOMAKE([filename-length-max=99 ng no-define no-dependencies])
 
 ## Keep this on a line of its own, since it must be found and processed
 ## by the 'update-copyright' rule in our Makefile.
diff --git a/doc/automake-ng.texi b/doc/automake-ng.texi
index 1470f63..0970069 100644
--- a/doc/automake-ng.texi
+++ b/doc/automake-ng.texi
@@ -3930,7 +3930,7 @@ By default this macro @code{AC_DEFINE}'s @code{PACKAGE} 
and
 @code{VERSION}.  This can be avoided by passing the @option{no-define}
 option:
 @example
-AM_INIT_AUTOMAKE([gnits 1.5 no-define dist-bzip2])
+AM_INIT_AUTOMAKE([gnits 1.11.6 no-define parallel-tests])
 @end example
 
 @item AM_PATH_LISPDIR
@@ -8271,9 +8271,6 @@ distribution.  The file is named based on the 
@code{PACKAGE} and
 @code{VERSION} variables defined by @code{AM_INIT_AUTOMAKE}
 (@pxref{Macros}); more precisely the gzipped @code{tar} file is named
 @address@hidden@var{version}.tar.gz}.
address@hidden GZIP_ENV
-You can use the @command{make} variable @code{GZIP_ENV} to control how gzip
-is run.  The default setting is @option{--best}.
 
 @cindex @code{m4_include}, distribution
 @cindex @code{include}, distribution
@@ -8363,7 +8360,7 @@ dist-hook:
         rm -rf `find $(distdir)/doc -type d -name .svn`
 @end example
 
address@hidden The caveates described here should be documented in 
'disthook.test'.
address@hidden The caveates described here should be documented in 
'disthook.sh'.
 @noindent
 Note that the @code{dist-hook} recipe shouldn't assume that the regular
 files in the distribution directory are writable; this might not be the
@@ -8547,49 +8544,74 @@ distuninstallcheck:
 @node The Types of Distributions
 @section The Types of Distributions
 
-Automake generates rules to provide archives of the project for
-distributions in various formats.  Their targets are:
+Automake-generated @code{dist} rule can generated distributions in
+various formats, depending on the content of the @code{AM_DIST_FORMATS}
+variable; this is overridable at runtime, defaults to @code{gzip}, and
+can contain several formats at once, to produce several kind of archives
+in one go.  The recognized formats are:
 
 @table @asis
address@hidden GZIP_ENV
address@hidden @code{gzip}
+Usual compression with GNU @command{gzip}.  Not very size-efficient
+these days, but very portable and fast.  You can use the @command{make}
+variable @code{GZIP_ENV} to control which options @code{make dist}
+passes to @code{gzip} (the default setting being @option{--best}).
+For example:
address@hidden
+make dist GZIP_ENV=--fast
address@hidden smallexample
address@hidden gzip compression
address@hidden Compression, gzip format
+
 @vindex BZIP2
address@hidden @code{dist-bzip2}
-Generate a bzip2 tar archive of the distribution.  bzip2 archives are
-frequently smaller than gzipped archives.
-By default, this rule makes @samp{bzip2} use a compression option of 
@option{-9}.
-To make it use a different one, set the @env{BZIP2} environment variable.
-For example, @samp{make dist-bzip2 BZIP2=-7}.
address@hidden dist-bzip2
-
address@hidden @code{dist-gzip}
-Generate a gzip tar archive of the distribution.
address@hidden dist-gzip
-
address@hidden @code{dist-lzip}
address@hidden @code{bzip2}
+Archives compressed with @command{bzip2} are frequently smaller than
+gzipped archives (albeit becoming more and more obsolescent today,
+superseded by more advanced formats like @code{xz}).  You can use
+the environment variable @code{BZIP2} to control which options
address@hidden dist} passes to @code{gzip} (the default setting being
address@hidden).  For example:
address@hidden
+make dist AM_DIST_FORMATS=bzip2 BZIP2=-7
address@hidden smallexample
address@hidden bzip2 compression
address@hidden Compression, bzip2 format
+
address@hidden LZIP_OPT
address@hidden @code{lzip}
 Generate an @samp{lzip} tar archive of the distribution.  @command{lzip}
 archives are frequently smaller than @command{bzip2}-compressed archives.
address@hidden dist-lzip
+You can use the environment variable @code{LZIP_OPT} to control which
+options @code{make dist} passes to @code{gzip} (the default setting
+being @option{-9}).  For example:
address@hidden
+make dist AM_DIST_FORMATS=lzip LZIP_OPT=--fast
address@hidden smallexample
address@hidden lzip compression
address@hidden Compression, lzip format
 
 @vindex XZ_OPT
address@hidden @code{dist-xz}
address@hidden @code{xz}
 Generate an @samp{xz} tar archive of the distribution.  @command{xz}
 archives are frequently smaller than @command{bzip2}-compressed archives.
 By default, this rule makes @samp{xz} use a compression option of
 @option{-e}.  To make it use a different one, set the @env{XZ_OPT}
 environment variable.  For example, run this command to use the
 default compression ratio, but with a progress indicator:
address@hidden dist-xz XZ_OPT=-7e}.
address@hidden dist-xz
address@hidden
+make dist AM_DIST_FORMATS=xz XZ_OPT=-7e
address@hidden smallexample
address@hidden xz compression
address@hidden Compression, xz format
 
address@hidden @code{dist-zip}
address@hidden @code{zip}
 Generate a zip archive of the distribution.
address@hidden dist-zip
address@hidden zip compression
address@hidden Compression, zip format
 
 @end table
 
-The rule @code{dist} (and its historical synonym @code{dist-all}) will
-create archives in all the enabled formats, @ref{Options}.  By
-default, only the @code{dist-gzip} target is hooked to @code{dist}.
-
 
 @node Tests
 @chapter Support for test suites
@@ -9126,7 +9148,7 @@ parallel @command{make address@hidden, so be sure they 
are prepared for
 concurrent execution.
 
 @cindex Unit tests
address@hidden Keep in sync with 'parallel-tests-extra-programs.test'.
address@hidden Keep in sync with 'parallel-tests-extra-programs.sh'.
 The combination of lazy test execution and correct dependencies between
 tests and their sources may be exploited for efficient unit testing
 during development.  To further speed up the edit-compile-test cycle, it
@@ -9372,7 +9394,7 @@ text holding the name and/or a brief description of the 
corresponding
 test; the harness will ignore such extra text when generating
 @file{test-suite.log} and preparing the testsuite summary.
 
address@hidden Keep in sync with 'test-metadata-recheck.test'.
address@hidden Keep in sync with 'test-metadata-recheck.sh'.
 @item @code{:recheck:}
 @cindex :recheck:
 @cindex reStructuredText field, @code{:recheck:}
@@ -9381,7 +9403,7 @@ test script will @emph{not} be run upon a @command{make 
recheck}.  What
 happens when two or more @code{:recheck:} fields are present in the same
 @file{.trs} file is undefined behaviour.
 
address@hidden Keep in sync with 'test-metadata-global-log.test'.
address@hidden Keep in sync with 'test-metadata-global-log.sh'.
 @item @code{:copy-in-global-log:}
 @cindex :copy-in-global-log:
 @cindex reStructuredText field, @code{:copy-in-global-log:}
@@ -9393,7 +9415,7 @@ just a waste of space in normal situations, e.g., when a 
test script is
 successful.  What happens when two or more @code{:copy-in-global-log:}
 fields are present in the same @file{.trs} file is undefined behaviour.
 
address@hidden Keep in sync with 'test-metadata-global-result.test'.
address@hidden Keep in sync with 'test-metadata-global-result.sh'.
 @item @code{:test-global-result:}
 @cindex :test-global-result:
 @cindex reStructuredText field, @code{:test-global-result:}
@@ -9518,7 +9540,7 @@ supports the following options, whose names are chosen 
for enhanced
 compatibility with the @command{prove} utility.
 
 @table @option
address@hidden Keep in sync with 'tap-exit.test' and 'tap-signal.tap'.
address@hidden Keep in sync with 'tap-exit.sh' and 'tap-signal.tap'.
 @item --ignore-exit
 Causes the test driver to ignore the exit status of the test scripts;
 by default, the driver will report an error if the script exits with a
@@ -9909,24 +9931,6 @@ in the first few lines of the @file{NEWS} file.
 @opindex dejagnu
 Cause @command{dejagnu}-specific rules to be generated.  @xref{DejaGnu Tests}.
 
address@hidden @option{dist-bzip2}
address@hidden Option, @option{dist-bzip2}
address@hidden dist-bzip2
-Hook @code{dist-bzip2} to @code{dist}.
address@hidden dist-bzip2
-
address@hidden @option{dist-lzip}
address@hidden Option, @option{dist-lzip}
address@hidden dist-lzip
-Hook @code{dist-lzip} to @code{dist}.
address@hidden dist-lzip
-
address@hidden @option{dist-zip}
address@hidden Option, @option{dist-zip}
address@hidden dist-zip
-Hook @code{dist-zip} to @code{dist}.
address@hidden dist-zip
-
 @item @option{filename-length-max=99}
 @cindex Option, @option{filename-length-max=99}
 @opindex filename-length-max=99
@@ -9969,12 +9973,6 @@ disable automatic dependency tracking.
 Don't emit any code related to @code{dist} target.  This is useful
 when a package has its own method for making distributions.
 
address@hidden @option{no-dist-gzip}
address@hidden Option, @option{no-dist-gzip}
address@hidden no-dist-gzip
-Do not hook @code{dist-gzip} to @code{dist}.
address@hidden no-dist-gzip
-
 @item @option{no-exeext}
 @cindex Option, @option{no-exeext}
 @opindex no-exeext
@@ -10089,10 +10087,7 @@ AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false$(EXEEXT) 
true.sh
 @opindex tar-pax
 
 These three mutually exclusive options select the tar format to use
-when generating tarballs with @samp{make dist}.  (The tar file created
-is then compressed according to the set of @option{no-dist-gzip},
address@hidden, @option{dist-lzip}, @option{dist-xz} and
address@hidden options in use.)
+when generating tarballs with @samp{make dist}.
 
 These options must be passed as arguments to @code{AM_INIT_AUTOMAKE}
 (@pxref{Macros}) because they can require additional configure checks.
diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm
index bdb3db9..77e9cbd 100644
--- a/lib/Automake/Options.pm
+++ b/lib/Automake/Options.pm
@@ -270,15 +270,10 @@ sub _is_valid_easy_option ($)
     check-news
     color-tests
     dejagnu
-    dist-bzip2
-    dist-lzip
-    dist-xz
-    dist-zip
     ng
     no-define
     no-dependencies
     no-dist
-    no-dist-gzip
     no-exeext
     no-installinfo
     no-installman
@@ -318,20 +313,11 @@ sub _process_option_list (\%@)
         {
           error $where, "support for Cygnus-style trees has been removed";
         }
-      elsif ($_ eq 'dist-lzma')
+      elsif (/^(?:no-)?dist-.*/)
         {
-          error ($where, "support for lzma-compressed distribution " .
-                         "archives has been removed");
-        }
-      elsif ($_ eq 'dist-tarZ')
-        {
-          error ($where, "distribution archives compressed with legacy " .
-                         "'compress' program are no more supported");
-        }
-      elsif ($_ eq 'dist-shar')
-        {
-          error ($where, "support for shar distribution archives has " .
-                         "been removed");
+          error ($where,
+                 "'$_' option and the like are no more supported;\n" .
+                 "use AM_DIST_FORMATS in top-level Makefile.am instead");
         }
       elsif (/^filename-length-max=(\d+)$/)
         {
diff --git a/lib/am/distcheck.mk b/lib/am/distcheck.mk
index 6569387..421b15b 100644
--- a/lib/am/distcheck.mk
+++ b/lib/am/distcheck.mk
@@ -16,6 +16,9 @@
 #  Building various distribution flavors.  #
 # ---------------------------------------- #
 
+# ----------------------------------------------------------------------
+# FIXME: how and where are these old comments still relevant?
+# ----------------------------------------------------------------------
 # Note that we don't use GNU tar's '-z' option.  One reason (but
 # not the only reason) is that some versions of tar (e.g., OSF1)
 # interpret '-z' differently.
@@ -26,51 +29,91 @@
 # with tar 1.11.2).  We do not do anything specific w.r.t. this
 # incompatibility since packages where empty directories need to be
 # present in the archive are really unusual.
+# ----------------------------------------------------------------------
 
-am.dist.ext.gzip  = tar.gz
-am.dist.ext.bzip2 = tar.bz2
-am.dist.ext.xz    = tar.xz
-am.dist.ext.lzip  = tar.lz
-am.dist.ext.zip   = zip
-
-DIST_TARGETS  = $(foreach x,$(am.dist.formats),dist-$x)
-DIST_ARCHIVES = $(foreach x,$(am.dist.formats),$(distdir).$(am.dist.ext.$x))
-.PHONY: $(foreach x,$(am.dist.formats),dist-$x)
-
-GZIP_ENV = --best
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz
-       $(am.dist.post-remove-distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c 
>$(distdir).tar.bz2
-       $(am.dist.post-remove-distdir)
+# TODO: this definition-oriented interface is almost god enough to offer
+# as a public API allowing the user to define and use new archive formats.
+# However, we must think carefully about possible problems before setting
+# the API in stone.  So, for the moment, we keep this internal and
+# private; there will be time to make it public, once (and if) there's
+# any request from the user base.
 
-dist-lzip: distdir
-       tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} 
>$(distdir).tar.lz
-       $(am.dist.post-remove-distdir)
+am.dist.all-formats =
 
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c 
>$(distdir).tar.xz
-       $(am.dist.post-remove-distdir)
+am.dist.all-formats += gzip
+am.dist.ext.gzip = tar.gz
+am.dist.compress-cmd.gzip = GZIP=$(GZIP_ENV) gzip -c
+am.dist.uncompress-cmd.gzip = GZIP=$(GZIP_ENV) gzip -dc
 
-dist-zip: distdir
-       rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am.dist.post-remove-distdir)
+am.dist.all-formats += bzip2
+am.dist.ext.bzip2 = tar.bz2
+am.dist.compress-cmd.bzip2 = BZIP2=$${BZIP2--9} bzip2 -c
+am.dist.uncompress-cmd.bzip2 = bzip2 -dc
+
+am.dist.all-formats += lzip
+am.dist.ext.lzip = tar.lz
+am.dist.compress-cmd.lzip = lzip -c $${LZIP_OPT--9}
+am.dist.uncompress-cmd.lzip = lzip -dc
+
+am.dist.all-formats += xz
+am.dist.ext.xz = tar.xz
+am.dist.compress-cmd.xz = XZ_OPT=$${XZ_OPT--e} xz -c
+am.dist.uncompress-cmd.xz = xz -dc
+
+am.dist.all-formats += zip
+am.dist.ext.zip = zip
+am.dist.create-cmd.zip = \
+  rm -f $(distdir).zip && zip -rq $(distdir).zip $(distdir)
+am.dist.extract-cmd.zip = \
+  unzip $(distdir).zip
+
+# This is namespace-safe, so it's OK to accept values from
+# the environment.
+AM_DIST_FORMATS ?= gzip
+
+am.dist.bad-targets := \
+  $(filter-out $(am.dist.all-formats),$(AM_DIST_FORMATS))
+ifdef am.dist.bad-targets
+  $(call am.fatal,Invalid distribution formats: $(am.dist.bad-targets))
+endif
 
+am.dist.all-targets = $(patsubst %,.am/dist-%,$(am.dist.all-formats))
+am.dist.default-targets = $(patsubst %,.am/dist-%,$(AM_DIST_FORMATS))
+
+am.dist.default-archives = \
+  $(foreach x,$(AM_DIST_FORMATS),$(distdir).$(am.dist.ext.$x))
+
+define am.dist.create-archive-for-format.aux
+$(or $(am.dist.create-cmd.$1), \
+  tardir=$(distdir) && $(am__tar) \
+    | $(am.dist.compress-cmd.$1) >$(distdir).$(am.dist.ext.$1))
+endef
+am.dist.create-archive-for-format = $(call $0.aux,$(strip $1))
+
+define am.dist.extract-archive-for-format.aux
+$(or $(am.dist.extract-cmd.$1), \
+  $(am.dist.uncompress-cmd.$1) $(distdir).$(am.dist.ext.$1) \
+    | $(am__untar))
+endef
+am.dist.extract-archive-for-format = $(call $0.aux,$(strip $1))
+
+# The use of this option to pass arguments to the 'gzip' invocation is
+# not only documented in the manual and useful for better compatibility
+# with mainline Automake, but also actively employed by some important
+# makefile fragments (e.g., Gnulib's 'top/maint.mk', at least up to
+# commit v0.0-7569-gec58403).  So keep it.
+GZIP_ENV = --best
 
-# -------------------------------------------------- #
-#  Building all the requested distribution flavors.  #
-# -------------------------------------------------- #
+.PHONY: $(am.dist.all-targets)
+$(am.dist.all-targets): .am/dist-%: distdir
+       $(call am.dist.create-archive-for-format,$*)
 
-ifdef
+ifdef SUBDIRS
 AM_RECURSIVE_TARGETS += dist dist-all
 endif
 
 .PHONY: dist dist-all
-dist dist-all:
-       $(MAKE) $(DIST_TARGETS) am.dist.post-remove-distdir='@:'
+dist dist-all: $(am.dist.default-targets)
        $(am.dist.post-remove-distdir)
 
 
@@ -87,18 +130,8 @@ endif
 # tarfile.
 .PHONY: distcheck
 distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lz*) \
-         lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
+       $(call am.dist.extract-archive-for-format, \
+         $(firstword $(AM_DIST_FORMATS)))
 ## Make the new source tree read-only.  Distributions ought to work in
 ## this case.  However, make the top-level directory writable so we
 ## can make our new subdirs.
@@ -160,12 +193,13 @@ distcheck: dist
          && rm -rf "$$dc_destdir" \
          && $(MAKE) dist \
 ## Make sure to remove the dists we created in the test build directory.
-         && rm -rf $(DIST_ARCHIVES) \
+         && rm -f $(am.dist.default-archives) \
          && $(MAKE) distcleancheck
        $(am.dist.post-remove-distdir)
        @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+         list='$(am.dist.default-archives)'; \
+         for i in $$list; do echo $$i; done; \
+        ) | sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 
 # Define distuninstallcheck_listfiles and distuninstallcheck separately
 # from distcheck, so that they can be overridden by the user.
@@ -175,7 +209,7 @@ distuninstallcheck_listfiles = find . -type f -print
 # uninstall, so we must be prepared to account for it.  The following
 # check is not 100% strict, but is definitely good enough, and even
 # accounts for overridden $(infodir).
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+am.dist.uninstallcheck-listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distuninstallcheck:
        @test -n '$(distuninstallcheck_dir)' || { \
@@ -187,7 +221,7 @@ distuninstallcheck:
          echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
          exit 1; \
        }; \
-       test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+       test `$(am.dist.uninstallcheck-listfiles) | wc -l` -eq 0 \
           || { echo "ERROR: files left after uninstall:" ; \
                if test -n "$(DESTDIR)"; then \
                  echo "  (check DESTDIR support)"; \
diff --git a/lib/am/distdir.mk b/lib/am/distdir.mk
index 42fea54..c0f351c 100644
--- a/lib/am/distdir.mk
+++ b/lib/am/distdir.mk
@@ -14,6 +14,7 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+# Files added by the automake script.
 am.dist.common-files += $(am.dist.common-files.internal)
 
 # Makefile fragments used internally by automake-generated Makefiles.
@@ -76,7 +77,7 @@ am.dist.parent-dirs = \
     $(filter-out ., $(patsubst ./%,%,$(dir $(am.dist.files-cooked)))))))
 
 # These two variables are used in the 'distdir' rule below to avoid
-# potetial problems with overly long command lines (the infamous
+# potential problems with overly long command lines (the infamous
 # "Argument list too long" error).
 am.dist.xmkdir = \
   @$(MKDIR_P) $(patsubst %,"$(distdir)"/%,$1)$(am.chars.newline)
@@ -95,7 +96,7 @@ endif
 # rules (this is also documented in the Automake manual).
 top_distdir = $(distdir)
 
-# A failed "make distcheck" might leace some parts of the $(distdir)
+# A failed "make distcheck" might leave some parts of the $(distdir)
 # readonly, so we need these hoops to ensure it is removed correctly.
 # On MSYS (1.0.17, at least) it is not possible to remove a directory
 # that is in use; so, if the first rm fails, we sleep some seconds and
diff --git a/lib/am/header-vars.mk b/lib/am/header-vars.mk
index 50519a1..27699ba 100644
--- a/lib/am/header-vars.mk
+++ b/lib/am/header-vars.mk
@@ -45,6 +45,11 @@ define am.error
 $(warning $1)$(eval am.error.seen := yes)
 endef
 
+# Declare an error, and immediately terminate execution.
+define am.fatal
+$(if $1,$(call am.error,$1))$(error Some Automake-NG error occurred)
+endef
+
 #
 # Sometimes, in our makefiles, we want to assign a default value to a
 # variable that might not have been assigned yet.  One might think that
diff --git a/lib/am/texi-spec.am b/lib/am/texi-spec.am
index 0587a6d..61c11c5 100644
--- a/lib/am/texi-spec.am
+++ b/lib/am/texi-spec.am
@@ -17,7 +17,7 @@
 if %?INSRC%
 INFO_DEPS += $(srcdir)/%DEST_PREFIX%.info
 $(srcdir)/%DEST_PREFIX%.info: %SOURCE_REAL% %DEPS%
-$(srcdir)/%DEST_PREFIX%.info: am__info_insrc=yes
+$(srcdir)/%DEST_PREFIX%.info: am.texi.info-in-srcdir=yes
 else !%?INSRC%
 INFO_DEPS += %DEST_PREFIX%.info
 %DEST_PREFIX%.info: %SOURCE_REAL% %DEPS%
diff --git a/lib/am/texibuild.mk b/lib/am/texibuild.mk
index cbd9005..5143142 100644
--- a/lib/am/texibuild.mk
+++ b/lib/am/texibuild.mk
@@ -20,14 +20,13 @@ DVIPS = dvips
 MAKEINFOHTML = $(MAKEINFO) --html
 AM_MAKEINFOHTMLFLAGS ?= $(AM_MAKEINFOFLAGS)
 
-define am__texibuild_dvi_or_pdf
+define am.texi.build.dvi-or-pdf
        $1$(am.cmd.ensure-target-dir-exists) && \
        TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
 ## Must set MAKEINFO like this so that version.texi will be found even
 ## if it is in srcdir.
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
                              -I $(@D) -I $(srcdir)/$(@D)' \
-
 ## texi2dvi and  texi2pdf don't silence everything with -q, redirect
 ## to /dev/null instead.  We still want -q ($(AM_V_TEXI_QUIETOPTS))
 ## because it turns on batch mode.
@@ -42,42 +41,16 @@ define am__texibuild_dvi_or_pdf
           -o $@ $< $(AM_V_TEXI_DEVNULL_REDIRECT)
 endef
 
-define am__texibuild_info
-       $(if $1,,@$(am.cmd.ensure-target-dir-exists))
-## Back up the info files before running makeinfo. This is the cheapest
-## way to ensure that
-## 1) If the texinfo file shrinks (or if you start using --no-split),
-##    you'll not be left with some dead info files lying around -- dead
-##    files which would end up in the distribution.
-## 2) If the texinfo file has some minor mistakes which cause makeinfo
-##    to fail, the info files are not removed.  (They are needed by the
-##    developer while he writes documentation.)
-       $(AM_V_MAKEINFO)restore=: && backupdir=.am$$$$ && \
-       $(if $1,am__cwd=`pwd` && cd $(srcdir) &&) \
-       rm -rf $$backupdir && mkdir $$backupdir && \
-## If makeinfo is not installed we must not backup the files so
-## 'missing' can do its job and touch $@ if it exists.
-       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-         for f in $@ address@hidden address@hidden; do \
-           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-         done; \
-       else :; fi && \
-       $(if $(am__info_insrc),cd "$$am__cwd" &&) \
-       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
-                      -I $(@D) -I $(srcdir)/$(@D) -o $@ $<; \
-       then \
-         rc=0; \
-         $(if $(am__info_insrc),cd $(srcdir);) \
-       else \
-         rc=$$?; \
-## Beware that backup info files might come from a subdirectory.
-         $(if $(am__info_insrc),cd $(srcdir) &&) \
-         $$restore $$backupdir/* $(@D); \
-       fi; \
-       rm -rf $$backupdir; exit $$rc
+define am.texi.build.info
+       $(if $1,,$(AM_V_at)$(am.cmd.ensure-target-dir-exists))
+## If the texinfo file has some minor mistakes which cause makeinfo
+## to fail, the info files are not removed.
+       $(AM_V_MAKEINFO)$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
+                       --no-split -I $(@D) -I $(srcdir)/$(@D) -o 
address@hidden $<
+       $(AM_V_at)mv -f address@hidden $@
 endef
 
-define am__texibuild_html
+define am.texi.build.html
        $(AM_V_MAKEINFO)$(am.cmd.ensure-target-dir-exists) \
 ## When --split (the default) is used, makeinfo will output a
 ## directory.  However it will not update the time stamp of a
@@ -91,26 +64,21 @@ define am__texibuild_html
                            -I $(@D) -I $(srcdir)/$(@D) \
                            -o $(@:.html=.htp) $<; \
        then \
-         rm -rf $@; \
-## Work around a bug in Texinfo 4.1 (-o foo.html outputs files in foo/
-## instead of foo.html/).
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+         rm -rf $@ && mv $(@:.html=.htp) $@; \
        else \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-         exit 1; \
+## on failure, remove the temporary directory before exiting.
+         rm -rf $(@:.html=.htp) $@; exit 1; \
        fi
 endef
 
 %.info: %.texi
-       $(call am__texibuild_info,$(am__info_insrc))
+       $(call am.texi.build.info,$(am.texi.info-in-srcdir))
 %.dvi: %.texi
-       $(call 
am__texibuild_dvi_or_pdf,$(AM_V_TEXI2DVI),$(TEXI2DVI),$(@:.dvi=.t2d))
+       $(call 
am.texi.build.dvi-or-pdf,$(AM_V_TEXI2DVI),$(TEXI2DVI),$(@:.dvi=.t2d))
 %.pdf: %.texi
-       $(call 
am__texibuild_dvi_or_pdf,$(AM_V_TEXI2PDF),$(TEXI2PDF),$(@:.pdf=.t2p))
+       $(call 
am.texi.build.dvi-or-pdf,$(AM_V_TEXI2PDF),$(TEXI2PDF),$(@:.pdf=.t2p))
 %.html: %.texi
-       $(call am__texibuild_html)
+       $(call am.texi.build.html)
 
 ## The way to make PostScript, for those who want it.
 %.ps: %.dvi
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.mk
similarity index 83%
rename from lib/am/texinfos.am
rename to lib/am/texinfos.mk
index cc75541..2c99cd9 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.mk
@@ -15,16 +15,20 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-## FIXME: this should probably be moved to header-vars.am ...
-am__create_installdir = $(if $(and $1,$^),$(MKDIR_P) '$(DESTDIR)$1',@:)
+# FIXME: this should probably be generalized and moved to header-vars.mk
+am.texi.create-installdir = $(if $(and $1,$^),$(MKDIR_P) '$(DESTDIR)$1',@:)
 
+# Avoid interferences from the environment.
+ifeq ($(call am.vars.is-undef,info_TEXINFOS),yes)
+  info_TEXINFOS :=
+endif
 
 ## ---------- ##
 ## Building.  ##
 ## ---------- ##
 
 .PHONY: dvi dvi-am html html-am info info-am pdf pdf-am ps ps-am
-if %?SUBDIRS%
+ifdef SUBDIRS
 RECURSIVE_TARGETS += dvi-recursive html-recursive info-recursive
 RECURSIVE_TARGETS += pdf-recursive ps-recursive
 dvi: dvi-recursive
@@ -32,27 +36,27 @@ html: html-recursive
 info: info-recursive
 pdf: pdf-recursive
 ps: ps-recursive
-else !%?SUBDIRS%
+else
 dvi: dvi-am
 html: html-am
 info: info-am
 pdf: pdf-am
 ps: ps-am
-endif !%?SUBDIRS%
+endif
 
-if %?LOCAL-TEXIS%
+ifdef info_TEXINFOS
 dvi-am: $(DVIS)
 html-am: $(HTMLS)
 info-am: $(INFO_DEPS)
 pdf-am: $(PDFS)
 ps-am: $(PSS)
-else ! %?LOCAL-TEXIS%
+else
 dvi-am:
 html-am:
 info-am:
 pdf-am:
 ps-am:
-endif ! %?LOCAL-TEXIS%
+endif
 
 
 ## ------------ ##
@@ -63,7 +67,7 @@ endif ! %?LOCAL-TEXIS%
 ## if the user doesn't request it not to be run (through the
 ## 'AM_UPDATE_INFO_DIR' environment variable).  See automake bug#9773
 ## and Debian Bug#543992.
-am__can_run_installinfo = \
+am.texi.can-run-installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
@@ -78,12 +82,12 @@ am__can_run_installinfo = \
 ##
 ## TEXINFOS primary are always installed in infodir, hence install-data
 ## is hard coded.
-if %?INSTALL-INFO%
-if %?LOCAL-TEXIS%
+ifndef am.conf.install-info
+ifdef info_TEXINFOS
 am__installdirs += "$(DESTDIR)$(infodir)"
 install-data-am: install-info-am
-endif %?LOCAL-TEXIS%
-endif %?INSTALL-INFO%
+endif
+endif
 .PHONY: \
   install-dvi  install-dvi-am \
   install-html install-html-am \
@@ -91,7 +95,7 @@ endif %?INSTALL-INFO%
   install-pdf  install-pdf-am \
   install-ps   install-ps-am
 
-if %?SUBDIRS%
+ifdef SUBDIRS
 RECURSIVE_TARGETS += \
   install-dvi-recursive \
   install-html-recursive \
@@ -103,15 +107,15 @@ install-html: install-html-recursive
 install-info: install-info-recursive
 install-pdf: install-pdf-recursive
 install-ps: install-ps-recursive
-else !%?SUBDIRS%
+else
 install-dvi: install-dvi-am
 install-html: install-html-am
 install-info: install-info-am
 install-pdf: install-pdf-am
 install-ps: install-ps-am
-endif !%?SUBDIRS%
+endif
 
-if %?LOCAL-TEXIS%
+ifdef info_TEXINFOS
 
 # In GNU make, '$^' used in a recipe contains every dependency for the
 # target, even those not declared when the recipe is read; for example,
@@ -132,7 +136,7 @@ install-html-am: .am/install-html
 
 .am/install-html: $(HTMLS)
        @$(NORMAL_INSTALL)
-       $(call am__create_installdir,$(htmldir))
+       $(call am.texi.create-installdir,$(htmldir))
        @list=''; \
        $(if $(and $(HTMLS),$(htmldir)),$(foreach i,$(HTMLS), \
          p=$(call am.vpath.rewrite,$i); \
@@ -153,19 +157,15 @@ install-html-am: .am/install-html
 
 .am/install-info: $(INFO_DEPS)
        @$(NORMAL_INSTALL)
-       $(call am__create_installdir,$(infodir))
+       $(call am.texi.create-installdir,$(infodir))
        @list='$(and $(infodir),$^)'; test -n "$$list" || exit 0; \
-       for file in $$list; do \
-         for ifile in $$file $$file-[0-9] $$file-[0-9][0-9]; do \
-           test ! -f $$ifile || echo "$$ifile"; \
-         done; \
-       done | $(am__base_list) | \
+       for p in $$list; do echo "$$p"; done | $(am__base_list) | \
        while read files; do \
          echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
          $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; \
        done
        @$(POST_INSTALL)
-       @$(am__can_run_installinfo) || exit 0; \
+       @$(am.texi.can-run-installinfo) || exit 0; \
        rellist='$(notdir $(and $(infodir),$^))'; \
        test -n "$$rellist" || exit 0; \
        for relfile in $$rellist; do \
@@ -180,7 +180,7 @@ install-html-am: .am/install-html
 
 .am/install-dvi: $(DVIS)
        @$(NORMAL_INSTALL)
-       $(call am__create_installdir,$(dvidir))
+       $(call am.texi.create-installdir,$(dvidir))
        @list='$(and $(dvidir),$^)'; test -n "$$list" || exit 0; \
        for p in $$list; do echo "$$p"; done | $(am__base_list) | \
        while read files; do \
@@ -190,7 +190,7 @@ install-html-am: .am/install-html
 
 .am/install-pdf: $(PDFS)
        @$(NORMAL_INSTALL)
-       $(call am__create_installdir,$(pdfdir))
+       $(call am.texi.create-installdir,$(pdfdir))
        @list='$(and $(pdfdir),$^)'; test -n "$$list" || exit 0; \
        for p in $$list; do echo "$$p"; done | $(am__base_list) | \
        while read files; do \
@@ -200,7 +200,7 @@ install-html-am: .am/install-html
 
 .am/install-ps: $(PSS)
        @$(NORMAL_INSTALL)
-       $(call am__create_installdir,$(psdir))
+       $(call am.texi.create-installdir,$(psdir))
        @list='$(and $(psdir),$^)'; test -n "$$list" || exit 0; \
        for p in $$list; do echo "$$p"; done | $(am__base_list) | \
        while read files; do \
@@ -208,20 +208,21 @@ install-html-am: .am/install-html
          $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; \
        done
 
-else ! %?LOCAL-TEXIS%
+else # !info_TEXINFOS
 install-dvi-am:
 install-html-am:
 install-info-am:
 install-pdf-am:
 install-ps-am:
-endif ! %?LOCAL-TEXIS%
+endif # !info_TEXINFOS
+
 
+## --------------------------- ##
+## Uninstalling and cleaning.  ##
+## --------------------------- ##
 
-## -------------- ##
-## Uninstalling.  ##
-## -------------- ##
+ifdef info_TEXINFOS
 
-if %?LOCAL-TEXIS%
 .PHONY uninstall-am: \
   uninstall-dvi-am \
   uninstall-html-am \
@@ -250,7 +251,7 @@ uninstall-info-am:
        @$(PRE_UNINSTALL)
 ## Run two loops here so that we can handle PRE_UNINSTALL and
 ## NORMAL_UNINSTALL correctly.
-       @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
+       @if test -d '$(DESTDIR)$(infodir)' && $(am.texi.can-run-installinfo); 
then \
          list='$(notdir $(INFO_DEPS))'; for relfile in $$list; do \
 ## install-info needs the actual info file.  We use the installed one,
 ## rather than relying on one still being in srcdir or builddir.
@@ -262,23 +263,13 @@ uninstall-info-am:
          done; \
        else :; fi
        @$(NORMAL_UNINSTALL)
-       $(call am.uninst.cmd,$(infodir),\
-         $(foreach i,$(notdir $(INFO_DEPS)),$i $i-[0-9] $i-[0-9][0-9]))
+       $(call am.uninst.cmd,$(infodir),$(notdir $(INFO_DEPS)))
 
-endif %?LOCAL-TEXIS%
 
-if %?LOCAL-TEXIS%
 .PHONY: dist-info
 dist-info: $(INFO_DEPS)
-       @$(foreach f,$(foreach x,$^,$(wildcard $x $x-[0-9] $x-[0-9][0-9])), \
-         cp -p $f $(distdir)/$(patsubst $(srcdir)/%,%,$f);)
-endif %?LOCAL-TEXIS%
+       @$(foreach f,$^,cp -p $f $(distdir)/$(patsubst $(srcdir)/%,%,$f);)
 
+am.clean.maint.f += $(INFO_DEPS)
 
-## ---------- ##
-## Cleaning.  ##
-## ---------- ##
-
-if %?LOCAL-TEXIS%
-am.clean.maint.f += $(foreach f,$(INFO_DEPS),$f $f-[0-9] $f-[0-9][0-9])
-endif %?LOCAL-TEXIS%
+endif # !info_TEXINFOS
diff --git a/t/acloca10.sh b/t/acloca10.sh
index ec9a506..d120352 100755
--- a/t/acloca10.sh
+++ b/t/acloca10.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure aclocal define macros in the same order as -I's.
-# This is the same as aclocal9.test, with the macro calls reversed.
+# This is the same as aclocal9.sh, with the macro calls reversed.
 # (It did make a difference.)
 #
 # Also check for --install.
diff --git a/t/acloca12.sh b/t/acloca12.sh
index 64b66bb..01acb02 100755
--- a/t/acloca12.sh
+++ b/t/acloca12.sh
@@ -16,7 +16,7 @@
 
 # Make sure that when two files define the same macro in the same
 # directory, the macro from the lexically greatest file is used.
-# Same as acloca11.test, but without calling MACRO2.
+# Same as acloca11.sh, but without calling MACRO2.
 
 am_create_testdir=empty
 . ./defs || exit 1
diff --git a/t/acloca22.sh b/t/acloca22.sh
index c23a7cb..ea76579 100755
--- a/t/acloca22.sh
+++ b/t/acloca22.sh
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure the "deleted header file" issue is fixed w.r.t. aclocal.m4
-# dependencies.  See also related the tests 'remake-deleted-m4-file.test'
-# and 'remake-renamed-m4-macro-and-file.test'.
+# dependencies.  See also related the tests 'remake-deleted-m4-file.sh'
+# and 'remake-renamed-m4-macro-and-file.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/aclocal5.sh b/t/aclocal5.sh
index cf0006d..a337986 100755
--- a/t/aclocal5.sh
+++ b/t/aclocal5.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure that aclocal.m4's dependencies are honored in
-# sub-directories.  See also related tests 'remake-subdir*.test'.
+# sub-directories.  See also related tests 'remake-subdir*.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/ar-lib5a.sh b/t/ar-lib5a.sh
index abfe513..a11e218 100755
--- a/t/ar-lib5a.sh
+++ b/t/ar-lib5a.sh
@@ -16,7 +16,7 @@
 
 # Test if AM_PROG_AR triggers the use of the ar-lib script.
 # This test requires Microsoft lib.
-# Keep this test in sync with sister test 'ar-lib5b.test'.
+# Keep this test in sync with sister test 'ar-lib5b.sh'.
 
 required=lib
 . ./defs || exit 1
diff --git a/t/ar-lib5b.sh b/t/ar-lib5b.sh
index 451b337..a300760 100755
--- a/t/ar-lib5b.sh
+++ b/t/ar-lib5b.sh
@@ -16,7 +16,7 @@
 
 # Test if AM_PROG_AR triggers the use of the ar-lib script.
 # This test does not require Microsoft lib.
-# Keep this test in sync with sister test 'ar-lib5a.test'.
+# Keep this test in sync with sister test 'ar-lib5a.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/ar-lib6a.sh b/t/ar-lib6a.sh
index 4ccaa5d..7ee5257 100755
--- a/t/ar-lib6a.sh
+++ b/t/ar-lib6a.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test AM_PROG_AR ordering requirements
-# Keep this test in sync with sister test 'ar-lib6b.test'.
+# Keep this test in sync with sister test 'ar-lib6b.sh'.
 
 required=libtoolize
 . ./defs || exit 1
diff --git a/t/ar-lib6b.sh b/t/ar-lib6b.sh
index bebf715..92709f8 100755
--- a/t/ar-lib6b.sh
+++ b/t/ar-lib6b.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test AM_PROG_AR ordering requirements for older Libtools
-# Keep this test in sync with sister test 'ar-lib6a.test'.
+# Keep this test in sync with sister test 'ar-lib6a.sh'.
 
 required=libtoolize
 . ./defs || exit 1
diff --git a/t/asm.sh b/t/asm.sh
index c2f20b1..48df68b 100755
--- a/t/asm.sh
+++ b/t/asm.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test of basic assembly functionality.
-# Keep this in sync with sister tests asm2.test and asm3.test.
+# Keep this in sync with sister tests 'asm2.sh' and 'asm3.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/asm2.sh b/t/asm2.sh
index 1c50690..d62cb60 100755
--- a/t/asm2.sh
+++ b/t/asm2.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test of basic preprocessed assembly functionality.
-# Keep this in sync with sister tests asm.test and asm3.test.
+# Keep this in sync with sister tests 'asm.sh' and 'asm3.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/asm3.sh b/t/asm3.sh
index e114764..67bb876 100755
--- a/t/asm3.sh
+++ b/t/asm3.sh
@@ -14,8 +14,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Test of basic preprocessed assembly functionality with extension .sx.
-# Keep this in sync with sister tests asm.test and asm2.test.
+# Test of basic preprocessed assembly functionality with extension '.sx'.
+# Keep this in sync with sister tests 'asm.sh' and 'asm2.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/autodist-subdir.sh b/t/autodist-subdir.sh
index 2b76c5d..3dbda86 100755
--- a/t/autodist-subdir.sh
+++ b/t/autodist-subdir.sh
@@ -22,7 +22,7 @@
 # discussion of automake bug#7819:
 #  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7819>
 #
-# Keep this test in sync with sister test 'autodist.test'.
+# Keep this test in sync with sister test 'autodist.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/autodist.sh b/t/autodist.sh
index 6bc5fb3..757c0cb 100755
--- a/t/autodist.sh
+++ b/t/autodist.sh
@@ -17,7 +17,7 @@
 # Check that automake really automatically distributes all the files
 # it advertises to do.
 # Related to automake bug#7819.
-# Keep this test in sync with sister test 'autodist-subdir.test'.
+# Keep this test in sync with sister test 'autodist-subdir.sh'.
 
 am_create_testdir=empty
 . ./defs || exit 1
diff --git a/t/auxdir6.sh b/t/auxdir6.sh
index a7602e5..1513606 100755
--- a/t/auxdir6.sh
+++ b/t/auxdir6.sh
@@ -18,7 +18,7 @@
 # This test calls AC_CONFIG_AUX_DIR with an explicit literal argument,
 # thus explicitly making the directory named by that argument the
 # config auxdir.
-# Keep this in sync with sister tests auxdir7.test and auxdir8.test.
+# Keep this in sync with sister tests 'auxdir7.sh' and 'auxdir8.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/auxdir7.sh b/t/auxdir7.sh
index c17bf86..e5a6773 100755
--- a/t/auxdir7.sh
+++ b/t/auxdir7.sh
@@ -17,7 +17,7 @@
 # Test to make sure AC_CONFIG_AUX_DIR works correctly.
 # This test calls AC_CONFIG_AUX_DIR with a '.' argument, thus explicitly
 # making the top-level directory the config auxdir.
-# Keep this in sync with sister tests auxdir6.test and auxdir8.test.
+# Keep this in sync with sister tests 'auxdir6.sh' and 'auxdir8.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/auxdir8.sh b/t/auxdir8.sh
index 1e42ebb..8f94275 100755
--- a/t/auxdir8.sh
+++ b/t/auxdir8.sh
@@ -19,7 +19,7 @@
 # the config auxdir should be implicitly defined to '.' since
 # the install-sh, py-compile, etc., scripts are in the top-level
 # directory.
-# Keep this in sync with sister tests auxdir6.test and auxdir7.test.
+# Keep this in sync with sister tests 'auxdir6.sh' and 'auxdir7.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index e41c840..e1b3c02 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -46,6 +46,8 @@ set +e
 unset MFLAGS MAKEFLAGS MAKELEVEL
 # Unset verbosity flag.
 unset V
+# Distribution formats.
+unset AM_DIST_FORMATS
 # Also unset variables that might let "make install" divert files
 # into unwanted directories.
 unset DESTDIR
diff --git a/t/canon4.sh b/t/canon4.sh
index e57667d..c79b151 100755
--- a/t/canon4.sh
+++ b/t/canon4.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure name canonicalization happens for static libraries.
-# Keep this in sync with sister test 'canon6.test'.
+# Keep this in sync with sister test 'canon6.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/canon6.sh b/t/canon6.sh
index dc4acd6..9c7fd94 100755
--- a/t/canon6.sh
+++ b/t/canon6.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure name canonicalization happens for libtool libraries.
-# Keep this in sync with sister test 'canon4.test'.
+# Keep this in sync with sister test 'canon4.sh'.
 
 required='libtoolize'
 . ./defs || exit 1
diff --git a/t/check-fd-redirect.sh b/t/check-fd-redirect.sh
index 0d31e89..a11d0cd 100755
--- a/t/check-fd-redirect.sh
+++ b/t/check-fd-redirect.sh
@@ -16,7 +16,7 @@
 
 # Simple Tests support: redirection of file descriptors with
 # AM_TESTS_FD_REDIRECT.
-# See also related test 'parallel-tests-fd-redirect.test'.
+# See also related test 'parallel-tests-fd-redirect.sh'.
 
 # For gen-testsuite-part: ==> try-with-serial-tests <==
 . ./defs || exit 1
diff --git a/t/check-subst-prog.sh b/t/check-subst-prog.sh
index dc1947e..77538cd 100755
--- a/t/check-subst-prog.sh
+++ b/t/check-subst-prog.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check @substituted@ TESTS, some of which are also PROGRAMS.
-# See also sister test 'check-subst.test'.
+# See also sister test 'check-subst.sh'.
 
 # For gen-testsuite-part: ==> try-with-serial-tests <==
 required='cc native'
diff --git a/t/check-subst.sh b/t/check-subst.sh
index b743ca3..0b1aeda 100755
--- a/t/check-subst.sh
+++ b/t/check-subst.sh
@@ -17,7 +17,7 @@
 # Check @substituted@ TESTS.
 # Note that in this test, we rely on the .test extension for the
 # substituted names: this is necessary for the parallel harness.
-# See also sister test 'check-subst-prog.test'.
+# See also sister test 'check-subst-prog.sh'.
 
 # For gen-testsuite-part: ==> try-with-serial-tests <==
 . ./defs || exit 1
diff --git a/t/colon2.sh b/t/colon2.sh
index b59ad49..febf20a 100755
--- a/t/colon2.sh
+++ b/t/colon2.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure ":" works with files automake generates.
-# See also sister test 'colon3.test'.
+# See also sister test 'colon3.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/colon3.sh b/t/colon3.sh
index 5ef2267..e594d6f 100755
--- a/t/colon3.sh
+++ b/t/colon3.sh
@@ -16,7 +16,7 @@
 
 # Make sure ":" works with files automake generates.
 # This test is for multiple ":"s.
-# See also sister test 'colon2.test'.
+# See also sister test 'colon2.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/color-tests.sh b/t/color-tests.sh
index 666fd40..e61f26f 100755
--- a/t/color-tests.sh
+++ b/t/color-tests.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test Automake TESTS color output, by forcing it.
-# Keep this in sync with the sister test 'color2.test'.
+# Keep this in sync with the sister test 'color2.sh'.
 
 required='grep-nonprint'
 # For gen-testsuite-part: ==> try-with-serial-tests <==
diff --git a/t/color-tests2.sh b/t/color-tests2.sh
index c66dbe5..d1c8f98 100755
--- a/t/color-tests2.sh
+++ b/t/color-tests2.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test Automake TESTS color output, using the expect(1) program.
-# Keep this in sync with the sister test 'color.test'.
+# Keep this in sync with the sister test 'color.sh'.
 
 required='grep-nonprint'
 # For gen-testsuite-part: ==> try-with-serial-tests <==
diff --git a/t/compile_f90_c_cxx.sh b/t/compile_f90_c_cxx.sh
index 74a5478..27998dc 100755
--- a/t/compile_f90_c_cxx.sh
+++ b/t/compile_f90_c_cxx.sh
@@ -16,7 +16,7 @@
 
 # Test to make sure rules to invoke all compilers are selected with
 # mixed source objects.
-# (copied from compile_f_c_cxx.test) Mike Nolta <address@hidden>
+# (copied from compile_f_c_cxx.sh) Mike Nolta <address@hidden>
 
 . ./defs || exit 1
 
diff --git a/t/cond44.sh b/t/cond44.sh
index 71c3bcd..8d4d7d5 100755
--- a/t/cond44.sh
+++ b/t/cond44.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that redefinitions of AC_SUBST'ed AM_SUBST_NOTMAKE'd variables
-# are not diagnosed.  See cond23.test.
+# are not diagnosed.  See 'cond23.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/cond45.sh b/t/cond45.sh
index ceddc63..5e010cf 100755
--- a/t/cond45.sh
+++ b/t/cond45.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that redefinitions of AC_SUBST'ed AM_SUBST_NOTMAKE'd variables
-# are not diagnosed.  See cond24.test.
+# are not diagnosed.  See 'cond24.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/condhook.sh b/t/condhook.sh
index c8675e5..18ebcb3 100755
--- a/t/condhook.sh
+++ b/t/condhook.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test install when a conditional install-*-hook is not defined.
-# Keep this in sync with sister test condhook2.test.
+# Keep this in sync with sister test 'condhook2.sh'.
 # Report by Nik A. Melchior (PR/428).
 
 . ./defs || exit 1
diff --git a/t/condhook2.sh b/t/condhook2.sh
index 1ab8d88..a6ec7ff 100755
--- a/t/condhook2.sh
+++ b/t/condhook2.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test install when a conditional install-*-hook is defined.
-# Keep this in sync with sister test condhook.test.
+# Keep this in sync with sister test 'condhook.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/confh7.sh b/t/confh7.sh
index ec0edbe..dc80ae0 100755
--- a/t/confh7.sh
+++ b/t/confh7.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure several config headers are allowed.
-# See also sister "semantic" test 'confh8.test'.
+# See also sister "semantic" test 'confh8.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/confh8.sh b/t/confh8.sh
index dd83c4e..16479cf 100755
--- a/t/confh8.sh
+++ b/t/confh8.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure several config headers are allowed.
-# See also sister "minimalistic" test 'confh7.test'.
+# See also sister "minimalistic" test 'confh7.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/depcomp8a.sh b/t/depcomp8a.sh
index eac0d1d..a9a6aa0 100755
--- a/t/depcomp8a.sh
+++ b/t/depcomp8a.sh
@@ -16,7 +16,7 @@
 
 # Test for regressions in computation of names of .Po files for
 # automatic dependency tracking.
-# Keep this in sync with sister test 'depcomp8b.test', which checks the
+# Keep this in sync with sister test 'depcomp8b.sh', which checks the
 # same thing for libtool objects.
 
 required=cc
diff --git a/t/depcomp8b.sh b/t/depcomp8b.sh
index 1e87df9..1d796b1 100755
--- a/t/depcomp8b.sh
+++ b/t/depcomp8b.sh
@@ -16,7 +16,7 @@
 
 # Test for regressions in computation of names of .Plo files for
 # automatic dependency tracking.
-# Keep this in sync with sister test 'depcomp8a.test', which checks the
+# Keep this in sync with sister test 'depcomp8a.sh', which checks the
 # same thing for non-libtool objects.
 
 required='cc libtoolize'
diff --git a/t/dist-formats.tap b/t/dist-formats.tap
index 842ecf1..5737227 100755
--- a/t/dist-formats.tap
+++ b/t/dist-formats.tap
@@ -17,43 +17,52 @@
 # Check support for different compression formats used by distribution
 # archives.
 
-am_create_testdir=empty
 . ./defs || exit 1
 
-plan_ 59
+plan_ 18
 
-# ---------------------------------------------------- #
-#  Common and/or auxiliary subroutines and variables.  #
-# ---------------------------------------------------- #
-
-ocwd=$(pwd) || fatal_ "getting current working directory"
+# -------------------------------------- #
+#  Auxiliary subroutines and variables.  #
+# -------------------------------------- #
 
 TAR='' && unset TAR
 
-# Create common aclocal.m4 file, for later tests.
-mkdir setup \
-  && cd setup \
-  && echo 'AC_INIT([x], [0]) AM_INIT_AUTOMAKE' > configure.ac \
-  && $ACLOCAL \
-  && mv aclocal.m4 .. \
-  && cd .. \
-  && rm -rf setup \
-  || fatal_ "creating common aclocal.m4 file"
-
 # Set variables '$compressor' and '$suffix'.
 setup_vars_for_compression_format ()
 {
-  suffix=NONE compressor=NONE
+  suffix=NONE
   case $1 in
-    gzip) suffix=tar.gz  compressor=gzip     ;;
-    lzip) suffix=tar.lz  compressor=lzip     ;;
-      xz) suffix=tar.xz  compressor=xz       ;;
-   bzip2) suffix=tar.bz2 compressor=bzip2    ;;
-     zip) suffix=zip     compressor=zip      ;;
+    gzip) suffix=tar.gz  ;;
+    lzip) suffix=tar.lz  ;;
+      xz) suffix=tar.xz  ;;
+   bzip2) suffix=tar.bz2 ;;
+     zip) suffix=zip     ;;
        *) fatal_ "invalid compression format '$1'";;
   esac
+  compressor=$1
 }
 
+check_tarball ()
+{
+  format=$1
+  (
+    setup_vars_for_compression_format $format \
+      && tarball=$distdir.$suffix \
+      && test -f $tarball \
+      && mkdir check-$format \
+      && cp $tarball check-$format \
+      && cd check-$format \
+      && $compressor -d $tarball \
+      && tar xvf $distdir.tar \
+      && diff ../Makefile.in $distdir/Makefile.in \
+      && diff ../aclocal.m4  $distdir/aclocal.m4 \
+      && diff ../configure   $distdir/configure \
+      && cd .. \
+      && rm -rf check-$format
+   )
+}
+
+
 have_compressor ()
 {
   test $# -eq 1 || fatal_ "have_compressor(): bad usage"
@@ -61,20 +70,6 @@ have_compressor ()
     # Assume gzip(1) is available on every reasonable portability target.
     gzip)
       return 0;;
-    # On Cygwin, as of 9/2/2012, 'compress' is provided by sharutils
-    # and is just a dummy script that is not able to actually compress
-    # (it can only decompress).  So, check that the 'compress' program
-    # is actually able to compress input.
-    # Note that, at least on GNU/Linux, 'compress' does (and is
-    # documented to) exit with status 2 if the output is larger than
-    # the input after (attempted) compression; so we need to pass it
-    # an input that it can actually reduce in size when compressing.
-    compress)
-      for x in 1 2 3 4 5 6 7 8; do
-        echo aaaaaaaaaaaaaaaaaaaaa
-      done | compress -c >/dev/null && return 0
-      return 1
-      ;;
     *)
       case $1 in
         # Do not use --version, or older versions bzip2 would try to
@@ -127,326 +122,91 @@ have_all_compressors ()
   test -z "$missing_compressors"
 }
 
-start_subtest ()
-{
-  name=$1; shift
-  test -n "$name" || fatal_ "start_subtest: no subtest name given"
-  if test $# -gt 0; then
-    eval "$@" || fatal_ "start_subtest: evaluating assignments"
-  fi
-  ac_opts=$(echo $ac_opts | tr ',' ' ')
-  am_opts=$(echo $am_opts | tr ',' ' ')
-  mkdir "$name"
-  cd "$name"
-  unindent > configure.ac <<END
-    AC_INIT([$name], [1.0])
-    AM_INIT_AUTOMAKE([$ac_opts])
-    AC_CONFIG_FILES([Makefile])
-    AC_OUTPUT
-END
-  echo "AUTOMAKE_OPTIONS = $am_opts" > Makefile.am
-  # It is imperative that aclocal.m4 is copied after configure.ac has
-  # been created, to avoid a spurious trigger of the automatic remake
-  # rules for configure & co.
-  cp "$ocwd"/aclocal.m4 \
-     "$am_scriptdir"/missing \
-     "$am_scriptdir"/install-sh \
-     .
-}
-
-end_subtest ()
-{
-  unset name; unset ac_opts; unset am_opts;
-  cd "$ocwd" || fatal_ "couldn't chdir back to '$ocwd'"
-}
-
-command_ok_if_have_compressor ()
+clean_dist ()
 {
-  if have_compressor "$compressor"; then
-    command_ok_ "$@"
-  else
-    skip_ -r "'$compressor' not available" "$1"
-  fi
+  rm -rf *$distdir*
 }
 
-can_compress ()
-{
-  test $# -eq 2 || fatal_ "can_compress: bad number of arguments"
-  tarname=$1 format=$2
-  setup_vars_for_compression_format "$format"
+# ------------------------- #
+#  Setup and basic checks.  #
+# ------------------------- #
 
-  command_ok_ "'dist-$format' target always created" $MAKE -n dist-$format
+echo AC_OUTPUT >> configure.ac
+: > Makefile.am
 
-  command_ok_if_have_compressor "'make dist-$format' work by default" \
-    eval '
-      rm -rf *$tarname* \
-        && $MAKE dist-$format \
-        && test -f $tarname-1.0.$suffix \
-        && ls -l *$tarname* \
-        && test "$(echo *$tarname*)" = $tarname-1.0.$suffix'
+$ACLOCAL && $AUTOCONF && $AUTOMAKE -a || fatal_ "autotools failed"
+./configure || fatal_ "./configure failed"
 
-  unset suffix compressor format tarname
-}
+command_ok_ "make distcheck"  $MAKE distcheck
 
-# ---------------------------------------- #
-#  Defaults layout of the dist-* targets.  #
-# ---------------------------------------- #
-
-start_subtest defaults
-
-command_ok_ "default [automake]"        $AUTOMAKE
-command_ok_ "default [autoconf]"        $AUTOCONF
-command_ok_ "default [configure]"       ./configure
-command_ok_ "default [make distcheck]"  $MAKE distcheck
-
-command_ok_ "'make dist' only builds *.tar.gz by default" \
-            test "$(ls *defaults*)" = defaults-1.0.tar.gz
-
-rm -rf *defaults*
-
-for fmt in $all_compression_formats; do
-  can_compress defaults $fmt
-done
-unset fmt
+command_ok_ "only gzip archive is built by default" \
+            test "$(ls *$distdir*)" = $distdir.tar.gz
 
-end_subtest
 
-# ----------------------------------------------------------- #
-#  Check diagnostic for no-dist-gzip without another dist-*.  #
-# ----------------------------------------------------------- #
-
-nogzip_stderr ()
-{
-  grep "$1:.*no-dist-gzip" stderr \
-    && grep "$1:.* at least one archive format must be enabled" stderr
-}
-
-nogzip_automake_failure ()
-{
-  AUTOMAKE_fails -d "no-dist-gzip ($1) without other formats is an error"
-  command_ok_ "no-dist-gzip ($1) without other formats gives diagnostic" \
-              nogzip_stderr "$2"
-}
-
-start_subtest am-nogz-only am_opts=no-dist-gzip ac_opts=
-nogzip_automake_failure 'am' 'Makefile\.am:1'
-end_subtest
-
-start_subtest ac-nogz-only am_opts= ac_opts=no-dist-gzip
-nogzip_automake_failure 'ac' 'configure\.ac:2'
-end_subtest
-
-# ------------------------------------------------- #
-#  Check use of no-dist-gzip with a dist-* option.  #
-# ------------------------------------------------- #
-
-append_to_opt ()
-{
-  var=$1_opts val=$2
-  eval "$var=\${$var:+\"\$$var,\"}\$val" || fatal_ "evaluating \${$var}"
-  unset var val
-}
+# ------------------------------------- # 
+#  Test all known formats, separately.  #
+# ------------------------------------- # 
 
-nogzip ()
-{
-  test $#,$1,$3,$5 = 6,in,and,in \
-    && case $2,$6 in ac,ac|ac,am|am,ac|am,am) :;; *) false;; esac \
-    || fatal_ "nogzip: invalid usage"
-  format=$4 where_dist_nogzip=$2 where_dist_format=$6
-  shift 6
-
-  am_opts= ac_opts=
-  append_to_opt $where_dist_format dist-$format
-  append_to_opt $where_dist_nogzip no-dist-gzip
+for format in $all_compression_formats; do
   setup_vars_for_compression_format "$format"
-  # Do these before the am_opts and ac_opts variable can be munged
-  # by 'start_subtest'.
-  desc=
-  test -n "$am_opts" && desc=${desc:+"$desc "}"am=$am_opts"
-  test -n "$ac_opts" && desc=${desc:+"$desc "}"ac=$ac_opts"
-
-  start_subtest nogzip-$format am_opts=$am_opts ac_opts=$ac_opts
-
-  unindent >> Makefile.am <<END
-    check-ark-name:
-       test \$(DIST_ARCHIVES) = \$(distdir).$suffix
-    check-ark-exists:
-       test -f \$(distdir).$suffix
-    check-no-tar-gz:
-       test ! -f \$(distdir).tar.gz
-END
-
-  command_ok_ "$desc [automake]" $AUTOMAKE
-  command_ok_ "$desc [autoconf]" $AUTOCONF
-  command_ok_ "$desc [configure]" ./configure
-  command_ok_ "$desc [ark-name]" $MAKE check-ark-name
-  command_ok_if_have_compressor "$desc [distcheck]" $MAKE distcheck
-  command_ok_if_have_compressor "$desc [ark-exists]" $MAKE check-ark-exists
-  command_ok_ "$desc [no .tar.gz]"  $MAKE check-no-tar-gz
-
-  unset desc
-
-  end_subtest
-}
-
-#      $1 $2  $3   $4     $5  $6
-nogzip in am  and  bzip2  in  am
-nogzip in ac  and  xz     in  ac
-nogzip in am  and  lzip   in  am
-
-
-# ----------------------------------------------------------- #
-#  The 'dist-gzip' target is created also with no-dist-gzip.  #
-# ----------------------------------------------------------- #
-
-start_subtest dist-gzip-persistence am_opts=no-dist-gzip,dist-xz
-command_ok_ "dist-gzip persistence [automake]"  $AUTOMAKE
-command_ok_ "dist-gzip persistence [autoconf]"  $AUTOCONF
-command_ok_ "dist-gzip persistence [configure]" ./configure
-can_compress dist-gzip-persistence gzip
-end_subtest
-
+  desc="$format distribution format"
+  command_ok_ "$desc [seems accepted]" \
+              $MAKE -n dist AM_DIST_FORMATS="$format"
+  if have_compressor "$compressor"; then
+    command_ok_ "$desc $format distribution format [works]" \
+      eval '$MAKE dist AM_DIST_FORMATS="$format" \
+              && ls -l *$distdir* \
+              && test -f $distdir.$suffix \
+              && test "$(echo *$distdir*)" = $distdir.$suffix'
+  else
+    skip_ -r "'$compressor' not available" "$1"
+  fi
+  clean_dist
+  unset desc suffix compressor format
+done
 
 # ----------------------- #
 #  Parallel compression.  #
 # ----------------------- #
 
-# We only use formats requiring 'gzip', 'bzip2' and 'compress' programs,
-# since there are the most likely to be all found on the great majority
-# of systems.
-
-start_subtest parallel-compression ac_opts=dist-bzip2 am_opts=dist-xz
+# We only use formats requiring 'gzip', 'bzip2' and 'xz' programs,
+# since there are the most likely to be all found on the great
+# majority of systems.
 
-desc=gzip+bzip2+xz
-tarname=parallel-compression-1.0
-
-check_tarball ()
-{
-  format=$1
-  setup_vars_for_compression_format $format
-  (
-    tarball=$tarname.$suffix \
-      && test -f $tarball \
-      && mkdir check-$format \
-      && cp $tarball check-$format \
-      && cd check-$format \
-      && $compressor -d $tarball \
-      && tar xvf $tarname.tar \
-      && diff ../Makefile.in $tarname/Makefile.in \
-      && cd .. \
-      && rm -rf check-$format
-   )
-}
-
-command_ok_ "$desc [automake]" $AUTOMAKE
+desc='parallel compression'
 
 skip_reason=
-have_compressor compress || skip_reason="'compress' not available"
+have_compressor xz || skip_reason="'xz' not available"
 have_compressor bzip2 || skip_reason="'bzip2' not available"
 
 if test -n "$skip_reason"; then
   skip_row_ 6 -r "$skip_reason" "$desc"
 else
-  command_ok_ "$desc [autoconf]" $AUTOCONF
-  command_ok_ "$desc [configure]" ./configure
-  command_ok_ "$desc [make -j4 dist-all]"  $MAKE -j4 dist
+  command_ok_ "$desc [make -j8 distcheck]"  \
+              $MAKE -j8 distcheck AM_DIST_FORMATS='gzip bzip2 xz'
   ls -l # For debugging.
   command_ok_ "$desc [check .tar.gz tarball]"  check_tarball gzip
   command_ok_ "$desc [check .tar.bz2 tarball]" check_tarball bzip2
-  command_ok_ "$desc [check .tar.Z tarball]"   check_tarball xz
-fi
-
-unset tarname desc skip_reason
-
-end_subtest
-
-
-# --------------------------------------------------------- #
-#  The various 'dist-*' targets can happily work together.  #
-# --------------------------------------------------------- #
-
-start_subtest all-together
-
-desc='all compressors together'
-tarname=all-together-1.0
-
-echo 'AM_INIT_AUTOMAKE([' > am-init.m4
-echo 'AUTOMAKE_OPTIONS =' > Makefile.am
-
-# Add half 'dist-*' options to AM_INIT_AUTOMAKE, half to AUTOMAKE_OPTIONS.
-flip=:
-for fmt in $all_compression_formats; do
-  test $fmt = gzip && continue
-  if $flip; then
-    echo "  dist-$fmt" >> am-init.m4
-    flip=false
-  else
-    echo "AUTOMAKE_OPTIONS += dist-$fmt" >> Makefile.am
-    flip=:
-  fi
-done
-unset flip fmt
-
-echo '])' >> am-init.m4
-
-sed 's/AM_INIT_AUTOMAKE.*/m4_include([am-init.m4])/' configure.ac > t
-mv -f t configure.ac
-
-# For debugging.
-cat Makefile.am
-cat configure.ac
-cat am-init.m4
-
-command_ok_ "$desc [aclocal]" $ACLOCAL --force
-command_ok_ "$desc [automake]" $AUTOMAKE
-command_ok_ "$desc [autoconf]" $AUTOCONF
-command_ok_ "$desc [configure]" ./configure
-
-if have_all_compressors; then
-  command_ok_ "$desc [make distcheck, real]" $MAKE distcheck
-else
-  skip_ -r "not all compressors available" "$desc [make distcheck, real]"
+  command_ok_ "$desc [check .tar.xz tarball]"  check_tarball xz
 fi
 
-# We fake existence of all the compressors here, so that we don't have
-# to require any of them to run the further tests.  This is especially
-# important since it's very unlikely that a non-developer has all the
-# compression tools installed on his machine at the same time.
-
-mkdir bin
-cd bin
-cat > check-distdir <<END
-#!/bin/sh
-{ ls -l '$tarname' && diff Makefile.am '$tarname'/Makefile.am; } >&2 \
-  || { echo "== distdir fail =="; exit 1; }
-END
-cat > grep-distdir-error <<'END'
-#!/bin/sh
-grep 'distdir fail' && exit 1
-:
-END
-chmod a+x check-distdir grep-distdir-error
-for prog in tar $all_compressors; do
-  case $prog in
-    tar|shar|zip) cp check-distdir $prog;;
-               *) cp grep-distdir-error $prog;;
-  esac
-done
-unset prog
-ls -l # For debugging.
-cd ..
+clean_dist
+unset desc skip_reason
 
-oPATH=$PATH
-PATH=$(pwd)/bin$PATH_SEPARATOR$PATH; export PATH
 
-command_ok_ \
-  "$desc ['make dist-all', stubbed]" \
-  $MAKE dist-all
+# ------------------------------- #
+#  Invalid distribution formats.  #
+# ------------------------------- #
 
-command_ok_ "$desc ['make dist -j4', stubbed]" $MAKE -j4 dist
+command_ok_ "invalid distribution formats [exit status]"  eval '
+  ! $MAKE dist AM_DIST_FORMATS="foobar tarZ shar" 2>stderr'
 
-PATH=$oPATH; export PATH
+cat stderr >&2 # For debugging.
 
-end_subtest
+command_ok_ "invalid distribution formats [error report]"  eval '
+  sed -e "s/^/ /" -e "s/$/ /" stderr >stderr2 \
+    && grep "[iI]nvalid distribution format.* foobar " stderr2 \
+    && grep "[iI]nvalid distribution format.* tarZ "   stderr2 \
+    && grep "[iI]nvalid distribution format.* shar "   stderr2'
 
 :
diff --git a/t/dist-missing-included-m4.sh b/t/dist-missing-included-m4.sh
index 08b91fa..57de724 100755
--- a/t/dist-missing-included-m4.sh
+++ b/t/dist-missing-included-m4.sh
@@ -18,7 +18,7 @@
 # for '.m4' files shouldn't prevent "make" from diagnosing a missing
 # required '.m4' file from a distribution tarball.
 # See discussion about automake bug#9768.
-# See also sister test 'dist-missing-m4.test'.
+# See also sister test 'dist-missing-m4.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/dist-missing-m4.sh b/t/dist-missing-m4.sh
index 79473b0..609f941 100755
--- a/t/dist-missing-m4.sh
+++ b/t/dist-missing-m4.sh
@@ -18,7 +18,7 @@
 # for '.m4' files shouldn't prevent "make" from diagnosing a missing
 # required '.m4' file from a distribution tarball.
 # See discussion about automake bug#9768.
-# See also sister test 'dist-missing-included-m4.test'.
+# See also sister test 'dist-missing-included-m4.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/dist-obsolete.sh b/t/dist-obsolete-opts.sh
similarity index 64%
rename from t/dist-obsolete.sh
rename to t/dist-obsolete-opts.sh
index a7b68d0..06bea8d 100644
--- a/t/dist-obsolete.sh
+++ b/t/dist-obsolete-opts.sh
@@ -14,28 +14,31 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Obsolete archive formats.
+# Obsolete 'dist-*' and 'no-dist-gzip' options.
 
 . ./defs || exit 1
 
 $ACLOCAL
 
-for fmt in lzma shar; do
+for fmt in gzip bzip2 xz lzip zip tarZ lzma shar; do
   echo AUTOMAKE_OPTIONS = dist-$fmt > Makefile.am
   AUTOMAKE_fails -Wnone -Wno-error
-  grep "^Makefile\\.am:1:.*support for $fmt.*removed" stderr
+  grep "^Makefile\\.am:1:.* 'dist-$fmt' option.* no more supported" stderr
+  grep "^Makefile\\.am:1:.* use AM_DIST_FORMATS .*instead" stderr
 done
 
 rm -rf autom4te*.cache
 
 cat > configure.ac << 'END'
-AC_INIT([lzma], [1.0])
-AM_INIT_AUTOMAKE([dist-tarZ])
+AC_INIT([foo], [1.0])
+AM_INIT_AUTOMAKE([no-dist-gzip dist-xz])
 AC_CONFIG_FILES([Makefile])
 END
 : > Makefile.am
 $ACLOCAL
 AUTOMAKE_fails -Wnone -Wno-error
-grep "^configure\\.ac:2:.*legacy 'compress' program.* no more supported" stderr
+grep "^configure\\.ac:2:.* 'no-dist-gzip' option.* no more supported" stderr
+grep "^configure\\.ac:2:.* 'dist-xz' option.* no more supported" stderr
+grep "^configure\\.ac:2:.*use AM_DIST_FORMATS .*instead" stderr
 
 :
diff --git a/t/distcom4.sh b/t/distcom4.sh
index e588e23..6c1cfb2 100755
--- a/t/distcom4.sh
+++ b/t/distcom4.sh
@@ -16,7 +16,7 @@
 
 # Test to make sure config files are distributed, and only once.
 # This tries to distribute a file from a subdirectory, without
-# Makefile in that directory.  distcom5.test performs the same
+# Makefile in that directory.  'distcom5.sh' performs the same
 # test with a Makefile in the directory.
 
 . ./defs || exit 1
diff --git a/t/distcom5.sh b/t/distcom5.sh
index 5971f9e..23b48e8 100755
--- a/t/distcom5.sh
+++ b/t/distcom5.sh
@@ -16,7 +16,7 @@
 
 # Test to make sure config files are distributed, and only once.
 # This tries to distribute a file from a subdirectory, with
-# a Makefile in that directory.  distcom4.test performs the same
+# a Makefile in that directory.  'distcom4.sh' performs the same
 # test without Makefile in the directory.
 
 . ./defs || exit 1
diff --git a/t/extra10.sh b/t/extra10.sh
index 808d3dd..f12b076 100755
--- a/t/extra10.sh
+++ b/t/extra10.sh
@@ -16,7 +16,7 @@
 
 # Check that wildcards in EXTRA_DIST are honoured.
 # Suggested by observations from Braden McDaniel.
-# See also sister test 'extra11.test', that check a similar usage
+# See also sister test 'extra11.sh', that checks a similar usage
 # with the involvement of the $(wildcard) GNU make builtin.
 
 . ./defs || exit 1
diff --git a/t/extradep2.sh b/t/extradep2.sh
index 554d0be..eecf74f 100755
--- a/t/extradep2.sh
+++ b/t/extradep2.sh
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Test EXTRA_*_DEPENDENCIES, libtool version; see extradep.test.
+# Test EXTRA_*_DEPENDENCIES, libtool version; see 'extradep.sh'.
 
 required='cc libtoolize'
 . ./defs || exit 1
diff --git a/t/f90only.sh b/t/f90only.sh
index 56e63ef..3d23628 100755
--- a/t/f90only.sh
+++ b/t/f90only.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure programs with only Fortran 90 source are handled properly.
-# (copied from fonly.test) Mike Nolta <address@hidden>
+# (copied from 'fonly.sh') Mike Nolta <address@hidden>
 
 . ./defs || exit 1
 
diff --git a/t/fort2.sh b/t/fort2.sh
index 4ec207c..6afa503 100755
--- a/t/fort2.sh
+++ b/t/fort2.sh
@@ -17,7 +17,7 @@
 # Test that AC_FC_SRCEXT(f9x) works as intended:
 # - $(FCFLAGS_f) will be used
 
-# Cf. fort1.test and link_f90_only.test.
+# Cf. 'fort1.sh' and 'link_f90_only.sh'.
 
 required=gfortran # Required only in order to run ./configure.
 . ./defs || exit 1
diff --git a/t/gnits2.sh b/t/gnits2.sh
index 6e4e1a4..34c5211 100755
--- a/t/gnits2.sh
+++ b/t/gnits2.sh
@@ -91,7 +91,7 @@ chmod +x sub/scriptnok.sh
 : > THANKS
 
 # The following file should not be distributed.
-# (alpha.test checks the case where it must be distributed.)
+# (alpha.sh checks the case where it must be distributed.)
 : > README-alpha
 
 $ACLOCAL
diff --git a/t/help-depend.sh b/t/help-depend.sh
index 1c2cb43..9a27d0b 100755
--- a/t/help-depend.sh
+++ b/t/help-depend.sh
@@ -16,7 +16,7 @@
 
 # Make sure that our private macro 'AM_DEP_TRACK' adds proper text to
 # the configure help screen.
-# Keep this in sync with sister test 'help-depend2.test'
+# Keep this in sync with sister test 'help-depend2.sh'
 
 . ./defs || exit 1
 
diff --git a/t/help-depend2.sh b/t/help-depend2.sh
index b40b6f3..5cf1273 100755
--- a/t/help-depend2.sh
+++ b/t/help-depend2.sh
@@ -16,7 +16,7 @@
 
 # Make sure that when automake automatically activates support for
 # dependency tracking, it adds proper text to the configure help screen.
-# Keep this in sync with sister test 'help-depend.test'
+# Keep this in sync with sister test 'help-depend.sh'
 
 . ./defs || exit 1
 
diff --git a/t/install-info-dir.sh b/t/install-info-dir.sh
index 39995fc..abf16e3 100755
--- a/t/install-info-dir.sh
+++ b/t/install-info-dir.sh
@@ -19,7 +19,7 @@
 # inlined, below.
 
 # FIXME: this test is a good candidate for a conversion to TAP,
-# FIXME: and could be merged with 'txinfo27.test'.
+# FIXME: and could be merged with 'txinfo27.sh'.
 
 required=makeinfo
 . ./defs || exit 1
diff --git a/t/instdir-cond2.sh b/t/instdir-cond2.sh
index 8f386cc..559a7fe 100755
--- a/t/instdir-cond2.sh
+++ b/t/instdir-cond2.sh
@@ -19,7 +19,7 @@
 # FIXME: this test tries to check that the above also hold for the
 # FIXME: "installdirs" target, but that doesn't currently work :-(
 # FIXME: So this test is still xfailing.
-# See sister test 'instdir-cond.test' for the succeeding part.
+# See sister test 'instdir-cond.sh' for the succeeding part.
 
 . ./defs || exit 1
 
diff --git a/t/instdir.sh b/t/instdir.sh
index a8338a9..ccff4e4 100755
--- a/t/instdir.sh
+++ b/t/instdir.sh
@@ -16,7 +16,7 @@
 
 # If $(foodir) is the empty string, then nothing should be installed there.
 # This test only ensures this if $(foo_PRIMARY) is also empty, see
-# instdir2.test and siblings instdir-*.test for nonempty contents.
+# 'instdir2.sh' and siblings 'instdir-*.sh' for nonempty contents.
 
 . ./defs || exit 1
 
diff --git a/t/instdir2.sh b/t/instdir2.sh
index e791aa0..a961473 100755
--- a/t/instdir2.sh
+++ b/t/instdir2.sh
@@ -16,7 +16,7 @@
 
 # If $(foodir) is the empty string, then nothing should be installed there.
 # This test ensures this also if $(foo_PRIMARY) is nonempty, see
-# instdir.test.
+# 'instdir.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/instfail-info.sh b/t/instfail-info.sh
index ee994df..fea2f5b 100755
--- a/t/instfail-info.sh
+++ b/t/instfail-info.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The install rule should honor failures of the install program.
-# Some of these are already caught by instmany.test.
+# Some of these are already caught by 'instmany.sh'.
 
 # This test has a few sister tests, for java, info, libtool.
 
diff --git a/t/instfail-java.sh b/t/instfail-java.sh
index 18525a4..7211efa 100755
--- a/t/instfail-java.sh
+++ b/t/instfail-java.sh
@@ -15,9 +15,9 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The install rule should honor failures of the install program.
-# Some of these are already caught by instmany.test.
+# Some of these are already caught by 'instmany.sh'.
 
-# This is the java sister test of instfail.test.
+# This is the java sister test of 'instfail.sh'.
 
 required=javac
 . ./defs || exit 1
diff --git a/t/instfail-libtool.sh b/t/instfail-libtool.sh
index 2b3bf2f..042f077 100755
--- a/t/instfail-libtool.sh
+++ b/t/instfail-libtool.sh
@@ -15,9 +15,9 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The install rule should honor failures of the install program.
-# Some of these are already caught by instmany.test.
+# Some of these are already caught by 'instmany.sh'.
 
-# This is the libtool sister test of instfail.test
+# This is the libtool sister test of 'instfail.sh'.
 
 required='cc libtool libtoolize'
 . ./defs || exit 1
diff --git a/t/instfail.sh b/t/instfail.sh
index 5f29c83..123e082 100755
--- a/t/instfail.sh
+++ b/t/instfail.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The install rule should honor failures of the install program.
-# Some of these are already caught by instmany.test.
+# Some of these are already caught by 'instmany.sh'.
 
 # This test has a few sister tests, for java, info, libtool.
 
diff --git a/t/instmany-mans.sh b/t/instmany-mans.sh
index 0f4c7a2..de7392e 100755
--- a/t/instmany-mans.sh
+++ b/t/instmany-mans.sh
@@ -16,7 +16,7 @@
 
 # Installing many files should not exceed the command line length limit.
 
-# This is the mans sister test of instmany.test, see there for details.
+# This is the mans sister test of 'instmany.sh', see there for details.
 
 . ./defs || exit 1
 
diff --git a/t/instmany-python.sh b/t/instmany-python.sh
index c11a367..d1189f8 100755
--- a/t/instmany-python.sh
+++ b/t/instmany-python.sh
@@ -16,7 +16,7 @@
 
 # Installing many files should not exceed the command line length limit.
 
-# This is the python sister test of instmany.test, see there for details.
+# This is the python sister test of 'instmany.sh', see there for details.
 
 required='python'
 . ./defs || exit 1
diff --git a/t/java-compile-run-flat.sh b/t/java-compile-run-flat.sh
index b85104c..f3108d1 100755
--- a/t/java-compile-run-flat.sh
+++ b/t/java-compile-run-flat.sh
@@ -19,7 +19,7 @@
 # "UNIX-style" use case.
 # This test uses a "flat" setup for the source tree (i.e., everything in
 # the top-level directory), and forces the use of the old, non-parallel
-# testsuite driver.  The sister test 'java-compile-run-nested.test' do
+# testsuite driver.  The sister test 'java-compile-run-nested.sh' do
 # similar checks with a more usual, "nested" setup, and using the older
 # 'serial-tests' driver.
 
diff --git a/t/java-compile-run-nested.sh b/t/java-compile-run-nested.sh
index dd39df9..eeb876b 100755
--- a/t/java-compile-run-nested.sh
+++ b/t/java-compile-run-nested.sh
@@ -20,9 +20,9 @@
 # This test uses a typical "nested" source tree setup (i.e., different
 # components/aspects are separated into different subdirectories), and
 # uses the parallel testsuite driver.
-# The sister test 'java-compile-run-flat.test' do similar checks with a
-# "flat" setup (i.e., everything in the top-level directory), and forcing
-# the use of the older 'serial-tests' driver.
+# The sister test 'java-compile-run-flat.sh' do similar checks with
+# a "flat" setup (i.e., everything in the top-level directory), and
+# forcing the use of the older 'serial-tests' driver.
 
 required='java javac'
 . ./defs || exit 1
diff --git a/t/lex-clean-cxx.sh b/t/lex-clean-cxx.sh
index a61dd98..38a129c 100755
--- a/t/lex-clean-cxx.sh
+++ b/t/lex-clean-cxx.sh
@@ -17,7 +17,7 @@
 # Check that C++ source files derived from non-distributed Lex sources
 # are cleaned by "make clean", while C++ source files derived from
 # distributed Lex sources are cleaned by "make maintainer-clean".
-# See also sister test 'lex-clean.test'.
+# See also sister test 'lex-clean.sh'.
 
 required='c++ lex'
 . ./defs || exit 1
diff --git a/t/lex-clean.sh b/t/lex-clean.sh
index 91742bf..3bc52d3 100755
--- a/t/lex-clean.sh
+++ b/t/lex-clean.sh
@@ -17,7 +17,7 @@
 # Check that .c files derived from non-distributed .l sources
 # are cleaned by "make clean", while .c files derived from
 # distributed .l sources are cleaned by "make maintainer-clean".
-# See also sister test 'lex-clean-cxx.test'.
+# See also sister test 'lex-clean-cxx.sh'.
 
 required='cc lex'
 . ./defs || exit 1
diff --git a/t/lex-depend-grep.sh b/t/lex-depend-grep.sh
index 4011b80..e7c9538 100755
--- a/t/lex-depend-grep.sh
+++ b/t/lex-depend-grep.sh
@@ -16,7 +16,7 @@
 
 # Test to make sure dependencies for Lex and C/C++ does not break
 # in obvious ways.  See PR automake/6, and related semantic tests
-# 'lex-depend.test' and 'lex-depend-cxx.test'.
+# 'lex-depend.sh' and 'lex-depend-cxx.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/lex-lib.sh b/t/lex-lib.sh
index 29e2ed8..11767d8 100755
--- a/t/lex-lib.sh
+++ b/t/lex-lib.sh
@@ -16,7 +16,7 @@
 
 # Check that we can provide a personal 'yywrap' function in a custom
 # library.
-# See also test 'lex-lib-external.test'.
+# See also test 'lex-lib-external.sh'.
 
 required='cc lex'
 . ./defs || exit 1
diff --git a/t/lex-line.sh b/t/lex-line.sh
index fc7ce17..fbc05a5 100755
--- a/t/lex-line.sh
+++ b/t/lex-line.sh
@@ -17,7 +17,7 @@
 # Check that automake lex support ensures that lex-generated C
 # files use correct "#line" directives.
 # 'subdir-object' option enabled.
-# See also sister test 'yacc-line.test'.
+# See also sister test 'yacc-line.sh'.
 
 required='cc lex'
 . ./defs || exit 1
diff --git a/t/lex-nodist.sh b/t/lex-nodist.sh
index c04d613..19e5968 100755
--- a/t/lex-nodist.sh
+++ b/t/lex-nodist.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Checks for .c files derived from non-distributed .l sources.
-# The test 'yacc-nodist.test' does similar checks for yacc-generated
+# The test 'yacc-nodist.sh' does similar checks for yacc-generated
 # .c and .h files.
 
 required='cc lex'
@@ -23,7 +23,7 @@ required='cc lex'
 
 cat >> configure.ac << 'END'
 AC_PROG_CC
-dnl Sister test 'lex-pr204.test' should use 'AC_PROG_LEX' instead.
+dnl Sister test 'lex-pr204.sh' should use 'AC_PROG_LEX' instead.
 AM_PROG_LEX
 AC_OUTPUT
 END
diff --git a/t/lexcpp.sh b/t/lexcpp.sh
index 683f7ea..d46c82d 100755
--- a/t/lexcpp.sh
+++ b/t/lexcpp.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure Lex + C++ is supported.
-# Please keep this is sync with sister test yaccpp.test.
+# Please keep this is sync with sister test 'yaccpp.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/lexvpath.sh b/t/lexvpath.sh
index 2c13c96..569048e 100755
--- a/t/lexvpath.sh
+++ b/t/lexvpath.sh
@@ -20,7 +20,7 @@
 # 'make' and 'make distdir' and check whether the version of 'lexer.c'
 # to be distributed is up to date.
 
-# Please keep this in sync with sister test 'yaccvapth.test'.
+# Please keep this in sync with sister test 'yaccvapth.sh'.
 
 required='cc lex'
 . ./defs || exit 1
diff --git a/t/lflags.sh b/t/lflags.sh
index 3bf3ddf..655fd13 100755
--- a/t/lflags.sh
+++ b/t/lflags.sh
@@ -16,8 +16,8 @@
 
 # Check that $(LFLAGS) takes precedence over both $(AM_LFLAGS) and
 # $(foo_LFLAGS).
-# Please keep this in sync with the sister tests lflags2.test, yflags.test
-# and yflags2.test.
+# Please keep this in sync with the sister tests lflags2.sh, yflags.sh
+# and yflags2.sh.
 
 required=cc
 . ./defs || exit 1
diff --git a/t/lflags2.sh b/t/lflags2.sh
index 35b6e43..a82ad56 100755
--- a/t/lflags2.sh
+++ b/t/lflags2.sh
@@ -16,8 +16,8 @@
 
 # Check that $(LFLAGS) takes precedence over both $(AM_LFLAGS) and
 # $(foo_LFLAGS).
-# Please keep this in sync with the sister tests lflags.test, yflags.test
-# and yflags2.test.
+# Please keep this in sync with the sister tests lflags.sh, yflags.sh
+# and yflags2.sh.
 
 . ./defs || exit 1
 
diff --git a/t/libobj12.sh b/t/libobj12.sh
index 4c2b74d..6c917e2 100755
--- a/t/libobj12.sh
+++ b/t/libobj12.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test if a file can be mentioned in LIBOBJS and explicitly.
-# (See libobj13.test for the LTLIBRARIES check.)
+# (See libobj13.sh for the LTLIBRARIES check.)
 
 . ./defs || exit 1
 
diff --git a/t/libobj13.sh b/t/libobj13.sh
index 360ff5d..3a9ee71 100755
--- a/t/libobj13.sh
+++ b/t/libobj13.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test if a file can be mentioned in LTLIBOBJS and explicitly.
-# (Like libobj12.test, but for Libtool libraries.)
+# (Like libobj12.sh, but for Libtool libraries.)
 
 required='libtoolize'
 . ./defs || exit 1
diff --git a/t/libobj16a.sh b/t/libobj16a.sh
index 9826446..9bf602a 100755
--- a/t/libobj16a.sh
+++ b/t/libobj16a.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure AC_LIBOBJ and friends work.
-# Please keep this in sync with sister test 'libobj16b.test'.
+# Please keep this in sync with sister test 'libobj16b.sh'.
 
 required=cc
 . ./defs || exit 1
diff --git a/t/libobj16b.sh b/t/libobj16b.sh
index 1b8da08..6005725 100755
--- a/t/libobj16b.sh
+++ b/t/libobj16b.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure AC_LIBOBJ and friends work.
-# Please keep this in sync with sister test 'libobj16a.test'.
+# Please keep this in sync with sister test 'libobj16a.sh'.
 
 required=cc
 . ./defs || exit 1
diff --git a/t/libtool3.sh b/t/libtool3.sh
index 456cf62..4c801e3 100755
--- a/t/libtool3.sh
+++ b/t/libtool3.sh
@@ -67,7 +67,7 @@ a (void)
 END
 
 # Use --copy to workaround a bug in Cygwin's 'cp -p' during distcheck.
-# (This bug is already exhibited by subobj9.test.)  In brief: Cygwin's
+# (This bug is already exhibited by subobj9.sh.)  In brief: Cygwin's
 # 'cp -p' tries to preserve group and owner of the source and fails
 # to do so under normal accounts.  With --copy we ensure we own all files.
 
diff --git a/t/libtool9.sh b/t/libtool9.sh
index 4d82ddf..fae1f36 100755
--- a/t/libtool9.sh
+++ b/t/libtool9.sh
@@ -16,7 +16,7 @@
 
 # Make sure xxx_LINK is defined for each target that requires specific
 # flags.
-# Quite similar to libtool7.test, using AM_LDFLAGS in addition to
+# Quite similar to 'libtool7.sh', using AM_LDFLAGS in addition to
 # xxx_LDFLAGS.
 
 required='cc libtoolize'
diff --git a/t/link_f90_only.sh b/t/link_f90_only.sh
index 252d46a..f9c7c18 100755
--- a/t/link_f90_only.sh
+++ b/t/link_f90_only.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure the Fortran 90 linker is used when appropriate.
-# (copied from link_f_only.test) Mike Nolta <address@hidden>
+# (copied from 'link_f_only.sh') Mike Nolta <address@hidden>
 
 . ./defs || exit 1
 
diff --git a/t/lisp5.sh b/t/lisp5.sh
index c154e3c..28d7a62 100755
--- a/t/lisp5.sh
+++ b/t/lisp5.sh
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Same as lisp4.test, but using the now-recommended way to install
+# Same as 'lisp4.sh', but using the now-recommended way to install
 # non-bytecompiled *.el files.
 
 required=emacs
diff --git a/t/maintclean-vpath.sh b/t/maintclean-vpath.sh
index 77f6267..b5c6ffe 100755
--- a/t/maintclean-vpath.sh
+++ b/t/maintclean-vpath.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure distclean and maintainer-clean erase the right files.
-# This test is for VPATH builds; see sister test 'maintclean.test'
+# This test is for VPATH builds; see sister test 'maintclean.sh'
 # for in-tree builds.
 
 . ./defs || exit 1
diff --git a/t/maintclean.sh b/t/maintclean.sh
index a2c0e6b..757cf85 100755
--- a/t/maintclean.sh
+++ b/t/maintclean.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure distclean and maintainer-clean erase the right files.
-# This test is for in-tree builds; see sister test 'maintclean-vpath.test'
+# This test is for in-tree builds; see sister test 'maintclean-vpath.sh'
 # for VPATH builds.
 
 . ./defs || exit 1
diff --git a/t/nobase-libtool.sh b/t/nobase-libtool.sh
index 2a6bc2a..4a66601 100755
--- a/t/nobase-libtool.sh
+++ b/t/nobase-libtool.sh
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure nobase_* works for libtool libraries and programs as well.
-# This is just the libtool equivalent of nobase.test, split
-# up for greater exposure of nobase.test.
+# This is just the libtool equivalent of 'nobase.sh', split up to allow
+# greater exposure of that test.
 
 required='cc libtoolize'
 . ./defs || exit 1
diff --git a/t/output10.sh b/t/output10.sh
index f0060fd..c6130f9 100755
--- a/t/output10.sh
+++ b/t/output10.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure an AC_CONFIG_FILES can have an AC_CONFIG_FILES output as input.
-# This is comparable to output9.test, but testing Makefile rules.
+# This is comparable to 'output9.sh', but testing Makefile rules.
 # PR/411
 
 . ./defs || exit 1
diff --git a/t/override-conditional-1.sh b/t/override-conditional-1.sh
index 2752346..26f0a28 100755
--- a/t/override-conditional-1.sh
+++ b/t/override-conditional-1.sh
@@ -24,10 +24,11 @@ AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+man1_MANS = foo.1
 foobar:
        : > $@
 if COND
-ps: foobar
+install-man: foobar
        :
 endif
 END
@@ -35,20 +36,25 @@ END
 $ACLOCAL
 $AUTOMAKE -Wno-override
 
-# "ps:" should be output in two conditions
-grep 'ps:' Makefile.in # For debugging.
-test $(grep -c '@ps:' Makefile.in) -eq 2
-grep '@address@hidden: *foobar' Makefile.in
-grep '@address@hidden: *ps-am' Makefile.in
+# "install-man:" should be output in two conditions
+grep 'install-man' Makefile.in # For debugging.
+test $(grep -c '@install-man:' Makefile.in) -eq 2
+grep '@address@hidden: *foobar' Makefile.in
+grep '@address@hidden:' Makefile.in
 
 $AUTOCONF
+: > foo.1
 
-./configure cond=no
-$MAKE ps
+./configure cond=no --prefix="$(pwd)/inst"
+$MAKE install-man
+test -d inst
 test ! -e foobar
 
-./configure cond=yes
-$MAKE ps
+rm -rf inst
+
+./configure cond=yes --prefix="$(pwd)/inst"
+$MAKE install-man
+test ! -e inst
 test -f foobar
 
 :
diff --git a/t/parallel-tests-dry-run-1.sh b/t/parallel-tests-dry-run-1.sh
index 382ae20..96764c3 100755
--- a/t/parallel-tests-dry-run-1.sh
+++ b/t/parallel-tests-dry-run-1.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check interactions between the parallel test harness and "make -n".
-# See also sister test 'parallel-tests-dry-run-2.test'.
+# See also sister test 'parallel-tests-dry-run-2.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/parallel-tests-dry-run-2.sh b/t/parallel-tests-dry-run-2.sh
index 11a0f45..0d324d8 100755
--- a/t/parallel-tests-dry-run-2.sh
+++ b/t/parallel-tests-dry-run-2.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check interactions between the parallel test harness and "make -n".
-# See also sister test 'parallel-tests-dry-run-1.test'.
+# See also sister test 'parallel-tests-dry-run-1.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/parallel-tests-fd-redirect-exeext.sh 
b/t/parallel-tests-fd-redirect-exeext.sh
index 664654b..3f008c2 100755
--- a/t/parallel-tests-fd-redirect-exeext.sh
+++ b/t/parallel-tests-fd-redirect-exeext.sh
@@ -18,8 +18,8 @@
 # AM_TESTS_FD_REDIRECT, for tests which are binary executables
 # We use some tricks to ensure that all code paths in 'lib/am/check2.am'
 # are covered, even on platforms where $(EXEEXT) would be naturally empty.
-# See also the more generic test 'check-fd-redirect.test', and
-# sister test 'parallel-tests-fd-redirect.test'.
+# See also the more generic test 'check-fd-redirect.sh', and
+# sister test 'parallel-tests-fd-redirect.sh'.
 
 required='cc native'
 . ./defs || exit 1
diff --git a/t/parallel-tests-fd-redirect.sh b/t/parallel-tests-fd-redirect.sh
index 1d4e2b2..70d3f55 100755
--- a/t/parallel-tests-fd-redirect.sh
+++ b/t/parallel-tests-fd-redirect.sh
@@ -16,9 +16,9 @@
 
 # parallel-tests support: redirection of file descriptors with
 # AM_TESTS_FD_REDIRECT, even when using tests without suffix.
-# The sister 'parallel-tests-fd-redirect-exeext.test' do a similar
+# The sister 'parallel-tests-fd-redirect-exeext.sh' do a similar
 # check for tests that are binary executables.
-# See also the more generic test 'check-fd-redirect.test'.
+# See also the more generic test 'check-fd-redirect.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/parallel-tests-log-compiler-1.sh 
b/t/parallel-tests-log-compiler-1.sh
index a3b3a94..40ca64d 100755
--- a/t/parallel-tests-log-compiler-1.sh
+++ b/t/parallel-tests-log-compiler-1.sh
@@ -17,7 +17,7 @@
 # Check parallel-tests features:
 # - per-extension "test runners" a.k.a. "log compilers" (xxx_LOG_COMPILER
 #   and xxx_LOG_FLAGS), also with AC_SUBST'd stuff.
-# See also related test 'parallel-tests-log-compiler-2.test'.
+# See also related test 'parallel-tests-log-compiler-2.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/parallel-tests-log-compiler-2.sh 
b/t/parallel-tests-log-compiler-2.sh
index 08e2c9d..775a4d1 100755
--- a/t/parallel-tests-log-compiler-2.sh
+++ b/t/parallel-tests-log-compiler-2.sh
@@ -17,7 +17,7 @@
 # Check parallel-tests features:
 # - per-extension "test runners" a.k.a. "log compilers" (xxx_LOG_COMPILER
 #   and xxx_LOG_FLAGS), when some tests are PROGRAMS.
-# See also related test 'parallel-tests-log-compiler-1.test'.
+# See also related test 'parallel-tests-log-compiler-1.sh'.
 
 required='cc native'
 . ./defs || exit 1
diff --git a/t/parallel-tests-suffix-prog.sh b/t/parallel-tests-suffix-prog.sh
index 168266f..3182102 100755
--- a/t/parallel-tests-suffix-prog.sh
+++ b/t/parallel-tests-suffix-prog.sh
@@ -16,7 +16,7 @@
 
 # Check parallel-tests features:
 # - suffix rules, with PROGRAMS involved
-# See also sister test 'parallel-tests-suffix.test'.
+# See also sister test 'parallel-tests-suffix.sh'.
 
 required='cc native'
 . ./defs || exit 1
diff --git a/t/parallel-tests-suffix.sh b/t/parallel-tests-suffix.sh
index b5931b8..93c7ea0 100755
--- a/t/parallel-tests-suffix.sh
+++ b/t/parallel-tests-suffix.sh
@@ -16,7 +16,7 @@
 
 # Check parallel-tests features:
 # - suffix rules
-# See also sister test 'parallel-tests-suffix-prog.test'.
+# See also sister test 'parallel-tests-suffix-prog.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/parallel-tests6.sh b/t/parallel-tests6.sh
index 018964a..31d3125 100755
--- a/t/parallel-tests6.sh
+++ b/t/parallel-tests6.sh
@@ -16,7 +16,7 @@
 
 # Check parallel-tests features:
 # - empty TESTS
-# See parallel-tests10.test for a similar issue.
+# See 'parallel-tests10.sh' for a similar issue.
 
 . ./defs || exit 1
 
diff --git a/t/pluseq11.sh b/t/pluseq11.sh
index 5ee5d4f..67dfd33 100755
--- a/t/pluseq11.sh
+++ b/t/pluseq11.sh
@@ -16,7 +16,7 @@
 
 # Check for bug in variable concatenation with '+=': an extra backslash
 # is erroneously retained in the final value.
-# See also sister test pluseq11b.test.
+# See also sister test 'pluseq11b.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/posixsubst-libraries.sh b/t/posixsubst-libraries.sh
index eab0a67..e7b5fe9 100755
--- a/t/posixsubst-libraries.sh
+++ b/t/posixsubst-libraries.sh
@@ -16,7 +16,7 @@
 
 # Test that POSIX variable expansion '$(var:str=rpl)' works when used
 # with the LIBRARIES primary in a "simple" way.
-# Keep this in sync with sister test 'posixsubst-ltlibraries.test'.
+# Keep this in sync with sister test 'posixsubst-ltlibraries.sh'.
 
 required=cc
 . ./defs || exit 1
diff --git a/t/posixsubst-ltlibraries.sh b/t/posixsubst-ltlibraries.sh
index 61cc6f2..07b902f 100755
--- a/t/posixsubst-ltlibraries.sh
+++ b/t/posixsubst-ltlibraries.sh
@@ -16,7 +16,7 @@
 
 # Test that POSIX variable expansion '$(var:str=rpl)' works when used
 # with the LTLIBRARIES primary in a "simple" way.
-# Keep this in sync with sister test 'posixsubst-libraries.test'.
+# Keep this in sync with sister test 'posixsubst-libraries.sh'.
 
 required='cc libtool libtoolize'
 . ./defs || exit 1
diff --git a/t/pr279-2.sh b/t/pr279-2.sh
index 2d5221b..fbd06ac 100755
--- a/t/pr279-2.sh
+++ b/t/pr279-2.sh
@@ -16,7 +16,7 @@
 
 # Another test related to PR 279.
 # Multiple DEPENDENCIES on conditionals.
-# Please keep this in sync with sister test pr279.test.
+# Please keep this in sync with sister test 'pr279.sh'.
 #
 # == Report ==
 # When defining xxx_LDADD and xxx_DEPENDENCIES variables where the
diff --git a/t/pr279.sh b/t/pr279.sh
index f3bc52f..7f5f7b5 100755
--- a/t/pr279.sh
+++ b/t/pr279.sh
@@ -16,7 +16,7 @@
 
 # Test for PR 279.
 # Multiple DEPENDENCIES on conditionals.
-# Please keep this in sync with sister test pr279-2.test.
+# Please keep this in sync with sister test 'pr279-2.sh'.
 #
 # == Report ==
 # When defining xxx_LDADD and xxx_DEPENDENCIES variables where the
diff --git a/t/pr401.sh b/t/pr401.sh
index 28aa16a..53ede6d 100755
--- a/t/pr401.sh
+++ b/t/pr401.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check support for AC_CONFIG_LIBOBJ_DIR vs LIBOBJS.
-# (pr401b.test and pr401c.test do the same for LTLIBOBJS and ALLOCA)
+# (pr401b.sh and pr401c.sh do the same for LTLIBOBJS and ALLOCA)
 
 required=cc
 . ./defs || exit 1
diff --git a/t/pr401b.sh b/t/pr401b.sh
index 997b045..68f3ad3 100755
--- a/t/pr401b.sh
+++ b/t/pr401b.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check support for AC_CONFIG_LIBOBJ_DIR vs LTLIBOBJS.
-# (pr401.test and pr401c.test do the same for LIBOBJS and ALLOCA)
+# (pr401.sh and pr401c.sh do the same for LIBOBJS and ALLOCA)
 
 required='cc libtoolize'
 . ./defs || exit 1
diff --git a/t/pr401c.sh b/t/pr401c.sh
index 19d275f..71201dc 100755
--- a/t/pr401c.sh
+++ b/t/pr401c.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check support for AC_CONFIG_LIBOBJ_DIR vs ALLOCA.
-# (pr401.test and pr401b.test do the same for LIBOBJS and LTLIBOBJS)
+# (pr401.sh and pr401b.sh do the same for LIBOBJS and LTLIBOBJS)
 
 required=cc
 . ./defs || exit 1
diff --git a/t/primary-prefix-couples-force-valid.sh 
b/t/primary-prefix-couples-force-valid.sh
index f99f29a..e81864b 100755
--- a/t/primary-prefix-couples-force-valid.sh
+++ b/t/primary-prefix-couples-force-valid.sh
@@ -54,7 +54,7 @@ test:
        test -f '$(bindir)/libquux.a'
        ls -l '$(libexecdir)/bar.h'
        test -f '$(libexecdir)/bar.h'
-## If this test is run as root, "test -x" could suceed also for
+## If this test is run as root, "test -x" could succeed also for
 ## non-executable files, so we need to protect the next check.
 ## See automake bug#12041.
        if test -x Makefile; then echo SKIP THIS; else \
diff --git a/t/primary-prefix-valid-couples.sh 
b/t/primary-prefix-valid-couples.sh
index 23f3094..bb3212c 100755
--- a/t/primary-prefix-valid-couples.sh
+++ b/t/primary-prefix-valid-couples.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test for valid prefix/primary combinations.
-# See also test 'primary-prefix-invalid-couples.test'.
+# See also test 'primary-prefix-invalid-couples.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/py-compile-basic.sh b/t/py-compile-basic.sh
index 9e554e2..73597c3 100755
--- a/t/py-compile-basic.sh
+++ b/t/py-compile-basic.sh
@@ -16,7 +16,7 @@
 
 # Test more basic functionalities of the 'py-compile' script,
 # with "believable" python sources.  See also related test
-# 'py-compile-basic2.test'.
+# 'py-compile-basic2.sh'.
 
 required=python
 . ./defs || exit 1
diff --git a/t/py-compile-basic2.sh b/t/py-compile-basic2.sh
index c4c7ce0..19fdf72 100755
--- a/t/py-compile-basic2.sh
+++ b/t/py-compile-basic2.sh
@@ -16,7 +16,7 @@
 
 # Test more basic functionalities of the 'py-compile' script, with
 # dummy python sources, but more complex directory layouts.  See also
-# related test 'py-compile-basic.test'.
+# related test 'py-compile-basic.sh'.
 
 required=python
 . ./defs || exit 1
diff --git a/t/python9.sh b/t/python-am-path-iftrue.sh
old mode 100755
new mode 100644
similarity index 70%
rename from t/python9.sh
rename to t/python-am-path-iftrue.sh
index 41f32e5..3c5201f
--- a/t/python9.sh
+++ b/t/python-am-path-iftrue.sh
@@ -15,23 +15,38 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test ACTION-IF-TRUE in AM_PATH_PYTHON.
-# Similar to python8.test, but requiring a version.
 
+am_create_testdir=empty
 required=python
 . ./defs || exit 1
 
-cat >>configure.ac <<'EOF'
-# $PYTHON is supposed to be properly set in ACTION-IF-TRUE.
-AM_PATH_PYTHON([0.0], [$PYTHON -c 'print("%u:%u" % (1-1, 2**0))' > py.out])
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+m4_include([mypy.m4])
 AC_OUTPUT
-EOF
+END
 
-: > Makefile.am
+# $PYTHON is supposed to be properly set in ACTION-IF-TRUE.
+cat > mypy.m4 << 'END'
+AM_PATH_PYTHON(, [$PYTHON -V >py-version 2>&1])
+END
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE --add-missing
+./configure
+grep '^Python [0-9]\.[0-9][0-9]*\.[0-9]' py-version
+
+# The same, but requiring a version.
+
+rm -rf autom4te*.cache
 
+# $PYTHON is supposed to be properly set in ACTION-IF-TRUE.
+cat > mypy.m4 << 'END'
+AM_PATH_PYTHON([0.0], [$PYTHON -c 'print("%u:%u" % (1-1, 2**0))' > py.out])
+END
+
+$ACLOCAL
+$AUTOCONF
 ./configure
 test x"$(cat py.out)" = x0:1
 
diff --git a/t/python-missing.sh b/t/python-missing.sh
new file mode 100644
index 0000000..c88a4f9
--- /dev/null
+++ b/t/python-missing.sh
@@ -0,0 +1,80 @@
+#! /bin/sh
+# Copyright (C) 2003-2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test detection of missing Python.
+# See also related test t/python-am-path-missing-2.sh (which requires
+# an actual python program).
+
+am_create_testdir=empty
+# An actual python is *not* required in this test.
+. ./defs || exit 1
+
+PYTHON=; unset PYTHON
+
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+m4_include([mypy.m4])
+AC_OUTPUT
+END
+
+echo AM_PATH_PYTHON > mypy.m4
+
+$ACLOCAL
+$AUTOCONF
+
+# Simulate no Python.
+./configure PYTHON=: 2>stderr && { cat stderr >&2; exit 1; }
+cat stderr >&2
+grep 'no suitable Python interpreter found' stderr
+
+# Again, but from the environment this time.
+env PYTHON=: ./configure 2>stderr && { cat stderr >&2; exit 1; }
+cat stderr >&2
+grep 'no suitable Python interpreter found' stderr
+
+# Now try using a custom ACTION-IF-NOT-FOUND.
+
+echo 'AM_PATH_PYTHON(,, [echo "$PYTHON" > py])' > mypy.m4
+$AUTOCONF --force
+./configure PYTHON=:
+test x"$(cat py)" = x:
+
+# Now try requiring a version.
+
+rm -rf autom4te*.cache # Will have to re-run aclocal.
+
+# Hopefully the Python team will never release such a version :-)
+echo 'AM_PATH_PYTHON([9999.9], [])' > mypy.m4
+$ACLOCAL
+$AUTOCONF
+./configure >stdout 2>stderr && {
+  cat stdout
+  cat stderr >&2
+  exit 1
+}
+cat stdout
+cat stderr >&2
+$EGREP 'checking for a Python interpreter with version >= 9999\.9\.\.\. 
no(ne)? *$' stdout
+grep 'no suitable Python interpreter found' stderr
+
+# Now try requiring a version and using a custom ACTION-IF-NOT-FOUND.
+
+echo 'AM_PATH_PYTHON([9999.9], [], [echo "$PYTHON" > py])' > mypy.m4
+$AUTOCONF --force
+./configure
+test x"$(cat py)" = x:
+
+:
diff --git a/t/python5b.sh b/t/python-too-old.sh
similarity index 67%
rename from t/python5b.sh
rename to t/python-too-old.sh
index 39190d9..e4185fc 100755
--- a/t/python5b.sh
+++ b/t/python-too-old.sh
@@ -14,18 +14,39 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Test detection of missing Python.
-# Same as python5.test, but with the user forcing the python to use.
+# Test detection of too old Python, also forcing the python to use.
+# See also related test 't/python-am-path-missing.sh'.
 
+am_create_testdir=empty
 required=python
 . ./defs || exit 1
 
-cat >>configure.ac << 'END'
+py_too_old ()
+{
+  ./configure ${1+"PYTHON=$1"} >stdout 2>stderr && {
+    cat stdout
+    cat stderr >&2
+    exit 1
+  }
+  cat stdout
+  cat stderr >&2
+  grep "whether $1 version is >= 9999\\.9\\.\\.\\. no *$" stdout
+  grep '[Pp]ython interpreter is too old' stderr
+}
+
+PYTHON=; unset PYTHON
+
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
 # Hopefully the Python team will never release such a version.
 AM_PATH_PYTHON([9999.9])
-AC_OUTPUT
 END
 
+$ACLOCAL
+$AUTOCONF
+
+py_too_old python
+
 mkdir bin
 cat > bin/my-python << 'END'
 #! /bin/sh
@@ -34,20 +55,6 @@ END
 chmod a+x bin/my-python
 PATH=$(pwd)/bin$PATH_SEPARATOR$PATH
 
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-./configure PYTHON=my-python >stdout 2>stderr && {
-  cat stdout
-  cat stderr >&2
-  exit 1
-}
-cat stdout
-cat stderr >&2
-grep 'whether my-python version is >= 9999\.9\.\.\. no *$' stdout
-grep '[Pp]ython interpreter is too old' stderr
+py_too_old my-python
 
 :
diff --git a/t/python-vars.sh b/t/python-vars.sh
index 35cd5d7..5bac280 100755
--- a/t/python-vars.sh
+++ b/t/python-vars.sh
@@ -29,7 +29,7 @@ PYTHON=python
 # Note that the value of the 'pythondir' and 'pyexecdir' variables can
 # vary among different python installations, so we need more relaxed
 # and ad-hoc checks for them.  Also, more proper "functional" checks
-# on them should be done in the 'python-virtualenv.test' test.
+# on them should be done in the 'python-virtualenv.sh' test.
 PYTHON_VERSION=$($PYTHON -c 'import sys; print(sys.version[:3])') || exit 1
 PYTHON_PLATFORM=$($PYTHON -c 'import sys; print(sys.platform)') || exit 1
 PYTHON_EXEC_PREFIX='${exec_prefix}'
diff --git a/t/python4.sh b/t/python4.sh
deleted file mode 100755
index d084861..0000000
--- a/t/python4.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test detection of missing Python.
-
-# Python is not required for this test.
-. ./defs || exit 1
-
-cat >>configure.ac <<EOF
-AM_PATH_PYTHON
-AC_OUTPUT
-EOF
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-# Simulate no Python.
-./configure PYTHON=: 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep 'no suitable Python interpreter found' stderr
-
-# Again, but from the environment this time.
-env PYTHON=: ./configure 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
-grep 'no suitable Python interpreter found' stderr
-
-:
diff --git a/t/python5.sh b/t/python5.sh
deleted file mode 100755
index 8e1e030..0000000
--- a/t/python5.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test detection of missing Python.
-# Same as python4.test, but requiring a version.
-
-# Python is not required for this test.
-. ./defs || exit 1
-
-cat >>configure.ac <<EOF
-# Hopefully the Python team will never release such a version.
-AM_PATH_PYTHON([9999.9])
-AC_OUTPUT
-EOF
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-./configure >stdout 2>stderr && {
-  cat stdout
-  cat stderr >&2
-  exit 1
-}
-cat stdout
-cat stderr >&2
-$EGREP 'checking for a Python interpreter with version >= 9999\.9\.\.\. 
no(ne)? *$' stdout
-grep 'no suitable Python interpreter found' stderr
-
-:
diff --git a/t/python6.sh b/t/python6.sh
deleted file mode 100755
index b2bc7da..0000000
--- a/t/python6.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test detection of missing Python.
-# Same as python4.test, but using a custom ACTION-IF-NOT-FOUND.
-
-# Python is not required for this test.
-. ./defs || exit 1
-
-cat >>configure.ac <<\EOF
-AM_PATH_PYTHON(,, [echo "$PYTHON" > py])
-AC_OUTPUT
-EOF
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-# Simulate no Python.
-./configure PYTHON=:
-test x"$(cat py)" = x:
-
-:
diff --git a/t/python7.sh b/t/python7.sh
deleted file mode 100755
index b3b1421..0000000
--- a/t/python7.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test detection of missing Python.
-# Same as python6.test, but requiring a version.
-
-# Python is not required for this test.
-. ./defs || exit 1
-
-cat >>configure.ac <<\EOF
-# Hopefully the Python team will never release such a version.
-AM_PATH_PYTHON([9999.9], [], [echo "$PYTHON" > py])
-AC_OUTPUT
-EOF
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-./configure
-test x"$(cat py)" = x:
-
-:
diff --git a/t/python8.sh b/t/python8.sh
deleted file mode 100755
index dd1174a..0000000
--- a/t/python8.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test ACTION-IF-TRUE in AM_PATH_PYTHON.
-
-required=python
-. ./defs || exit 1
-
-cat >>configure.ac <<'EOF'
-# $PYTHON is supposed to be properly set in ACTION-IF-TRUE.
-AM_PATH_PYTHON(, [$PYTHON -V >py-version 2>&1])
-AC_OUTPUT
-EOF
-
-: > Makefile.am
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-./configure
-grep '^Python [0-9]\.[0-9][0-9]*\.[0-9]' py-version
-
-:
diff --git a/t/remake-deleted-m4-file.sh b/t/remake-deleted-m4-file.sh
index fc74834..7fc9d2f 100755
--- a/t/remake-deleted-m4-file.sh
+++ b/t/remake-deleted-m4-file.sh
@@ -18,7 +18,7 @@
 # defined get inlined into the caller.  Try with both an indirect
 # call and a direct one.  This can be seen as testing the "deleted
 # header file" issue w.r.t. aclocal.m4 dependencies.  See also related
-# test 'acloca22.test'.
+# test 'acloca22.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake-renamed-m4-macro-and-file.sh 
b/t/remake-renamed-m4-macro-and-file.sh
index f82bf15..94e704a 100755
--- a/t/remake-renamed-m4-macro-and-file.sh
+++ b/t/remake-renamed-m4-macro-and-file.sh
@@ -16,7 +16,7 @@
 
 # Test remake rules when an m4 file gets renamed and *simultaneously*
 # an m4 macro in it gets renamed.  Kudos to Bruno Haible for thinking
-# about this situation.  See also related test 'acloca22.test'.
+# about this situation.  See also related test 'acloca22.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake-subdir-from-subdir.sh b/t/remake-subdir-from-subdir.sh
index 51a5231..7439f9b 100755
--- a/t/remake-subdir-from-subdir.sh
+++ b/t/remake-subdir-from-subdir.sh
@@ -16,8 +16,8 @@
 
 # Check that remake rules works for adding a new subdirectory from a
 # pre-existing subdirectory.
-# See also the other similar tests 'remake-subdir*.test', and the
-# related test 'aclocal5.test'.
+# See also the other similar tests 'remake-subdir*.sh', and the
+# related test 'aclocal5.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake-subdir-gnu.sh b/t/remake-subdir-gnu.sh
index a2ead75..b216b0e 100755
--- a/t/remake-subdir-gnu.sh
+++ b/t/remake-subdir-gnu.sh
@@ -17,8 +17,8 @@
 # Check that remake rules works from subdirectories, even using
 # 'GNUmakefile' as makefiles name.  This obviously requires GNU
 # make.
-# See also the other similar tests 'remake-subdir*.test', and the
-# related test 'aclocal5.test'
+# See also the other similar tests 'remake-subdir*.sh', and the
+# related test 'aclocal5.sh'
 
 . ./defs || exit 1
 
diff --git a/t/remake-subdir.sh b/t/remake-subdir.sh
index 412630b..9c7e0f4 100755
--- a/t/remake-subdir.sh
+++ b/t/remake-subdir.sh
@@ -16,8 +16,8 @@
 
 # Check that remake rules works from subdirectories, even with non-GNU
 # make implementations.
-# See also the other similar tests 'remake-subdir*.test', and the
-# related test 'aclocal5.test'.
+# See also the other similar tests 'remake-subdir*.sh', and the
+# related test 'aclocal5.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake.sh b/t/remake.sh
index 1e50eee..fc249b8 100755
--- a/t/remake.sh
+++ b/t/remake.sh
@@ -16,7 +16,7 @@
 
 # Weak "grepping" test trying to ensure that remaking rules in a subdir
 # are correctly generated.
-# See also sister functional test 'remake1a.test'.
+# See also sister functional test 'remake1a.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake10a.sh b/t/remake10a.sh
index 232c1d5..93118bd 100755
--- a/t/remake10a.sh
+++ b/t/remake10a.sh
@@ -16,7 +16,7 @@
 
 # Test remake rules for m4 files included (also recursively) by
 # configure.ac.
-# Keep in sync with sister tests 'remake10b.test' and 'remake10c.test'.
+# Keep in sync with sister tests 'remake10b.sh' and 'remake10c.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake10b.sh b/t/remake10b.sh
index fe49199..23f69ee 100755
--- a/t/remake10b.sh
+++ b/t/remake10b.sh
@@ -16,7 +16,7 @@
 
 # Test remake rules for am files included (also recursively) by
 # Makefile.am.
-# Keep in sync with sister tests 'remake10a.test' and 'remake10c.test'.
+# Keep in sync with sister tests 'remake10a.sh' and 'remake10c.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake10c.sh b/t/remake10c.sh
index 5c22177..0f2fd50 100755
--- a/t/remake10c.sh
+++ b/t/remake10c.sh
@@ -16,7 +16,7 @@
 
 # Test remake rules for m4 files included (also recursively) by
 # aclocal.m4.
-# Keep in sync with sister tests 'remake10a.test' and 'remake10b.test'.
+# Keep in sync with sister tests 'remake10a.sh' and 'remake10b.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake1a.sh b/t/remake1a.sh
index 6460fc3..cdf494a 100755
--- a/t/remake1a.sh
+++ b/t/remake1a.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure remaking rules in subdir are correctly generated.
-# See also sister "grepping" test 'remake.test'.
+# See also sister "grepping" test 'remake.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake3.sh b/t/remake3.sh
index e19d8ea..712badc 100755
--- a/t/remake3.sh
+++ b/t/remake3.sh
@@ -16,7 +16,7 @@
 
 # Weak "grepping" test trying to ensure that remake rules work for files
 # in a subdirectory even when there is no Makefile for that subdirectory.
-# See also sister functional test 'remake3a.test'.
+# See also sister functional test 'remake3a.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake3a.sh b/t/remake3a.sh
index 9cbd105..0f2407a 100755
--- a/t/remake3a.sh
+++ b/t/remake3a.sh
@@ -16,7 +16,7 @@
 
 # Ensure that remake rules work for files in a subdirectory even when
 # there is no Makefile for that subdirectory.
-# See also sister "grepping" test 'remake3.test'.
+# See also sister "grepping" test 'remake3.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake8a.sh b/t/remake8a.sh
index 315bc25..459fbc6 100755
--- a/t/remake8a.sh
+++ b/t/remake8a.sh
@@ -18,7 +18,7 @@
 # This testcase checks dependency of generated Makefile from Makefile.am,
 # configure.ac, acinclude.m4, aclocal.m4, and extra m4 files considered
 # by aclocal.
-# Keep this in sync with sister test 'remake8b.test', which performs the
+# Keep this in sync with sister test 'remake8b.sh', which performs the
 # same checks for a VPATH build.
 
 . ./defs || exit 1
@@ -43,7 +43,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
 
-srcdir='.' # To make syncing with remake8b.test easier.
+srcdir='.' # To make syncing with remake8b.sh easier.
 
 $srcdir/configure
 
diff --git a/t/remake8b.sh b/t/remake8b.sh
index e1d2097..f84a5fc 100755
--- a/t/remake8b.sh
+++ b/t/remake8b.sh
@@ -18,7 +18,7 @@
 # This testcase checks dependency of generated Makefile from Makefile.am,
 # configure.ac, acinclude.m4, aclocal.m4, and extra m4 files considered
 # by aclocal.
-# Keep this in sync with sister test 'remake8a.test', which performs the
+# Keep this in sync with sister test 'remake8a.sh', which performs the
 # same checks for a in-tree build.
 
 . ./defs || exit 1
@@ -45,7 +45,7 @@ $AUTOMAKE
 
 mkdir build
 cd build
-srcdir='..' # To make syncing with remake8a.test easier.
+srcdir='..' # To make syncing with remake8a.sh easier.
 
 $srcdir/configure
 
diff --git a/t/remake9a.sh b/t/remake9a.sh
index 5678722..3d3729b 100755
--- a/t/remake9a.sh
+++ b/t/remake9a.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test remake rules when configure.ac or its prerequisites change.
-# Keep in sync with the other sister tests 'remake9*.test'.
+# Keep in sync with the other sister tests 'remake9*.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake9b.sh b/t/remake9b.sh
index 262642c..dff1109 100755
--- a/t/remake9b.sh
+++ b/t/remake9b.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test remake rules when Makefile.am or its prerequisites change.
-# Keep in sync with the other sister tests 'remake9*.test'.
+# Keep in sync with the other sister tests 'remake9*.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake9c.sh b/t/remake9c.sh
index e640593..76d9baa 100755
--- a/t/remake9c.sh
+++ b/t/remake9c.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test remake rules when acinclude.m4 or its prerequisites change.
-# Keep in sync with the other sister tests 'remake9*.test'.
+# Keep in sync with the other sister tests 'remake9*.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/remake9d.sh b/t/remake9d.sh
index 5c8fb2f..fcaaf69 100755
--- a/t/remake9d.sh
+++ b/t/remake9d.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test remake rules when aclocal.m4 or its prerequisites change.
-# Keep in sync with the other sister tests 'remake9*.test'.
+# Keep in sync with the other sister tests 'remake9*.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/repeated-options.sh b/t/repeated-options.sh
index 69a9cb4..489c313 100755
--- a/t/repeated-options.sh
+++ b/t/repeated-options.sh
@@ -17,21 +17,31 @@
 # Check that automake does not complain on repeated options, nor
 # generate broken or incorrect makefiles.
 
-required=bzip2
 . ./defs || exit 1
 
 cat >configure.ac <<END
 AC_INIT([$me], [1.0])
-AM_INIT_AUTOMAKE([foreign foreign dist-bzip2 no-dist-gzip dist-bzip2])
+AM_INIT_AUTOMAKE([foreign foreign no-installman serial-tests \
+                  no-installman])
 AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am <<'END'
-AUTOMAKE_OPTIONS = no-dist-gzip no-dist-gzip dist-bzip2
-AUTOMAKE_OPTIONS += dist-bzip2 foreign
+AUTOMAKE_OPTIONS =  no-installman no-installman serial-tests
+AUTOMAKE_OPTIONS += serial-tests foreign
+TESTS = foo
+EXTRA_DIST = foo
+CLEANFILES = bar.out
 END
 
+cat > foo <<'END'
+#!/bin/sh
+echo RUN RUN
+: > bar.out
+END
+chmod a+x foo
+
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE --foreign --foreign -Wall 2>stderr && test ! -s stderr \
@@ -39,9 +49,10 @@ $AUTOMAKE --foreign --foreign -Wall 2>stderr && test ! -s 
stderr \
 
 ./configure
 
-$MAKE
+$MAKE check
+test -f bar.out
+test ! -e foo.log
+test ! -e test-suite.log
 $MAKE distcheck
-test -f $me-1.0.tar.bz2
-test ! -e $me-1.0.tar.gz
 
 :
diff --git a/t/silent-many-gcc.sh b/t/silent-many-gcc.sh
index a369487..8a55085 100755
--- a/t/silent-many-gcc.sh
+++ b/t/silent-many-gcc.sh
@@ -15,11 +15,11 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check silent-rules mode, with gcc depmode and many languages at once.
-# This test partly overlaps with other silent*.test, but it serves as
+# This test partly overlaps with other 'silent*.sh', but it serves as
 # a stress test by using many different languages at once -- so don't
 # remove this test script.
 # This test requires the GNU compilers; keep it in sync with sister test
-# 'silent-many-generic.test', which should work with generic compilers.
+# 'silent-many-generic.sh', which should work with generic compilers.
 
 required='gcc g++ gfortran lex yacc'
 . ./defs || exit 1
@@ -178,7 +178,7 @@ $FGREP 'baz-foo6.c' Makefile.in || exit 99
 depmodes="am_cv_CC_dependencies_compiler_type=gcc \
           am_cv_CXX_dependencies_compiler_type=gcc"
 # This apparently useless "for" loop is here to simplify the syncing
-# with sister test 'silent-many-generic.test'.
+# with sister test 'silent-many-generic.sh'.
 for config_args in \
   "$depmodes"
 do
diff --git a/t/silent-many-generic.sh b/t/silent-many-generic.sh
index eb1010c..a5fc33d 100755
--- a/t/silent-many-generic.sh
+++ b/t/silent-many-generic.sh
@@ -15,11 +15,11 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check silent-rules mode, with many languages at once.
-# This test partly overlaps with other silent*.test, but it serves as
+# This test partly overlaps with other 'silent*.sh', but it serves as
 # a stress test by using many different languages at once -- so don't
 # remove this test script.
 # This test should work with generic compilers; keep it in sync with
-# sister test 'silent-many-gcc.test', which requires the GNU compilers
+# sister test 'silent-many-gcc.sh', which requires the GNU compilers
 # and forces the use of gcc depmode.
 
 required='cc c++ fortran fortran77 lex yacc'
diff --git a/t/silent-yacc.sh b/t/silent-yacc.sh
index e68d38e..6330fc7 100755
--- a/t/silent-yacc.sh
+++ b/t/silent-yacc.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check silent-rules mode for Yacc.
-# Keep this in sync with sister test 'silent-yacc-gcc.test'.
+# Keep this in sync with sister test 'silent-yacc-gcc.sh'.
 
 required='cc yacc'
 . ./defs || exit 1
diff --git a/t/silent.sh b/t/silent.sh
index 59e09d3..97fcc7d 100755
--- a/t/silent.sh
+++ b/t/silent.sh
@@ -16,7 +16,7 @@
 
 # Check silent-rules mode, without libtool, standard depmode case.
 
-# Please keep this file in sync with silent2.test.
+# Please keep this file in sync with 'silent2.sh'.
 
 required=cc
 . ./defs || exit 1
diff --git a/t/silent2.sh b/t/silent2.sh
index 11e8349..5cb2b5c 100755
--- a/t/silent2.sh
+++ b/t/silent2.sh
@@ -17,7 +17,7 @@
 # Check silent-rules mode, without libtool, non-fastdep case
 # (so that, with GCC, we also cover the other code paths in depend2).
 
-# Please keep this file in sync with silent.test.
+# Please keep this file in sync with 'silent.sh'.
 
 required=gcc
 . ./defs || exit 1
diff --git a/t/silent3.sh b/t/silent3.sh
index dd9cc8d..aae10f2 100755
--- a/t/silent3.sh
+++ b/t/silent3.sh
@@ -16,7 +16,7 @@
 
 # Check silent-rules mode, with libtool, standard depmode case.
 
-# Please keep this file in sync with silent4.test and silent9.test.
+# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
 
 required='cc libtoolize'
 . ./defs || exit 1
diff --git a/t/silent4.sh b/t/silent4.sh
index 562d0c8..ae5573a 100755
--- a/t/silent4.sh
+++ b/t/silent4.sh
@@ -17,7 +17,7 @@
 # Check silent-rules mode, with libtool, non-fastdep case
 # (so that, with GCC, we also cover the other code paths in depend2).
 
-# Please keep this file in sync with silent3.test and silent9.test.
+# Please keep this file in sync with 'silent3.sh' and 'silent9.sh'.
 
 required="libtoolize gcc"
 . ./defs || exit 1
diff --git a/t/silent9.sh b/t/silent9.sh
index ddc48cf..58b03da 100755
--- a/t/silent9.sh
+++ b/t/silent9.sh
@@ -16,7 +16,7 @@
 
 # Check silent-rules mode, with libtool, nodep case.
 
-# Please keep this file in sync with silent3.test and silent4.test.
+# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.
 
 required='cc libtoolize'
 . ./defs || exit 1
diff --git a/t/silentcxx-gcc.sh b/t/silentcxx-gcc.sh
index 6417b6b..aadff1c 100755
--- a/t/silentcxx-gcc.sh
+++ b/t/silentcxx-gcc.sh
@@ -16,7 +16,7 @@
 
 # Check silent-rules mode for C++.
 # This test requires the GNU C++ compiler; keep it in sync with sister
-# test 'silentcxx.test', which should work with generic compilers.
+# test 'silentcxx.sh', which should work with generic compilers.
 
 required=g++
 . ./defs || exit 1
@@ -60,7 +60,7 @@ $FGREP am_cv_CXX_dependencies_compiler_type configure
 
 # Force gcc ("fast") depmode.
 # This apparently useless "for" loop is here to simplify the syncing
-# with sister test 'silentcxx.test'.
+# with sister test 'silentcxx.sh'.
 for config_args in \
   am_cv_CXX_dependencies_compiler_type=gcc
 do
diff --git a/t/silentcxx.sh b/t/silentcxx.sh
index be24509..20dbd2b 100755
--- a/t/silentcxx.sh
+++ b/t/silentcxx.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test should work with generic C++ compilers; keep it in sync with
-# sister test 'silentcxx-gcc.test', which requires the GNU C++ compiler
+# sister test 'silentcxx-gcc.sh', which requires the GNU C++ compiler
 # and forces the use of gcc depmode.
 
 required=c++
diff --git a/t/silentf77.sh b/t/silentf77.sh
index aaaa9d8..b495991 100755
--- a/t/silentf77.sh
+++ b/t/silentf77.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check silent-rules mode for Fortran 77.
-# Keep this ins sync with the sister test silentf90.test.
+# Keep this ins sync with the sister test 'silentf90.sh'.
 
 required=fortran77
 . ./defs || exit 1
diff --git a/t/silentf90.sh b/t/silentf90.sh
index 3561674..494e1a5 100755
--- a/t/silentf90.sh
+++ b/t/silentf90.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check silent-rules mode for Fortran 90.
-# Keep this ins sync with the sister test silentf77.test.
+# Keep this ins sync with the sister test 'silentf77.sh'.
 
 required=fortran
 . ./defs || exit 1
diff --git a/t/subdir-ac-subst.sh b/t/subdir-ac-subst.sh
index 48b4b0d..a8deb17 100755
--- a/t/subdir-ac-subst.sh
+++ b/t/subdir-ac-subst.sh
@@ -16,7 +16,7 @@
 
 # The for conditional SUBDIRS.
 # SUBDIRS + AC_SUBST setup from the manual.
-# Lots of lines here are duplicated in subcond-am-cond.test.
+# Lots of lines here are duplicated in 'subcond-am-cond.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/subdir-add-pr46.sh b/t/subdir-add-pr46.sh
index 2a9049c..66ecfda 100755
--- a/t/subdir-add-pr46.sh
+++ b/t/subdir-add-pr46.sh
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure that adding a new directory works.
-# This test runs 'make' from the top-level directory, the sister test
-# 'subdir8.test' do it from a subdirectory.
+# This test runs 'make' from the top-level directory, the sister
+# test 'subdir-add2-pr46.sh' do it from a subdirectory.
 # PR automake/46
 
 . ./defs || exit 1
@@ -36,9 +36,10 @@ $MAKE
 # Now add new directories.
 
 # First we add a new directory by modifying configure.ac directly.
-# We update configure.ac *before* updating sub/Makefile.am; subdir8.test
-# does it in the other way: it updates confiles.m4 (which is m4_included
-# by configure.ac there) after Makefile.am.
+# We update configure.ac *before* updating sub/Makefile.am; the sister
+# test 'subdir-add2-pr46.sh' does it in the other way: it updates
+# confiles.m4 (which is m4_included by configure.ac there) after
+# Makefile.am.
 
 # Modified configure dependencies must be newer than config.status.
 $sleep
diff --git a/t/subdir-add2-pr46.sh b/t/subdir-add2-pr46.sh
index b226a09..a402052 100755
--- a/t/subdir-add2-pr46.sh
+++ b/t/subdir-add2-pr46.sh
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure that adding a new directory works, even from
-# subdirectories.  The sister test 'subdir5.test' makes sure it works
-# when make is run from the top-level directory.
+# subdirectories.  The sister test 'subdir-add-pr46.sh' makes sure
+# it works when make is run from the top-level directory.
 # PR automake/46
 
 . ./defs || exit 1
@@ -49,10 +49,10 @@ $MAKE
 
 # Now add new directories.
 
-# The first step users typically do when adding a new subdir is
-# editing configure.ac.  That is already tested by subdir5.test,
-# though, so here we try to just edit a file that is included by
-# configure.ac, without touching configure.ac itself.
+# The first step users typically do when adding a new subdir is editing
+# configure.ac.  That is already tested by 'subdir-add-pr46.sh' though,
+# so here we try to just edit a file that is included by configure.ac,
+# without touching configure.ac itself.
 
 mkdir sub/maude
 cat > sub/maude/Makefile.am << 'END'
@@ -66,10 +66,10 @@ echo 'SUBDIRS = maude' >> sub/Makefile.am
 mkdir maude
 : > maude/Makefile.am
 
-# Update confiles.m4 *after* updating sub/Makefile.am; subdir5.test do
-# it in the other way: it updates configure.ac before Makefile.am.
-# We sleep here because modified configure dependencies must be newer
-# than config.status.
+# Update confiles.m4 *after* updating sub/Makefile.am; the sister test
+# 'subdir-add-pr46.sh' does it the in other way: it updates configure.ac
+# before Makefile.am.  We sleep here because modified configure
+# dependencies must be newer than config.status.
 $sleep
 echo 'AC_CONFIG_FILES([maude/Makefile sub/maude/Makefile])' >> confiles.m4
 
diff --git a/t/subdir-am-cond.sh b/t/subdir-am-cond.sh
index 7ad6059..cb55ffb 100755
--- a/t/subdir-am-cond.sh
+++ b/t/subdir-am-cond.sh
@@ -16,7 +16,7 @@
 
 # The for conditional SUBDIRS.
 # SUBDIRS + AM_CONDITIONAL setup from the manual.
-# Lots of lines here are duplicated in subdir-ac-subst.test.
+# Lots of lines here are duplicated in 'subdir-ac-subst.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/subobj11a.sh b/t/subobj11a.sh
index 25603ce..615ed63 100755
--- a/t/subobj11a.sh
+++ b/t/subobj11a.sh
@@ -29,7 +29,6 @@
 #
 # GNU make shouldn't suffer from that Solaris make bug, but we check
 # the problematic setup anyway -- better safe than sorry.
-#
 
 required=cc
 . ./defs || exit 1
diff --git a/t/subst3.sh b/t/subst3.sh
index 8ee3324..18c17e2 100755
--- a/t/subst3.sh
+++ b/t/subst3.sh
@@ -14,7 +14,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Test installation with substitutions.  This test is based on nobase.test.
+# Test installation with substitutions.  This test is based on
+# 'nobase.sh'.
 
 required=cc
 . ./defs || exit 1
diff --git a/t/suffix.sh b/t/suffix.sh
index eecf9a4..1d4ca48 100755
--- a/t/suffix.sh
+++ b/t/suffix.sh
@@ -16,7 +16,7 @@
 
 # Make sure proper pattern rules for C compilation are produced, and
 # only once.
-# See also related test 'suffix2.test'.
+# See also related test 'suffix2.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/suffix2.sh b/t/suffix2.sh
index 98d05e6..8027754 100755
--- a/t/suffix2.sh
+++ b/t/suffix2.sh
@@ -16,7 +16,7 @@
 
 # Make sure proper pattern rules for C compilation are produced,
 # and only once, even for libtool libraries.
-# See also related test 'suffix.test'.
+# See also related test 'suffix.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-ambiguous-directive.sh b/t/tap-ambiguous-directive.sh
index aaf2cd0..63544e3 100755
--- a/t/tap-ambiguous-directive.sh
+++ b/t/tap-ambiguous-directive.sh
@@ -16,7 +16,7 @@
 
 # TAP support:
 #  - handling of "ambiguous" TODO and SKIP directives
-# See also related test 'tap-todo-skip-together.test'.
+# See also related test 'tap-todo-skip-together.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-fancy.sh b/t/tap-fancy.sh
index 9ca5021..c59d0c1 100755
--- a/t/tap-fancy.sh
+++ b/t/tap-fancy.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # TAP support: some unusual forms for valid TAP input.
-# See also related test 'tap-fancy2.test'.
+# See also related test 'tap-fancy2.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-fancy2.sh b/t/tap-fancy2.sh
index d69cf50..1a3ab02 100755
--- a/t/tap-fancy2.sh
+++ b/t/tap-fancy2.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # TAP support: more unusual forms for valid TAP input.
-# See also related test 'tap-fancy.test'.
+# See also related test 'tap-fancy.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-log.sh b/t/tap-log.sh
index 6e0c80d..b61a8f5 100755
--- a/t/tap-log.sh
+++ b/t/tap-log.sh
@@ -20,7 +20,7 @@
 #  - stdout and stderr of a script go in its log file
 #  - TEST_SUITE_LOG redefinition, at either automake or make time
 #  - VERBOSE environment variable support
-# Keep in sync with 'test-log.test'.
+# Keep in sync with 'test-log.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-no-spurious.sh b/t/tap-no-spurious.sh
index bc98a09..d8bf5ee 100755
--- a/t/tap-no-spurious.sh
+++ b/t/tap-no-spurious.sh
@@ -83,7 +83,7 @@ set -x # Reset shell xtraces.
 
 # The prove(1) utility doesn't bail out on these, so our driver
 # shouldn't either.
-# See comments in 'tap-bailout-leading-space.test' for an explanation
+# See comments in 'tap-bailout-leading-space.sh' for an explanation
 # of why we don't have a whitespace-prepended "Bail out!" line here.
 cat >> all.test <<'END'
 bailout
diff --git a/t/tap-passthrough-exit.sh b/t/tap-passthrough-exit.sh
index 1e93115..1618646 100755
--- a/t/tap-passthrough-exit.sh
+++ b/t/tap-passthrough-exit.sh
@@ -17,7 +17,7 @@
 # TAP support:
 #  - non-success exit status of a test script is reported in the
 #    log file
-# See also related test 'tap-passthrough.test'.
+# See also related test 'tap-passthrough.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-passthrough.sh b/t/tap-passthrough.sh
index 8363d97..cdf1660 100755
--- a/t/tap-passthrough.sh
+++ b/t/tap-passthrough.sh
@@ -18,7 +18,7 @@
 #  - all input (valid TAP lines, invalid TAP lines, non-TAP lines)
 #    are passed through in the log file
 #  - TAP errors are reported in the log file too
-# See also related test 'tap-passthrough-exit.test'.
+# See also related test 'tap-passthrough-exit.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-plan-errors.sh b/t/tap-plan-errors.sh
index 4b6a410..dd37aff 100755
--- a/t/tap-plan-errors.sh
+++ b/t/tap-plan-errors.sh
@@ -19,9 +19,9 @@
 #  - multiple test plans
 #  - missing test plan
 #  - misplaced test plan (tests run after a late plan)
-# Checks about unplanned tests are performed in 'tap-unplanned.test'
-# and 'tap-skip-whole-badcount.test'.  More checks about corner-cases
-# in TAP plans are performed in 'tap-plan-corner.test'.
+# Checks about unplanned tests are performed in 'tap-unplanned.sh'
+# and 'tap-skip-whole-badcount.sh'.  More checks about corner-cases
+# in TAP plans are performed in 'tap-plan-corner.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-recheck.sh b/t/tap-recheck.sh
index b158555..02b13f8 100755
--- a/t/tap-recheck.sh
+++ b/t/tap-recheck.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test the 'recheck' target for TAP test protocol.
-# Keep in sync with 'test-driver-custom-multitest-recheck.test'.
+# Keep in sync with 'test-driver-custom-multitest-recheck.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-todo-skip-together.sh b/t/tap-todo-skip-together.sh
index dc9e160..ee40058 100755
--- a/t/tap-todo-skip-together.sh
+++ b/t/tap-todo-skip-together.sh
@@ -16,7 +16,7 @@
 
 # TAP support:
 #  - TODO and SKIP directives on the same line: the first one wins
-# See also related test 'tap-ambiguous-directive.test'.
+# See also related test 'tap-ambiguous-directive.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/tap-whitespace-normalization.sh 
b/t/tap-whitespace-normalization.sh
index 0cbf90b..c907d11 100755
--- a/t/tap-whitespace-normalization.sh
+++ b/t/tap-whitespace-normalization.sh
@@ -18,7 +18,7 @@
 # progress output on console.  We keep all of these checks here in a single
 # script so that a potential cosmetic change in the output format won't
 # force us to tweak dozens of other tests (hopefully).
-# See also related test 'tap-todo-skip-whitespace.test'.
+# See also related test 'tap-todo-skip-whitespace.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/test-driver-custom-multitest-recheck.sh 
b/t/test-driver-custom-multitest-recheck.sh
index 04b3c54..e00ed7b 100755
--- a/t/test-driver-custom-multitest-recheck.sh
+++ b/t/test-driver-custom-multitest-recheck.sh
@@ -18,9 +18,9 @@
 # that allow multiple testcases in a single test script.  This test not
 # only checks implementation details in Automake's custom test drivers
 # support, but also serves as a "usability test" for our APIs.
-# See also related tests 'test-driver-custom-multitest-recheck2.test'
-# and 'parallel-tests-recheck-override.test'.
-# Keep in sync with 'tap-recheck.test'.
+# See also related tests 'test-driver-custom-multitest-recheck2.sh'
+# and 'parallel-tests-recheck-override.sh'.
+# Keep in sync with 'tap-recheck.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/test-driver-custom-multitest-recheck2.sh 
b/t/test-driver-custom-multitest-recheck2.sh
index a622c23..d8de857 100755
--- a/t/test-driver-custom-multitest-recheck2.sh
+++ b/t/test-driver-custom-multitest-recheck2.sh
@@ -17,7 +17,7 @@
 # Custom test drivers: try the "recheck" functionality with test protocols
 # that allow multiple testcases in a single test script.  In particular,
 # check that this still works when we override $(TESTS) at make runtime.
-# See also related tests 'test-driver-custom-multitest-recheck.test'.
+# See also related tests 'test-driver-custom-multitest-recheck.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/test-log.sh b/t/test-log.sh
index 84a7b15..4bfbe7e 100755
--- a/t/test-log.sh
+++ b/t/test-log.sh
@@ -20,7 +20,7 @@
 #  - stdout and stderr of a test script go in its log file
 #  - TEST_SUITE_LOG redefinition, at either automake or make time
 #  - VERBOSE environment variable support
-# Keep in sync with 'tap-log.test'.
+# Keep in sync with 'tap-log.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/txinfo10.sh b/t/txinfo10.sh
deleted file mode 100755
index 903d6f5..0000000
--- a/t/txinfo10.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Make sure dvi target recurses into subdir.
-# Reported by Pavel Roskin.
-
-. ./defs || exit 1
-
-cat > Makefile.am << 'END'
-SUBDIRS = sub
-END
-
-mkdir sub
-cat > sub/Makefile.am << 'END'
-info_TEXINFOS = maude.texi
-END
-
-echo '@setfilename maude.info' > sub/maude.texi
-: > sub/texinfo.tex
-
-$ACLOCAL
-$AUTOMAKE
-
-grep dvi-recursive Makefile.in
-grep '[^-]info-recursive' Makefile.in
-grep '[^n]install-info-recursive' Makefile.in
diff --git a/t/txinfo20.sh b/t/txinfo20.sh
index 6faba38..0de50ea 100755
--- a/t/txinfo20.sh
+++ b/t/txinfo20.sh
@@ -45,10 +45,6 @@ $AUTOCONF
 ./configure
 $MAKE
 
-# Feign more info files.
-: > main.info-1
-: > sub/main.info-1
-
 # Break main.texi.
 $sleep
 cp main.texi main.old
@@ -64,15 +60,12 @@ END
 # makeinfo will bail out, but we should conserve the old info files.
 $MAKE && exit 1
 test -f main.info
-test -f main.info-1
 
 # Restore main.texi, and break sub/main.texi.
 cp main.texi sub/main.texi
 mv main.old main.texi
 $MAKE && exit 1
 test -f main.info
-test ! -e main.info-1
 test -f sub/main.info
-test -f sub/main.info-1
 
 :
diff --git a/t/txinfo21.sh b/t/txinfo21.sh
index 001d134..b892f68 100755
--- a/t/txinfo21.sh
+++ b/t/txinfo21.sh
@@ -146,6 +146,16 @@ test ! -e share/$me/html/main.html
 test ! -e share/$me/html/main2.html
 test ! -e share/$me/html/main3.html
 
+$MAKE dvi
+test -f main.dvi
+test -f sub/main2.dvi
+test -f rec/main3.dvi
+
+$MAKE clean
+test ! -e main.dvi
+test ! -e sub/main2.dvi
+test ! -e rec/main3.dvi
+
 $MAKE install-dvi
 test -f share/$me/dvi/main.dvi
 test -f share/$me/dvi/main2.dvi
diff --git a/t/txinfo23.sh b/t/txinfo23.sh
index 9e47a29..c2d582a 100755
--- a/t/txinfo23.sh
+++ b/t/txinfo23.sh
@@ -16,8 +16,8 @@
 
 # Check that info files are built in builddir when needed.
 # Test with subdir Texinfo.
-# (Similar to txinfo13.test, plus DISTCLEANFILES).
-# (See also txinfo24.test and txinfo25.test).
+# (Similar to txinfo13.sh, plus DISTCLEANFILES).
+# (See also txinfo24.sh and txinfo25.sh).
 
 required='makeinfo tex texi2dvi'
 . ./defs || exit 1
diff --git a/t/txinfo24.sh b/t/txinfo24.sh
index af426d7..6979215 100755
--- a/t/txinfo24.sh
+++ b/t/txinfo24.sh
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that info files are built in builddir when needed.
-# (Similar to txinfo16.test, plus CLEANFILES).
-# (See also txinfo23.test and txinfo25.test).
+# (Similar to txinfo16.sh, plus CLEANFILES).
+# (See also txinfo23.sh and txinfo25.sh).
 
 required='makeinfo tex texi2dvi'
 . ./defs || exit 1
diff --git a/t/txinfo25.sh b/t/txinfo25.sh
index 6eb1975..e23f537 100755
--- a/t/txinfo25.sh
+++ b/t/txinfo25.sh
@@ -17,8 +17,8 @@
 # Check that info files are built in builddir and in srcdir can safely
 # co-exist.  This setup is obtained by having two info files, only one
 # of which being cleaned.
-# (Similar to txinfo16.test, plus CLEANFILES).
-# (See also txinfo23.test and txinfo24.test).
+# (Similar to txinfo16.sh, plus CLEANFILES).
+# (See also txinfo23.sh and txinfo24.sh).
 
 required='makeinfo tex texi2dvi'
 . ./defs || exit 1
diff --git a/t/txinfo28.sh b/t/txinfo28.sh
index f9517fb..f3517b6 100755
--- a/t/txinfo28.sh
+++ b/t/txinfo28.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that info files are built in builddir when needed.
-# Similar to txinfo24.test, but obfuscating filenames with variable
+# Similar to txinfo24.sh, but obfuscating filenames with variable
 # references.
 # Report from Ralf Corsepius.
 
diff --git a/t/txinfo33.sh b/t/txinfo33.sh
index 037400f..a55b5ed 100755
--- a/t/txinfo33.sh
+++ b/t/txinfo33.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # DVIS, PDFS, PSS, HTMLS should not be cleaned upon 'mostlyclean'.
-# Similar to txinfo25.test.
+# Similar to txinfo25.sh.
 
 required='makeinfo tex texi2dvi dvips'
 . ./defs || exit 1
diff --git a/t/vtexi3.sh b/t/vtexi3.sh
index 4480ec4..aa85f77 100755
--- a/t/vtexi3.sh
+++ b/t/vtexi3.sh
@@ -17,7 +17,7 @@
 # Check that vers*.texi files are automatically created and distributed
 # if @included into a texi source.  Also check that they correctly contain
 # the @values definitions they are advertised to.
-# See also the related test 'vtexi4.test', which does similar checks, but
+# See also the related test 'vtexi4.sh', which does similar checks, but
 # for version.texi only, and requires makeinfo, tex and texi2dvi.
 
 . ./defs || exit 1
diff --git a/t/vtexi4.sh b/t/vtexi4.sh
index ed784db..58115fd 100755
--- a/t/vtexi4.sh
+++ b/t/vtexi4.sh
@@ -17,7 +17,7 @@
 # Check that the version.texi file is automatically created and distributed
 # if @included into a texi source.  Also check that is correctly defined
 # @values definitions it is advertised to.
-# See also the related test 'vtexi3.test', which does similar checks, but
+# See also the related test 'vtexi3.sh', which does similar checks, but
 # for more vers*.texi files, and does not require makeinfo, tex and
 # texi2dvi.
 
diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh
index e8b2602..1921425 100755
--- a/t/yacc-basic.sh
+++ b/t/yacc-basic.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Basic semantic checks on Yacc support (without yacc-generated headers).
-# Keep in sync with sister test 'yacc-cxx.test'.
+# Keep in sync with sister test 'yacc-cxx.sh'.
 
 required='cc yacc'
 . ./defs || exit 1
diff --git a/t/yacc-clean-cxx.sh b/t/yacc-clean-cxx.sh
index 20d04d1..f30ce1b 100755
--- a/t/yacc-clean-cxx.sh
+++ b/t/yacc-clean-cxx.sh
@@ -18,7 +18,7 @@
 # Yacc sources are cleaned by "make clean", while C++ source and
 # header files derived from distributed Yacc sources are cleaned by
 # "make maintainer-clean".
-# See also sister test 'yacc-clean.test'.
+# See also sister test 'yacc-clean.sh'.
 
 required='c++ yacc'
 . ./defs || exit 1
diff --git a/t/yacc-clean.sh b/t/yacc-clean.sh
index 07b3b79..dce70a2 100755
--- a/t/yacc-clean.sh
+++ b/t/yacc-clean.sh
@@ -17,7 +17,7 @@
 # Check that .c and .h files derived from non-distributed .y sources
 # are cleaned by "make clean", while .c and .h files derived from
 # distributed .y sources are cleaned by "make maintainer-clean".
-# See also sister test 'yacc-cxx-clean.test'.
+# See also sister test 'yacc-cxx-clean.sh'.
 
 required='cc yacc'
 . ./defs || exit 1
diff --git a/t/yacc-cxx.sh b/t/yacc-cxx.sh
index ce27e6a..a7664c3 100755
--- a/t/yacc-cxx.sh
+++ b/t/yacc-cxx.sh
@@ -16,7 +16,7 @@
 
 # Basic semantic checks on Yacc + C++ support (when yacc-generated
 # headers are not involved).
-# Keep in sync with sister test 'yacc-basic.test'.
+# Keep in sync with sister test 'yacc-basic.sh'.
 
 required='c++ yacc'
 . ./defs || exit 1
diff --git a/t/yacc-d-basic.sh b/t/yacc-d-basic.sh
index 55f0ee5..6cbae1f 100755
--- a/t/yacc-d-basic.sh
+++ b/t/yacc-d-basic.sh
@@ -16,7 +16,7 @@
 
 # Tests Yacc support with yacc-generated headers
 # (i.e., '-d' in *YFLAGS).
-# Keep in sync with sister test 'yacc-d-cxx.test'.
+# Keep in sync with sister test 'yacc-d-cxx.sh'.
 
 required='cc yacc'
 . ./defs || exit 1
diff --git a/t/yacc-d-cxx.sh b/t/yacc-d-cxx.sh
index 3e9e0d4..2211403 100755
--- a/t/yacc-d-cxx.sh
+++ b/t/yacc-d-cxx.sh
@@ -16,7 +16,7 @@
 
 # Various tests on Yacc/C++ support with yacc-generated headers
 # (i.e., '-d' in *YFLAGS).
-# Keep in sync with sister test 'yacc-d-basic.test'.
+# Keep in sync with sister test 'yacc-d-basic.sh'.
 
 required='c++ yacc'
 . ./defs || exit 1
diff --git a/t/yacc-d-vpath.sh b/t/yacc-d-vpath.sh
index a195052..05019fb 100755
--- a/t/yacc-d-vpath.sh
+++ b/t/yacc-d-vpath.sh
@@ -20,7 +20,7 @@
 # 'make' and 'make distdir' and check whether the version of 'parse.c'
 # to be distributed is up to date.
 
-# Please keep this in sync with sister test 'yaccvpath.test'.
+# Please keep this in sync with sister test 'yaccvpath.sh'.
 
 required='cc yacc'
 . ./defs || exit 1
diff --git a/t/yacc-line.sh b/t/yacc-line.sh
index fab905e..f7626b0 100755
--- a/t/yacc-line.sh
+++ b/t/yacc-line.sh
@@ -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 that automake yacc support ensures that yacc-generated C
-# files use correct "#line" directives.
-# See also sister test 'lex-line.test'.
+# Check that automake yacc support ensures that yacc-generated
+# C files use correct "#line" directives.
+# See also sister test 'lex-line.sh'.
 
 required='cc yacc'
 . ./defs || exit 1
diff --git a/t/yacc-nodist.sh b/t/yacc-nodist.sh
index 4209ec1..1be007c 100755
--- a/t/yacc-nodist.sh
+++ b/t/yacc-nodist.sh
@@ -15,8 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Checks for .c and .h files derived from non-distributed yacc sources.
-# The test 'lex-nodist.test' does similar checks for lex-generated .c
-# files.
+# The test 'lex-sh.test' does similar checks for lex-generated '.c'
 
 required='cc yacc'
 . ./defs || exit 1
diff --git a/t/yacc2.sh b/t/yacc2.sh
index 11a1bcb..64e5421 100755
--- a/t/yacc2.sh
+++ b/t/yacc2.sh
@@ -16,7 +16,7 @@
 
 # Test to make sure intermediate .h file is not generated nor removed
 # if (AM_)?YFLAGS do not contain -d.  Requested by Jim Meyering.
-# See also the related semantic test 'yacc-d-basic.test'.
+# See also the related semantic test 'yacc-d-basic.sh'.
 
 . ./defs || exit 1
 
diff --git a/t/yaccpp.sh b/t/yaccpp.sh
index 2395b56..30ad7bc 100755
--- a/t/yaccpp.sh
+++ b/t/yaccpp.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure Yacc + C++ is not obviously broken.
-# See also related tests 'yacc-cxx.test' and 'yacc-d-cxx.test',
+# See also related tests 'yacc-cxx.sh' and 'yacc-d-cxx.sh',
 # which does much more in-depth checks (but requires an actual
 # Yacc program and a working C++ compiler).
 
diff --git a/t/yaccvpath.sh b/t/yaccvpath.sh
index aacadda..e56ca8e 100755
--- a/t/yaccvpath.sh
+++ b/t/yaccvpath.sh
@@ -20,7 +20,7 @@
 # 'make' and 'make distdir' and check whether the version of 'parse.c'
 # to be distributed is up to date.
 
-# Please keep this in sync with sister test 'yacc-d-vpath.test'.
+# Please keep this in sync with sister test 'yacc-d-vpath.sh'.
 
 required='cc yacc'
 . ./defs || exit 1
diff --git a/t/yflags.sh b/t/yflags.sh
index 4a4f6bf..fcb87cf 100755
--- a/t/yflags.sh
+++ b/t/yflags.sh
@@ -16,8 +16,8 @@
 
 # Check that $(YFLAGS) takes precedence over both $(AM_YFLAGS) and
 # $(foo_YFLAGS).
-# Please keep this in sync with the sister tests yflags2.test, lflags.test
-# and lflags2.test.
+# Please keep this in sync with the sister tests yflags2.sh, lflags.sh
+# and lflags2.sh.
 
 . ./defs || exit 1
 
diff --git a/t/yflags2.sh b/t/yflags2.sh
index 30d0a82..28c1265 100755
--- a/t/yflags2.sh
+++ b/t/yflags2.sh
@@ -16,8 +16,8 @@
 
 # Check that $(YFLAGS) takes precedence over both $(AM_YFLAGS) and
 # $(foo_YFLAGS).
-# Please keep this in sync with the sister tests yflags.test, lflags.test
-# and lflags2.test.
+# Please keep this in sync with the sister tests yflags.sh, lflags.sh
+# and lflags2.sh.
 
 . ./defs || exit 1
 


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]