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. ng-0.5a


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. ng-0.5a-114-g38799f2
Date: Wed, 07 Mar 2012 22:20:47 +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=38799f27b49b8a8390e0afbdeff86ebfdb5425d7

The branch, ng/master has been updated
       via  38799f27b49b8a8390e0afbdeff86ebfdb5425d7 (commit)
       via  d63c932a6d73bfa67e76af4bb0a0f1bb07198f1c (commit)
       via  27f3c56209a91724b0d83d0dd655f0eae0a698a9 (commit)
       via  a1fb35adb26eb8ffa57927829dfeeb963a970ff9 (commit)
       via  3a8146089834c5187d0b0795b9fa71a0f9bba132 (commit)
       via  2141a6b191705f7d4e972e78c341977896fe6fc2 (commit)
       via  188a881ae7d1853c49484a9fe93f46e5f1a764b8 (commit)
       via  24ab98457ee12a58dc070a3748cf3fd56f1c4c18 (commit)
       via  a94a662d0da2d9ba84a703ff7c8cee0af0ff5133 (commit)
       via  45fbc8b46dd49a49a1c2f21ffaeffe208bb9ecb5 (commit)
       via  94d56e80384e3ae80e2817aa12adae8ad7f3d1ed (commit)
       via  b0887067fb2f6511e154c9feb62c5243dfc095cb (commit)
       via  dbeb8d2ff3a11f96358819c282f5444cceb3db24 (commit)
       via  6f4b08da92043093e29deddfec005900d496ff98 (commit)
       via  5f624a6af8abbbd9695bee8d21d0713238ccba03 (commit)
       via  8902f83dcd7874d57d88f742bd4c62724634cc82 (commit)
       via  74a7f49212cb3428846da599ac488e4a31ff57ed (commit)
       via  7df05a0b38efdd2e3bc9b3cfeedc3e53616bc71a (commit)
       via  7f9974c75fc6cdd9821b887afac94ef0be415bc2 (commit)
       via  1ac2c3dd535894df514efa06b756162398041eb3 (commit)
       via  ec47213f8b9d1e477845c81b8621fed78f2e99bc (commit)
       via  6f7969a3ce55d811a00896ce50b5d145e039696a (commit)
       via  57d09886b9ed8d37754357eb8d820d5ecad6f29e (commit)
       via  1ca53a79e4904281cf14c78b7b1234819094a3db (commit)
       via  bee6dc63921d05197260c2d4170ca037df803ed4 (commit)
       via  b79511a10c43788dd03a0d32a70b8bf68d9a29a8 (commit)
       via  5aa495f5a2133013ef0adf768974779f517ac34d (commit)
       via  54a402e5e624bebdfef421512faecf5e4f3463ab (commit)
       via  8be5d254bc1534436571aeeca0ad76bf6058e7f1 (commit)
       via  9df2e72d4587b86a5ad49217b11cd8e3d3e63173 (commit)
       via  1da044d6234dba752fbb880180d54ca5fc9a3357 (commit)
       via  aadd78e9ce1407d49af2e690c2f230ef468fba82 (commit)
       via  8d0391c50b8205ea6388cba13c16c09c18e57974 (commit)
       via  525f16c3a5b0d3141bcd92c5b9d7d715f9feffde (commit)
       via  8bbb1486f1b85239ddfc6ece9a0df289bbbfbfbb (commit)
       via  9b81d15f529aa5a67455d5e56f8e562540f4dba8 (commit)
       via  7828edbe2c2a4a7952d0a4932979eb193c724b14 (commit)
       via  e36f246a790e1856cf6cb5a0aae37296c30d66a9 (commit)
       via  51f61dfb1e861062aaa1d73fab71278c85fe0594 (commit)
       via  7d335efe6f874af817c2f29ef85a803d8db8a43a (commit)
       via  b6e00b6b36a2593bb4afa23dec20c3c57b84db94 (commit)
       via  29158391fa018aba646b8ddd9d2022c5552ebd9f (commit)
       via  bb061d336f318da0adb85ae3002a6e0f4246332f (commit)
       via  68f47e9a04057af10c01af602a0c06353c37ecf3 (commit)
       via  e55116a5eb5071b56bb9c88a620ff65bf3081d4b (commit)
       via  b51a9afe6977b988e5240906d0b0c288bc5b3fad (commit)
       via  3b5f6115437f568a530c9162ede552ad728f0690 (commit)
       via  c99835be113fd4c86ef413993d67e52206a1188d (commit)
       via  040cf12502ba3c57b16e1e0ad899f8ed7b7a1365 (commit)
       via  c5a3d70d9714a4a70901e0a93ae9dc6f09f1ff1f (commit)
       via  1e839f9acc95c0b4c4ab602f28e29d9413e084ce (commit)
       via  06b901795fcb70182e1427b37e104d2a8e1524c4 (commit)
       via  4d2bf42f63624e9db1d83abaf020ca79defefcd7 (commit)
       via  00eb4ac9689ebc593e2d52ec3769e5696f105c35 (commit)
       via  1eaed7c1f2ef3ec73ed0dbc6ee18e0707b3fcc2d (commit)
       via  5d9d10e0806743b0be8e672aeb94c1e67c85c163 (commit)
       via  e99690aa5f91af32ebc78334f687a1737c8ea8e0 (commit)
       via  f6fde80d030fbf2a165e6019bf44010f7a1c6b55 (commit)
       via  f28d4890b7f58f0f6ed1a6209856f6a0d8ff23a0 (commit)
       via  4a38f18045c251a1e73dd499d8bafe186bb0130b (commit)
       via  94259756a34b0010ee9f2e3a0f872eccd0678850 (commit)
       via  c4f2b64c1f74f1bba7762f544cf3b6a703ac0211 (commit)
       via  8153d196fc594a7dc784faf2a26fdc33b8964f13 (commit)
       via  da69976c095bd94513a179b47511a8ede88bd140 (commit)
       via  d3a2a8d0e41397bc86fc35900fc1b99d2d41be2e (commit)
       via  3e887a1324199c11004213b667145e7e5386eaa3 (commit)
       via  f8f22fea98fbaa1dcf0c1a0203063884d4e40f65 (commit)
       via  2d9519836f51f8b4c01d6b134b124f03a51a1ecd (commit)
       via  05613b2e92b791ff19e15680e44070c002f543a2 (commit)
       via  88ac75a642e375a7c3c916b44f7f68d572332517 (commit)
       via  de58d25e3f4b089ccfb0b2b5fc0505602ed70285 (commit)
       via  5b44ce39c6a3648682e241c75be513fb68c42568 (commit)
       via  2dfeef41c3a2045a6f54a75f710b8d7b930d4471 (commit)
       via  66873b596119fc691f1b1c05aa6d09f2ff1b5849 (commit)
       via  e5e6fa03884708e2a48d081a460401c25badfc20 (commit)
      from  8290baa7eeabeb14ff98ec3e256983143200b37f (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 38799f27b49b8a8390e0afbdeff86ebfdb5425d7
Merge: 8290baa d63c932
Author: Stefano Lattarini <address@hidden>
Date:   Wed Mar 7 23:15:04 2012 +0100

    Merge branch 'master' into ng/master
    
    * master: (62 commits)
      cosmetics: fix repeated changelog entry heading
      tests: remove useless sleep from tests on remake rules
      news: describe recently-fixed bug in vala support
      depcomp: add support for IBM xlc/xlC compilers
      tests: do not clobber the $CC set by AM_PROG_CC_C_O
      tests: explicitly state that our lexers do not require unistd.h
      scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
      maint: drop 'Automake::Struct' module
      maint: require perl 5.6 throughout
      cosmetics: remove useless escaping for "'" character
      test defs: remove redundant and unused requirements
      tests: fix spurious failure on case-insensitive file systems
      news: more about planned backward incompatibilities
      maintcheck: fix few spurious failures
      tests: fix spurious failure due to exported MAKEINFO
      tests: fix spurious failure in a vala test
      self checks: relax tests on cleanup
      news: add entry about recent 'ar-lib' changes
      scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
      tests: fix (harmless) botched merge
      ...
    
    + Extra non-trivial edits:
    
    * automake.in (lang_vala_finish_target): Don't pass $(AM_MAKEFLAGS)
    to recursive make invocations.

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

Summary of changes:
 HACKING                                            |  116 +++-
 Makefile.am                                        |   12 +-
 NEWS                                               |   55 ++
 THANKS                                             |    5 +
 aclocal.in                                         |   76 ++--
 automake.in                                        |  500 ++++++++--------
 bootstrap                                          |    4 +-
 configure.ac                                       |  115 +++-
 doc/automake.texi                                  |  165 +++---
 lib/Automake/ChannelDefs.pm                        |   35 +-
 lib/Automake/Channels.pm                           |   10 +-
 lib/Automake/Condition.pm                          |   10 +-
 lib/Automake/Configure_ac.pm                       |    7 +-
 lib/Automake/DisjConditions.pm                     |   11 +-
 lib/Automake/FileUtils.pm                          |   15 +-
 lib/Automake/General.pm                            |    4 +-
 lib/Automake/Getopt.pm                             |   10 +-
 lib/Automake/Item.pm                               |    7 +-
 lib/Automake/ItemDef.pm                            |    2 +
 lib/Automake/Location.pm                           |    2 +
 lib/Automake/Makefile.am                           |    1 -
 lib/Automake/Options.pm                            |  179 ++++---
 lib/Automake/Rule.pm                               |   69 ++--
 lib/Automake/RuleDef.pm                            |    2 +
 lib/Automake/Struct.pm                             |  628 --------------------
 lib/Automake/VarDef.pm                             |   18 +-
 lib/Automake/Variable.pm                           |   60 +-
 lib/Automake/Version.pm                            |    4 +-
 lib/Automake/Wrap.pm                               |    1 +
 lib/Automake/XFile.pm                              |   12 +-
 lib/Makefile.am                                    |   11 +-
 lib/am/check.am                                    |   34 +-
 lib/am/configure.am                                |    2 +-
 lib/am/dejagnu.am                                  |    2 +-
 lib/am/depend2.am                                  |    8 +-
 lib/am/distdir.am                                  |   79 ++--
 lib/am/inst-vars.am                                |    4 +-
 lib/am/install.am                                  |    8 +-
 lib/am/lang-compile.am                             |    2 +-
 lib/am/lisp.am                                     |    8 +-
 lib/am/ltlib.am                                    |    2 +-
 lib/am/mans.am                                     |    8 +-
 lib/am/progs.am                                    |   14 +-
 lib/am/remake-hdr.am                               |    8 +-
 lib/am/subdirs.am                                  |   18 +-
 lib/am/tags.am                                     |   18 +-
 lib/am/texi-vers.am                                |    2 +-
 lib/am/texibuild.am                                |   10 +-
 lib/am/texinfos.am                                 |   30 +-
 lib/am/yacc.am                                     |    2 +-
 lib/ar-lib                                         |   13 +-
 lib/compile                                        |   91 ++-
 lib/depcomp                                        |   13 +
 m4/Makefile.am                                     |    7 +-
 m4/acdir/.placeholder                              |    2 -
 m4/acdir/README                                    |    9 +
 m4/auxdir.m4                                       |    8 +-
 m4/ccstdc.m4                                       |    6 +-
 m4/depend.m4                                       |   28 +-
 m4/init.m4                                         |    8 +-
 m4/maintainer.m4                                   |    6 +-
 m4/missing.m4                                      |    4 +-
 m4/mkdirp.m4                                       |    4 +-
 m4/sanity.m4                                       |    4 +-
 m4/silent.m4                                       |    8 +-
 m4/strip.m4                                        |   14 +-
 m4/tar.m4                                          |    6 +-
 m4/vala.m4                                         |    4 +-
 syntax-checks.mk                                   |   48 +-
 tests/CheckListOfTests.am                          |    2 +-
 tests/Makefile.am                                  |   17 +-
 tests/README                                       |  118 ++--
 tests/ac-output-old.tap                            |   12 +-
 tests/acloca10.test                                |    4 +-
 tests/acloca14.test                                |    2 +-
 tests/acloca22.test                                |    2 +-
 tests/aclocal-acdir.test                           |    4 +-
 tests/aclocal-install-absdir.test                  |    2 +-
 tests/aclocal-path-install-serial.test             |    4 +-
 tests/aclocal-path-install.test                    |    6 +-
 tests/aclocal-path-precedence.test                 |    8 +-
 tests/aclocal-path.test                            |    2 +-
 tests/aclocal-print-acdir.test                     |    2 +-
 tests/aclocal5.test                                |    2 +-
 tests/aclocal7.test                                |    2 +-
 tests/add-missing.tap                              |   20 +-
 tests/amhello-binpkg.test                          |    2 +-
 tests/amhello-cflags.test                          |    2 +-
 tests/amhello-cross-compile.test                   |    2 +-
 tests/amopts-variable-expansion.test               |    4 +-
 tests/ar-lib.test                                  |   28 +-
 tests/ar-lib5a.test                                |    4 +-
 tests/ar-lib5b.test                                |   18 +-
 tests/ar-lib6a.test                                |    2 +-
 tests/ar-lib6b.test                                |    2 +-
 tests/asm.test                                     |    2 +-
 tests/asm2.test                                    |    2 +-
 tests/asm3.test                                    |    2 +-
 tests/autodist-acconfig-no-subdir.test             |    2 +-
 tests/autodist-acconfig.test                       |    2 +-
 tests/autodist-aclocal-m4.test                     |    4 +-
 tests/autodist-configure-no-subdir.test            |    2 +-
 tests/autodist-no-duplicate.test                   |    2 +-
 tests/autodist-stamp-vti.test                      |    2 +-
 tests/autodist-subdir.test                         |    4 +-
 tests/autodist.test                                |    4 +-
 tests/autohdrdry.test                              |    2 +-
 tests/auxdir-autodetect.test                       |   14 +-
 tests/auxdir7.test                                 |    2 +-
 tests/auxdir8.test                                 |    2 +-
 tests/backcompat2.test                             |    2 +-
 tests/backcompat3.test                             |    6 +-
 tests/backcompat5.test                             |    2 +-
 tests/backcompat6.test                             |    4 +-
 tests/backsl2.test                                 |    2 +-
 tests/canon-name.test                              |    2 +-
 tests/canon4.test                                  |    2 +-
 tests/canon6.test                                  |    2 +-
 tests/canon8.test                                  |    2 +-
 tests/ccnoco.test                                  |    4 +-
 tests/ccnoco3.test                                 |    4 +-
 tests/check-concurrency-bug9245.test               |    2 +-
 tests/check-exported-srcdir.test                   |    2 +-
 tests/check-subst-prog.test                        |    2 +-
 tests/check-subst.test                             |    2 +-
 tests/check12.test                                 |    6 +-
 tests/check3.test                                  |    2 +-
 tests/check4.test                                  |    2 +-
 tests/check8.test                                  |    4 +-
 tests/colon2.test                                  |    4 +-
 tests/colon3.test                                  |    4 +-
 tests/colon7.test                                  |    4 +-
 tests/color.test                                   |    4 +-
 tests/color2.test                                  |   10 +-
 tests/comment.test                                 |    2 +-
 tests/comment3.test                                |    4 +-
 tests/compile.test                                 |    4 +-
 tests/compile2.test                                |    6 +-
 tests/compile3.test                                |   45 +-
 tests/compile4.test                                |   13 +-
 tests/compile5.test                                |   27 +-
 tests/compile6.test                                |  105 ++--
 tests/cond3.test                                   |    2 +-
 tests/cond32.test                                  |    2 +-
 tests/cond35.test                                  |    3 +
 tests/cond46.test                                  |    2 +-
 tests/confh.test                                   |    2 +-
 tests/confh7.test                                  |    2 +-
 tests/confh8.test                                  |    2 +-
 tests/conflnk.test                                 |    6 +-
 tests/conflnk4.test                                |    8 +-
 tests/copy.test                                    |    8 +-
 tests/cscope2.test                                 |    2 +-
 tests/cscope3.test                                 |    4 +-
 tests/cxx.test                                     |    2 +-
 tests/cygnus-no-dist.test                          |    4 +-
 tests/cygnus-no-installinfo.test                   |    2 +-
 tests/dash.test                                    |    2 +-
 tests/defs                                         |  163 ++----
 tests/defs-static.in                               |   23 +-
 tests/dejagnu.test                                 |    2 +-
 tests/deleted-am.test                              |    2 +-
 tests/deleted-m4.test                              |    2 +-
 tests/depcomp.sh                                   |    6 +-
 tests/depcomp8a.test                               |    2 +-
 tests/depcomp8b.test                               |    2 +-
 tests/depend.test                                  |    2 +-
 tests/destdir.test                                 |    2 +-
 tests/dirlist.test                                 |    6 +-
 tests/dirlist2.test                                |    2 +-
 tests/dist-auxdir-many-subdirs.test                |    4 +-
 tests/dist-auxfile-2.test                          |    2 +-
 tests/dist-auxfile.test                            |    6 +-
 tests/dist-formats.tap                             |   12 +-
 tests/dist-included-parent-dir.test                |    2 +-
 tests/dist-missing-am.test                         |    6 +-
 tests/dist-missing-included-m4.test                |    8 +-
 tests/dist-missing-m4.test                         |    8 +-
 tests/distcheck-missing-m4.test                    |   14 +-
 tests/distcheck-outdated-m4.test                   |   18 +-
 tests/distcheck-pr9579.test                        |    2 +-
 ...pr10128.test => distcheck-writable-srcdir.test} |   46 +-
 tests/distcleancheck.test                          |    8 +-
 tests/distcom-subdir.test                          |    4 +-
 tests/distcom2.test                                |    8 +-
 tests/distcom3.test                                |    2 +-
 tests/distdir.test                                 |    6 +-
 tests/disthook.test                                |   89 +++
 tests/distlinksbrk.test                            |    4 +-
 tests/dmalloc.test                                 |    4 +-
 tests/dollar.test                                  |    4 +-
 tests/exeext.test                                  |    2 +-
 tests/ext.test                                     |    4 +-
 tests/extra-portability.test                       |    8 +-
 tests/extra-portability2.test                      |    2 +-
 tests/extra-programs-empty.test                    |    4 +-
 tests/flavor.test                                  |    4 +-
 tests/flibs.test                                   |   14 +-
 tests/fn99.test                                    |    2 +-
 tests/fn99subdir.test                              |    2 +-
 tests/forcemiss.test                               |    2 +-
 tests/forcemiss2.test                              |    2 +-
 tests/gcj2.test                                    |    2 +-
 tests/gcj4.test                                    |    2 +-
 tests/gen-testsuite-part                           |   39 +-
 tests/get-sysconf.test                             |    6 +-
 tests/gettext-macros.test                          |   12 +-
 tests/gettext.test                                 |    4 +-
 tests/gettext2.test                                |    2 +-
 tests/gettext3.test                                |    2 +-
 tests/gnits3.test                                  |    4 +-
 tests/gnuwarn2.test                                |    2 +-
 tests/help-depend.test                             |    4 +-
 tests/help-depend2.test                            |    2 +-
 tests/help-dmalloc.test                            |    2 +-
 tests/help-init.test                               |    2 +-
 tests/help-lispdir.test                            |    2 +-
 tests/help-multilib.test                           |    2 +-
 tests/help-python.test                             |    2 +-
 tests/help-silent.test                             |    2 +-
 tests/help-upc.test                                |    2 +-
 tests/help4.test                                   |    2 +-
 tests/info.test                                    |    2 +-
 tests/install-info-dir.test                        |   20 +-
 tests/install2.test                                |    4 +-
 tests/installdir.test                              |    2 +-
 tests/insthook.test                                |    6 +-
 tests/instmany-mans.test                           |    2 +-
 tests/instmany.test                                |    6 +-
 tests/instsh.test                                  |    2 +-
 tests/instsh2.test                                 |    2 +-
 tests/java-compile-install.test                    |    2 +-
 tests/java-compile-run-flat.test                   |    4 +-
 tests/java-compile-run-nested.test                 |    2 +-
 tests/java-mix.test                                |    4 +-
 tests/java-nobase.test                             |    2 +-
 tests/java-rebuild.test                            |    2 +-
 tests/java-sources.test                            |    2 +-
 tests/java-uninstall.test                          |    4 +-
 tests/javadir-undefined.test                       |    2 +-
 tests/ldadd.test                                   |    5 +-
 tests/lex-clean-cxx.test                           |    6 +-
 tests/lex-clean.test                               |    5 +-
 tests/lex-depend-cxx.test                          |    4 +
 tests/lex-depend-grep.test                         |    2 +-
 tests/lex-depend.test                              |    3 +
 tests/lex-lib-external.test                        |    5 +-
 tests/lex-lib.test                                 |    7 +-
 tests/lex-libobj.test                              |    5 +-
 tests/lex-line.test                                |    9 +-
 tests/lex-nodist.test                              |    5 +-
 tests/lex-noyywrap.test                            |    5 +-
 tests/lex-pr204.test                               |    5 +-
 tests/lex-subobj-nodep.test                        |    3 +
 tests/lex3.test                                    |    7 +-
 tests/lex5.test                                    |    3 +
 tests/lexvpath.test                                |   23 +-
 tests/libobj-basic.test                            |    2 +-
 tests/libobj10.test                                |    5 +-
 tests/libobj12.test                                |    2 +-
 tests/libobj15c.test                               |    2 +-
 tests/libobj16a.test                               |    2 +-
 tests/libobj16b.test                               |    7 +-
 tests/libobj17.test                                |   13 +-
 tests/libobj20a.test                               |    2 +-
 tests/libobj20b.test                               |    2 +-
 tests/libobj20c.test                               |    4 +-
 tests/libobj7.test                                 |    2 +-
 tests/libtool-macros.test                          |   14 +-
 tests/libtool3.test                                |    4 +-
 tests/libtool8.test                                |    4 +-
 tests/license2.test                                |    2 +-
 tests/link_c_cxx.test                              |    2 +-
 tests/link_dist.test                               |    2 +-
 tests/link_f90_only.test                           |    2 +-
 tests/link_f_only.test                             |    2 +-
 tests/link_fc.test                                 |    2 +-
 tests/link_fccxx.test                              |    2 +-
 tests/link_fcxx.test                               |    2 +-
 tests/lispdry.test                                 |    2 +-
 tests/list-of-tests.mk                             |    6 +
 tests/location.test                                |   32 +-
 tests/longlin2.test                                |    2 +-
 tests/ltinstloc.test                               |    8 +-
 tests/m4-inclusion.test                            |    2 +-
 tests/maintclean-vpath.test                        |    2 +-
 tests/maintclean.test                              |    2 +-
 tests/maintmode-configure-msg.test                 |    2 +-
 tests/makej.test                                   |    2 +-
 tests/makej2.test                                  |    2 +-
 tests/maken.test                                   |    6 +-
 tests/maken3.test                                  |    3 +-
 tests/man.test                                     |    2 +-
 tests/man4.test                                    |    4 +-
 tests/man6.test                                    |    4 +-
 tests/missing5.test                                |    4 +-
 tests/no-outdir-option.test                        |    2 +-
 tests/nobase-nodist.test                           |    4 +-
 tests/nodef2.test                                  |    2 +-
 tests/nostdinc.test                                |    2 +-
 tests/objc.test                                    |    2 +-
 tests/output-order.test                            |    2 +-
 tests/output13.test                                |    2 +-
 tests/output7.test                                 |    2 +-
 tests/output8.test                                 |    2 +-
 tests/override-html.test                           |    4 +-
 tests/override-suggest-local.test                  |    2 +-
 tests/parallel-tests-extra-programs.test           |    6 +-
 tests/parallel-tests-fd-redirect-exeext.test       |    2 +-
 tests/parallel-tests-fd-redirect.test              |    2 +-
 tests/parallel-tests-fork-bomb.test                |    2 +-
 tests/parallel-tests-log-compiler-1.test           |    2 +-
 tests/parallel-tests-log-override-1.test           |    2 +-
 tests/parallel-tests-many.test                     |   38 +-
 tests/parallel-tests-no-spurious-summary.test      |    2 +-
 tests/parallel-tests-once.test                     |    2 +-
 tests/parallel-tests-trailing-bslash.test          |    2 +-
 tests/parallel-tests-unreadable.test               |    4 +-
 tests/parallel-tests10.test                        |    2 +-
 tests/parallel-tests3.test                         |    2 +-
 tests/parallel-tests6.test                         |    2 +-
 tests/parallel-tests8.test                         |    2 +-
 tests/pattern-rules2.test                          |    2 +-
 tests/plain-functions.sh                           |    2 +-
 tests/pluseq.test                                  |    2 +-
 tests/pluseq11.test                                |    2 +-
 tests/pluseq2.test                                 |    2 +-
 tests/pluseq3.test                                 |    2 +-
 tests/pluseq4.test                                 |    2 +-
 tests/pluseq5.test                                 |    8 +-
 tests/pluseq6.test                                 |    2 +-
 tests/pluseq7.test                                 |    2 +-
 tests/pluseq8.test                                 |    2 +-
 tests/pluseq9.test                                 |    6 +-
 tests/posixsubst-data.test                         |    4 +-
 tests/posixsubst-extradist.test                    |    4 +-
 tests/posixsubst-ldadd.test                        |    4 +-
 tests/posixsubst-libraries.test                    |    6 +-
 tests/posixsubst-ltlibraries.test                  |    6 +-
 tests/posixsubst-programs.test                     |    4 +-
 tests/posixsubst-scripts.test                      |    4 +-
 tests/posixsubst-sources.test                      |    4 +-
 tests/posixsubst-tests.test                        |    4 +-
 tests/pr211.test                                   |    2 +-
 tests/pr224.test                                   |    6 +-
 tests/pr300-lib.test                               |    3 +-
 tests/pr300-ltlib.test                             |    3 +-
 tests/pr307.test                                   |    7 +-
 tests/pr401.test                                   |   13 +-
 tests/pr401b.test                                  |   13 +-
 tests/pr401c.test                                  |   13 +-
 tests/pr87.test                                    |    2 +-
 tests/pr9.test                                     |    4 +-
 tests/primary-prefix-invalid-couples.tap           |   10 +-
 tests/primary-prefix-valid-couples.test            |    2 +-
 tests/primary3.test                                |    2 +-
 tests/programs-primary-rewritten.test              |    4 +-
 tests/py-compile-basedir.test                      |    4 +-
 tests/py-compile-basic.test                        |    4 +-
 tests/py-compile-basic2.test                       |    4 +-
 tests/py-compile-destdir.test                      |    2 +-
 tests/py-compile-env.test                          |    2 +-
 tests/py-compile-option-terminate.test             |    4 +-
 tests/py-compile-usage.test                        |    2 +-
 tests/python-vars.test                             |    4 +-
 tests/remake-deleted-am-2.test                     |    2 +-
 tests/remake-deleted-am-subdir.test                |    2 +-
 tests/remake-deleted-am.test                       |    2 +-
 tests/remake-deleted-m4-file.test                  |    2 +-
 tests/remake-moved-m4-file.test                    |    2 +-
 tests/remake-renamed-am.test                       |    2 +-
 tests/remake-renamed-m4-macro-and-file.test        |    2 +-
 tests/remake-subdir-from-subdir.test               |    4 +-
 tests/remake-subdir-gnu.test                       |    6 +-
 tests/remake-subdir.test                           |    4 +-
 tests/remake.test                                  |    2 +-
 tests/remake10a.test                               |    3 +-
 tests/remake10b.test                               |    3 +-
 tests/remake10c.test                               |    3 +-
 tests/remake12.test                                |    2 +-
 tests/remake1a.test                                |    2 +-
 tests/remake3.test                                 |    2 +-
 tests/remake3a.test                                |    2 +-
 tests/remake4.test                                 |    2 +-
 tests/remake8a.test                                |    2 +-
 tests/remake8b.test                                |    2 +-
 tests/remake9a.test                                |    3 +-
 tests/remake9b.test                                |    3 +-
 tests/remake9c.test                                |    3 +-
 tests/remake9d.test                                |    3 +-
 tests/rst-formatting.test                          |    2 +-
 tests/self-check-cleanup.tap                       |   21 +-
 tests/self-check-configure-help.test               |   32 +-
 tests/self-check-dir.tap                           |    2 +-
 tests/self-check-env-sanitize.tap                  |    2 +-
 tests/self-check-exit.tap                          |   12 +-
 tests/self-check-explicit-skips.test               |    4 +-
 tests/self-check-is-blocked-signal.tap             |    2 +-
 tests/self-check-is_newest.tap                     |    4 +-
 tests/self-check-me.tap                            |    4 +-
 tests/self-check-reexec.tap                        |    2 +-
 tests/self-check-sanity.test                       |    6 +-
 tests/self-check-seq.tap                           |    6 +-
 tests/self-check-tap.test                          |    2 +-
 tests/self-check-unindent.tap                      |    2 +-
 contrib/Makefile.am => tests/silent-amopts.test    |   31 +-
 tests/silent-lex.test                              |    3 +
 tests/silent-many-gcc.test                         |    9 +-
 tests/silent-many-generic.test                     |   25 +-
 tests/silent-yacc-headers.test                     |    2 +-
 tests/silent-yacc.test                             |    2 +-
 tests/silent3.test                                 |    2 +-
 tests/silent4.test                                 |    2 +-
 tests/silent7.test                                 |    2 +-
 tests/silent8.test                                 |    2 +-
 tests/silent9.test                                 |    2 +-
 tests/silentcxx-gcc.test                           |    4 +-
 tests/silentcxx.test                               |    2 +-
 tests/specflg-dummy.test                           |    2 +-
 tests/specflg.test                                 |    2 +-
 tests/specflg2.test                                |    2 +-
 tests/spy-rm.tap                                   |   48 ++
 tests/spy.test                                     |   10 +-
 tests/stamph2.test                                 |    2 +-
 tests/stdlib2.test                                 |    4 +-
 tests/subcond2.test                                |    6 +-
 tests/subcond3.test                                |    6 +-
 tests/subdir2.test                                 |    2 +-
 tests/subdir4.test                                 |    2 +-
 tests/subdir5.test                                 |    6 +-
 tests/subdir8.test                                 |    2 +-
 tests/subdirbuiltsources.test                      |    2 +-
 tests/subobj11a.test                               |   14 +-
 tests/subobj11c.test                               |    2 +-
 tests/subobj4.test                                 |    2 +-
 tests/subobj8.test                                 |    2 +-
 tests/subobj9.test                                 |    6 +-
 tests/subpkg4.test                                 |    4 +-
 tests/subst-no-trailing-empty-line.test            |    4 +-
 tests/suffix.test                                  |    2 +-
 tests/suffix10.tap                                 |    2 +-
 tests/suffix11.tap                                 |    2 +-
 tests/suffix2.test                                 |    2 +-
 tests/suffix3.tap                                  |    4 +-
 tests/suffix5.test                                 |    2 +-
 tests/suffix6.test                                 |    4 +-
 tests/suffix6c.test                                |    2 +-
 tests/suffix9.test                                 |    2 +-
 tests/symlink2.test                                |    2 +-
 tests/tap-color.test                               |    2 +-
 tests/tap-exit.test                                |    2 +-
 tests/tap-functions.sh                             |   10 +-
 tests/tap-merge-stdout-stderr.test                 |    2 +-
 tests/tap-more.test                                |   10 +-
 tests/tap-more2.test                               |    2 +-
 tests/tap-no-spurious-summary.test                 |    2 +-
 tests/tap-no-spurious.test                         |    2 +-
 tests/tap-plan-leading-zero.test                   |    2 +-
 tests/tap-plan-malformed.test                      |    2 +-
 tests/tap-setup.sh                                 |    4 +-
 tests/tap-test-number-0.test                       |    2 +-
 tests/tar-override.test                            |    4 +-
 tests/tar3.test                                    |   10 +-
 tests/test-driver-create-log-dir.test              |    4 +-
 tests/test-driver-custom-multitest-recheck.test    |    4 +-
 tests/test-driver-custom-multitest-recheck2.test   |   10 +-
 tests/test-driver-custom-multitest.test            |    6 +-
 tests/test-driver-custom-no-extra-driver.test      |    2 +-
 tests/test-driver-custom.test                      |    2 +-
 tests/test-driver-is-distributed.test              |    2 +-
 tests/test-driver-strip-vpath.test                 |    2 +-
 tests/test-driver-trs-suffix-registered.test       |    2 +-
 tests/test-metadata-global-log.test                |   10 +-
 tests/test-metadata-global-result.test             |    4 +-
 tests/test-metadata-results.test                   |    6 +-
 tests/test-missing.test                            |    2 +-
 tests/test-trs-basic.test                          |   16 +-
 tests/test-trs-recover.test                        |    2 +-
 tests/test-trs-recover2.test                       |    2 +-
 tests/tests-environment-backcompat.test            |    2 +-
 tests/tests-environment-fd-redirect.test           |    2 +-
 tests/transform3.test                              |   87 +++
 tests/trivial-test-driver                          |    6 +-
 tests/txinfo16.test                                |    6 +-
 tests/txinfo25.test                                |    6 +-
 tests/txinfo30.test                                |   12 +-
 tests/txinfo33.test                                |    2 +-
 tests/txinfo5.test                                 |    2 +-
 tests/txinfo5b.test                                |    2 +-
 tests/txinfo6.test                                 |    2 +-
 tests/uninstall-fail.test                          |    6 +-
 tests/{vala-mix.test => vala-mix2.test}            |   80 ++--
 tests/vala.test                                    |    2 +-
 tests/vala4.test                                   |    2 +-
 tests/vartypos.test                                |   52 +-
 tests/vtexi.test                                   |    8 +-
 tests/vtexi3.test                                  |    2 +-
 tests/vtexi4.test                                  |    2 +-
 tests/warning-groups-win-over-strictness.test      |    2 +-
 tests/warnopts.test                                |    8 +-
 tests/yacc-basic.test                              |    2 +-
 tests/yacc-clean-cxx.test                          |    4 +-
 tests/yacc-clean.test                              |    6 +-
 tests/yacc-cxx.test                                |    4 +-
 tests/yacc-d-basic.test                            |    6 +-
 tests/yacc-d-cxx.test                              |    4 +-
 tests/yacc-d-vpath.test                            |   16 +-
 tests/yacc-deleted-headers.test                    |    6 +-
 tests/yacc-dist-nobuild-subdir.test                |    1 +
 tests/yacc-dist-nobuild.test                       |   10 +-
 tests/yacc-line.test                               |    6 +-
 tests/yacc-mix-c-cxx.test                          |    6 +-
 tests/yacc-pr204.test                              |    2 +-
 tests/yacc2.test                                   |    2 +-
 tests/yacc7.test                                   |    6 +-
 tests/yaccdry.test                                 |    2 +-
 tests/yaccpp.test                                  |    2 +-
 tests/yaccvpath.test                               |   16 +-
 tests/yflags-cmdline-override.test                 |    6 +-
 tests/yflags-conditional.test                      |    6 +-
 tests/yflags-d-false-positives.test                |    2 +-
 tests/yflags-var-expand.test                       |    2 +-
 522 files changed, 2793 insertions(+), 2741 deletions(-)
 delete mode 100644 lib/Automake/Struct.pm
 delete mode 100644 m4/acdir/.placeholder
 create mode 100644 m4/acdir/README
 copy tests/{objext-pr10128.test => distcheck-writable-srcdir.test} (55%)
 create mode 100755 tests/disthook.test
 copy contrib/Makefile.am => tests/silent-amopts.test (71%)
 mode change 100644 => 100755
 create mode 100755 tests/spy-rm.tap
 create mode 100755 tests/transform3.test
 copy tests/{vala-mix.test => vala-mix2.test} (63%)

diff --git a/HACKING b/HACKING
index 87318fd..6b98952 100644
--- a/HACKING
+++ b/HACKING
@@ -42,31 +42,31 @@
 = Naming
 
 * We've adopted the convention that internal AC_SUBSTs should be
-  named with a leading `am__', and internally generated targets
-  should be named with a leading `am--'.  This convention, although
+  named with a leading 'am__', and internally generated targets
+  should be named with a leading 'am--'.  This convention, although
   in place from at least February 2001, isn't yet universally used.
   But all new code should use it.
 
-  We used to use `_am_' as the prefix for an internal AC_SUBST.
+  We used to use '_am_' as the prefix for an internal AC_SUBST.
   However, it turns out that NEWS-OS 4.2R complains if a Makefile
-  variable begins with `_'.  Yay for them.  I changed the target
-  naming convention just to be safe.
+  variable begins with the underscore character.  Yay for them.
+  I changed the target naming convention just to be safe.
 
 ================================================================
-= Editing `.am' files
+= Editing '.am' files
 
 * Always use $(...) and not ${...}
 
-* Use `:', not `true'.  Use `exit 1', not `false'.
+* Use ':', not 'true'.  Use 'exit 1', not 'false'.
 
-* Use `##' comments liberally.  Comment anything even remotely
+* Use '##' comments liberally.  Comment anything even remotely
   unusual.
 
 * Never use basename or dirname.  Instead use sed.
 
-* Do not use `cd' within back-quotes, use `$(am__cd)' instead.
+* Do not use 'cd' within back-quotes, use '$(am__cd)' instead.
   Otherwise the directory name may be printed, depending on CDPATH.
-  More generally, do not ever use plain `cd' together with a relative
+  More generally, do not ever use plain 'cd' together with a relative
   directory that does not start with a dot, or you might end up in one
   computed with CDPATH.
 
@@ -93,13 +93,13 @@
 = Working with git
 
 * To regenerate dependent files created by aclocal and automake,
-  use the `bootstrap' script.  It uses the code from the source
+  use the 'bootstrap' script.  It uses the code from the source
   tree, so the resulting files (aclocal.m4 and Makefile.in) should
   be the same as you would get if you install this version of
   automake and use it to generate those files.  Be sure to have the
   latest stable version of Autoconf installed.  If such version is
   not installed as "autoconf", pass it explicitly (along with the
-  accompanying "autom4te") when calling `bootstrap' and `configure'.
+  accompanying "autom4te") when calling 'bootstrap' and 'configure'.
   For example:
     $ AUTOCONF=autoconf2.68 AUTOM4TE=autom4te2.68 ./bootstrap
     $ ./configure AUTOCONF=autoconf2.68 AUTOM4TE=autom4te2.68
@@ -146,8 +146,6 @@
   the active branches descending from the buggy commit.  This offers a
   simple way to fix the bug consistently and effectively.
 
-* When referring to older commits, use 'git describe' output as pointer.
-
 * There may be a number of longer-lived feature branches for new developments.
   They should be based off of a common ancestor of all active branches to
   which the feature should or might be merged later.  The next branch may
@@ -165,19 +163,80 @@
   branch should document rewinding policy.
 
 ================================================================
+= Writing a good commit message
+
+* Here is the general format that Automake's commit messages are expected
+  to follow.  See the further points below for clarifications and minor
+  corrections.
+
+      topic: brief description (this is the "summary line")
+
+      <reference to relevant bugs, if any>
+
+      Here goes a more detailed explanation of why the commit is needed,
+      and a general overview of what it does, and how.  This section is
+      optional, but you are expected to provide it more often than not.
+
+      And if the detailed explanation is quite long or detailed, you can
+      want to break it in more paragraphs.
+
+      Then you can add references to relevant mailing list discussions
+      (if any), with proper links.  But don't take this as an excuse for
+      writing incomplete commit messages!  The "distilled" conclusions
+      reached in such discussions should have been placed in the
+      paragraphs above.
+
+      Finally, here you can thank people that motivated or helped the
+      change.  So, thanks to John Doe for bringing up the issue, and to
+      J. Random Hacker for providing suggestions and testing the patch.
+
+      <detailed list of touched files>
+
+* The <detailed list of touched files> is mandatory but for the most
+  trivial changes, and should follows the GNU guidelines for ChangeLog
+  entries (described explicitly in the GNU Coding Standards); it might
+  be something of this sort:
+
+    * some/file (func1): Improved frobnication.
+    (func2): Adjusted accordingly.
+    * another/file (foo, bar): Likewise.
+    * tests/foo.tap: New test.
+    * tests/Makefile.am (TESTS): Add it.
+
+* If your commit fixes an automake bug registered in the tracker (say
+  numbered 1234), you should put the following line after the summary
+  line:
+
+      This change fixes automake bug#1234.
+
+* If your commit is just related to the given bug report, but does not
+  fix it, you might want to add a line like this instead:
+
+      This change is related to automake bug#1234.
+
+* When referring to older commits, use 'git describe' output as pointer.
+  But also try to identify the given commit by date and/or summary line
+  if possible.  Examples:
+
+      Since yesterday's commit, v1.11-2019-g4d2bf42, ...
+
+      ... 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.
 
 * Make sure each test file is executable.
 
-* Use `keep_testdirs=yes' to keep test directories for successful
-  tests also.
+* Export the 'keep_testdirs' environment variable to "yes" to keep
+  test directories for successful tests also.
 
 * Use perl coverage information to ensure your new code is thoroughly
   tested by your new tests.
 
-* See file `tests/README' for more information.
+* See file 'tests/README' for more information.
 
 ================================================================
 = Release procedure
@@ -188,7 +247,7 @@
 
 * Fetch new versions of the files that are maintained by the FSF.
   Commit.  Unfortunately you need an FSF account to do this.
-  (You can also use `make fetch', but that is still woefully incomplete.)
+  (You can also use "make fetch", but that is still woefully incomplete.)
 
 * Update NEWS.
 
@@ -200,17 +259,24 @@
 * Run this:
   ./bootstrap && ./configure && make && make check && make distcheck
 
-* Run `make git-release'.
-  This will run "make dist" to create the tarballs, commit the last
-  changes to NEWS, configure.ac and m4/amversion.m4, tag the repository,
-  sign the tarballs, and upload them.
-  Use `make GNUPLOADFLAGS="--user key" git-release' to sign with
-  a non-default key.
+* Run "make git-tag-release".
+  This will run the maintainer checks, check that the NEWS file is
+  up-to-date, check that the local git repository and working tree
+  are clean and up-to-date, and create a proper signed git tag for
+  the release (based on the contents of $(VERSION)).
+
+* Run "make git-upload-release".
+  This will first verify that you are releasing from a tagged version
+  and that the local git repository and working tree are clean and
+  up-to-date, and will then run "make dist" to create the tarballs,
+  and invoke the 'gnupload' script sign and upload them to the correct
+  locations.  In case you need to sign with a non-default key, you can
+  use "make GNUPLOADFLAGS='--user KEY' git-upload-release".
 
 * Update version number in configure.ac to next alpha number.
   Re-run ./bootstrap and commit.
 
-* Don't forget to `git push' your changes so they appear in the public
+* Don't forget to "git push" your changes so they appear in the public
   git tree.
 
 * For stable releases, update the manuals at www.gnu.org:
diff --git a/Makefile.am b/Makefile.am
index 43a61a3..7231698 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@
 
 ## lib goes first, because it builds Config.pm, used by aclocal and
 ## automake (run in doc, tests, and in the rebuild rules.)
-## `.' goes before doc and tests, because the latter two directories
+## '.' goes before doc and tests, because the latter two directories
 ## run aclocal and automake.
 SUBDIRS = lib . contrib doc m4 tests
 
@@ -98,7 +98,7 @@ automake aclocal: Makefile
        $(AM_V_at)chmod a+x,a-w address@hidden && mv -f address@hidden $@
 
 ## The master location for INSTALL is lib/INSTALL.
-## This is where `make fetch' will install new versions.
+## This is where "make fetch" will install new versions.
 ## Make sure we also update this copy.
 INSTALL: lib/INSTALL
        $(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@
@@ -129,9 +129,9 @@ gitlog_to_changelog_options = 
--amend=$(gitlog_to_changelog_fixes) \
 # give an error).
 #
 # We need the apparently useless dependency from another .PHONY target
-# `am--changelog-regen-hook' to work around a bug of Solaris make, which
+# 'am--changelog-regen-hook' to work around a bug of Solaris make, which
 # doesn't execute the recipe of a target named as an existing file, even
-# if such target is declared `.PHONY' (yikes!)
+# if such target is declared '.PHONY' (yikes!)
 #
 .PHONY: am--changelog-regen-hook
 am--changelog-regen-hook:
@@ -172,8 +172,8 @@ check-coverage-run recheck-coverage-run: all
 
 check-coverage-report:
        @if test ! -d "$(PERL_COVERAGE_DB)"; then \
-         echo "No coverage database found in \`$(PERL_COVERAGE_DB)'." >&2; \
-         echo "Please run \`make check-coverage' first" >&2; \
+         echo "No coverage database found in '$(PERL_COVERAGE_DB)'." >&2; \
+         echo "Please run \"make check-coverage\" first" >&2; \
          exit 1; \
        fi
        $(PERL_COVER) $(PERL_COVER_FLAGS) "$(PERL_COVERAGE_DB)"
diff --git a/NEWS b/NEWS
index 53a2f46..1b2e190 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,38 @@
 * WARNING: Future backward-incompatibilities!
 
+  - Starting from the next major Automake version (1.13), the parallel
+    testsuite harness (previously only enabled by the 'parallel-tests'
+    option) will become the default one; the older serial testsuite
+    harness will still be available through the use of the 'serial-tests'
+    option.
+
+  - The following long-obsolete m4 macros will be removed in the
+    next major Automake version (1.13):
+
+      AM_PROG_CC_STDC:    superseded by AC_PROG_CC since October 2002
+      fp_PROG_CC_STDC:    broken alias for AM_PROG_CC_STDC
+      fp_WITH_DMALLOC:    old alias for AM_WITH_DMALLOC
+      AM_CONFIG_HEADER:   superseded by AC_CONFIG_HEADERS since July 2002
+      ud_PATH_LISPDIR:    old alias for AM_PATH_LISPDIR
+      jm_MAINTAINER_MODE: old alias for AM_MAINTAINER_MODE
+      ud_GNU_GETTEXT:     old alias for AM_GNU_GETTEXT
+      gm_PROG_LIBTOOL:    old alias for AC_PROG_LIBTOOL
+      fp_C_PROTOTYPES:    old alias for AM_C_PROTOTYPES (which was part
+                          of the now-removed automatic de-ANSI-fication
+                          support of Automake)
+
+  - All the "old alias" macros in 'm4/obsolete.m4' will be removed in
+    the next major Automake version (1.13).
+
+  - Support for the two- and three-arguments invocation forms of the
+    AM_INIT_AUTOMAKE macro will be deprecated in the next minor version
+    of Automake (1.12.1) and removed in the next major version (1.13).
+
+  - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
+    variable, @mkdir_p@ substitution and AM_PROG_MKDIR m4 macro will
+    all be deprecated in the next minor version of Automake (1.12.1)
+    and removed in the next major version (1.13).
+
   - The '--acdir' option of aclocal is deprecated, and will probably
     be removed in the next major Automake release (1.13).  You should
     use the options '--automake-acdir' and '--system-acdir' instead
@@ -132,6 +165,10 @@ New in 1.11a:
 
 * Miscellaneous changes:
 
+  - Automake now prefers to quote 'like this' or "like this", rather
+    than `like this', in diagnostic message and generated Makefiles,
+    to accommodate the new GNU Coding Standards recommendations.
+
   - Automake has a new option '--print-libdir' that prints the path of the
     directory containing the Automake-provided scripts and data files.
 
@@ -164,6 +201,16 @@ New in 1.11a:
     '-Wall'.  In previous versions, one has to use '-Wextra-portability'
     to enable them.
 
+  - The 'ar-lib' script now ignores the "s" (symbol index) and "S" (no
+    symbol index) modifiers as well as the "s" action, as the symbol index
+    is created unconditionally by Microsoft lib.  Also, the "q" (quick)
+    action is now a synonym for "r" (replace).  Also, the script has been
+    ignoring the "v" (verbose) modifier already since Automake 1.11.3.
+
+  - When the 'compile' script is used to wrap MSVC, it now accepts an
+    optional space between the -I, -L and -l options and their respective
+    arguments, for better POSIX compliance.
+
 Bugs fixed in 1.11a:
 
   - Various minor bugfixes for recent or long-standing bugs.
@@ -181,6 +228,11 @@ Bugs fixed in 1.11a:
 
 * Long-standing bugs:
 
+  - It is now possible for a foo_SOURCES variable to hold Vala sources
+    together with C header files, as well as with sources and headers for
+    other supported languages (e.g., C++).  Previously, only mixing C and
+    Vala sources was supported.
+
   - Automake's own build system finally have a real "installcheck" target.
 
   - Files listed with the AC_REQUIRE_AUX_FILE macro in configure.ac are
@@ -219,6 +271,9 @@ New in 1.11.3:
 
 * Miscellaneous changes:
 
+  - Automatic dependency tracking now works also with the IBM XL C/C++
+    compilers, thanks to the new new depmode 'xlc'.
+
   - Automake's own build system is more silent by default, making use of
     the 'silent-rules' option.
 
diff --git a/THANKS b/THANKS
index 36f8f4b..c9aaa80 100644
--- a/THANKS
+++ b/THANKS
@@ -71,6 +71,7 @@ Daniel Kahn Gillmor   address@hidden
 Daniel Richard G.      address@hidden
 Debarshi Ray           address@hidden
 Dave Brolley           address@hidden
+Dave Goodell           address@hidden
 Dave Hart              address@hidden
 Dave Korn              address@hidden
 Dave Morrison          address@hidden
@@ -237,6 +238,7 @@ Maxim Sinev         address@hidden
 Maynard Johnson                address@hidden
 Merijn de Jonge                address@hidden
 Michael Brantley       address@hidden
+Michael Hofmann                address@hidden
 Michael Ploujnikov     address@hidden
 Michel de Ruiter       address@hidden
 Mike Castle            address@hidden
@@ -298,6 +300,7 @@ Phil Nelson         address@hidden
 Philip Fong            address@hidden
 Philip S Tellis                address@hidden
 Пухальский Юрий Андреевич address@hidden
+Quentin Glidic         address@hidden
 Rainer Orth            address@hidden
 Rafael Laboissiere     address@hidden
 Rainer Tammer          address@hidden
@@ -360,6 +363,7 @@ Thomas Tanner               address@hidden
 Toralf Förster                address@hidden
 Tim Goodwin            address@hidden
 Tim Mooney             address@hidden
+Tim Retout             address@hidden
 Tim Rice               address@hidden
 Tim Van Holder         address@hidden
 Toshio Kuratomi                address@hidden
@@ -369,6 +373,7 @@ Ulrich Eckhardt             address@hidden
 Václav Haisman                address@hidden
 Vadim Zeitlin          address@hidden
 Vincent Lefevre                address@hidden
+Vladimir Serbinenko    address@hidden
 Volker Boerchers       address@hidden
 Werner John            address@hidden
 Werner Koch            address@hidden
diff --git a/aclocal.in b/aclocal.in
index 5e7475f..243c2b5 100644
--- a/aclocal.in
+++ b/aclocal.in
@@ -54,9 +54,9 @@ $perl_threads = 0;
 # automake macros, and finally the system-wide directories for
 # third-party macros.
 # @user_includes can be augmented with -I.
-# @automake_includes can be reset with the `--automake-acdir' option.
-# @system_includes can be augmented with the `dirlist' file or the
-# ACLOCAL_PATH environment variable, and reset with the `--system-acdir'
+# @automake_includes can be reset with the '--automake-acdir' option.
+# @system_includes can be augmented with the 'dirlist' file or the
+# ACLOCAL_PATH environment variable, and reset with the '--system-acdir'
 # option.
 my @user_includes = ();
 my @automake_includes = ("@datadir@/aclocal-$APIVERSION");
@@ -128,9 +128,9 @@ my %serial = ();
 #   AC_DEFUN([macroname], ...)
 # or
 #   AC_DEFUN(macroname, ...)
-# When macroname is `['-quoted , we accept any character in the name,
-# except `]'.  Otherwise macroname stops on the first `]', `,', `)',
-# or `\n' encountered.
+# When macroname is '['-quoted , we accept any character in the name,
+# except ']'.  Otherwise macroname stops on the first ']', ',', ')',
+# or '\n' encountered.
 my $ac_defun_rx =
   "(?:AU_ALIAS|A[CU]_DEFUN|AC_DEFUN_ONCE)\\((?:\\[([^]]+)\\]|([^],)\n]+))";
 
@@ -150,7 +150,7 @@ my $ac_version;
 
 # If set, names a temporary file that must be erased on abnormal exit.
 my $erase_me;
-
+
 ################################################################
 
 # Erase temporary file ERASE_ME.  Handle signals.
@@ -164,7 +164,7 @@ sub unlink_tmp
     }
   if (defined $erase_me && -e $erase_me && !unlink ($erase_me))
     {
-      fatal "could not remove `$erase_me': $!";
+      fatal "could not remove '$erase_me': $!";
     }
   undef $erase_me;
 
@@ -185,7 +185,7 @@ sub check_acinclude ()
   foreach my $key (keys %map)
     {
       # FIXME: should print line number of acinclude.m4.
-      msg ('syntax', "macro `$key' defined in acinclude.m4 but never used")
+      msg ('syntax', "macro '$key' defined in acinclude.m4 but never used")
        if $map{$key} eq 'acinclude.m4' && ! exists $macro_seen{$key};
     }
 }
@@ -219,12 +219,12 @@ sub install_file ($$)
     {
       if (-e $dest)
        {
-         msg 'note', "overwriting `$dest' with `$src'";
+         msg 'note', "overwriting '$dest' with '$src'";
          $diff_dest = $dest;
        }
       else
        {
-         msg 'note', "installing `$dest' from `$src'";
+         msg 'note', "installing '$dest' from '$src'";
        }
 
       if (@diff_command)
@@ -312,7 +312,7 @@ sub scan_m4_dirs ($@)
     {
       if (! opendir (DIR, $m4dir))
        {
-         fatal "couldn't open directory `$m4dir': $!";
+         fatal "couldn't open directory '$m4dir': $!";
        }
 
       # We reverse the directory contents so that foo2.m4 gets
@@ -416,7 +416,7 @@ sub scan_configure_dep ($)
       while (/$m4_include_rx/go)
        {
          my $ifile = $2 || $3;
-         # Skip missing `sinclude'd files.
+         # Skip missing 'sinclude'd files.
          next if $1 ne 'm4_' && ! -f $ifile;
          push @ilist, $ifile;
        }
@@ -436,7 +436,7 @@ sub scan_configure_dep ($)
          # Make this just a warning, because we do not know whether
          # the macro is actually used (it could be called conditionally).
          msg ('unsupported', "$file:$line",
-              "macro `$2' not found in library");
+              "macro '$2' not found in library");
        }
     }
 
@@ -483,7 +483,7 @@ sub scan_file ($$$)
 
   $file_type{$file} = $type;
 
-  fatal "$where: file `$file' does not exist" if ! -e $file;
+  fatal "$where: file '$file' does not exist" if ! -e $file;
 
   my $fh = new Automake::XFile $file;
   my $contents = '';
@@ -496,7 +496,7 @@ sub scan_file ($$$)
 
   while ($_ = $fh->getline)
     {
-      # Ignore `##' lines.
+      # Ignore '##' lines.
       next if /^##/;
 
       $contents .= $_;
@@ -508,7 +508,7 @@ sub scan_file ($$$)
          if ($number !~ /$serial_number_rx/go)
            {
              msg ('syntax', "$file:$.",
-                  "ill-formed serial number `$number', "
+                  "ill-formed serial number '$number', "
                   . "expecting a version string with only digits and dots");
            }
          elsif ($defun_seen)
@@ -596,7 +596,7 @@ sub scan_file ($$$)
       while ($line =~ /$m4_include_rx/go)
        {
          my $ifile = $2 || $3;
-         # Skip missing `sinclude'd files.
+         # Skip missing 'sinclude'd files.
          next if $1 ne 'm4_' && ! -f $ifile;
          push (@inc_files, $ifile);
          $inc_lines{$ifile} = $.;
@@ -612,7 +612,7 @@ sub scan_file ($$$)
   $file_contents{$file} = $contents;
 
   # For some reason I don't understand, it does not work
-  # to do `map { scan_file ($_, ...) } @inc_files' below.
+  # to do "map { scan_file ($_, ...) } @inc_files" below.
   # With Perl 5.8.2 it undefines @inc_files.
   my @copy = @inc_files;
   my @all_inc_files = (@inc_files,
@@ -755,7 +755,7 @@ sub write_aclocal ($@)
 
       # If the file to add looks like outside the project, copy it
       # to the output.  The regex catches filenames starting with
-      # things like `/', `\', or `c:\'.
+      # things like '/', '\', or 'c:\'.
       if ($file_type{$file} != FT_USER
          || $file =~ m,^(?:\w:)?[\\/],)
        {
@@ -805,12 +805,12 @@ m4_if(m4_defn([AC_AUTOCONF_VERSION]), [$ac_version],,
 [m4_warning([this file was generated for autoconf $ac_version.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 
`autoreconf'.])])
+To do so, use the procedure documented by the package, typically 
'autoreconf'.])])
 
 $output";
     }
 
-  # We used to print `# $output_file generated automatically etc.'  But
+  # We used to print "# $output_file generated automatically etc."  But
   # this creates spurious differences when using autoreconf.  Autoreconf
   # creates aclocal.m4t and then rename it to aclocal.m4, but the
   # rebuild rules generated by Automake create aclocal.m4 directly --
@@ -857,7 +857,7 @@ $output";
     {
       if (-e $output_file && !unlink $output_file)
         {
-         fatal "could not remove `$output_file': $!";
+         fatal "could not remove '$output_file': $!";
        }
       my $out = new Automake::XFile "> $output_file";
       print $out $output;
@@ -872,9 +872,10 @@ sub usage ($)
 {
   my ($status) = @_;
 
-  print "Usage: aclocal [OPTION]...
+  print <<'EOF';
+Usage: aclocal [OPTION]...
 
-Generate `aclocal.m4' by scanning `configure.ac' or `configure.in'
+Generate 'aclocal.m4' by scanning 'configure.ac' or 'configure.in'
 
 Options:
       --automake-acdir=DIR  directory holding automake-provided m4 files
@@ -894,18 +895,17 @@ Options:
   -W, --warnings=CATEGORY   report the warnings falling in CATEGORY
 
 Warning categories include:
-  `syntax'        dubious syntactic constructs (default)
-  `unsupported'   unknown macros (default)
-  `all'           all the warnings (default)
-  `no-CATEGORY'   turn off warnings in CATEGORY
-  `none'          turn off all the warnings
-  `error'         treat warnings as errors
-
-" . 'Report bugs to <@PACKAGE_BUGREPORT@>.
+  syntax        dubious syntactic constructs (default)
+  unsupported   unknown macros (default)
+  all           all the warnings (default)
+  no-CATEGORY   turn off warnings in CATEGORY
+  none          turn off all the warnings
+  error         treat warnings as errors
+
+Report bugs to <@PACKAGE_BUGREPORT@>.
 GNU Automake home page: <@PACKAGE_URL@>.
 General help using GNU software: <http://www.gnu.org/gethelp/>.
-';
-
+EOF
   exit $status;
 }
 
@@ -929,7 +929,7 @@ EOF
 # the public (unversioned) system directory.  This usage is obsolete.
 sub handle_acdir_option ($$)
 {
-  msg 'obsolete', '', "`--acdir' is deprecated\n";
+  msg 'obsolete', '', "'--acdir' is deprecated\n";
   @system_includes = ($_[1]);
   @automake_includes = ();
 }
@@ -981,7 +981,7 @@ sub parse_arguments ()
             . "\nfirst -I option, but no -I was supplied");
     }
 
-  # Finally, adds any directory listed in the `dirlist' file.
+  # Finally, adds any directory listed in the 'dirlist' file.
   if (open (DIRLIST, "$system_includes[0]/dirlist"))
     {
       while (<DIRLIST>)
@@ -1000,7 +1000,7 @@ sub parse_arguments ()
     }
 }
 
-# Add any directory listed in the `ACLOCAL_PATH' environment variable
+# Add any directory listed in the 'ACLOCAL_PATH' environment variable
 # to the list of system include directories.
 sub parse_ACLOCAL_PATH ()
 {
diff --git a/automake.in b/automake.in
index 849abca..5cd9f95 100644
--- a/automake.in
+++ b/automake.in
@@ -35,15 +35,16 @@ BEGIN
   # Override SHELL.  This is required on DJGPP so that system() uses
   # bash, not COMMAND.COM which doesn't quote arguments properly.
   # Other systems aren't expected to use $SHELL when Automake
-  # runs, but it should be safe to drop the `if DJGPP' guard if
+  # runs, but it should be safe to drop the "if DJGPP" guard if
   # it turns up other systems need the same thing.  After all,
   # if SHELL is used, ./configure's SHELL is always better than
   # the user's SHELL (which may be something like tcsh).
   $ENV{'SHELL'} = '@SHELL@' if exists $ENV{'DJDIR'};
 }
 
-use Automake::Struct;
-struct (# Short name of the language (c, f77...).
+use Class::Struct ();
+Class::Struct::struct (
+       # Short name of the language (c, f77...).
        'name' => "\$",
        # Nice name of the language (C, Fortran 77...).
        'Name' => "\$",
@@ -51,7 +52,7 @@ struct (# Short name of the language (c, f77...).
        # List of configure variables which must be defined.
        'config_vars' => '@',
 
-       # `pure' is `1' or `'.  A `pure' language is one where, if
+       # 'pure' is '1' or ''.  A 'pure' language is one where, if
        # all the files in a directory are of that language, then we
        # do not require the C compiler or any code to call it.
        'pure'   => "\$",
@@ -186,7 +187,7 @@ my $RULE_PATTERN =
 
 # Only recognize leading spaces, not leading tabs.  If we recognize
 # leading tabs here then we need to make the reader smarter, because
-# otherwise it will think rules like `foo=bar; \' are errors.
+# otherwise it will think rules like 'foo=bar; \' are errors.
 my $ASSIGNMENT_PATTERN = '^ *([^ \t=:+]*)\s*([:+]?)=\s*(.*)' . "\$";
 # This pattern recognizes a Gnits version id and sets $1 if the
 # release is an alpha release.  We also allow a suffix which can be
@@ -268,7 +269,7 @@ my $gen_copyright = "\
 # These constants are returned by the lang_*_rewrite functions.
 # LANG_SUBDIR means that the resulting object file should be in a
 # subdir if the source file is.  In this case the file name cannot
-# have `..' components.
+# have '..' components.
 use constant LANG_IGNORE  => 0;
 use constant LANG_PROCESS => 1;
 use constant LANG_SUBDIR  => 2;
@@ -287,7 +288,6 @@ use constant QUEUE_MESSAGE   => "msg";
 use constant QUEUE_CONF_FILE => "conf file";
 use constant QUEUE_LOCATION  => "location";
 use constant QUEUE_STRING    => "string";
-
 
 ## ---------------------------------- ##
 ## Variables related to the options.  ##
@@ -344,7 +344,7 @@ my %ac_config_files_condition = ();
 # Directory to search for configure-required files.  This
 # will be computed by &locate_aux_dir and can be set using
 # AC_CONFIG_AUX_DIR in configure.ac.
-# $CONFIG_AUX_DIR is the `raw' directory, valid only in the source-tree.
+# $CONFIG_AUX_DIR is the 'raw' directory, valid only in the source-tree.
 my $config_aux_dir = '';
 my $config_aux_dir_set_in_configure_ac = 0;
 # $AM_CONFIG_AUX_DIR is prefixed with $(top_srcdir), so it can be used
@@ -400,7 +400,7 @@ my $seen_init_automake = 0;
 my $seen_automake_version = 0;
 
 # Hash table of discovered configure substitutions.  Keys are names,
-# values are `FILE:LINE' strings which are used by error message
+# values are 'FILE:LINE' strings which are used by error message
 # generation.
 my %configure_vars = ();
 
@@ -421,7 +421,7 @@ my %configure_cond = ();
 my %extension_map = ();
 
 # List of the DIST_COMMON files we discovered while reading
-# configure.in
+# configure.ac.
 my $configure_dist_common = '';
 
 # This maps languages names onto objects.
@@ -473,7 +473,6 @@ my $required_conf_file_queue;
 
 # The name of the Makefile currently being processed.
 my $am_file = 'BUG';
-
 
 ################################################################
 
@@ -531,7 +530,7 @@ my %compile_clean_files;
 # to delete.
 my %libtool_clean_directories;
 
-# Value of `$(SOURCES)', used by tags.am.
+# Value of $(SOURCES), used by tags.am.
 my @sources;
 # Sources which go in the distribution.
 my @dist_sources;
@@ -550,7 +549,7 @@ my %object_compilation_map;
 # This keeps track of the directories for which we've already
 # created dirstamp code.  Keys are directories, values are stamp files.
 # Several keys can share the same stamp files if they are equivalent
-# (as are `.//foo' and `foo').
+# (as are './/foo' and 'foo').
 my %directory_map;
 
 # All .P files.
@@ -576,7 +575,7 @@ my %language_scratch;
 # handling on a per-language basis.
 my %lang_specific_files;
 
-# This is set when `handle_dist' has finished.  Once this happens,
+# This is set when 'handle_dist' has finished.  Once this happens,
 # we should no longer push on dist_common.
 my $handle_dist_run;
 
@@ -584,7 +583,7 @@ my $handle_dist_run;
 # under consideration.
 my %linkers_used;
 
-# True if we need `LINK' defined.  This is a hack.
+# True if we need 'LINK' defined.  This is a hack.
 my $need_link;
 
 # Does the generated Makefile have to build some compiled object
@@ -593,7 +592,6 @@ my $must_handle_compiled_objects;
 
 # Record each file processed by make_paragraphs.
 my %transformed_files;
-
 
 ################################################################
 
@@ -671,7 +669,7 @@ sub initialize_per_input ()
     %clean_files = ();
     %compile_clean_files = ();
 
-    # We always include `.'.  This isn't strictly correct.
+    # We always include '.'.  This isn't strictly correct.
     %libtool_clean_directories = ('.' => 1);
 
     @sources = ();
@@ -954,11 +952,12 @@ register_language ('name' => 'ppfc',
 # Preprocessed Fortran 77
 #
 # The current support for preprocessing Fortran 77 just involves
-# passing `$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
-# $(CPPFLAGS)' as additional flags to the Fortran 77 compiler, since
-# this is how GNU Make does it; see the `GNU Make Manual, Edition 0.51
-# for `make' Version 3.76 Beta' (specifically, from info file
-# `(make)Catalogue of Rules').
+# passing "$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
+# $(CPPFLAGS)" as additional flags to the Fortran 77 compiler, since
+# this is how GNU Make does it; see the "GNU Make Manual, Edition 0.51
+# for `make' Version 3.76 Beta" (specifically, from info file
+# for `make' Version 3.76 Beta" (specifically, from info file
+# '(make)Catalogue of Rules').
 #
 # A better approach would be to write an Autoconf test
 # (i.e. AC_PROG_FPP) for a Fortran 77 preprocessor, because not all
@@ -1077,11 +1076,11 @@ sub subst ($)
 
 
 # $BACKPATH
-# &backname ($REL-DIR)
+# &backname ($RELDIR)
 # --------------------
-# If I `cd $REL-DIR', then to come back, I should `cd $BACKPATH'.
-# For instance `src/foo' => `../..'.
-# Works with non strictly increasing paths, i.e., `src/../lib' => `..'.
+# If I "cd $RELDIR", then to come back, I should "cd $BACKPATH".
+# For instance 'src/foo' => '../..'.
+# Works with non strictly increasing paths, i.e., 'src/../lib' => '..'.
 sub backname ($)
 {
     my ($file) = @_;
@@ -1092,7 +1091,7 @@ sub backname ($)
        if ($_ eq '..')
        {
            pop @res
-             or prog_error ("trying to reverse path `$file' pointing outside 
tree");
+             or prog_error ("trying to reverse path '$file' pointing outside 
tree");
        }
        else
        {
@@ -1104,11 +1103,11 @@ sub backname ($)
 
 ################################################################
 
-# `silent-rules' mode handling functions.
+# 'silent-rules' mode handling functions.
 
 # verbose_var (NAME)
 # ------------------
-# The public variable stem used to implement `silent-rules'.
+# The public variable stem used to implement 'silent-rules'.
 sub verbose_var ($)
 {
     my ($name) = @_;
@@ -1117,7 +1116,7 @@ sub verbose_var ($)
 
 # verbose_private_var (NAME)
 # --------------------------
-# The naming policy for the private variables for `silent-rules'.
+# The naming policy for the private variables for 'silent-rules'.
 sub verbose_private_var ($)
 {
     my ($name) = @_;
@@ -1126,7 +1125,7 @@ sub verbose_private_var ($)
 
 # define_verbose_var (NAME, VAL)
 # ------------------------------
-# For `silent-rules' mode, setup VAR and dispatcher, to expand to VAL if 
silent.
+# For 'silent-rules' mode, setup VAR and dispatcher, to expand to VAL if 
silent.
 sub define_verbose_var ($$)
 {
     my ($name, $val) = @_;
@@ -1166,7 +1165,7 @@ sub verbose_nodep_flag ($)
 
 # silent_flag
 # -----------
-# Contents of %SILENT%: variable to expand to `@' when silent.
+# Contents of %SILENT%: variable to expand to '@' when silent.
 sub silent_flag ()
 {
     return verbose_flag ('at');
@@ -1174,7 +1173,7 @@ sub silent_flag ()
 
 # define_verbose_tagvar (NAME)
 # ----------------------------
-# Engage the needed `silent-rules' machinery for tag NAME.
+# Engage the needed 'silent-rules' machinery for tag NAME.
 sub define_verbose_tagvar ($)
 {
     my ($name) = @_;
@@ -1187,7 +1186,7 @@ sub define_verbose_tagvar ($)
 
 # define_verbose_texinfo
 # ----------------------
-# Engage the needed `silent-rules' machinery for assorted texinfo commands.
+# Engage the needed 'silent-rules' machinery for assorted texinfo commands.
 sub define_verbose_texinfo ()
 {
   my @tagvars = ('DVIPS', 'MAKEINFO', 'INFOHTML', 'TEXI2DVI', 'TEXI2PDF');
@@ -1201,7 +1200,7 @@ sub define_verbose_texinfo ()
 
 # define_verbose_libtool
 # ----------------------
-# Engage the needed `silent-rules' machinery for `libtool --silent'.
+# Engage the needed 'silent-rules' machinery for 'libtool --silent'.
 sub define_verbose_libtool ()
 {
     define_verbose_var ('lt', '--silent');
@@ -1221,7 +1220,7 @@ sub handle_options
       if ($var->has_conditional_contents)
        {
          msg_var ('unsupported', $var,
-                  "`AUTOMAKE_OPTIONS' cannot have conditional contents");
+                  "'AUTOMAKE_OPTIONS' cannot have conditional contents");
        }
       my @options = map { { option => $_->[1], where => $_->[0] } }
                        $var->value_as_list_recursive (cond_filter => TRUE,
@@ -1276,9 +1275,9 @@ sub check_user_variables (@)
              if ($var->rdef ($cond)->owner == VAR_MAKEFILE)
                {
                  msg_cond_var ('gnu', $cond, $flag,
-                               "`$flag' is a user variable, "
+                               "'$flag' is a user variable, "
                                . "you should not override it;\n"
-                               . "use `AM_$flag' instead");
+                               . "use 'AM_$flag' instead");
                }
            }
        }
@@ -1302,7 +1301,7 @@ sub handle_languages
            require_conf_file ("$am_file.am", FOREIGN, 'depcomp');
 
            my @deplist = sort keys %dep_files;
-           # Generate each `include' individually.  Irix 6 make will
+           # Generate each 'include' individually.  Irix 6 make will
            # not properly include several files resulting from a
            # variable expansion; generating many separate includes
            # seems safest.
@@ -1420,8 +1419,8 @@ sub handle_languages
 
            my $obj_compile = $lang->compile;
 
-           # Rewrite each occurrence of `AM_$flag' in the compile
-           # rule into `${derived}_$flag' if it exists.
+           # Rewrite each occurrence of 'AM_$flag' in the compile
+           # rule into '${derived}_$flag' if it exists.
            for my $flag (@{$lang->flags})
              {
                my $val = "${derived}_$flag";
@@ -1443,7 +1442,7 @@ sub handle_languages
              "\$(LIBTOOL) $ltverbose $libtool_tag\$($ptltflags) 
\$(LIBTOOLFLAGS) "
              . "--mode=compile $obj_compile";
 
-           # We _need_ `-o' for per object rules.
+           # We _need_ '-o' for per object rules.
            my $output_flag = $lang->output_flag || '-o';
 
            $output_rules .=
@@ -1455,7 +1454,7 @@ sub handle_languages
                             BASE      => $obj,
                             SOURCE    => $source,
                             SOURCEFLAG => $sourceflags{$srcext} || '',
-                            # Use $myext and not `.o' here, in case
+                            # Use $myext and not '.o' here, in case
                             # we are actually building a new source
                             # file -- e.g. via yacc.
                             OBJ       => "$obj$myext",
@@ -1483,7 +1482,7 @@ sub handle_languages
                                        %transform, %lang);
 
        # If the source to a program consists entirely of code from a
-       # `pure' language, for instance C++ or Fortran 77, then we
+       # 'pure' language, for instance C++ or Fortran 77, then we
        # don't need the C compiler code.  However if we run into
        # something unusual then we do generate the C code.  There are
        # probably corner cases here that do not work properly.
@@ -1502,7 +1501,7 @@ sub handle_languages
        # Call the finisher.
        $lang->finish;
 
-       # Flags listed in `->flags' are user variables (per GNU Standards),
+       # Flags listed in '->flags' are user variables (per GNU Standards),
        # they should not be overridden in the Makefile...
        my @dont_override = @{$lang->flags};
        # ... and so is LDFLAGS.
@@ -1524,7 +1523,7 @@ sub handle_languages
        define_linker_variable ($languages{'c'});
       }
 
-    # Always provide the user with `AM_V_GEN' for `silent-rules' mode.
+    # Always provide the user with 'AM_V_GEN' for 'silent-rules' mode.
     define_verbose_tagvar ('GEN');
 }
 
@@ -1584,7 +1583,7 @@ sub check_libobjs_sources
       foreach my $file (@files)
        {
          err_var ($prefix . $one_file . '_SOURCES',
-                  "automatically discovered file `$file' should not" .
+                  "automatically discovered file '$file' should not" .
                   " be explicitly mentioned")
            if defined $libsources{$file};
        }
@@ -1600,7 +1599,7 @@ sub check_libobjs_sources
 #   $VAR is the name of the variable that the source filenames come from
 #   $TOPPARENT is the name of the _SOURCES variable which is being processed
 #   $DERIVED is the name of resulting executable or library
-#   $OBJ is the object extension (e.g., `.lo')
+#   $OBJ is the object extension (e.g., '.lo')
 #   $FILE the source file to transform
 #   %TRANSFORM contains extras arguments to pass to file_contents
 #     when producing explicit rules
@@ -1622,16 +1621,16 @@ sub handle_single_transform ($$$$$%)
        if (/address@hidden@$/)
        {
          my $parent_msg = '';
-         $parent_msg = "\nand is referred to from `$topparent'"
+         $parent_msg = "\nand is referred to from '$topparent'"
            if $topparent ne $var->name;
          err_var ($var,
-                  "`" . $var->name . "' includes configure substitution `$_'"
+                  "'" . $var->name . "' includes configure substitution '$_'"
                   . $parent_msg . ";\nconfigure " .
                   "substitutions are not allowed in _SOURCES variables");
          next;
        }
 
-       # If the source file is in a subdirectory then the `.o' is put
+       # If the source file is in a subdirectory then the '.o' is put
        # into the current directory, unless the subdir-objects option
        # is in effect.
 
@@ -1650,10 +1649,10 @@ sub handle_single_transform ($$$$$%)
        # yacc output).
        my $derived_source = 0;
 
-       # This holds the `aggregate context' of the file we are
+       # This holds the 'aggregate context' of the file we are
        # currently examining.  If the file is compiled with
        # per-object flags, then it will be the name of the object.
-       # Otherwise it will be `AM'.  This is used by the target hook
+       # Otherwise it will be 'AM'.  This is used by the target hook
        # language function.
        my $aggregate = 'AM';
 
@@ -1713,7 +1712,7 @@ sub handle_single_transform ($$$$$%)
                # object.  In this case we rewrite the object's
                # name to ensure it is unique.
 
-               # We choose the name `DERIVED_OBJECT' to ensure
+               # We choose the name 'DERIVED_OBJECT' to ensure
                # (1) uniqueness, and (2) continuity between
                # invocations.  However, this will result in a
                # name that is too long for losing systems, in
@@ -1816,7 +1815,7 @@ sub handle_single_transform ($$$$$%)
                # Each item on this list is a reference to a list consisting
                # of four values followed by additional transform flags for
                # file_contents.  The four values are the derived flag prefix
-               # (e.g. for `foo_CFLAGS', it is `foo'), the name of the
+               # (e.g. for 'foo_CFLAGS', it is 'foo'), the name of the
                # source file, the base name of the output file, and
                # the extension for the object file.
                push (@{$lang_specific_files{$lang->name}},
@@ -1842,7 +1841,7 @@ sub handle_single_transform ($$$$$%)
            next;
        }
 
-       err_am "object `$object' created by `$full' and `$object_map{$object}'"
+       err_am "object '$object' created by '$full' and '$object_map{$object}'"
          if (defined $object_map{$object}
              && $object_map{$object} ne $full);
 
@@ -1856,7 +1855,7 @@ sub handle_single_transform ($$$$$%)
                != (COMPILE_LIBTOOL | COMPILE_ORDINARY))
            && $object_compilation_map{$comp_obj} != $comp_val)
          {
-           err_am "object `$comp_obj' created both with libtool and without";
+           err_am "object '$comp_obj' created both with libtool and without";
          }
        $object_compilation_map{$comp_obj} |= $comp_val;
 
@@ -1897,13 +1896,13 @@ sub handle_single_transform ($$$$$%)
                # project
 
                # For Java, the way we're handling it right now, a
-               # `..' component doesn't make sense.
+               # '..' component doesn't make sense.
                if ($lang && $lang->name eq 'java' && $object =~ /(\/|^)\.\.\//)
                  {
-                   err_am "`$full' should not contain a `..' component";
+                   err_am "'$full' should not contain a '..' component";
                  }
 
-               # Make sure object is removed by `make mostlyclean'.
+               # Make sure object is removed by 'make mostlyclean'.
                $compile_clean_files{$object} = MOSTLY_CLEAN;
                # If we have a libtool object then we also must remove
                # the ordinary .o.
@@ -1962,7 +1961,7 @@ sub handle_single_transform ($$$$$%)
 #   $NODEFINE is a boolean: if true, $OBJVAR will not be defined (but
 #     work done to determine the linker will be).
 #   $ONE_FILE is the canonical (transformed) name of object to build
-#   $OBJ is the object extension (i.e. either `.o' or `.lo').
+#   $OBJ is the object extension (i.e. either '.o' or '.lo').
 #   $TOPPARENT is the _SOURCES variable being processed.
 #   $WHERE context into which this definition is done
 #   %TRANSFORM extra arguments to pass to file_contents when producing
@@ -1999,11 +1998,11 @@ sub define_objects_from_sources ($$$$$$$%)
 # Arguments are:
 #   canonical (transformed) name of target to build
 #   actual target of object to build
-#   object extension (i.e., either `.o' or `$o')
+#   object extension (i.e., either '.o' or '$o')
 #   location of the source variable
 #   extra arguments to pass to file_contents when producing rules
 # Return the name of the linker variable that must be used.
-# Empty return means just use `LINK'.
+# Empty return means just use 'LINK'.
 sub handle_source_transform ($$$$%)
 {
     # one_file is canonical name.  unxformed is given name.  obj is
@@ -2074,8 +2073,8 @@ sub handle_source_transform ($$$$%)
            my $loc = $where->clone;
            $loc->pop_context;
            msg ('obsolete', $loc,
-                "the default source for `$unxformed' has been changed "
-                . "to `$default_source'.\n(Using `$old_default_source' for "
+                "the default source for '$unxformed' has been changed "
+                . "to '$default_source'.\n(Using '$old_default_source' for "
                 . "backward compatibility.)");
            $default_source = $old_default_source;
          }
@@ -2107,7 +2106,7 @@ sub handle_source_transform ($$$$%)
        define_pretty_variable ($one_file . '_OBJECTS', TRUE, $where, @keys);
     }
 
-    # If we want to use `LINK' we must make sure it is defined.
+    # If we want to use 'LINK' we must make sure it is defined.
     if ($linker eq '')
     {
        $need_link = 1;
@@ -2130,9 +2129,9 @@ sub handle_lib_objects
   my ($xname, $varname) = @_;
 
   my $var = var ($varname);
-  prog_error "`$varname' undefined"
+  prog_error "'$varname' undefined"
     unless $var;
-  prog_error "unexpected variable name `$varname'"
+  prog_error "unexpected variable name '$varname'"
     unless $varname =~ /^(.*)(?:LIB|LD)ADD$/;
   my $prefix = $1 || 'AM_';
 
@@ -2164,8 +2163,8 @@ sub handle_lib_objects
               $flagvar = 1;
               # FIXME: should display a stack of nested variables
               # as context when $var != $subvar.
-              err_var ($var, "linker flags such as `$val' belong in "
-                       . "`${prefix}LDFLAGS'");
+              err_var ($var, "linker flags such as '$val' belong in "
+                       . "'${prefix}LDFLAGS'");
             }
           return ();
         }
@@ -2212,7 +2211,7 @@ sub handle_LIBOBJS_or_ALLOCA ($)
   # If LIBOBJS files must be built in another directory we have
   # to define LIBOBJDIR and ensure the files get cleaned.
   # Otherwise LIBOBJDIR can be left undefined, and the cleaning
-  # is achieved by `rm -f *.$(OBJEXT)' in compile.am.
+  # is achieved by 'rm -f *.$(OBJEXT)' in compile.am.
   if ($config_libobj_dir
       && $relative_dir ne $config_libobj_dir)
     {
@@ -2232,8 +2231,8 @@ sub handle_LIBOBJS_or_ALLOCA ($)
        }
       else
        {
-         error ("`\$($var)' cannot be used outside `$config_libobj_dir' if"
-                . " `subdir-objects' is not set");
+         error ("'\$($var)' cannot be used outside '$config_libobj_dir' if"
+                . " 'subdir-objects' is not set");
        }
     }
 
@@ -2312,7 +2311,7 @@ sub check_canonical_spelling
     {
       foreach my $xt (@suffixes)
        {
-         reject_var ("$name$xt", "use `$xname$xt', not `$name$xt'");
+         reject_var ("$name$xt", "use '$xname$xt', not '$name$xt'");
        }
     }
 
@@ -2341,11 +2340,11 @@ sub handle_compile ()
                push @incs, '-I' . dirname ($hdr);
              }
          }
-       # We want `-I. -I$(srcdir)', but the latter -I is redundant
+       # We want '-I. -I$(srcdir)', but the latter -I is redundant
        # and unaesthetic in non-VPATH builds.  We use address@hidden@`
        # instead.  It will be replaced by '-I.' or '-I. -I$(srcdir)'.
        # Items in CONFIG_HEADER are never in $(srcdir) so it is safe
-       # to just put @am__isrc@ right after `-I.', without a space.
+       # to just put @am__isrc@ right after '-I.', without a space.
        ($default_includes = ' ' . uniq (@incs)) =~ s/ @/@/;
       }
 
@@ -2433,7 +2432,7 @@ sub handle_programs
                                             '_SOURCES', '_OBJECTS',
                                             '_DEPENDENCIES');
 
-      $where->push_context ("while processing program `$one_file'");
+      $where->push_context ("while processing program '$one_file'");
       $where->set (INTERNAL->get);
 
       my $linker = &handle_source_transform ($xname, $one_file, $obj, $where,
@@ -2457,7 +2456,7 @@ sub handle_programs
        }
 
       reject_var ($xname . '_LIBADD',
-                 "use `${xname}_LDADD', not `${xname}_LIBADD'");
+                 "use '${xname}_LDADD', not '${xname}_LIBADD'");
 
       set_seen ($xname . '_DEPENDENCIES');
       set_seen ('EXTRA_' . $xname . '_DEPENDENCIES');
@@ -2533,13 +2532,13 @@ sub handle_libraries
          my $suggestion = dirname ($onelib) . "/$bn";
          $suggestion =~ s|^\./||g;
          msg ('error-gnu/warn', $where,
-              "`$onelib' is not a standard library name\n"
-              . "did you mean `$suggestion'?")
+              "'$onelib' is not a standard library name\n"
+              . "did you mean '$suggestion'?")
        }
 
       ($known_libraries{$onelib} = $bn) =~ s/\.a$//;
 
-      $where->push_context ("while processing library `$onelib'");
+      $where->push_context ("while processing library '$onelib'");
       $where->set (INTERNAL->get);
 
       my $obj = '.$(OBJEXT)';
@@ -2569,7 +2568,7 @@ sub handle_libraries
        }
 
       reject_var ($xlib . '_LDADD',
-                 "use `${xlib}_LIBADD', not `${xlib}_LDADD'");
+                 "use '${xlib}_LIBADD', not '${xlib}_LDADD'");
 
       # Make sure we at look at this.
       set_seen ($xlib . '_DEPENDENCIES');
@@ -2603,8 +2602,8 @@ sub handle_libraries
       if (! $seen_ar)
        {
          msg ('extra-portability', $where,
-              "`$onelib': linking libraries using a non-POSIX\n"
-              . "archiver requires `AM_PROG_AR' in `$configure_ac'")
+              "'$onelib': linking libraries using a non-POSIX\n"
+              . "archiver requires 'AM_PROG_AR' in '$configure_ac'")
        }
     }
 }
@@ -2648,7 +2647,7 @@ sub handle_ltlibraries
 
       # We reject libraries which are installed in several places
       # in the same condition, because we can only specify one
-      # `-rpath' option.
+      # '-rpath' option.
       $var->traverse_recursively
        (sub
         {
@@ -2668,19 +2667,19 @@ sub handle_ltlibraries
               if ($msg)
                 {
                   error ($where, $msg, partial => 1);
-                  my $dirtxt = "installed " . ($strip_subdir ? "in" : "below") 
. " `$dir'";
-                  $dirtxt = "built for `$dir'"
+                  my $dirtxt = "installed " . ($strip_subdir ? "in" : "below") 
. " '$dir'";
+                  $dirtxt = "built for '$dir'"
                     if $dir eq 'EXTRA' || $dir eq 'noinst' || $dir eq 'check';
                   my $dircond =
                     $full_cond->true ? "" : " in condition $hcond";
 
-                  error ($where, "`$val' should be $dirtxt$dircond ...",
+                  error ($where, "'$val' should be $dirtxt$dircond ...",
                          partial => 1);
 
                   my $hacond = $acond->human;
                   my $adir = $instdirs{$val}{$acond};
-                  my $adirtxt = "installed in `$adir'";
-                  $adirtxt = "built for `$adir'"
+                  my $adirtxt = "installed in '$adir'";
+                  $adirtxt = "built for '$adir'"
                     if ($adir eq 'EXTRA' || $adir eq 'noinst'
                         || $adir eq 'check');
                   my $adircond = $acond->true ? "" : " in condition $hacond";
@@ -2749,13 +2748,13 @@ sub handle_ltlibraries
          my $suggestion = dirname ($onelib) . "/$bn";
          $suggestion =~ s|^\./||g;
          msg ('error-gnu/warn', $where,
-              "`$onelib' is not a standard libtool $type name\n"
-              . "did you mean `$suggestion'?")
+              "'$onelib' is not a standard libtool $type name\n"
+              . "did you mean '$suggestion'?")
        }
 
       ($known_libraries{$onelib} = $bn) =~ s/\.la$//;
 
-      $where->push_context ("while processing Libtool library `$onelib'");
+      $where->push_context ("while processing Libtool library '$onelib'");
       $where->set (INTERNAL->get);
 
       # Make sure we look at these.
@@ -2778,7 +2777,7 @@ sub handle_ltlibraries
        }
 
       reject_var ("${xlib}_LDADD",
-                 "use `${xlib}_LIBADD', not `${xlib}_LDADD'");
+                 "use '${xlib}_LIBADD', not '${xlib}_LDADD'");
 
 
       my $linker = &handle_source_transform ($xlib, $onelib, $obj, $where,
@@ -2849,8 +2848,8 @@ sub handle_ltlibraries
       if (! $seen_ar)
        {
          msg ('extra-portability', $where,
-              "`$onelib': linking libtool libraries using a non-POSIX\n"
-              . "archiver requires `AM_PROG_AR' in `$configure_ac'")
+              "'$onelib': linking libtool libraries using a non-POSIX\n"
+              . "archiver requires 'AM_PROG_AR' in '$configure_ac'")
        }
     }
 }
@@ -2872,8 +2871,8 @@ sub check_typos ()
          for my $cond ($var->conditions->conds)
            {
              $varname =~ 
/^(?:EXTRA_)?(?:nobase_)?(?:dist_|nodist_)?(.*)_[[:alnum:]]+$/;
-             msg_var ('syntax', $var, "variable `$varname' is defined but no"
-                      . " program or\nlibrary has `$1' as canonical name"
+             msg_var ('syntax', $var, "variable '$varname' is defined but no"
+                      . " program or\nlibrary has '$1' as canonical name"
                       . " (possible typo)")
                unless $var->rdef ($cond)->seen;
            }
@@ -2946,7 +2945,7 @@ sub scan_texinfo_file ($)
          if ($outfile =~ /\.([^.]+)$/ && $1 ne 'info')
            {
              error ("$filename:$.",
-                    "output `$outfile' has unrecognized extension");
+                    "output '$outfile' has unrecognized extension");
              return;
            }
        }
@@ -2977,7 +2976,7 @@ sub scan_texinfo_file ($)
 
   if (! $outfile)
     {
-      err_am "`$filename' missing address@hidden";
+      err_am "'$filename' missing address@hidden";
       return;
     }
 
@@ -2999,7 +2998,7 @@ sub output_texinfo_build_rules ($$$@)
 {
   my ($source, $dest, $insrc, @deps) = @_;
 
-  # Split `a.texi' into `a' and `.texi'.
+  # Split 'a.texi' into 'a' and '.texi'.
   my ($spfx, $ssfx) = ($source =~ /^(.*?)(\.[^.]*)?$/);
   my ($dpfx, $dsfx) = ($dest =~ /^(.*?)(\.[^.]*)?$/);
 
@@ -3116,7 +3115,7 @@ sub handle_texinfo_helper ($)
       if ($infobase eq $texi)
        {
          # FIXME: report line number.
-         err_am "texinfo file `$texi' has unrecognized extension";
+         err_am "texinfo file '$texi' has unrecognized extension";
          next;
        }
 
@@ -3199,7 +3198,7 @@ sub handle_texinfo_helper ($)
       #       make would not rebuild it in the build tree.
       #   (2) having two copies of .info files, one in the source tree
       #       and one (newer) in the build tree is not a problem
-      #       because `make dist' always pick files in the build tree
+      #       because 'make dist' always pick files in the build tree
       #       first.
       # However it turned out the be a bad idea for several reasons:
       #   * Tru64, OpenBSD, and FreeBSD (not NetBSD) Make do not behave
@@ -3219,7 +3218,7 @@ sub handle_texinfo_helper ($)
       #     build tree can be annoying during development because
       #     - if the files is kept under CVS, you really want it
       #       to be updated in the source tree
-      #     - it is confusing that `make distclean' does not erase
+      #     - it is confusing that 'make distclean' does not erase
       #       all files in the build tree.
       #
       # Consequently, starting with Automake 1.8, .info files are
@@ -3262,8 +3261,8 @@ sub handle_texinfo_helper ($)
       # If a vers*.texi file is needed, emit the rule.
       if ($vtexi)
        {
-         err_am ("`$vtexi', included in `$texi', "
-                 . "also included in `$versions{$vtexi}'")
+         err_am ("'$vtexi', included in '$texi', "
+                 . "also included in '$versions{$vtexi}'")
            if defined $versions{$vtexi};
          $versions{$vtexi} = $texi;
 
@@ -3381,7 +3380,7 @@ sub handle_texinfo_helper ($)
 # Handle all Texinfo source.
 sub handle_texinfo ()
 {
-  reject_var 'TEXINFOS', "`TEXINFOS' is an anachronism; use `info_TEXINFOS'";
+  reject_var 'TEXINFOS', "'TEXINFOS' is an anachronism; use 'info_TEXINFOS'";
   # FIXME: I think this is an obsolete future feature name.
   reject_var 'html_TEXINFOS', "HTML generation not yet supported";
 
@@ -3410,7 +3409,7 @@ sub handle_texinfo ()
 # Handle any man pages.
 sub handle_man_pages
 {
-  reject_var 'MANS', "`MANS' is an anachronism; use `man_MANS'";
+  reject_var 'MANS', "'MANS' is an anachronism; use 'man_MANS'";
 
   # Find all the sections in use.  We do this by first looking for
   # "standard" sections, and then looking for any additional
@@ -3453,7 +3452,7 @@ sub handle_man_pages
            {
              foreach ($var->value_as_list_recursive)
                {
-                 # A page like `foo.1c' goes into man1dir.
+                 # A page like 'foo.1c' goes into man1dir.
                  if (/\.([0-9a-z])([a-z]*)$/)
                    {
                      $sections{$1} = 1;
@@ -3564,7 +3563,7 @@ sub handle_tags
     if (var ('SUBDIRS'))
     {
        $output_rules .= ("tags-recursive:\n"
-                         . "\tlist=\'\$(SUBDIRS)\'; for subdir in \$\$list; do 
\\\n"
+                         . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do 
\\\n"
                          # Never fail here if a subdir fails; it
                          # isn't important.
                          . "\t  test \"\$\$subdir\" = . || (\$(am__cd) 
\$\$subdir"
@@ -3574,7 +3573,7 @@ sub handle_tags
        &depend ('.PHONY', 'tags-recursive');
 
        $output_rules .= ("ctags-recursive:\n"
-                         . "\tlist=\'\$(SUBDIRS)\'; for subdir in \$\$list; do 
\\\n"
+                         . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do 
\\\n"
                          # Never fail here if a subdir fails; it
                          # isn't important.
                          . "\t  test \"\$\$subdir\" = . || (\$(am__cd) 
\$\$subdir"
@@ -3584,7 +3583,7 @@ sub handle_tags
        &depend ('.PHONY', 'ctags-recursive');
 
        $output_rules .= ("cscopelist-recursive:\n"
-                         . "\tlist=\'\$(SUBDIRS)\'; for subdir in \$\$list; do 
\\\n"
+                         . "\tlist='\$(SUBDIRS)'; for subdir in \$\$list; do 
\\\n"
                          # Never fail here if a subdir fails; it
                          # isn't important.
                          . "\t  test \"\$\$subdir\" = . || (\$(am__cd) 
\$\$subdir"
@@ -3620,8 +3619,8 @@ sub handle_tags
        set_seen 'TAGS_DEPENDENCIES';
     }
     elsif (reject_var ('TAGS_DEPENDENCIES',
-                      "it doesn't make sense to define `TAGS_DEPENDENCIES'"
-                      . " without\nsources or `ETAGS_ARGS'"))
+                      "it doesn't make sense to define 'TAGS_DEPENDENCIES'"
+                      . " without\nsources or 'ETAGS_ARGS'"))
     {
     }
     else
@@ -3691,7 +3690,7 @@ sub handle_dist ()
   my %transform;
 
   # Define DIST_SUBDIRS.  This must always be done, regardless of the
-  # no-dist setting: target like `distclean' or `maintainer-clean' use it.
+  # no-dist setting: target like 'distclean' or 'maintainer-clean' use it.
   my $subdirs = var ('SUBDIRS');
   if ($subdirs)
     {
@@ -3717,7 +3716,7 @@ sub handle_dist ()
        }
       else
        {
-         # We always define this because that is what `distclean'
+         # We always define this because that is what 'distclean'
          # wants.
          define_pretty_variable ('DIST_SUBDIRS', TRUE, INTERNAL,
                                  '$(SUBDIRS)');
@@ -3760,7 +3759,7 @@ sub handle_dist ()
          &push_dist_common ($cfile);
        }
 
-      # Don't use `elsif' here because a file might meaningfully
+      # Don't use 'elsif' here because a file might meaningfully
       # appear in both directories.
       if ($check_aux && dir_has_case_matching_file ($config_aux_dir, $cfile))
        {
@@ -3772,11 +3771,11 @@ sub handle_dist ()
   # %dist_common if we think we need to.  If the file appears in our
   # directory, we would have discovered it already, so we don't
   # check that.  But if the file is in a subdir without a Makefile,
-  # we want to distribute it here if we are doing `.'.  Ugly!
+  # we want to distribute it here if we are doing '.'.  Ugly!
   # Also, in some corner cases, it's possible that the following code
   # will cause the same file to appear in the $(DIST_COMMON) variables
   # of two distinct Makefiles; but this is not a problem, since the
-  # `distdir' target in `lib/am/distdir.am' can deal with the same
+  # 'distdir' target in 'lib/am/distdir.am' can deal with the same
   # file being distributed multiple times.
   # See also automake bug#9651.
   if ($relative_dir eq '.')
@@ -3790,7 +3789,7 @@ sub handle_dist ()
     }
 
   # Files to distributed.  Don't use ->value_as_list_recursive
-  # as it recursively expands `$(dist_pkgdata_DATA)' etc.
+  # as it recursively expands '$(dist_pkgdata_DATA)' etc.
   my @dist_common = split (' ', rvar ('DIST_COMMON')->variable_value);
   @dist_common = uniq (sort for_dist_common (@dist_common));
   variable_delete 'DIST_COMMON';
@@ -3809,7 +3808,7 @@ sub handle_dist ()
   $transform{'DISTCHECK-HOOK'} = !! rule 'distcheck-hook';
   $transform{'GETTEXT'} = $seen_gettext && !$seen_gettext_external;
 
-  # If the target `dist-hook' exists, make sure it is run.  This
+  # If the target 'dist-hook' exists, make sure it is run.  This
   # allows users to do random weird things to the distribution
   # before it is packaged up.
   push (@dist_targets, 'dist-hook')
@@ -3838,10 +3837,10 @@ sub check_directory ($$;$)
   error $where, "required directory $reldir/$dir does not exist"
     unless -d "$reldir/$dir";
 
-  # `aux' is probably the most important of the following forbidden name,
+  # 'aux' is probably the most important of the following forbidden name,
   # since it's tempting to use it as an AC_CONFIG_AUX_DIR.
   msg ('portability', $where,
-       "name `$dir' is reserved on W32 and DOS platforms")
+       "name '$dir' is reserved on W32 and DOS platforms")
     if grep (/^\Q$dir\E$/i, qw/aux lpt1 lpt2 lpt3 com1 com2 com3 com4 con 
prn/);
 }
 
@@ -3908,7 +3907,7 @@ sub scan_aclocal_m4 ()
     {
       push (@ac_deps, '$(ACLOCAL_M4_SOURCES)');
       msg_var ('obsolete', 'ACLOCAL_M4_SOURCES',
-              "`ACLOCAL_M4_SOURCES' is obsolete.\n"
+              "'ACLOCAL_M4_SOURCES' is obsolete.\n"
               . "It should be safe to simply remove it");
     }
 
@@ -4002,7 +4001,7 @@ sub rewrite_inputs_into_dependencies ($@)
       else
        {
          msg ('error', $ac_config_files_location{$file},
-              "required file `$i' not found")
+              "required file '$i' not found")
            unless $i =~ /\$/ || exists $output_files{$i} || -f $i;
          ($i) = prepend_srcdir ($i);
          push_dist_common ($i);
@@ -4167,8 +4166,8 @@ sub handle_configure ($$$@)
     }
 
   reject_var ('CONFIG_HEADER',
-             "`CONFIG_HEADER' is an anachronism; now determined "
-             . "automatically\nfrom `$configure_ac'");
+             "'CONFIG_HEADER' is an anachronism; now determined "
+             . "automatically\nfrom '$configure_ac'");
 
   my @config_h;
   foreach my $spec (@config_headers)
@@ -4218,7 +4217,7 @@ sub handle_configure ($$$@)
 
       # We skip files that aren't in this directory.  However, if
       # the file's directory does not have a Makefile, and we are
-      # currently doing `.', then we create a rule to rebuild the
+      # currently doing '.', then we create a rule to rebuild the
       # file in the subdir.
       my $fd = dirname ($file);
       if ($fd ne $relative_dir)
@@ -4272,8 +4271,8 @@ sub handle_configure ($$$@)
        {
          # We skip links that aren't in this directory.  However, if
          # the link's directory does not have a Makefile, and we are
-         # currently doing `.', then we add the link to CONFIG_CLEAN_FILES
-         # in `.'s Makefile.in.
+         # currently doing '.', then we add the link to CONFIG_CLEAN_FILES
+         # in '.'s Makefile.in.
          my $local = basename ($link);
          my $fd = dirname ($link);
          if ($fd ne $relative_dir)
@@ -4303,7 +4302,7 @@ sub handle_configure ($$$@)
          my $fd = dirname ($file);
 
          # We distribute files that are in this directory.
-         # At the top-level (`.') we also distribute files whose
+         # At the top-level ('.') we also distribute files whose
          # directory does not have a Makefile.
          if (($fd eq $relative_dir)
              || ($relative_dir eq '.' && ! &is_make_dir ($fd)))
@@ -4370,20 +4369,20 @@ sub handle_gettext
       my @subdirs = $subdirs->value_as_list_recursive;
 
       msg_var ('syntax', $subdirs,
-              "AM_GNU_GETTEXT used but `po' not in SUBDIRS")
+              "AM_GNU_GETTEXT used but 'po' not in SUBDIRS")
        if ! grep ($_ eq 'po', @subdirs);
 
       # intl/ is not required when AM_GNU_GETTEXT is called with the
-      # `external' option and AM_GNU_GETTEXT_INTL_SUBDIR is not called.
+      # 'external' option and AM_GNU_GETTEXT_INTL_SUBDIR is not called.
       msg_var ('syntax', $subdirs,
-              "AM_GNU_GETTEXT used but `intl' not in SUBDIRS")
+              "AM_GNU_GETTEXT used but 'intl' not in SUBDIRS")
        if (! ($seen_gettext_external && ! $seen_gettext_intl)
            && ! grep ($_ eq 'intl', @subdirs));
 
       # intl/ should not be used with AM_GNU_GETTEXT([external]), except
       # if AM_GNU_GETTEXT_INTL_SUBDIR is called.
       msg_var ('syntax', $subdirs,
-              "`intl' should not be in SUBDIRS when "
+              "'intl' should not be in SUBDIRS when "
               . "AM_GNU_GETTEXT([external]) is used")
        if ($seen_gettext_external && ! $seen_gettext_intl
            && grep ($_ eq 'intl', @subdirs));
@@ -4396,7 +4395,7 @@ sub handle_gettext
 sub handle_footer
 {
     reject_rule ('.SUFFIXES',
-                "use variable `SUFFIXES', not target `.SUFFIXES'");
+                "use variable 'SUFFIXES', not target '.SUFFIXES'");
 
     # Note: AIX 4.1 /bin/make will fail if any suffix rule appears
     # before .SUFFIXES.  So we make sure that .SUFFIXES appears before
@@ -4428,7 +4427,7 @@ sub handle_footer
 }
 
 
-# Generate `make install' rules.
+# Generate 'make install' rules.
 sub handle_install ()
 {
   $output_rules .= &file_contents
@@ -4449,7 +4448,7 @@ sub handle_all ($)
 {
     my ($makefile) = @_;
 
-    # Output `all-am'.
+    # Output 'all-am'.
 
     # Put this at the beginning for the sake of non-GNU makes.  This
     # is still wrong if these makes can run parallel jobs.  But it is
@@ -4463,7 +4462,7 @@ sub handle_all ($)
          if dirname ($out) eq $relative_dir;
       }
 
-    # Install `all' hooks.
+    # Install 'all' hooks.
     push (@all, "all-local")
       if user_phony_rule "all-local";
 
@@ -4471,7 +4470,7 @@ sub handle_all ($)
     &depend ('.PHONY', 'all-am', 'all');
 
 
-    # Output `all'.
+    # Output 'all'.
 
     my @local_headers = ();
     push @local_headers, '$(BUILT_SOURCES)'
@@ -4487,7 +4486,7 @@ sub handle_all ($)
       {
        # We need to make sure config.h is built before we recurse.
        # We also want to make sure that built sources are built
-       # before any ordinary `all' targets are run.  We can't do this
+       # before any ordinary 'all' targets are run.  We can't do this
        # by changing the order of dependencies to the "all" because
        # that breaks when using parallel makes.  Instead we handle
        # things explicitly.
@@ -4522,7 +4521,7 @@ sub do_check_merge_target ()
   else
     {
       # The check target must depend on the local equivalent of
-      # `all', to ensure all the primary targets are built.  Then it
+      # 'all', to ensure all the primary targets are built.  Then it
       # must build the local check rules.
       $output_rules .= "check-am: all-am\n";
       if (@check)
@@ -4538,7 +4537,7 @@ sub do_check_merge_target ()
     }
 
   depend '.PHONY', 'check', 'check-am';
-  # Handle recursion.  We have to honor BUILT_SOURCES like for `all:'.
+  # Handle recursion.  We have to honor BUILT_SOURCES like for 'all:'.
   $output_rules .= ("check: "
                    . (var ('BUILT_SOURCES')
                       ? "\$(BUILT_SOURCES)\n\t\$(MAKE) "
@@ -4581,7 +4580,7 @@ sub handle_clean ($)
        unless exists $rms{$when};
 
       my $rm = "rm -f $file";
-      # If file is a variable, make sure when don't call `rm -f' without args.
+      # If file is a variable, make sure when don't call 'rm -f' without args.
       $rm ="test -z \"$file\" || $rm"
        if ($file =~ /^\s*\$(\(.*\)|\{.*\})\s*$/);
 
@@ -4602,8 +4601,8 @@ sub handle_clean ($)
 
 # &target_cmp ($A, $B)
 # --------------------
-# Subroutine for &handle_factored_dependencies to let `.PHONY' and
-# other `.TARGETS' be last.
+# Subroutine for &handle_factored_dependencies to let '.PHONY' and
+# other '.TARGETS' be last.
 sub target_cmp
 {
   return 0 if $a eq $b;
@@ -4635,16 +4634,16 @@ sub handle_factored_dependencies
     {
       my $x = $utarg;
       $x =~ s/-.*-/-/;
-      reject_rule ($utarg, "use `$x', not `$utarg'");
+      reject_rule ($utarg, "use '$x', not '$utarg'");
     }
 
   reject_rule ('install-local',
-              "use `install-data-local' or `install-exec-local', "
-              . "not `install-local'");
+              "use 'install-data-local' or 'install-exec-local', "
+              . "not 'install-local'");
 
   reject_rule ('install-hook',
-              "use `install-data-hook' or `install-exec-hook', "
-              . "not `install-hook'");
+              "use 'install-data-hook' or 'install-exec-hook', "
+              . "not 'install-hook'");
 
   # Install the -local hooks.
   foreach (keys %dependencies)
@@ -4727,7 +4726,7 @@ sub handle_per_suffix_test
     }
   else
     {
-      prog_error ("test suffix `$test_suffix' lacks leading dot")
+      prog_error ("test suffix '$test_suffix' lacks leading dot")
         unless $test_suffix =~ m/^\.(.*)/;
       $pfx = uc ($1) . '_';
       $generic = 1;
@@ -4737,7 +4736,7 @@ sub handle_per_suffix_test
   # The "test driver" program, deputed to handle tests protocol used by
   # test scripts.  By default, it's assumed that no protocol is used,
   # so we fall back to the old "parallel-tests" behaviour, implemented
-  # by the `test-driver' auxiliary script.
+  # by the 'test-driver' auxiliary script.
   if (! var "${pfx}LOG_DRIVER")
     {
       require_conf_file ($parallel_tests_option->{position}, FOREIGN,
@@ -4790,8 +4789,8 @@ sub handle_tests
     {
       foreach my $c ('DEJATOOL', 'RUNTEST', 'RUNTESTFLAGS')
        {
-         reject_var ($c, "`$c' defined but `dejagnu' not in "
-                     . "`AUTOMAKE_OPTIONS'");
+         reject_var ($c, "'$c' defined but 'dejagnu' not in "
+                     . "'AUTOMAKE_OPTIONS'");
        }
     }
 
@@ -4831,7 +4830,7 @@ sub handle_tests
           if ($var->has_conditional_contents)
            {
             msg_var 'unsupported', $var,
-                     "`TEST_EXTENSIONS' cannot have conditional contents";
+                     "'TEST_EXTENSIONS' cannot have conditional contents";
            }
          my @test_suffixes = $var->value_as_list_recursive;
           if ((my @invalid_test_suffixes =
@@ -4860,7 +4859,7 @@ sub handle_tests
                if ($val =~ /(\$\((top_)?srcdir\))\//o)
                  {
                    msg ('error', $subvar->rdef ($cond)->location,
-                        "parallel-tests: using `$1' in TESTS is currently 
broken: `$val'");
+                        "parallel-tests: using '$1' in TESTS is currently 
broken: '$val'");
                  }
 
                foreach my $test_suffix (@test_suffixes)
@@ -5004,7 +5003,7 @@ sub handle_minor_options
          if ($package_version !~ /^$GNITS_VERSION_PATTERN$/)
            {
              msg ('error-gnits', $package_version_location,
-                  "version `$package_version' doesn't follow " .
+                  "version '$package_version' doesn't follow " .
                   "Gnits standards");
            }
          if (defined $1 && -f 'README-alpha')
@@ -5146,7 +5145,7 @@ sub scan_autoconf_traces ($)
 
   my $traces = ($ENV{AUTOCONF} || '@am_AUTOCONF@') . " ";
 
-  # Use a separator unlikely to be used, not `:', the default, which
+  # Use a separator unlikely to be used, not ':', the default, which
   # has a precise meaning for AC_CONFIG_FILES and so on.
   $traces .= join (' ',
                   map { "--trace=$_" . ':\$f:\$l::\$d::\$n::\${::}%' }
@@ -5165,7 +5164,7 @@ sub scan_autoconf_traces ($)
       $where = new Automake::Location $here;
       my $macro = $args[0];
 
-      prog_error ("unrequested trace `$macro'")
+      prog_error ("unrequested trace '$macro'")
        unless exists $traced{$macro};
 
       # Skip and diagnose malformed calls.
@@ -5354,7 +5353,7 @@ sub scan_autoconf_traces ($)
             || $macro eq 'm4_sinclude'
             || $macro eq 'sinclude')
        {
-         # Skip missing `sinclude'd files.
+         # Skip missing 'sinclude'd files.
          next if $macro ne 'm4_include' && ! -f $args[1];
 
          # Some modified versions of Autoconf don't use
@@ -5400,8 +5399,8 @@ sub scan_autoconf_traces ($)
 
 # &scan_autoconf_files ()
 # -----------------------
-# Check whether we use `configure.ac' or `configure.in'.
-# Scan it (and possibly `aclocal.m4') for interesting things.
+# Check whether we use 'configure.ac' or 'configure.in'.
+# Scan it (and possibly 'aclocal.m4') for interesting things.
 # We must scan aclocal.m4 because there might be AC_SUBSTs and such there.
 sub scan_autoconf_files ()
 {
@@ -5474,7 +5473,7 @@ sub scan_autoconf_files ()
     {
       require_conf_file ($required_aux_file{$file}->get, FOREIGN, $file)
     }
-  err_am "`install.sh' is an anachronism; use `install-sh' instead"
+  err_am "'install.sh' is an anachronism; use 'install-sh' instead"
     if -f $config_aux_dir . '/install.sh';
 
   # Preserve dist_common for later.
@@ -5495,7 +5494,7 @@ sub check_cygnus
   set_option ('no-dependencies', $cygnus);
   set_option ('no-dist', $cygnus);
 
-  err_ac "`AM_MAINTAINER_MODE' required when --cygnus specified"
+  err_ac "'AM_MAINTAINER_MODE' required when --cygnus specified"
     if !$seen_maint_mode;
 }
 
@@ -5526,7 +5525,7 @@ sub check_gnu_standards
   for my $opt ('no-installman', 'no-installinfo')
     {
       msg ('error-gnu', option $opt,
-          "option `$opt' disallowed by GNU standards")
+          "option '$opt' disallowed by GNU standards")
        if option $opt;
     }
 }
@@ -5545,7 +5544,7 @@ sub check_gnits_standards
 #
 # Functions to handle files of each language.
 
-# Each `lang_X_rewrite($DIRECTORY, $BASE, $EXT)' function follows a
+# Each 'lang_X_rewrite($DIRECTORY, $BASE, $EXT)' function follows a
 # simple formula: Return value is LANG_SUBDIR if the resulting object
 # file should be in a subdir if the source file is, LANG_PROCESS if
 # file is to be dealt with, LANG_IGNORE otherwise.
@@ -5579,8 +5578,8 @@ sub lang_c_rewrite
          # libtool is always able to put the object at the proper place,
          # so we do not have to require AM_PROG_CC_C_O when building .lo files.
          msg_var ('portability', $var,
-                  "compiling `$base.c' in subdir requires "
-                  . "`AM_PROG_CC_C_O' in `$configure_ac'",
+                  "compiling '$base.c' in subdir requires "
+                  . "'AM_PROG_CC_C_O' in '$configure_ac'",
                   uniq_scope => US_GLOBAL,
                   uniq_part => 'AM_PROG_CC_C_O subdir')
            unless $seen_cc_c_o || $obj eq '.lo';
@@ -5593,8 +5592,8 @@ sub lang_c_rewrite
       && $obj ne '.lo')
     {
       msg_var ('portability',
-              $var, "compiling `$base.c' with per-target flags requires "
-              . "`AM_PROG_CC_C_O' in `$configure_ac'",
+              $var, "compiling '$base.c' with per-target flags requires "
+              . "'AM_PROG_CC_C_O' in '$configure_ac'",
               uniq_scope => US_GLOBAL,
               uniq_part => 'AM_PROG_CC_C_O per-target')
     }
@@ -5734,20 +5733,19 @@ sub lang_vala_finish_target ($$)
   my ($self, $name) = @_;
 
   my $derived = canonicalize ($name);
-  my $varname = $derived . '_SOURCES';
-  my $var = var ($varname);
+  my $var = var "${derived}_SOURCES";
+  return unless $var;
 
-  if ($var)
+  my @vala_sources = grep { /\.vala$/ } ($var->value_as_list_recursive);
+
+  foreach my $vala_file (@vala_sources)
     {
-      foreach my $file ($var->value_as_list_recursive)
-        {
-          $output_rules .= "\$(srcdir)/$file: 
\$(srcdir)/${derived}_vala.stamp\n"
-            . "address@hidden test -f \$@; then :; else rm -f 
\$(srcdir)/${derived}_vala.stamp; fi\n"
-            . "address@hidden test -f \$@; then :; else \\\n"
-            . "\t  \$(MAKE) \$(srcdir)/${derived}_vala.stamp; \\\n"
-           . "\tfi\n"
-            if $file =~ s/(.*)\.vala$/$1.c/;
-        }
+      (my $c_file = $vala_file) =~ s/(.*)\.vala$/$1.c/;
+      $output_rules .= "\$(srcdir)/$c_file: \$(srcdir)/${derived}_vala.stamp\n"
+        . "address@hidden test -f \$@; then :; else rm -f 
\$(srcdir)/${derived}_vala.stamp; fi\n"
+        . "address@hidden test -f \$@; then :; else \\\n"
+        . "\t  \$(MAKE) \$(srcdir)/${derived}_vala.stamp; \\\n"
+        . "\tfi\n"
     }
 
   # Add rebuild rules for generated header and vapi files
@@ -5778,8 +5776,8 @@ sub lang_vala_finish_target ($$)
 
   my $compile = $self->compile;
 
-  # Rewrite each occurrence of `AM_VALAFLAGS' in the compile
-  # rule into `${derived}_VALAFLAGS' if it exists.
+  # Rewrite each occurrence of 'AM_VALAFLAGS' in the compile
+  # rule into '${derived}_VALAFLAGS' if it exists.
   my $val = "${derived}_VALAFLAGS";
   $compile =~ s/\(AM_VALAFLAGS\)/\($val\)/
     if set_seen ($val);
@@ -5797,7 +5795,7 @@ sub lang_vala_finish_target ($$)
   my $silent = silent_flag ();
 
   $output_rules .=
-    "\$(srcdir)/${derived}_vala.stamp: \$(${derived}_SOURCES)\n".
+    "\$(srcdir)/${derived}_vala.stamp: @vala_sources\n".
 # Since the C files generated from the vala sources depend on the
 # ${derived}_vala.stamp file, we must ensure its timestamp is older than
 # those of the C files generated by the valac invocation below (this is
@@ -5805,7 +5803,7 @@ sub lang_vala_finish_target ($$)
 # Thus we need to create the stamp file *before* invoking valac, and to
 # move it to its final location only after valac has been invoked.
     "\t${silent}rm -f \$\@ && echo stamp > address@hidden".
-    "\t${verbose}\$(am__cd) \$(srcdir) && ${compile} \$(${derived}_SOURCES)\n".
+    "\t${verbose}\$(am__cd) \$(srcdir) && $compile @vala_sources\n".
     "\t${silent}mv -f address@hidden address@hidden";
 
   push_dist_common ("${derived}_vala.stamp");
@@ -5847,7 +5845,7 @@ sub lang_yacc_target_hook
 {
     my ($self, $aggregate, $output, $input, %transform) = @_;
 
-    # If some relevant *YFLAGS variable contains the `-d' flag, we'll
+    # If some relevant *YFLAGS variable contains the '-d' flag, we'll
     # have to to generate special code.
     my $yflags_contains_minus_d = 0;
 
@@ -5859,7 +5857,7 @@ sub lang_yacc_target_hook
        if ($yflagsvar->has_conditional_contents)
          {
            msg_var ('unsupported', $yflagsvar,
-                    "`${pfx}YFLAGS' cannot have conditional contents");
+                    "'${pfx}YFLAGS' cannot have conditional contents");
          }
        else
          {
@@ -5870,11 +5868,11 @@ sub lang_yacc_target_hook
 
     if ($yflags_contains_minus_d)
       {
-       # Found a `-d' that applies to the compilation of this file.
+       # Found a '-d' that applies to the compilation of this file.
        # Add a dependency for the generated header file, and arrange
        # for that file to be included in the distribution.
 
-       # The extension of the output file (e.g., `.c' or `.cxx').
+       # The extension of the output file (e.g., '.c' or '.cxx').
        # We'll need it to compute the name of the generated header file.
        (my $output_ext = basename ($output)) =~ s/.*(\.[^.]+)$/$1/;
 
@@ -5882,7 +5880,7 @@ sub lang_yacc_target_hook
        # C++ output file.  We depend on this fact (here and in yacc.am),
        # so check that it really holds.
        my $lang = $languages{$extension_map{$output_ext}};
-       prog_error "invalid output name `$output' for yacc file `$input'"
+       prog_error "invalid output name '$output' for yacc file '$input'"
          if (!$lang || ($lang->name ne 'c' && $lang->name ne 'cxx'));
 
        (my $header_ext = $output_ext) =~ s/c/h/g;
@@ -5945,7 +5943,7 @@ sub lang_yacc_finish
   return if defined $language_scratch{'yacc-done'};
   $language_scratch{'yacc-done'} = 1;
 
-  reject_var 'YACCFLAGS', "`YACCFLAGS' obsolete; use `YFLAGS' instead";
+  reject_var 'YACCFLAGS', "'YACCFLAGS' obsolete; use 'YFLAGS' instead";
 
   yacc_lex_finish_helper;
 }
@@ -6079,7 +6077,7 @@ sub register_language (%)
     {
       if (exists $link_languages{$link})
        {
-         prog_error ("`$link' has different definitions in "
+         prog_error ("'$link' has different definitions in "
                      . $lang->name . " and " . $link_languages{$link}->name)
            if $lang->link ne $link_languages{$link}->link;
        }
@@ -6105,7 +6103,7 @@ sub register_language (%)
 # derive_suffix ($EXT, $OBJ)
 # --------------------------
 # This function is used to find a path from a user-specified suffix $EXT
-# to $OBJ or to some other suffix we recognize internally, e.g. `cc'.
+# to $OBJ or to some other suffix we recognize internally, e.g. 'cc'.
 sub derive_suffix ($$)
 {
   my ($source_ext, $obj) = @_;
@@ -6180,9 +6178,9 @@ sub cond_stack_if ($$$)
       if (exists $_am_macro_for_cond{$cond})
        {
          my $mac = $_am_macro_for_cond{$cond};
-         $text .= "\n  The usual way to define `$cond' is to add ";
-         $text .= ($mac =~ / /) ? $mac : "`$mac'";
-         $text .= "\n  to `$configure_ac' and run `aclocal' and `autoconf' 
again";
+         $text .= "\n  The usual way to define '$cond' is to add ";
+         $text .= ($mac =~ / /) ? $mac : "'$mac'";
+         $text .= "\n  to '$configure_ac' and run 'aclocal' and 'autoconf' 
again";
          # These warnings appear in Automake files (depend2.am),
          # so there is no need to display them more than once:
          $scope = US_GLOBAL;
@@ -6325,7 +6323,7 @@ sub define_configure_variable ($)
 
 # define_compiler_variable ($LANG)
 # --------------------------------
-# Define a compiler variable.  We also handle defining the `LT'
+# Define a compiler variable.  We also handle defining the 'LT'
 # version of the command when using libtool.
 sub define_compiler_variable ($)
 {
@@ -6384,7 +6382,7 @@ sub define_per_target_linker_variable ($$)
   my $xlink = $linker ? $linker : 'LINK';
 
   my $lang = $link_languages{$xlink};
-  prog_error "Unknown language for linker variable `$xlink'"
+  prog_error "Unknown language for linker variable '$xlink'"
     unless $lang;
 
   my $link_command = $lang->link;
@@ -6400,8 +6398,8 @@ sub define_per_target_linker_variable ($$)
        . "--mode=link " . $link_command;
     }
 
-  # Rewrite each occurrence of `AM_$flag' in the link
-  # command into `${derived}_$flag' if it exists.
+  # Rewrite each occurrence of 'AM_$flag' in the link
+  # command into '${derived}_$flag' if it exists.
   my $orig_command = $link_command;
   my @flags = (@{$lang->flags}, 'LDFLAGS');
   push @flags, 'LIBTOOLFLAGS' if var 'LIBTOOL';
@@ -6431,7 +6429,7 @@ sub check_trailing_slash ($\$)
 {
   my ($where, $line) = @_;
 
-  # Ignore `##' lines.
+  # Ignore '##' lines.
   return 0 if $$line =~ /$IGNORE_PATTERN/o;
 
   # Catch and fix a common error.
@@ -6569,7 +6567,7 @@ sub read_am_file ($$)
            }
            elsif ($prev_state == IN_COMMENT)
            {
-               # If the line doesn't start with a `#', add it.
+               # If the line doesn't start with a '#', add it.
                # We do this because a continued comment like
                #   # A = foo \
                #         bar \
@@ -6636,9 +6634,9 @@ sub read_am_file ($$)
            $last_where = $where->clone;
            if ($3 ne '' && substr ($3, -1) eq "\\")
              {
-               # We preserve the `\' because otherwise the long lines
+               # We preserve the '\' because otherwise the long lines
                # that are generated will be truncated by broken
-               # `sed's.
+               # 'sed's.
                $last_var_value = $3 . "\n";
              }
            # Normally we try to output variable definitions in the
@@ -6677,7 +6675,7 @@ sub read_am_file ($$)
 
                # Always use the $(top_srcdir) prefix in DIST_COMMON,
                # otherwise OSF make will implicitly copy the included
-               # file in the build tree during `make distdir' to satisfy
+               # file in the build tree during "make distdir" to satisfy
                # the dependency.
                # (subdircond2.test and subdircond3.test will fail.)
                push_dist_common ("\$\(top_srcdir\)/$path");
@@ -6688,13 +6686,13 @@ sub read_am_file ($$)
                push (@include_stack, "\$\(srcdir\)/$path");
                # Always use the $(srcdir) prefix in DIST_COMMON,
                # otherwise OSF make will implicitly copy the included
-               # file in the build tree during `make distdir' to satisfy
+               # file in the build tree during "make distdir" to satisfy
                # the dependency.
                # (subdircond2.test and subdircond3.test will fail.)
                push_dist_common ("\$\(srcdir\)/$path");
                $path = $relative_dir . "/" . $path if $relative_dir ne '.';
              }
-           $where->push_context ("`$path' included from here");
+           $where->push_context ("'$path' included from here");
            &read_am_file ($path, $where);
            $where->pop_context;
        }
@@ -6708,7 +6706,7 @@ sub read_am_file ($$)
            $output_trailer .= $cond->subst_string;
            $output_trailer .= $_;
            $comment = $spacing = '';
-           error $where, "`#' comment at start of rule is unportable"
+           error $where, "'#' comment at start of rule is unportable"
              if $_ =~ /^\t\s*\#/;
        }
 
@@ -6763,7 +6761,7 @@ sub read_main_am_file
     $output_vars .= $gen_copyright;
 
     # We want to predefine as many variables as possible.  This lets
-    # the user set them with `+=' in Makefile.am.
+    # the user set them with '+=' in Makefile.am.
     &define_standard_variables;
 
     # Read user file, which might override some of our values.
@@ -6799,7 +6797,7 @@ sub transform_token ($$$)
 {
   my ($token, $transform, $key) = @_;
   my $res = $transform->{$key};
-  prog_error "Unknown key `$key' in `$token'" unless defined $res;
+  prog_error "Unknown key '$key' in '$token'" unless defined $res;
   return $res;
 }
 
@@ -6915,7 +6913,7 @@ sub make_paragraphs ($%)
       | \? !? [\w\-]+ \?
     )/transform($&, \%transform)/gex;
   # transform() may have added some ##%-comments to strip.
-  # (we use `##%' instead of `##' so we can distinguish ##%##%##% from
+  # (we use '##%' instead of '##' so we can distinguish ##%##%##% from
   # ####### and do not remove the latter.)
   s/^[ \t]*(?:##%)+.*\n//gm;
 
@@ -7013,8 +7011,8 @@ sub file_contents_internal ($$$%)
            if ($cond != FALSE)
              {
                my $file = ($is_am ? "$libdir/am/" : '') . $1;
-               $where->push_context ("`$file' included from here");
-               # N-ary `.=' fails.
+               $where->push_context ("'$file' included from here");
+               # N-ary '.=' fails.
                my ($com, $vars, $rules)
                  = file_contents_internal ($is_am, $file, $where, %transform);
                $where->pop_context;
@@ -7074,7 +7072,7 @@ sub file_contents_internal ($$$%)
 
              # FIXME: 3. We are not robust to people defining a subset
              # of a previously defined "multiple-target" rule.  E.g.
-             # `foo:' after `foo bar:'.
+             # 'foo:' after 'foo bar:'.
 
              # Output only if not in FALSE.
              if (defined $dependencies{$_} && $cond != FALSE)
@@ -7112,7 +7110,7 @@ sub file_contents_internal ($$$%)
        elsif (/$ASSIGNMENT_PATTERN/mso)
        {
            my ($var, $type, $val) = ($1, $2, $3);
-           error $where, "variable `$var' with trailing backslash"
+           error $where, "variable '$var' with trailing backslash"
              if /\\$/;
 
            $is_rule = 0;
@@ -7128,7 +7126,7 @@ sub file_contents_internal ($$$%)
        else
        {
            # This isn't an error; it is probably some tokens which
-           # configure is supposed to replace, such as address@hidden@',
+           # configure is supposed to replace, such as '@SET-MAKE@',
            # or some part of a rule cut by an if/endif.
            if (! $cond->false && ! ($is_rule && $discard_rule))
              {
@@ -7167,10 +7165,10 @@ sub file_contents ($$%)
 # &am_primary_prefixes ($PRIMARY, $CAN_DIST, @PREFIXES)
 # -----------------------------------------------------
 # Find all variable prefixes that are used for install directories.  A
-# prefix `zar' qualifies iff:
+# prefix 'zar' qualifies iff:
 #
-# * `zardir' is a variable.
-# * `zar_PRIMARY' is a variable.
+# * 'zardir' is a variable.
+# * 'zar_PRIMARY' is a variable.
 #
 # As a side effect, it looks for misspellings.  It is an error to have
 # a variable ending in a "reserved" suffix whose prefix is unknown, e.g.
@@ -7206,18 +7204,18 @@ sub am_primary_prefixes ($$@)
          if ($dist ne '' && ! $can_dist)
            {
              err_var ($var,
-                      "invalid variable `$varname': `dist' is forbidden");
+                      "invalid variable '$varname': 'dist' is forbidden");
            }
          # Standard directories must be explicitly allowed.
          elsif (! defined $valid{$X} && exists $standard_prefix{$X})
            {
              err_var ($var,
-                      "`${X}dir' is not a legitimate directory " .
-                      "for `$primary'");
+                      "'${X}dir' is not a legitimate directory " .
+                      "for '$primary'");
            }
          # A not explicitly valid directory is allowed if Xdir is defined.
          elsif (! defined $valid{$X} &&
-                $var->requires_variables ("`$varname' is used", "${X}dir"))
+                $var->requires_variables ("'$varname' is used", "${X}dir"))
            {
              # Nothing to do.  Any error message has been output
              # by $var->requires_variables.
@@ -7239,7 +7237,7 @@ sub am_primary_prefixes ($$@)
 }
 
 
-# Handle `where_HOW' variable magic.  Does all lookups, generates
+# Handle 'where_HOW' variable magic.  Does all lookups, generates
 # install code, and possibly generates code to define the primary
 # variable.  The first argument is the name of the .am file to munge,
 # the second argument is the primary variable (e.g. HEADERS), and all
@@ -7287,10 +7285,10 @@ sub am_install_var
 
   # Now that configure substitutions are allowed in where_HOW
   # variables, it is an error to actually define the primary.  We
-  # allow `JAVA', as it is customarily used to mean the Java
+  # allow 'JAVA', as it is customarily used to mean the Java
   # interpreter.  This is but one of several Java hacks.  Similarly,
-  # `PYTHON' is customarily used to mean the Python interpreter.
-  reject_var $primary, "`$primary' is an anachronism"
+  # 'PYTHON' is customarily used to mean the Python interpreter.
+  reject_var $primary, "'$primary' is an anachronism"
     unless $primary eq 'JAVA' || $primary eq 'PYTHON';
 
   # Get the prefixes which are valid and actually used.
@@ -7344,7 +7342,7 @@ sub am_install_var
              if ($nodir_name eq 'EXTRA')
                {
                  error ($where,
-                        "`$one_name' contains configure substitution, "
+                        "'$one_name' contains configure substitution, "
                         . "but shouldn't");
                }
              # Check here to make sure variables defined in
@@ -7397,7 +7395,7 @@ sub am_install_var
       my $check_options_p = $install_p && !! option 'std-options';
 
       # Use the location of the currently processed variable as context.
-      $where->push_context ("while processing `$one_name'");
+      $where->push_context ("while processing '$one_name'");
 
       # The variable containing all files to distribute.
       my $distvar = "\$($one_name)";
@@ -7430,8 +7428,8 @@ sub am_install_var
     }
 
   err_var ($require_extra,
-          "`$require_extra' contains configure substitution,\n"
-          . "but `EXTRA_$primary' not defined")
+          "'$require_extra' contains configure substitution,\n"
+          . "but 'EXTRA_$primary' not defined")
     if ($require_extra && ! var ('EXTRA_' . $primary));
 
   # Push here because PRIMARY might be configure time determined.
@@ -7456,7 +7454,7 @@ sub am_install_var
 ################################################################
 
 # Each key in this hash is the name of a directory holding a
-# Makefile.in.  These variables are local to `is_make_dir'.
+# Makefile.in.  These variables are local to 'is_make_dir'.
 my %make_dirs = ();
 my $make_dirs_set = 0;
 
@@ -7527,7 +7525,7 @@ sub push_required_file
     }
   # This is needed to allow a construct in a non-top-level Makefile.am
   # to require a file in the build-aux directory (see at least the test
-  # script `test-driver-is-distributed.test').  This is related to the
+  # script 'test-driver-is-distributed.test').  This is related to the
   # automake bug#9546.  Note that the use of $config_aux_dir instead
   # of $am_config_aux_dir here is deliberate and necessary.
   elsif ($dir eq $config_aux_dir)
@@ -7555,7 +7553,7 @@ sub push_required_file
       # here.
 
       # If a required file is above the source tree, it is important
-      # to prefix it with `$(srcdir)' so that no VPATH search is
+      # to prefix it with '$(srcdir)' so that no VPATH search is
       # performed.  Otherwise problems occur with Make implementations
       # that rewrite and simplify rules whose dependencies are found in a
       # VPATH location.  Here is an example with OSF1/Tru64 Make.
@@ -7570,8 +7568,8 @@ sub push_required_file
       #   echo a
       #   a
       #
-      # Dependency `../a' was found in `sub/../a', but this make
-      # implementation simplified it as `a'.  (Note that the sub/
+      # Dependency '../a' was found in 'sub/../a', but this make
+      # implementation simplified it as 'a'.  (Note that the sub/
       # directory does not even exist.)
       #
       # This kind of VPATH rewriting seems hard to cancel.  The
@@ -7618,7 +7616,7 @@ sub required_file_check_or_copy ($$$)
       $found_it = 1;
     }
 
-  # `--force-missing' only has an effect if `--add-missing' is
+  # '--force-missing' only has an effect if '--add-missing' is
   # specified.
   return
     if $found_it && (! $add_missing || ! $force_missing);
@@ -7644,7 +7642,7 @@ sub required_file_check_or_copy ($$$)
 
   # Only install missing files according to our desired
   # strictness level.
-  my $message = "required file `$fullfile' not found";
+  my $message = "required file '$fullfile' not found";
   if ($add_missing)
     {
       if (-f "$libdir/$file")
@@ -7654,7 +7652,7 @@ sub required_file_check_or_copy ($$$)
           # Install the missing file.  Symlink if we
           # can, copy if we must.  Note: delete the file
           # first, in case it is a dangling symlink.
-          $message = "installing `$fullfile'";
+          $message = "installing '$fullfile'";
 
           # The license file should not be volatile.
           if ($file eq "COPYING")
@@ -7688,7 +7686,7 @@ sub required_file_check_or_copy ($$$)
     }
   else
     {
-      $trailer = "\n  `automake --add-missing' can install `$file'"
+      $trailer = "\n  'automake --add-missing' can install '$file'"
         if -f "$libdir/$file";
     }
 
@@ -7852,7 +7850,7 @@ sub require_conf_file_with_macro ($$$@)
 # the file that any target requiring this directory should be made
 # dependent upon.
 # We don't want to emit the rule twice, and want to reuse it
-# for directories with equivalent names (e.g., `foo/bar' and `./foo//bar').
+# for directories with equivalent names (e.g., 'foo/bar' and './foo//bar').
 sub require_build_directory ($)
 {
   my $directory = shift;
@@ -7877,7 +7875,7 @@ sub require_build_directory ($)
   define_pretty_variable ('am__dirstamp', TRUE, INTERNAL,
                          '$(am__leading_dot)dirstamp');
 
-  # Directory must be removed by `make distclean'.
+  # Directory must be removed by 'make distclean'.
   $clean_files{$dirstamp} = DIST_CLEAN;
 
   $output_rules .= ("$dirstamp:\n"
@@ -7973,14 +7971,14 @@ sub generate_makefile ($$)
          my $def = $v->def (TRUE);
          prog_error "$var not defined in condition TRUE"
            unless $def;
-         reject_var $var, "`$var' should not be defined"
+         reject_var $var, "'$var' should not be defined"
            if $def->owner != VAR_AUTOMAKE;
        }
     }
 
   # Catch some obsolete variables.
   msg_var ('obsolete', 'INCLUDES',
-          "`INCLUDES' is the old name for `AM_CPPFLAGS' (or `*_CPPFLAGS')")
+          "'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')")
     if var ('INCLUDES');
 
   # Must do this after reading .am file.
@@ -8065,7 +8063,7 @@ sub generate_makefile ($$)
 
   mkdir ($am_relative_dir, 0755) if ! -d $am_relative_dir;
 
-  # We make sure that `all:' is the first target.
+  # We make sure that 'all:' is the first target.
   my $output =
     "$output_vars$output_all$output_header$output_rules$output_trailer";
 
@@ -8273,7 +8271,7 @@ sub parse_arguments ()
   my $errspec = 0;
   foreach my $arg (@ARGV)
     {
-      fatal ("empty argument\nTry `$0 --help' for more information")
+      fatal ("empty argument\nTry '$0 --help' for more information")
        if ($arg eq '');
 
       # Handle $local:$input syntax.
@@ -8287,7 +8285,7 @@ sub parse_arguments ()
        }
       else
        {
-         error "no Automake input file found for `$arg'";
+         error "no Automake input file found for '$arg'";
          $errspec = 1;
        }
     }
@@ -8305,7 +8303,7 @@ sub handle_makefile ($)
   ($am_file = $file) =~ s/\.in$//;
   if (! -f ($am_file . '.am'))
     {
-      error "`$am_file.am' does not exist";
+      error "'$am_file.am' does not exist";
     }
   else
     {
@@ -8449,7 +8447,7 @@ if (! @input_files)
     my $msg = '';
     $msg = "\nDid you forget AC_CONFIG_FILES([Makefile]) in $configure_ac?"
       if -f 'Makefile.am';
-    fatal ("no `Makefile.am' found for any configure output$msg");
+    fatal ("no 'Makefile.am' found for any configure output$msg");
   }
 
 my $nthreads = get_number_of_threads ();
diff --git a/bootstrap b/bootstrap
index 04b524c..c625716 100755
--- a/bootstrap
+++ b/bootstrap
@@ -68,7 +68,7 @@ if test -d automake-$APIVERSION; then
   find automake-$APIVERSION -exec chmod u+wx '{}' ';'
 fi
 rm -rf automake-$APIVERSION
-# Can't use `ln -s lib automake-$APIVERSION', that would create a
+# Can't use "ln -s lib automake-$APIVERSION", that would create a
 # lib.exe stub under DJGPP 2.03.
 mkdir automake-$APIVERSION
 cp -rf lib/* automake-$APIVERSION
@@ -110,7 +110,7 @@ mv -f testsuite-part.tmp testsuite-part.am
 cd ..
 
 # Run the autotools.
-# Use `-I' here so that our own *.m4 files in m4/ gets included,
+# Use '-I' here so that our own *.m4 files in m4/ gets included,
 # not copied, in aclocal.m4.
 $PERL ./aclocal.tmp -I m4 --automake-acdir m4 --system-acdir m4/acdir
 $AUTOCONF
diff --git a/configure.ac b/configure.ac
index f05f6cb..5224470 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,7 +28,7 @@ AC_CANONICAL_BUILD
 
 # Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this
 # way we can run Autoconf tests from configure (or from the test
-# suite) without being bothered by `missing'.  Likewise for autom4te,
+# suite) without being bothered by 'missing'.  Likewise for autom4te,
 # autoreconf, autoheader, and autoupdate.
 AC_SUBST([am_AUTOCONF], ["${AUTOCONF-autoconf}"])
 AC_SUBST([am_AUTOM4TE], ["${AUTOM4TE-autom4te}"])
@@ -37,7 +37,7 @@ AC_SUBST([am_AUTOHEADER], ["${AUTOHEADER-autoheader}"])
 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 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
                  parallel-tests silent-rules no-define no-dependencies])
@@ -58,8 +58,8 @@ AC_SUBST([amdir], ["\${pkgvdatadir}/am"])
 AC_SUBST([automake_acdir], ["\${datadir}/aclocal-$APIVERSION"])
 AC_SUBST([system_acdir], ["\${datadir}/aclocal"])
 
-# $AUTOMAKE and $ACLOCAL are always run after a `cd $top_srcdir',
-# hence `.' is really what we want for perllibdir, libdir, and acdir.
+# $AUTOMAKE and $ACLOCAL are always run after a "cd $top_srcdir",
+# hence '.' is really what we want for perllibdir, libdir, and acdir.
 ACLOCAL="perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\" \"`pwd`/aclocal\" 
--acdir=m4 -I m4"
 AUTOMAKE="perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\" \"`pwd`/automake\" 
--libdir=lib"
 
@@ -217,10 +217,9 @@ else
 fi
 ])
 if test $am_cv_sh_errexit_works = no; then
-  AC_MSG_WARN([`${MAKE-make} check' will leave leftover directories 
tests/*.dir])
-  AC_MSG_WARN([you can clean them up manually using `${MAKE-make} clean' or])
-  AC_MSG_WARN([`cd tests && ${MAKE-make} clean-local-check'])
-  dnl restore font-lock: `
+  AC_MSG_WARN(["${MAKE-make} check" will leave leftover directories 
tests/*.dir])
+  AC_MSG_WARN([you can clean them up manually using "${MAKE-make} clean" or])
+  AC_MSG_WARN(["cd tests && ${MAKE-make} clean-local-check'])
 fi
 AC_SUBST([sh_errexit_works], [$am_cv_sh_errexit_works])
 
@@ -265,61 +264,127 @@ AC_DEFUN([_AM_COMPILER_CAN_FAIL], [
   m4_popdef([AC_MSG_ERROR])
 ])
 
+AC_DEFUN([_AM_SKIP_COMP_TESTS],
+  [AC_MSG_NOTICE([tests requiring the $1 compiler will be skipped])])
+
 # Prefer generic compilers to GNU ones when possible.  This will ensure
 # more testsuite coverage "in the wild".
 # Note that we don't look for the MSVC C/C++ compiler here.  This is
-# deliberate; for more discussion an rationale, see:
+# deliberate; for more discussion and rationale, see:
 # <http://lists.gnu.org/archive/html/automake-patches/2012-01/msg00130.html>
 
+AC_MSG_NOTICE([will now look for generic compilers])
+
 # C compiler.
-_AM_COMPILER_CAN_FAIL([AC_PROG_CC([cc gcc])], [CC=false])
+_AM_COMPILER_CAN_FAIL(dnl
+  [AC_PROG_CC([cc gcc])],
+  [CC=false; _AM_SKIP_COMP_TESTS([C])])
+
 AS_IF([test x"$GCC" = x"yes"], [am_CC_is_GNU=yes], [am_CC_is_GNU=no])
 
 # The list of C++ compilers here has been copied, pasted and edited
-# from `lib/autoconf/c.m4:AC_PROG_CXX' in the Autoconf distribution.
+# from 'lib/autoconf/c.m4:AC_PROG_CXX' in the Autoconf distribution.
 # Keep it in sync, or better again, find out a way to avoid this code
 # duplication.
 _AM_COMPILER_CAN_FAIL([AC_PROG_CXX(dnl
   [aCC CC FCC KCC RCC xlC_r xlC c++ cxx cc++ gpp g++])],
-  [CXX=false])
+  [CXX=false; _AM_SKIP_COMP_TESTS([C++])])
+
 AS_IF([test x"$GXX" = x"yes"], [am_CXX_is_GNU=yes], [am_CXX_is_GNU=no])
 
 # The lists of Fortran compilers here has been copied, pasted and edited
-# from file `lib/autoconf/fortran.m4' in the Autoconf distribution.
+# from file 'lib/autoconf/fortran.m4' in the Autoconf distribution.
 # Keep it in sync, or better again, find out a way to avoid this code
 # duplication.
 
 _AM_COMPILER_CAN_FAIL([AC_PROG_FC(dnl
   [xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor] dnl
   [xlf90 f90 pgf90 pghpf epcf90 g95 gfortran])],
-  [FC=false])
+  [FC=false; _AM_SKIP_COMP_TESTS([Fortran])])
+
 # FIXME this won't work as expected until we can assume autoconf 2.69 :-(
 AS_IF([test x"$GFC" = x"yes"], [am_FC_is_GNU=yes], [am_FC_is_GNU=no])
 
 _AM_COMPILER_CAN_FAIL([AC_PROG_F77(dnl
   [xlf f77 frt pgf77 cf77 fort77 fl32 af77 g77 gfortran])],
-  [F77=false])
+  [F77=false; _AM_SKIP_COMP_TESTS([Fortran 77])])
+
 AS_IF([test x"$G77" = x"yes"], [am_F77_is_GNU=yes], [am_F77_is_GNU=no])
 
 # Some tests will need the GNU compilers.  Searching for them here would
 # be overkill, since our testsuite already handles their search and setup
-# pretty well.  However, in case the compilers detected above at configure
-# time are not the GNU ones, we cannot use the values of CFLAGS, CXXFLAGS,
-# FCFLAGS and FFLAGS detected for them with the GNU compilers too, since
-# it's likely they won't be compatible.  So we allow the user to define
-# variants of this variables for the GNU compilers separately.
-
-test $am_CC_is_GNU = yes && GNU_CFLAGS=${GNU_CFLAGS-$CFLAGS}
+# pretty well.  But in case the compilers already found are the GNU ones,
+# we want to use them in the testsuite where GNU compilers are required.
+# Also, in case the compilers detected above (at configure time) are not
+# the GNU ones, we cannot use the values of CFLAGS, CXXFLAGS, FCFLAGS and
+# FFLAGS detected for them with the GNU compilers too, since it's likely
+# they won't be compatible.  So we allow the user to define variants of
+# these variables for the GNU compilers separately.
+
+AC_MSG_NOTICE([will now look for GNU compilers])
+
+# GNU C compiler.
+AC_ARG_VAR([GNU_CC],     [GNU C compiler])
 AC_ARG_VAR([GNU_CFLAGS], [GNU C compiler flags])
+if test $am_CC_is_GNU = yes; then
+  AC_MSG_NOTICE([$CC is already a GNU C compiler])
+  GNU_CC=$CC GNU_CFLAGS=${GNU_CFLAGS-$CFLAGS}
+else
+  AC_CHECK_TOOLS([GNU_CC], [gcc], [false])
+fi
+AS_IF([AM_RUN_LOG([$GNU_CC --version && $GNU_CC -v])], [],
+      [AC_MSG_WARN([botched installation for GNU C compiler])
+       _AM_SKIP_COMP_TESTS([GNU C])])
 
-test $am_CXX_is_GNU = yes && GNU_CXXFLAGS=${GNU_CXXFLAGS-$CXXFLAGS}
+# GNU C++ compiler.
+AC_ARG_VAR([GNU_CXX],      [GNU C++ compiler])
 AC_ARG_VAR([GNU_CXXFLAGS], [GNU C++ compiler flags])
+if test $am_CXX_is_GNU = yes; then
+  AC_MSG_NOTICE([$CXX is already a GNU C++ compiler])
+  GNU_CXX=$CXX
+  GNU_CXXFLAGS=${GNU_CXXFLAGS-$CXXFLAGS}
+else
+  AC_CHECK_TOOLS([GNU_CXX], [g++ gpp], [false])
+fi
+AS_IF([AM_RUN_LOG([$GNU_CXX --version && $GNU_CXX -v])], [],
+      [AC_MSG_WARN([botched installation for GNU C++ compiler])
+       _AM_SKIP_COMP_TESTS([GNU C++])])
 
-test $am_F77_is_GNU = yes && GNU_FCFLAGS=${GNU_FCFLAGS-$FCFLAGS}
+# GNU Fortran compiler.
+AC_ARG_VAR([GNU_FC],      [GNU Fortran compiler])
 AC_ARG_VAR([GNU_FCFLAGS], [GNU Fortran compiler flags])
+if test $am_FC_is_GNU = yes; then
+  AC_MSG_NOTICE([$FC is already a GNU Fortran compiler])
+  GNU_FC=$FC
+  GNU_FCFLAGS=${GNU_FCFLAGS-$FCFLAGS}
+else
+  AC_CHECK_TOOLS([GNU_FC], [gfortran], [false])
+fi
+AS_IF([AM_RUN_LOG([$GNU_FC --version && $GNU_FC -v])], [],
+      [AC_MSG_WARN([botched installation for GNU Fortran compiler])
+       _AM_SKIP_COMP_TESTS([GNU Fortran])])
 
-test $am_FC_is_GNU = yes && GNU_FFLAGS=${GNU_FFLAGS-$FFLAGS}
+# GNU Fortran 77 compiler.
+AC_ARG_VAR([GNU_F77],    [GNU Fortran 77 compiler])
 AC_ARG_VAR([GNU_FFLAGS], [GNU Fortran 77 compiler flags])
+if test $am_F77_is_GNU = yes; then
+  AC_MSG_NOTICE([$F77 is already a GNU Fortran 77 compiler])
+  GNU_F77=$F77
+  GNU_FFLAGS=${GNU_FFLAGS-$FFLAGS}
+else
+  AC_CHECK_TOOLS([GNU_F77], [g77 gfortran], [false])
+fi
+AS_IF([AM_RUN_LOG([$GNU_F77 --version && $GNU_F77 -v])], [],
+      [AC_MSG_WARN([botched installation for GNU Fortran 77 compiler])
+      _AM_SKIP_COMP_TESTS([GNU Fortran 77])])
+
+# GNU Java compiler.
+AC_ARG_VAR([GNU_GCJ], [GNU Java compiler])
+AC_ARG_VAR([GNU_GCJFLAGS], [GNU Java compiler flags])
+AC_CHECK_TOOLS([GNU_GCJ], [gcj], [false])
+AS_IF([AM_RUN_LOG([$GNU_GCJ --version && $GNU_GCJ -v])], [],
+      [AC_MSG_WARN([botched installation for GNU Java compiler])
+      _AM_SKIP_COMP_TESTS([GNU Java])])
 
 # If we have been able to find at least a working compiler above, we
 # know what the object and executable extensions for this platform are.
diff --git a/doc/automake.texi b/doc/automake.texi
index b664a88..e384f9e 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -190,7 +190,7 @@ Auto-generating aclocal.m4
 Autoconf macros supplied with Automake
 
 * Public Macros::               Macros that you can use.
-* Obsolete Macros::             Macros that you should stop using.
+* Obsolete Macros::             Macros that will soon be removed.
 * Private Macros::              Macros that you should not use.
 
 Directories
@@ -374,7 +374,7 @@ Frequently Asked Questions about Automake
 * maintainer-mode::             missing and AM_MAINTAINER_MODE
 * Wildcards::                   Why doesn't Automake support wildcards?
 * Limitations on File Names::   Limitations on source and installed file names
-* distcleancheck::              Files left in build directory after distclean
+* Errors with distclean::       Files left in build directory after distclean
 * Flag Variables Ordering::     CFLAGS vs.@: AM_CFLAGS vs.@: mumble_CFLAGS
 * Renamed Objects::             Why are object files sometimes renamed?
 * Per-Object Flags::            How to simulate per-object flags?
@@ -3924,7 +3924,7 @@ Automake ships with several Autoconf macros that you can 
use from your
 
 @menu
 * Public Macros::               Macros that you can use.
-* Obsolete Macros::             Macros that you should stop using.
+* Obsolete Macros::             Macros that will soon be removed.
 * Private Macros::              Macros that you should not use.
 @end menu
 
@@ -3936,23 +3936,23 @@ Automake ships with several Autoconf macros that you 
can use from your
 @table @code
 
 @item AM_INIT_AUTOMAKE([OPTIONS])
address@hidden AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 @acindex AM_INIT_AUTOMAKE
 Runs many macros required for proper operation of the generated Makefiles.
 
 @vindex AUTOMAKE_OPTIONS
-This macro has two forms, the first of which is preferred.
-In this form, @code{AM_INIT_AUTOMAKE} is called with a
-single argument: a space-separated list of Automake options that should
+Today, @code{AM_INIT_AUTOMAKE} is called with a single argument: a
+space-separated list of Automake options that should
 be applied to every @file{Makefile.am} in the tree.  The effect is as if
 each option were listed in @code{AUTOMAKE_OPTIONS} (@pxref{Options}).
 
 @acindex AC_INIT
-The second, deprecated, form of @code{AM_INIT_AUTOMAKE} has two required
-arguments: the package and the version number.  This form is
-obsolete because the @var{package} and @var{version} can be obtained
-from Autoconf's @code{AC_INIT} macro (which itself has an old and a new
-form).
+This macro can also be called in @emph{another, deprecated form} (support
+for which will be @emph{removed in the next major Automake release}):
address@hidden(PACKAGE, VERSION, [NO-DEFINE])}.  In this form,
+there are two required arguments: the package and the version number.
+This form is obsolete because the @var{package} and @var{version} can
+be obtained from Autoconf's @code{AC_INIT} macro (which itself has an
+old and a new form).
 
 If your @file{configure.ac} has:
 
@@ -3962,7 +3962,7 @@ AM_INIT_AUTOMAKE([mumble], [1.5])
 @end example
 
 @noindent
-you can modernize it as follows:
+you should modernize it as follows:
 
 @example
 AC_INIT([mumble], [1.5])
@@ -3987,11 +3987,10 @@ explicitly).
 @opindex no-define
 By default this macro @code{AC_DEFINE}'s @code{PACKAGE} and
 @code{VERSION}.  This can be avoided by passing the @option{no-define}
-option, as in:
+option:
 @example
 AM_INIT_AUTOMAKE([gnits 1.5 no-define dist-bzip2])
 @end example
-or by passing a third non-empty argument to the obsolete form.
 
 @item AM_PATH_LISPDIR
 @acindex AM_PATH_LISPDIR
@@ -4085,11 +4084,13 @@ define @code{WITH_DMALLOC} and add @option{-ldmalloc} 
to @code{LIBS}.
 @cindex autoupdate
 
 Although using some of the following macros was required in past
-releases, you should not use any of them in new code.  Running
address@hidden should adjust your @file{configure.ac}
-automatically (@pxref{autoupdate Invocation, , Using
address@hidden to Modernize @file{configure.ac}, autoconf, The
-Autoconf Manual}).
+releases, you should not use any of them in new code.  @emph{All
+these macros will be removed in the next major Automake version};
+if you are still using them, running @command{autoupdate} should
+adjust your @file{configure.ac} automatically (@pxref{autoupdate
+Invocation, , Using @command{autoupdate} to Modernize
address@hidden, autoconf, The Autoconf Manual}).
address@hidden it NOW!}
 
 @table @code
 
@@ -4119,19 +4120,12 @@ variable @code{mkdir_p} to one of @code{mkdir -p}, 
@code{install-sh
 Nowadays Autoconf provides a similar functionality with
 @code{AC_PROG_MKDIR_P} (@pxref{Particular Programs, , Particular
 Program Checks, autoconf, The Autoconf Manual}), however this defines
-the output variable @code{MKDIR_P} instead.  Therefore
address@hidden has been rewritten as a thin wrapper around
address@hidden to define @code{mkdir_p} to the same value as
address@hidden for backward compatibility.
-
-If you are using Automake, there is normally no reason to call this
-macro, because @code{AM_INIT_AUTOMAKE} already does so.  However, make
-sure that the custom rules in your @file{Makefile}s use
address@hidden(MKDIR_P)} and not @code{$(mkdir_p)}.  Even if both variables
-still work, the latter should be considered obsolete.
-
-If you are not using Automake, please call @code{AC_PROG_MKDIR_P}
-instead of @code{AM_PROG_MKDIR_P}.
+the output variable @code{MKDIR_P} instead.  In case you are still
+using the @code{AM_PROG_MKDIR_P} macro in your @file{configure.ac},
+or its provided variable @code{$(mkdir_p)} in your @file{Makefile.am},
+you are advised to switch ASAP to the more modern Autoconf-provided
+interface instead; both the macro and the variable @emph{will be
+removed} in the next major Automake release.
 
 @item AM_SYS_POSIX_TERMIOS
 @acindex AM_SYS_POSIX_TERMIOS
@@ -8421,24 +8415,35 @@ nodist_foo_SOURCES = do-not-distribute.c
 
 Occasionally it is useful to be able to change the distribution before
 it is packaged up.  If the @code{dist-hook} rule exists, it is run
-after the distribution directory is filled, but before the actual tar
-(or shar) file is created.  One way to use this is for distributing
-files in subdirectories for which a new @file{Makefile.am} is overkill:
+after the distribution directory is filled, but before the actual
+distribution archives are created.  One way to use this is for
+removing unnecessary files that get recursively included by specifying
+a directory in @code{EXTRA_DIST}:
 
 @example
+EXTRA_DIST = doc
 dist-hook:
-        mkdir $(distdir)/random
-        cp -p $(srcdir)/random/a1 $(srcdir)/random/a2 $(distdir)/random
+        rm -rf `find $(distdir)/doc -type d -name .svn`
 @end example
 
-Another way to use this is for removing unnecessary files that get
-recursively included by specifying a directory in EXTRA_DIST:
-
address@hidden
-EXTRA_DIST = doc
-
address@hidden The caveates described here should be documented in 
'disthook.test'.
address@hidden
+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
+case if one is packaging from a read-only source tree, or when a
address@hidden distcheck} is being done.  For similar reasons, the recipe
+shouldn't assume that the subdirectories put into the distribution
+directory as effect of having them listed in @code{EXTRA_DIST} are
+writable.  So, if the @code{dist-hook} recipe wants to modify the
+content of an existing file (or @code{EXTRA_DIST} subdirectory) in the
+distribution directory, it should explicitly to make it writable first:
+
address@hidden
+EXTRA_DIST = README doc
 dist-hook:
-        rm -rf `find $(distdir)/doc -type d -name .svn`
+        chmod u+w $(distdir)/README $(distdir)/doc
+        echo "Distribution date: `date`" >> README
+        rm -f $(distdir)/doc/HACKING
 @end example
 
 @vindex distdir
@@ -8469,20 +8474,32 @@ dist} was run, not to any sub-packages involved.
 @section Checking the Distribution
 
 @cindex @samp{make distcheck}
address@hidden @samp{make distcleancheck}
address@hidden distcleancheck_listfiles
address@hidden @samp{make distuninstallcheck}
address@hidden distuninstallcheck_listfiles
-
 @trindex distcheck
-Automake also generates a @code{distcheck} rule that can be of help to
-ensure that a given distribution will actually work.  @code{distcheck}
-makes a distribution, then tries to do a @code{VPATH} build
-(@pxref{VPATH Builds}), run the test suite, and finally make another
-tarball to ensure the distribution is self-contained.
+Automake also generates a @code{distcheck} rule that can be of help
+to ensure that a given distribution will actually work.  Simplifying
+a bit, we can say this rule first makes a distribution, and then,
address@hidden from it}, takes the following steps:
address@hidden
address@hidden
+tries to do a @code{VPATH} build (@pxref{VPATH Builds}), with the
address@hidden and all its content made @emph{read-only};
address@hidden
+runs the test suite (with @command{make check}) on this fresh build;
address@hidden
+installs the package in a temporary directory (with @command{make
+install}), and tries runs the test suite on the resulting installation
+(with @command{make installcheck});
address@hidden
+checks that the package can be correctly uninstalled (by @command{make
+uninstall}) and cleaned (by @code{make distclean});
address@hidden
+finally, makes another tarball to ensure the distribution is
+self-contained.
address@hidden itemize
 
 @vindex AM_DISTCHECK_CONFIGURE_FLAGS
 @vindex DISTCHECK_CONFIGURE_FLAGS
address@hidden DISTCHECK_CONFIGURE_FLAGS
 Building the package involves running @samp{./configure}.  If you need
 to supply additional flags to @command{configure}, define them in the
 @code{AM_DISTCHECK_CONFIGURE_FLAGS} variable in your top-level
@@ -8506,6 +8523,7 @@ installcheck} was wrongly assuming it could blindly test 
"@command{m4}",
 rather than the just-installed "@command{gm4}".
 
 @trindex distcheck-hook
address@hidden distcheck-hook
 If the @code{distcheck-hook} rule is defined in your top-level
 @file{Makefile.am}, then it will be invoked by @code{distcheck} after
 the new distribution has been unpacked, but before the unpacked copy
@@ -8518,9 +8536,12 @@ are not honored in a subpackage @file{Makefile.am}, but 
the flags from
 @code{AM_DISTCHECK_CONFIGURE_FLAGS} and @code{DISTCHECK_CONFIGURE_FLAGS}
 are passed down to the @command{configure} script of the subpackage.
 
address@hidden @samp{make distcleancheck}
 @trindex distcleancheck
 @vindex DISTCLEANFILES
 @vindex distcleancheck_listfiles
+
address@hidden distcleancheck
 Speaking of potential distribution errors, @code{distcheck} also
 ensures that the @code{distclean} rule actually removes all built
 files.  This is done by running @samp{make distcleancheck} at the end of
@@ -8558,9 +8579,14 @@ your Makefiles cause some distributed files to be 
rebuilt when the user
 build the package.  (Think about the user missing the tool required to
 build the file; or if the required tool is built by your package,
 consider the cross-compilation case where it can't be run.)  There is
-an entry in the FAQ about this (@pxref{distcleancheck}), make sure you
-read it before playing with @code{distcleancheck_listfiles}.
+an entry in the FAQ about this (@pxref{Errors with distclean}), make
+sure you read it before playing with @code{distcleancheck_listfiles}.
+
address@hidden @samp{make distuninstallcheck}
address@hidden distuninstallcheck
address@hidden distuninstallcheck_listfiles
 
address@hidden distuninstallcheck
 @code{distcheck} also checks that the @code{uninstall} rule works
 properly, both for ordinary and @code{DESTDIR} builds.  It does this
 by invoking @samp{make uninstall}, and then it checks the install tree
@@ -8606,13 +8632,6 @@ Generate an @samp{lzip} tar archive of the distribution. 
 @command{lzip}
 archives are frequently smaller than @command{bzip2}-compressed archives.
 @trindex dist-lzip
 
address@hidden @code{dist-lzma}
-Generate an @samp{lzma} tar archive of the distribution.
-The @samp{lzma} format is obsolete, you should use the @samp{xz} format
-instead. @emph{Support for @samp{lzma}-compressed archives will be
-removed in the next major Automake release.}
address@hidden dist-lzma
-
 @item @code{dist-shar}
 Generate a shar archive of the distribution.
 @trindex dist-shar
@@ -8621,7 +8640,6 @@ Generate a shar archive of the distribution.
 @item @code{dist-xz}
 Generate an @samp{xz} tar archive of the distribution.  @command{xz}
 archives are frequently smaller than @command{bzip2}-compressed archives.
-The @samp{xz} format displaces the obsolete @samp{lzma} format.
 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
@@ -10018,12 +10036,6 @@ Hook @code{dist-bzip2} to @code{dist}.
 Hook @code{dist-lzip} to @code{dist}.
 @trindex dist-lzip
 
address@hidden @option{dist-lzma}
address@hidden Option, @option{dist-lzma}
address@hidden dist-lzma
-Hook @code{dist-lzma} to @code{dist}.  Obsoleted by @code{dist-xz}.
address@hidden dist-lzma
-
 @item @option{dist-shar}
 @cindex Option, @option{dist-shar}
 @opindex dist-shar
@@ -11580,7 +11592,7 @@ lists.
 * maintainer-mode::             missing and AM_MAINTAINER_MODE
 * Wildcards::                   Why doesn't Automake support wildcards?
 * Limitations on File Names::   Limitations on source and installed file names
-* distcleancheck::              Files left in build directory after distclean
+* Errors with distclean::       Files left in build directory after distclean
 * Flag Variables Ordering::     CFLAGS vs.@: AM_CFLAGS vs.@: mumble_CFLAGS
 * Renamed Objects::             Why are object files sometimes renamed?
 * Per-Object Flags::            How to simulate per-object flags?
@@ -11950,13 +11962,14 @@ differ only in case (e.g., @file{makefile} and 
@file{Makefile}).
 Nowadays it is no longer worth worrying about the 8.3 limits of
 DOS file systems.
 
address@hidden distcleancheck
address@hidden Files left in build directory after distclean
address@hidden FIXME This should probably be moved in the "Checking the 
Distribution"
address@hidden FIXME section...
address@hidden Errors with distclean
address@hidden Errors with distclean
 @cindex @code{distclean}, diagnostic
 @cindex @samp{make distclean}, diagnostic
 @cindex dependencies and distributed files
 @trindex distclean
address@hidden distcleancheck
 
 This is a diagnostic you might encounter while running @samp{make
 distcheck}.
@@ -13109,4 +13122,4 @@ suite failures, please attach the 
@file{tests/test-suite.log} file.
 @c  LocalWords:  LTALLOCA MALLOC malloc memcmp strdup alloca libcompat xyz DFOO
 @c  LocalWords:  unprefixed buildable preprocessed DBAZ DDATADIR WARNINGCFLAGS
 @c  LocalWords:  LIBFOOCFLAGS LIBFOOLDFLAGS ftable testSubDir obj LIBTOOLFLAGS
address@hidden  LocalWords:  barexec Pinard's automatize initialize lzip lzma 
xz cscope
address@hidden  LocalWords:  barexec Pinard's automatize initialize lzip xz 
cscope
diff --git a/lib/Automake/ChannelDefs.pm b/lib/Automake/ChannelDefs.pm
index b389c41..6fc14be 100644
--- a/lib/Automake/ChannelDefs.pm
+++ b/lib/Automake/ChannelDefs.pm
@@ -55,7 +55,7 @@ shorthand function to output on specific channels.
 
 =cut
 
-use 5.005;
+use 5.006;
 use strict;
 use Exporter;
 
@@ -87,7 +87,7 @@ Errors related to GNU Standards.
 
 =item C<error-gnu/warn>
 
-Errors related to GNU Standards that should be warnings in `foreign' mode.
+Errors related to GNU Standards that should be warnings in 'foreign' mode.
 
 =item C<error-gnits>
 
@@ -182,19 +182,20 @@ Display warning categories.
 
 sub usage ()
 {
-  print "Warning categories include:
-  `gnu'           GNU coding standards (default in gnu and gnits modes)
-  `obsolete'      obsolete features or constructions
-  `override'      user redefinitions of Automake rules or variables
-  `portability'   portability issues (default in gnu and gnits modes)
-  `extra-portability'  extra portability issues related to obscure tools
-  `syntax'        dubious syntactic constructs (default)
-  `unsupported'   unsupported or incomplete features (default)
-  `all'           all the warnings
-  `no-CATEGORY'   turn off warnings in CATEGORY
-  `none'          turn off all the warnings
-  `error'         treat warnings as errors
-";
+  print <<EOF;
+Warning categories include:
+  gnu                GNU coding standards (default in gnu and gnits modes)
+  obsolete           obsolete features or constructions
+  override           user redefinitions of Automake rules or variables
+  portability        portability issues (default in gnu and gnits modes)
+  extra-portability  extra portability issues related to obscure tools
+  syntax             dubious syntactic constructs (default)
+  unsupported        unsupported or incomplete features (default)
+  all                all the warnings
+  no-CATEGORY        turn off warnings in CATEGORY
+  none'              turn off all the warnings
+  error              treat warnings as errors
+EOF
 }
 
 =item C<prog_error ($MESSAGE, [%OPTIONS])>
@@ -343,7 +344,7 @@ sub parse_warnings ($$)
 
   foreach my $cat (split (',', $categories))
     {
-      msg 'unsupported', "unknown warning category `$cat'"
+      msg 'unsupported', "unknown warning category '$cat'"
        if switch_warning $cat;
     }
 }
@@ -387,7 +388,7 @@ sub set_strictness ($)
     }
   else
     {
-      prog_error "level `$name' not recognized";
+      prog_error "level '$name' not recognized";
     }
 }
 
diff --git a/lib/Automake/Channels.pm b/lib/Automake/Channels.pm
index c7efd90..724a114 100644
--- a/lib/Automake/Channels.pm
+++ b/lib/Automake/Channels.pm
@@ -35,7 +35,7 @@ Automake::Channels - support functions for error and warning 
management
   register_channel 'system', type => 'error', exit_code => 4;
 
   # Output a message on channel 'unused'.
-  msg 'unused', "$file:$line", "unused variable `$var'";
+  msg 'unused', "$file:$line", "unused variable '$var'";
 
   # Make the 'unused' channel silent.
   setup_channel 'unused', silent => 1;
@@ -66,7 +66,7 @@ etc.) that can also be overridden on a per-message basis.
 
 =cut
 
-use 5.005;
+use 5.006;
 use strict;
 use Exporter;
 use Carp;
@@ -340,7 +340,7 @@ sub _merge_options (\%%)
        }
       else
        {
-         confess "unknown option `$_'";
+         confess "unknown option '$_'";
        }
     }
   if ($hash->{'ordered'})
@@ -585,12 +585,12 @@ associated to the message.
 For instance to complain about some unused variable C<mumble>
 declared at line 10 in F<foo.c>, one could do:
 
-  msg 'unused', 'foo.c:10', "unused variable `mumble'";
+  msg 'unused', 'foo.c:10', "unused variable 'mumble'";
 
 If channel C<unused> is not silent (and if this message is not a duplicate),
 the following would be output:
 
-  foo.c:10: unused variable `mumble'
+  foo.c:10: unused variable 'mumble'
 
 C<$location> can also be an instance of C<Automake::Location>.  In this
 case, the stack of contexts will be displayed in addition.
diff --git a/lib/Automake/Condition.pm b/lib/Automake/Condition.pm
index 1111f4f..cc753d9 100644
--- a/lib/Automake/Condition.pm
+++ b/lib/Automake/Condition.pm
@@ -14,6 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Automake::Condition;
+
+use 5.006;
 use strict;
 use Carp;
 
@@ -163,11 +165,11 @@ both create the C<"FALSE"> condition).
 =cut
 
 # Keys in this hash are conditional strings. Values are the
-# associated object conditions.  This is used by `new' to reuse
+# associated object conditions.  This is used by 'new' to reuse
 # Condition objects with identical conditionals.
 use vars '%_condition_singletons';
 # Do NOT reset this hash here.  It's already empty by default,
-# and any setting would otherwise occur AFTER the `TRUE' and `FALSE'
+# and any setting would otherwise occur AFTER the 'TRUE' and 'FALSE'
 # constants definitions.
 #   %_condition_singletons = ();
 
@@ -183,9 +185,9 @@ sub new ($;@)
     {
       # Catch some common programming errors:
       # - A Condition passed to new
-      confess "`$cond' is a reference, expected a string" if ref $cond;
+      confess "'$cond' is a reference, expected a string" if ref $cond;
       # - A Condition passed as a string to new
-      confess "`$cond' does not look like a condition" if $cond =~ /::/;
+      confess "'$cond' does not look like a condition" if $cond =~ /::/;
     }
 
   # Accept strings like "FOO BAR" as shorthand for ("FOO", "BAR").
diff --git a/lib/Automake/Configure_ac.pm b/lib/Automake/Configure_ac.pm
index 84a9b0b..53e62a5 100644
--- a/lib/Automake/Configure_ac.pm
+++ b/lib/Automake/Configure_ac.pm
@@ -20,6 +20,7 @@
 
 package Automake::Configure_ac;
 
+use 5.006;
 use strict;
 use Exporter;
 use Automake::Channels;
@@ -79,8 +80,8 @@ sub find_configure_ac (;@)
       if (-f $configure_in)
        {
          msg ('unsupported',
-              "`$configure_ac' and `$configure_in' both present.\n"
-              . "proceeding with `$configure_ac'");
+              "'$configure_ac' and '$configure_in' both present.\n"
+              . "proceeding with '$configure_ac'");
        }
       return $configure_ac
     }
@@ -101,7 +102,7 @@ Like C<find_configure_ac>, but fail if neither is present.
 sub require_configure_ac (;$)
 {
   my $res = find_configure_ac (@_);
-  fatal "`configure.ac' or `configure.in' is required"
+  fatal "'configure.ac' or 'configure.in' is required"
     unless -f $res;
   return $res
 }
diff --git a/lib/Automake/DisjConditions.pm b/lib/Automake/DisjConditions.pm
index 4b305b8..e449121 100644
--- a/lib/Automake/DisjConditions.pm
+++ b/lib/Automake/DisjConditions.pm
@@ -15,8 +15,9 @@
 
 package Automake::DisjConditions;
 
-use Carp;
+use 5.006;
 use strict;
+use Carp;
 use Automake::Condition qw/TRUE FALSE/;
 
 =head1 NAME
@@ -136,7 +137,7 @@ ignored.
 =cut
 
 # Keys in this hash are DisjConditions strings. Values are the
-# associated object DisjConditions.  This is used by `new' to reuse
+# associated object DisjConditions.  This is used by 'new' to reuse
 # DisjConditions objects with identical conditions.
 use vars '%_disjcondition_singletons';
 
@@ -146,8 +147,8 @@ sub new ($;@)
   my @filtered_conds = ();
   for my $cond (@conds)
     {
-      confess "`$cond' isn't a reference" unless ref $cond;
-      confess "`$cond' isn't an Automake::Condition"
+      confess "'$cond' isn't a reference" unless ref $cond;
+      confess "'$cond' isn't an Automake::Condition"
        unless $cond->isa ("Automake::Condition");
 
       # This is a disjunction of conditions, so we drop
@@ -462,7 +463,7 @@ sub sub_conditions ($$)
   my ($self, $subcond) = @_;
 
   # Make $subcond blindingly apparent in the DisjConditions.
-  # For instance `$b->multiply($a->conds)' (from the POD example) is:
+  # For instance '$b->multiply($a->conds)' (from the POD example) is:
   #    (new Automake::Condition ("FALSE"),
   #     new Automake::Condition ("A_TRUE", "B_FALSE", "C_FALSE"),
   #     new Automake::Condition ("A_TRUE", "B_FALSE", "C_TRUE"),
diff --git a/lib/Automake/FileUtils.pm b/lib/Automake/FileUtils.pm
index b99d6b1..17d8a49 100644
--- a/lib/Automake/FileUtils.pm
+++ b/lib/Automake/FileUtils.pm
@@ -34,6 +34,7 @@ This perl module provides various general purpose file 
handling functions.
 
 =cut
 
+use 5.006;
 use strict;
 use Exporter;
 use File::stat;
@@ -62,8 +63,8 @@ Quote C<$file_name> for open.
 # open_quote ($FILE_NAME)
 # -----------------------
 # If the string $S is a well-behaved file name, simply return it.
-# If it starts with white space, prepend `./', if it ends with
-# white space, add `\0'.  Return the new string.
+# If it starts with white space, prepend './', if it ends with
+# white space, add '\0'.  Return the new string.
 sub open_quote($)
 {
   my ($s) = @_;
@@ -124,7 +125,7 @@ sub find_file ($@)
 =item C<mtime ($file)>
 
 Return the mtime of C<$file>.  Missing files, or C<-> standing for
-C<STDIN> or C<STDOUT> are ``obsolete'', i.e., as old as possible.
+C<STDIN> or C<STDOUT> are "obsolete", i.e., as old as possible.
 
 =cut
 
@@ -181,7 +182,7 @@ sub update_file ($$;$)
   if (!$force && -f "$to" && compare ("$from", "$to") == 0)
     {
       # File didn't change, so don't update its mod time.
-      msg 'note', "`$to' is unchanged";
+      msg 'note', "'$to' is unchanged";
       unlink ($from)
         or fatal "cannot remove $from: $!";
       return
@@ -194,13 +195,13 @@ sub update_file ($$;$)
        or fatal "cannot backup $to: $!";
       move ("$from", "$to")
        or fatal "cannot rename $from as $to: $!";
-      msg 'note', "`$to' is updated";
+      msg 'note', "'$to' is updated";
     }
   else
     {
       move ("$from", "$to")
        or fatal "cannot rename $from as $to: $!";
-      msg 'note', "`$to' is created";
+      msg 'note', "'$to' is created";
     }
 }
 
@@ -399,7 +400,7 @@ sub dir_has_case_matching_file ($$)
   # again and again.
   if (!exists $_directory_cache{$dirname})
     {
-      error "failed to open directory `$dirname'"
+      error "failed to open directory '$dirname'"
        unless opendir (DIR, $dirname);
       $_directory_cache{$dirname} = { map { $_ => 1 } readdir (DIR) };
       closedir (DIR);
diff --git a/lib/Automake/General.pm b/lib/Automake/General.pm
index 0307480..2a4a527 100644
--- a/lib/Automake/General.pm
+++ b/lib/Automake/General.pm
@@ -15,7 +15,7 @@
 
 package Automake::General;
 
-use 5.005;
+use 5.006;
 use strict;
 use Exporter;
 use File::Basename;
@@ -26,7 +26,7 @@ use vars qw (@ISA @EXPORT);
 @EXPORT = qw (&uniq $me);
 
 # Variable we share with the main package.  Be sure to have a single
-# copy of them: using `my' together with multiple inclusion of this
+# copy of them: using 'my' together with multiple inclusion of this
 # package would introduce several copies.
 use vars qw ($me);
 $me = basename ($0);
diff --git a/lib/Automake/Getopt.pm b/lib/Automake/Getopt.pm
index 84cee5e..ea1c7ca 100644
--- a/lib/Automake/Getopt.pm
+++ b/lib/Automake/Getopt.pm
@@ -30,7 +30,7 @@ line options in conformance to the GNU Coding standards.
 
 =cut
 
-use 5.006_002;
+use 5.006;
 use strict;
 use warnings FATAL => 'all';
 use Exporter ();
@@ -76,13 +76,13 @@ sub parse_options (%)
        }
       elsif (exists $argopts{$ARGV[0]})
        {
-         fatal ("option `$ARGV[0]' requires an argument\n"
-                . "Try `$0 --help' for more information.");
+         fatal ("option '$ARGV[0]' requires an argument\n"
+                . "Try '$0 --help' for more information.");
        }
       else
        {
-         fatal ("unrecognized option `$ARGV[0]'.\n"
-                . "Try `$0 --help' for more information.");
+         fatal ("unrecognized option '$ARGV[0]'.\n"
+                . "Try '$0 --help' for more information.");
        }
     }
 }
diff --git a/lib/Automake/Item.pm b/lib/Automake/Item.pm
index 3d8a3f9..6da070e 100644
--- a/lib/Automake/Item.pm
+++ b/lib/Automake/Item.pm
@@ -14,9 +14,10 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Automake::Item;
+
+use 5.006;
 use strict;
 use Carp;
-
 use Automake::ChannelDefs;
 use Automake::DisjConditions;
 
@@ -71,7 +72,7 @@ sub def ($$)
 {
   # This method is called very often, so keep it small and fast.  We
   # don't mind the extra undefined items introduced by lookup failure;
-  # avoiding this with `exists' means doing two hash lookup on
+  # avoiding this with 'exists' means doing two hash lookup on
   # success, and proved worse on benchmark.
   my $def = $_[0]->{'defs'}{$_[1]};
   return defined $def && $def;
@@ -91,7 +92,7 @@ sub rdef ($$)
 {
   my ($self, $cond) = @_;
   my $d = $self->def ($cond);
-  prog_error ("undefined condition `" . $cond->human . "' for `"
+  prog_error ("undefined condition '" . $cond->human . "' for '"
              . $self->name . "'\n" . $self->dump)
     unless $d;
   return $d;
diff --git a/lib/Automake/ItemDef.pm b/lib/Automake/ItemDef.pm
index 8148df8..8b64562 100644
--- a/lib/Automake/ItemDef.pm
+++ b/lib/Automake/ItemDef.pm
@@ -14,6 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Automake::ItemDef;
+
+use 5.006;
 use strict;
 use Carp;
 
diff --git a/lib/Automake/Location.pm b/lib/Automake/Location.pm
index ba24ca2..290db73 100644
--- a/lib/Automake/Location.pm
+++ b/lib/Automake/Location.pm
@@ -15,6 +15,8 @@
 
 package Automake::Location;
 
+use 5.006;
+
 =head1 NAME
 
 Automake::Location - a class for location tracking, with a stack of contexts
diff --git a/lib/Automake/Makefile.am b/lib/Automake/Makefile.am
index 9e7b6f5..b5c93b1 100644
--- a/lib/Automake/Makefile.am
+++ b/lib/Automake/Makefile.am
@@ -31,7 +31,6 @@ dist_perllib_DATA = \
   Options.pm \
   Rule.pm \
   RuleDef.pm \
-  Struct.pm \
   Variable.pm \
   VarDef.pm \
   Version.pm \
diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm
index eee76db..2f977bd 100644
--- a/lib/Automake/Options.pm
+++ b/lib/Automake/Options.pm
@@ -15,6 +15,7 @@
 
 package Automake::Options;
 
+use 5.006;
 use strict;
 use Exporter;
 use Automake::Config;
@@ -26,11 +27,11 @@ use vars qw (@ISA @EXPORT);
 
 @ISA = qw (Exporter);
 @EXPORT = qw (option global_option
-             set_option set_global_option
-             unset_option unset_global_option
-             process_option_list process_global_option_list
-             set_strictness $strictness $strictness_name
-             &FOREIGN &GNU &GNITS);
+              set_option set_global_option
+              unset_option unset_global_option
+              process_option_list process_global_option_list
+              set_strictness $strictness $strictness_name
+              &FOREIGN &GNU &GNITS);
 
 =head1 NAME
 
@@ -71,8 +72,8 @@ F<Makefile.am>s.
 =cut
 
 # Values are the Automake::Location of the definition.
-use vars '%_options';          # From AUTOMAKE_OPTIONS
-use vars '%_global_options';   # from AM_INIT_AUTOMAKE or the command line.
+use vars '%_options';        # From AUTOMAKE_OPTIONS
+use vars '%_global_options'; # From AM_INIT_AUTOMAKE or the command line.
 
 # Whether process_option_list has already been called for the current
 # Makefile.am.
@@ -244,6 +245,53 @@ Return 1 on error, 0 otherwise.
 
 =cut
 
+# _option_must_be_from_configure ($OPTION, $WHERE)
+# ----------------------------------------------
+# Check that the $OPTION given in location $WHERE is specified with
+# AM_INIT_AUTOMAKE, not with AUTOMAKE_OPTIONS.
+sub _option_must_be_from_configure ($$)
+{
+  my ($opt, $where)= @_;
+  return
+    if $where->get =~ /^configure\./;
+  error $where,
+        "option '$opt' can only be used as argument to AM_INIT_AUTOMAKE\n" .
+        "but not in AUTOMAKE_OPTIONS makefile statements";
+}
+
+# _is_valid_easy_option ($OPTION)
+# -------------------------------
+# Explicitly recognize valid automake options that require no
+# special handling by '_process_option_list' below.
+sub _is_valid_easy_option ($)
+{
+  my $opt = shift;
+  return scalar grep { $opt eq $_ } qw(
+    check-news
+    color-tests
+    cygnus
+    dejagnu
+    dist-bzip2
+    dist-lzip
+    dist-shar
+    dist-tarZ
+    dist-xz
+    dist-zip
+    no-define
+    no-dependencies
+    no-dist
+    no-dist-gzip
+    no-exeext
+    no-installinfo
+    no-installman
+    no-texinfo.tex
+    nostdinc
+    readme-alpha
+    std-options
+    subdir-objects
+  );
+}
+
 # $BOOL
 # _process_option_list (\%OPTIONS, @LIST)
 # ------------------------------------------
@@ -262,15 +310,15 @@ sub _process_option_list (\%@)
       my $where = $h->{'where'};
       $options->{$_} = $where;
       if ($_ eq 'gnits' || $_ eq 'gnu' || $_ eq 'foreign')
-       {
-         set_strictness ($_);
-       }
+        {
+          set_strictness ($_);
+        }
       elsif (/^(.*\/)?ansi2knr$/)
-       {
+        {
           # Obsolete (and now removed) de-ANSI-fication support.
           error ($where,
                  "automatic de-ANSI-fication support has been removed");
-       }
+        }
       elsif ($_ eq 'dist-lzma')
         {
           error ($where, "support for lzma-compressed distribution " .
@@ -283,73 +331,50 @@ sub _process_option_list (\%@)
       elsif ($_ eq 'serial-tests')
         {
           # This is a little of an hack, but good enough for the moment.
-         delete $options->{'parallel-tests'};
+          delete $options->{'parallel-tests'};
         }
-      elsif ($_ eq 'no-installman' || $_ eq 'no-installinfo'
-            || $_ eq 'dist-shar' || $_ eq 'dist-zip'
-            || $_ eq 'dist-tarZ' || $_ eq 'dist-bzip2'
-            || $_ eq 'dist-lzip' || $_ eq 'dist-xz'
-            || $_ eq 'no-dist-gzip' || $_ eq 'no-dist'
-            || $_ eq 'dejagnu' || $_ eq 'no-texinfo.tex'
-            || $_ eq 'readme-alpha' || $_ eq 'check-news'
-            || $_ eq 'subdir-objects' || $_ eq 'nostdinc'
-            || $_ eq 'no-exeext' || $_ eq 'no-define'
-            || $_ eq 'std-options'
-            || $_ eq 'color-tests' 
-            || $_ eq 'cygnus' || $_ eq 'no-dependencies')
-       {
-         # Explicitly recognize these.
-       }
-      elsif ($_ =~ /^filename-length-max=(\d+)$/)
-       {
-         delete $options->{$_};
-         $options->{'filename-length-max'} = [$_, $1];
-       }
-      elsif ($_ eq  'silent-rules')
+      elsif (/^filename-length-max=(\d+)$/)
         {
-         error ($where,
-                "option `$_' can only be used as argument to 
AM_INIT_AUTOMAKE\n"
-                . "but not in AUTOMAKE_OPTIONS makefile statements")
-           if $where->get !~ /^configure\./;
-       }
+          delete $options->{$_};
+          $options->{'filename-length-max'} = [$_, $1];
+        }
+      elsif ($_ eq 'silent-rules')
+        {
+          _option_must_be_from_configure ($_, $where);
+        }
       elsif ($_ eq 'tar-v7' || $_ eq 'tar-ustar' || $_ eq 'tar-pax')
-       {
-         error ($where,
-                "option `$_' can only be used as argument to 
AM_INIT_AUTOMAKE\n"
-                . "but not in AUTOMAKE_OPTIONS makefile statements")
-           if $where->get !~ /^configure\./;
-         for my $opt ('tar-v7', 'tar-ustar', 'tar-pax')
-           {
-             next if $opt eq $_;
-             if (exists $options->{$opt})
-               {
-                 error ($where,
-                        "options `$_' and `$opt' are mutually exclusive");
-                 last;
-               }
-           }
-       }
+        {
+          _option_must_be_from_configure ($_, $where);
+          for my $opt ('tar-v7', 'tar-ustar', 'tar-pax')
+            {
+              next
+                if $opt eq $_ or ! exists $options->{$opt};
+              error ($where,
+                     "options '$_' and '$opt' are mutually exclusive");
+              last;
+            }
+        }
       elsif (/^\d+\.\d+(?:\.\d+)?[a-z]?(?:-[A-Za-z0-9]+)?$/)
-       {
-         # Got a version number.
-         if (Automake::Version::check ($VERSION, $&))
-           {
-             error ($where, "require Automake $_, but have $VERSION",
-                    uniq_scope => US_GLOBAL);
-             return 1;
-           }
-       }
+        {
+          # Got a version number.
+          if (Automake::Version::check ($VERSION, $&))
+            {
+              error ($where, "require Automake $_, but have $VERSION",
+                     uniq_scope => US_GLOBAL);
+              return 1;
+            }
+        }
       elsif (/^(?:--warnings=|-W)(.*)$/)
-       {
-         my @w = map { { cat => $_, loc => $where} } split (',', $1);
-         push @warnings, @w;
-       }
-      else
-       {
-         error ($where, "option `$_' not recognized",
-                uniq_scope => US_GLOBAL);
-         return 1;
-       }
+        {
+          my @w = map { { cat => $_, loc => $where} } split (',', $1);
+          push @warnings, @w;
+        }
+      elsif (! _is_valid_easy_option $_)
+        {
+          error ($where, "option '$_' not recognized",
+                 uniq_scope => US_GLOBAL);
+          return 1;
+        }
     }
   # We process warnings here, so that any explicitly-given warning setting
   # will take precedence over warning settings defined implicitly by the
@@ -357,8 +382,8 @@ sub _process_option_list (\%@)
   foreach my $w (@warnings)
     {
       msg 'unsupported', $w->{'loc'},
-          "unknown warning category `$w->{'cat'}'"
-       if switch_warning $w->{cat};
+          "unknown warning category '$w->{'cat'}'"
+        if switch_warning $w->{cat};
     }
   return 0;
 }
@@ -407,7 +432,7 @@ sub set_strictness ($)
     }
   else
     {
-      prog_error "level `$strictness_name' not recognized";
+      prog_error "level '$strictness_name' not recognized";
     }
 }
 
diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm
index ff81cd4..94aa801 100644
--- a/lib/Automake/Rule.pm
+++ b/lib/Automake/Rule.pm
@@ -14,6 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Automake::Rule;
+
+use 5.006;
 use strict;
 use Carp;
 
@@ -158,7 +160,7 @@ use vars '$suffix_rules';
 
 Pattern that matches all know input extensions (i.e. extensions used
 by the languages supported by Automake).  Using this pattern (instead
-of `\..*$') to match extensions allows Automake to support dot-less
+of '\..*$') to match extensions allows Automake to support dot-less
 extensions.
 
 New extensions should be registered with C<accept_extensions>.
@@ -376,7 +378,7 @@ sub reset()
 
      # Phonying.
      '.PHONY'               => [],
-     # Recursive install targets (so `make -n install' works for BSD Make).
+     # Recursive install targets (so "make -n install" works for BSD Make).
      '.MAKE'               => [],
      );
   %actions = ();
@@ -400,13 +402,13 @@ sub register_suffix_rule ($$$)
 
   # When transforming sources to objects, Automake uses the
   # %suffix_rules to move from each source extension to
-  # `.$(OBJEXT)', not to `.o' or `.obj'.  However some people
-  # define suffix rules for `.o' or `.obj', so internally we will
-  # consider these extensions equivalent to `.$(OBJEXT)'.  We
-  # CANNOT rewrite the target (i.e., automagically replace `.o'
-  # and `.obj' by `.$(OBJEXT)' in the output), or warn the user
-  # that (s)he'd better use `.$(OBJEXT)', because Automake itself
-  # output suffix rules for `.o' or `.obj' ...
+  # '.$(OBJEXT)', not to '.o' or '.obj'.  However some people
+  # define suffix rules for '.o' or '.obj', so internally we will
+  # consider these extensions equivalent to '.$(OBJEXT)'.  We
+  # CANNOT rewrite the target (i.e., automagically replace '.o'
+  # and '.obj' by '.$(OBJEXT)' in the output), or warn the user
+  # that (s)he'd better use '.$(OBJEXT)', because Automake itself
+  # output suffix rules for '.o' or '.obj' ...
   $dest = '.$(OBJEXT)' if ($dest eq '.o' || $dest eq '.obj');
 
   # Reading the comments near the declaration of $suffix_rules might
@@ -496,7 +498,7 @@ sub rule ($)
 {
   my ($name) = @_;
   # Strip $(EXEEXT) from $name, so we can diagnose
-  # a clash if `ctags$(EXEEXT):' is redefined after `ctags:'.
+  # a clash if 'ctags$(EXEEXT):' is redefined after 'ctags:'.
   $name =~ s,\$\(EXEEXT\)$,,;
   return $_rule_dict{$name} || 0;
 }
@@ -565,7 +567,7 @@ sub _new ($$)
   my ($class, $name) = @_;
 
   # Strip $(EXEEXT) from $name, so we can diagnose
-  # a clash if `ctags$(EXEEXT):' is redefined after `ctags:'.
+  # a clash if 'ctags$(EXEEXT):' is redefined after 'ctags:'.
   (my $keyname = $name) =~ s,\$\(EXEEXT\)$,,;
 
   my $self = Automake::Item::new ($class, $name);
@@ -599,7 +601,7 @@ sub define ($$$$$)
   # Don't even think about defining a rule in condition FALSE.
   return () if $cond == FALSE;
 
-  # For now `foo:' will override `foo$(EXEEXT):'.  This is temporary,
+  # For now 'foo:' will override 'foo$(EXEEXT):'.  This is temporary,
   # though, so we emit a warning.
   (my $noexe = $target) =~ s,\$\(EXEEXT\)$,,;
   my $noexerule = rule $noexe;
@@ -613,34 +615,33 @@ sub define ($$$$$)
       if (! option 'no-exeext')
        {
          msg ('obsolete', $tdef->location,
-              "deprecated feature: target `$noexe' overrides "
-              . "`$noexe\$(EXEEXT)'\n"
-              . "change your target to read `$noexe\$(EXEEXT)'",
+              "deprecated feature: target '$noexe' overrides "
+              . "'$noexe\$(EXEEXT)'\n"
+              . "change your target to read '$noexe\$(EXEEXT)'",
               partial => 1);
-         msg ('obsolete', $where, "target `$target' was defined here");
+         msg ('obsolete', $where, "target '$target' was defined here");
        }
-      # Don't `return ()' now, as this might hide target clashes
+      # Don't 'return ()' now, as this might hide target clashes
       # detected below.
     }
 
-
   # Diagnose target redefinitions.
   if ($tdef)
     {
       my $oldowner  = $tdef->owner;
       # Ok, it's the name target, but the name maybe different because
-      # `foo$(EXEEXT)' and `foo' have the same key in our table.
+      # 'foo$(EXEEXT)' and 'foo' have the same key in our table.
       my $oldname = $tdef->name;
 
       # Don't mention true conditions in diagnostics.
       my $condmsg =
-       $cond == TRUE ? '' : " in condition `" . $cond->human . "'";
+       $cond == TRUE ? '' : " in condition '" . $cond->human . "'";
 
       if ($owner == RULE_USER)
        {
          if ($oldowner == RULE_USER)
            {
-             # Ignore `%'-style pattern rules.  We'd need the
+             # Ignore '%'-style pattern rules.  We'd need the
              # dependencies to detect duplicates.
              if ($target !~ /^[^%]*%[^%]*$/)
                {
@@ -652,9 +653,9 @@ sub define ($$$$$)
                  ## is legitimate. (This is phony.test.)
 
                  # msg ('syntax', $where,
-                 #      "redefinition of `$target'$condmsg ...", partial => 1);
+                 #      "redefinition of '$target'$condmsg ...", partial => 1);
                  # msg_cond_rule ('syntax', $cond, $target,
-                 #                "... `$target' previously defined here");
+                 #                "... '$target' previously defined here");
                }
              # Return so we don't redefine the rule in our tables,
              # don't check for ambiguous condition, etc.  The rule
@@ -666,7 +667,7 @@ sub define ($$$$$)
            {
              # Since we parse the user Makefile.am before reading
              # the Automake fragments, this condition should never happen.
-             prog_error ("user target `$target'$condmsg seen after Automake's"
+             prog_error ("user target '$target'$condmsg seen after Automake's"
                          . " definition\nfrom " . $tdef->source);
            }
        }
@@ -687,10 +688,10 @@ sub define ($$$$$)
                }
 
              msg_cond_rule ('override', $cond, $target,
-                            "user target `$target' defined here"
+                            "user target '$target' defined here"
                             . "$condmsg ...", partial => 1);
              msg ('override', $where,
-                  "... overrides Automake target `$oldname' defined here",
+                  "... overrides Automake target '$oldname' defined here",
                   partial => $hint);
              msg_cond_rule ('override', $cond, $target, $hint)
                if $hint;
@@ -705,17 +706,17 @@ sub define ($$$$$)
              # it easier to process a Makefile fragment several times.
              # However it's an error if the target is defined in many
              # files.  E.g., the user might be using bin_PROGRAMS = ctags
-             # which clashes with our `ctags' rule.
+             # which clashes with our 'ctags' rule.
              # (It would be more accurate if we had a way to compare
              # the *content* of both rules.  Then $targets_source would
              # be useless.)
              my $oldsource = $tdef->source;
              return () if $source eq $oldsource && $target eq $oldname;
 
-             msg ('syntax', $where, "redefinition of `$target'$condmsg ...",
+             msg ('syntax', $where, "redefinition of '$target'$condmsg ...",
                   partial => 1);
              msg_cond_rule ('syntax', $cond, $target,
-                            "... `$oldname' previously defined here");
+                            "... '$oldname' previously defined here");
              return ();
            }
        }
@@ -736,7 +737,7 @@ sub define ($$$$$)
          # For user rules, just diagnose the ambiguity.
          msg 'syntax', $where, "$message ...", partial => 1;
          msg_cond_rule ('syntax', $ambig_cond, $target,
-                        "... `$target' previously defined here");
+                        "... '$target' previously defined here");
          return ();
        }
       else
@@ -752,11 +753,11 @@ sub define ($$$$$)
          #   else
          #   bin_PROGRAMS = foo
          #   endif
-         # &handle_PROGRAMS will attempt to define a `foo:' rule
+         # &handle_PROGRAMS will attempt to define a 'foo:' rule
          # in condition TRUE (which conflicts with COND1).  Fixing
          # this in &handle_PROGRAMS and siblings seems hard: you'd
          # have to explain &file_contents what to do with a
-         # condition.  So for now we do our best *here*.  If `foo:'
+         # condition.  So for now we do our best *here*.  If 'foo:'
          # was already defined in condition COND1 and we want to define
          # it in condition TRUE, then define it only in condition !COND1.
          # (See cond14.test and cond15.test for some test cases.)
@@ -768,7 +769,7 @@ sub define ($$$$$)
            {
              msg 'syntax', $where, "$message ...", partial => 1;
              msg_cond_rule ('syntax', $ambig_cond, $target,
-                            "... `$target' previously defined here");
+                            "... '$target' previously defined here");
              return ();
            }
        }
@@ -795,7 +796,7 @@ sub define ($$$$$)
       # two known extensions...
       if ($t =~ /^($KNOWN_EXTENSIONS_PATTERN)($KNOWN_EXTENSIONS_PATTERN)$/
          # ...or it's a rule with unknown extensions (i.e., the rule
-         # looks like `.foo.bar:' but `.foo' or `.bar' are not
+         # looks like '.foo.bar:' but '.foo' or '.bar' are not
          # declared in SUFFIXES and are not known language
          # extensions).  Automake will complete SUFFIXES from
          # @suffixes automatically (see handle_footer).
diff --git a/lib/Automake/RuleDef.pm b/lib/Automake/RuleDef.pm
index 738e377..571111c 100644
--- a/lib/Automake/RuleDef.pm
+++ b/lib/Automake/RuleDef.pm
@@ -14,6 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Automake::RuleDef;
+
+use 5.006;
 use strict;
 use Carp;
 use Automake::ChannelDefs;
diff --git a/lib/Automake/Struct.pm b/lib/Automake/Struct.pm
deleted file mode 100644
index 8394848..0000000
--- a/lib/Automake/Struct.pm
+++ /dev/null
@@ -1,628 +0,0 @@
-# autoconf -- create `configure' using m4 macros
-# 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/>.
-
-# This file is basically Perl 5.6's Class::Struct, but made compatible
-# with Perl 5.5.  If someday this has to be updated, be sure to rename
-# all the occurrences of Class::Struct into Automake::Struct, otherwise
-# if we `use' a Perl module (e.g., File::stat) that uses Class::Struct,
-# we would have two packages defining the same symbols.  Boom.
-
-###############################################################
-# The main copy of this file is in Automake's git repository. #
-# Updates should be sent to address@hidden         #
-###############################################################
-
-package Automake::Struct;
-
-## See POD after __END__
-
-use 5.005_03;
-
-use strict;
-use vars qw(@ISA @EXPORT $VERSION);
-
-use Carp;
-
-require Exporter;
address@hidden = qw(Exporter);
address@hidden = qw(struct);
-
-$VERSION = '0.58';
-
-## Tested on 5.002 and 5.003 without class membership tests:
-my $CHECK_CLASS_MEMBERSHIP = ($] >= 5.003_95);
-
-my $print = 0;
-sub printem {
-    if (@_) { $print = shift }
-    else    { $print++ }
-}
-
-{
-    package Automake::Struct::Tie_ISA;
-
-    sub TIEARRAY {
-        my $class = shift;
-        return bless [], $class;
-    }
-
-    sub STORE {
-        my ($self, $index, $value) = @_;
-        Automake::Struct::_subclass_error();
-    }
-
-    sub FETCH {
-        my ($self, $index) = @_;
-        $self->[$index];
-    }
-
-    sub FETCHSIZE {
-        my $self = shift;
-        return scalar(@$self);
-    }
-
-    sub DESTROY { }
-}
-
-sub struct {
-
-    # Determine parameter list structure, one of:
-    #   struct( class => [ element-list ])
-    #   struct( class => { element-list })
-    #   struct( element-list )
-    # Latter form assumes current package name as struct name.
-
-    my ($class, @decls);
-    my $base_type = ref $_[1];
-    if ( $base_type eq 'HASH' ) {
-        $class = shift;
-        @decls = %{shift()};
-        _usage_error() if @_;
-    }
-    elsif ( $base_type eq 'ARRAY' ) {
-        $class = shift;
-        @decls = @{shift()};
-        _usage_error() if @_;
-    }
-    else {
-        $base_type = 'ARRAY';
-        $class = (caller())[0];
-        @decls = @_;
-    }
-    _usage_error() if @decls % 2 == 1;
-
-    # Ensure we are not, and will not be, a subclass.
-
-    my $isa = do {
-        no strict 'refs';
-        address@hidden . '::ISA'};
-    };
-    _subclass_error() if @$isa;
-    tie @$isa, 'Automake::Struct::Tie_ISA';
-
-    # Create constructor.
-
-    croak "function 'new' already defined in package $class"
-        if do { no strict 'refs'; defined &{$class . "::new"} };
-
-    my @methods = ();
-    my %refs = ();
-    my %arrays = ();
-    my %hashes = ();
-    my %classes = ();
-    my $got_class = 0;
-    my $out = '';
-
-    $out = "{\n  package $class;\n  use Carp;\n  sub new {\n";
-    $out .= "    my (\$class, \%init) = address@hidden;\n";
-    $out .= "    \$class = __PACKAGE__ unless address@hidden;\n";
-
-    my $cnt = 0;
-    my $idx = 0;
-    my( $cmt, $name, $type, $elem );
-
-    if( $base_type eq 'HASH' ){
-        $out .= "    my(\$r) = {};\n";
-        $cmt = '';
-    }
-    elsif( $base_type eq 'ARRAY' ){
-        $out .= "    my(\$r) = [];\n";
-    }
-    while( $idx < @decls ){
-        $name = $decls[$idx];
-        $type = $decls[$idx+1];
-        push( @methods, $name );
-        if( $base_type eq 'HASH' ){
-            $elem = "{'${class}::$name'}";
-        }
-        elsif( $base_type eq 'ARRAY' ){
-            $elem = "[$cnt]";
-            ++$cnt;
-            $cmt = " # $name";
-        }
-        if( $type =~ /^\*(.)/ ){
-            $refs{$name}++;
-            $type = $1;
-        }
-        my $init = "defined(\$init{'$name'}) ? \$init{'$name'} :";
-        if( $type eq '@' ){
-            $out .= "    croak 'Initializer for $name must be array 
reference'\n";
-            $out .= "        if defined(\$init{'$name'}) && 
ref(\$init{'$name'}) ne 'ARRAY';\n";
-            $out .= "    \$r->$elem = $init [];$cmt\n";
-            $arrays{$name}++;
-        }
-        elsif( $type eq '%' ){
-            $out .= "    croak 'Initializer for $name must be hash 
reference'\n";
-            $out .= "        if defined(\$init{'$name'}) && 
ref(\$init{'$name'}) ne 'HASH';\n";
-            $out .= "    \$r->$elem = $init {};$cmt\n";
-            $hashes{$name}++;
-        }
-        elsif ( $type eq '$') {
-            $out .= "    \$r->$elem = $init undef;$cmt\n";
-        }
-        elsif( $type =~ /^\w+(?:::\w+)*$/ ){
-            $init = "defined(\$init{'$name'}) ? \%{\$init{'$name'}} : ()";
-            $out .= "    croak 'Initializer for $name must be hash 
reference'\n";
-            $out .= "        if defined(\$init{'$name'}) && 
ref(\$init{'$name'}) ne 'HASH';\n";
-            $out .= "    \$r->$elem = '${type}'->new($init);$cmt\n";
-            $classes{$name} = $type;
-            $got_class = 1;
-        }
-        else{
-            croak "'$type' is not a valid struct element type";
-        }
-        $idx += 2;
-    }
-    $out .= "    bless \$r, \$class;\n  }\n";
-
-    # Create accessor methods.
-
-    my( $pre, $pst, $sel );
-    $cnt = 0;
-    foreach $name (@methods){
-        if ( do { no strict 'refs'; defined &{$class . "::$name"} } ) {
-            carp "function '$name' already defined, overrides struct accessor 
method";
-        }
-        else {
-            $pre = $pst = $cmt = $sel = '';
-            if( defined $refs{$name} ){
-                $pre = "\\(";
-                $pst = ")";
-                $cmt = " # returns ref";
-            }
-            $out .= "  sub $name {$cmt\n    my \$r = shift;\n";
-            if( $base_type eq 'ARRAY' ){
-                $elem = "[$cnt]";
-                ++$cnt;
-            }
-            elsif( $base_type eq 'HASH' ){
-                $elem = "{'${class}::$name'}";
-            }
-            if( defined $arrays{$name} ){
-                $out .= "    my \$i;\n";
-                $out .= "    address@hidden ? (\$i = shift) : return 
\$r->$elem;\n";
-                $sel = "->[\$i]";
-            }
-            elsif( defined $hashes{$name} ){
-                $out .= "    my \$i;\n";
-                $out .= "    address@hidden ? (\$i = shift) : return 
\$r->$elem;\n";
-                $sel = "->{\$i}";
-            }
-            elsif( defined $classes{$name} ){
-                if ( $CHECK_CLASS_MEMBERSHIP ) {
-                    $out .= "    croak '$name argument is wrong class' if 
address@hidden && ! UNIVERSAL::isa(\$_[0], '$classes{$name}');\n";
-                }
-            }
-            $out .= "    croak 'Too many args to $name' if address@hidden > 
1;\n";
-            $out .= "    address@hidden ? ($pre\$r->$elem$sel = shift$pst) : 
$pre\$r->$elem$sel$pst;\n";
-            $out .= "  }\n";
-        }
-    }
-    $out .= "}\n1;\n";
-
-    print $out if $print;
-    my $result = eval $out;
-    carp $@ if $@;
-}
-
-sub _usage_error {
-    confess "struct usage error";
-}
-
-sub _subclass_error {
-    croak 'struct class cannot be a subclass (@ISA not allowed)';
-}
-
-1; # for require
-
-
-__END__
-
-=head1 NAME
-
-Automake::Struct - declare struct-like datatypes as Perl classes
-
-=head1 SYNOPSIS
-
-    use Automake::Struct;
-            # declare struct, based on array:
-    struct( CLASS_NAME => [ ELEMENT_NAME => ELEMENT_TYPE, ... ]);
-            # declare struct, based on hash:
-    struct( CLASS_NAME => { ELEMENT_NAME => ELEMENT_TYPE, ... });
-
-    package CLASS_NAME;
-    use Automake::Struct;
-            # declare struct, based on array, implicit class name:
-    struct( ELEMENT_NAME => ELEMENT_TYPE, ... );
-
-
-    package Myobj;
-    use Automake::Struct;
-            # declare struct with four types of elements:
-    struct( s => '$', a => '@', h => '%', c => 'My_Other_Class' );
-
-    $obj = new Myobj;               # constructor
-
-                                    # scalar type accessor:
-    $element_value = $obj->s;           # element value
-    $obj->s('new value');               # assign to element
-
-                                    # array type accessor:
-    $ary_ref = $obj->a;                 # reference to whole array
-    $ary_element_value = $obj->a(2);    # array element value
-    $obj->a(2, 'new value');            # assign to array element
-
-                                    # hash type accessor:
-    $hash_ref = $obj->h;                # reference to whole hash
-    $hash_element_value = $obj->h('x'); # hash element value
-    $obj->h('x', 'new value');        # assign to hash element
-
-                                    # class type accessor:
-    $element_value = $obj->c;           # object reference
-    $obj->c->method(...);               # call method of object
-    $obj->c(new My_Other_Class);        # assign a new object
-
-
-=head1 DESCRIPTION
-
-C<Automake::Struct> exports a single function, C<struct>.
-Given a list of element names and types, and optionally
-a class name, C<struct> creates a Perl 5 class that implements
-a "struct-like" data structure.
-
-The new class is given a constructor method, C<new>, for creating
-struct objects.
-
-Each element in the struct data has an accessor method, which is
-used to assign to the element and to fetch its value.  The
-default accessor can be overridden by declaring a C<sub> of the
-same name in the package.  (See Example 2.)
-
-Each element's type can be scalar, array, hash, or class.
-
-
-=head2 The C<struct()> function
-
-The C<struct> function has three forms of parameter-list.
-
-    struct( CLASS_NAME => [ ELEMENT_LIST ]);
-    struct( CLASS_NAME => { ELEMENT_LIST });
-    struct( ELEMENT_LIST );
-
-The first and second forms explicitly identify the name of the
-class being created.  The third form assumes the current package
-name as the class name.
-
-An object of a class created by the first and third forms is
-based on an array, whereas an object of a class created by the
-second form is based on a hash. The array-based forms will be
-somewhat faster and smaller; the hash-based forms are more
-flexible.
-
-The class created by C<struct> must not be a subclass of another
-class other than C<UNIVERSAL>.
-
-It can, however, be used as a superclass for other classes. To facilitate
-this, the generated constructor method uses a two-argument blessing.
-Furthermore, if the class is hash-based, the key of each element is
-prefixed with the class name (see I<Perl Cookbook>, Recipe 13.12).
-
-A function named C<new> must not be explicitly defined in a class
-created by C<struct>.
-
-The I<ELEMENT_LIST> has the form
-
-    NAME => TYPE, ...
-
-Each name-type pair declares one element of the struct. Each
-element name will be defined as an accessor method unless a
-method by that name is explicitly defined; in the latter case, a
-warning is issued if the warning flag (B<-w>) is set.
-
-
-=head2 Element Types and Accessor Methods
-
-The four element types -- scalar, array, hash, and class -- are
-represented by strings -- C<'$'>, C<'@'>, C<'%'>, and a class name --
-optionally preceded by a C<'*'>.
-
-The accessor method provided by C<struct> for an element depends
-on the declared type of the element.
-
-=over
-
-=item Scalar (C<'$'> or C<'*$'>)
-
-The element is a scalar, and by default is initialized to C<undef>
-(but see L<Initializing with new>).
-
-The accessor's argument, if any, is assigned to the element.
-
-If the element type is C<'$'>, the value of the element (after
-assignment) is returned. If the element type is C<'*$'>, a reference
-to the element is returned.
-
-=item Array (C<'@'> or C<'*@'>)
-
-The element is an array, initialized by default to C<()>.
-
-With no argument, the accessor returns a reference to the
-element's whole array (whether or not the element was
-specified as C<'@'> or C<'*@'>).
-
-With one or two arguments, the first argument is an index
-specifying one element of the array; the second argument, if
-present, is assigned to the array element.  If the element type
-is C<'@'>, the accessor returns the array element value.  If the
-element type is C<'*@'>, a reference to the array element is
-returned.
-
-=item Hash (C<'%'> or C<'*%'>)
-
-The element is a hash, initialized by default to C<()>.
-
-With no argument, the accessor returns a reference to the
-element's whole hash (whether or not the element was
-specified as C<'%'> or C<'*%'>).
-
-With one or two arguments, the first argument is a key specifying
-one element of the hash; the second argument, if present, is
-assigned to the hash element.  If the element type is C<'%'>, the
-accessor returns the hash element value.  If the element type is
-C<'*%'>, a reference to the hash element is returned.
-
-=item Class (C<'Class_Name'> or C<'*Class_Name'>)
-
-The element's value must be a reference blessed to the named
-class or to one of its subclasses. The element is initialized to
-the result of calling the C<new> constructor of the named class.
-
-The accessor's argument, if any, is assigned to the element. The
-accessor will C<croak> if this is not an appropriate object
-reference.
-
-If the element type does not start with a C<'*'>, the accessor
-returns the element value (after assignment). If the element type
-starts with a C<'*'>, a reference to the element itself is returned.
-
-=back
-
-=head2 Initializing with C<new>
-
-C<struct> always creates a constructor called C<new>. That constructor
-may take a list of initializers for the various elements of the new
-struct.
-
-Each initializer is a pair of values: I<element name>C< =E<gt> >I<value>.
-The initializer value for a scalar element is just a scalar value. The
-initializer for an array element is an array reference. The initializer
-for a hash is a hash reference.
-
-The initializer for a class element is also a hash reference, and the
-contents of that hash are passed to the element's own constructor.
-
-See Example 3 below for an example of initialization.
-
-
-=head1 EXAMPLES
-
-=over
-
-=item Example 1
-
-Giving a struct element a class type that is also a struct is how
-structs are nested.  Here, C<timeval> represents a time (seconds and
-microseconds), and C<rusage> has two elements, each of which is of
-type C<timeval>.
-
-    use Automake::Struct;
-
-    struct( rusage => {
-        ru_utime => timeval,  # seconds
-        ru_stime => timeval,  # microseconds
-    });
-
-    struct( timeval => [
-        tv_secs  => '$',
-        tv_usecs => '$',
-    ]);
-
-        # create an object:
-    my $t = new rusage;
-
-        # $t->ru_utime and $t->ru_stime are objects of type timeval.
-        # set $t->ru_utime to 100.0 sec and $t->ru_stime to 5.0 sec.
-    $t->ru_utime->tv_secs(100);
-    $t->ru_utime->tv_usecs(0);
-    $t->ru_stime->tv_secs(5);
-    $t->ru_stime->tv_usecs(0);
-
-
-=item Example 2
-
-An accessor function can be redefined in order to provide
-additional checking of values, etc.  Here, we want the C<count>
-element always to be nonnegative, so we redefine the C<count>
-accessor accordingly.
-
-    package MyObj;
-    use Automake::Struct;
-
-    # declare the struct
-    struct ( 'MyObj', { count => '$', stuff => '%' } );
-
-    # override the default accessor method for 'count'
-    sub count {
-        my $self = shift;
-        if ( @_ ) {
-            die 'count must be nonnegative' if $_[0] < 0;
-            $self->{'count'} = shift;
-            warn "Too many args to count" if @_;
-        }
-        return $self->{'count'};
-    }
-
-    package main;
-    $x = new MyObj;
-    print "\$x->count(5) = ", $x->count(5), "\n";
-                            # prints '$x->count(5) = 5'
-
-    print "\$x->count = ", $x->count, "\n";
-                            # prints '$x->count = 5'
-
-    print "\$x->count(-5) = ", $x->count(-5), "\n";
-                            # dies due to negative argument!
-
-=item Example 3
-
-The constructor of a generated class can be passed a list
-of I<element>=>I<value> pairs, with which to initialize the struct.
-If no initializer is specified for a particular element, its default
-initialization is performed instead. Initializers for non-existent
-elements are silently ignored.
-
-Note that the initializer for a nested struct is specified
-as an anonymous hash of initializers, which is passed on to the nested
-struct's constructor.
-
-
-    use Automake::Struct;
-
-    struct Breed =>
-    {
-        name  => '$',
-        cross => '$',
-    };
-
-    struct Cat =>
-    [
-        name     => '$',
-        kittens  => '@',
-        markings => '%',
-        breed    => 'Breed',
-    ];
-
-
-    my $cat = Cat->new( name     => 'Socks',
-                        kittens  => ['Monica', 'Kenneth'],
-                        markings => { socks=>1, blaze=>"white" },
-                        breed    => { name=>'short-hair', cross=>1 },
-                      );
-
-    print "Once a cat called ", $cat->name, "\n";
-    print "(which was a ", $cat->breed->name, ")\n";
-    print "had two kittens: ", join(' and ', @{$cat->kittens}), "\n";
-
-=back
-
-=head1 Author and Modification History
-
-Modified by Akim Demaille, 2001-08-03
-
-    Rename as Automake::Struct to avoid name clashes with
-    Class::Struct.
-
-    Make it compatible with Perl 5.5.
-
-Modified by Damian Conway, 1999-03-05, v0.58.
-
-    Added handling of hash-like arg list to class ctor.
-
-    Changed to two-argument blessing in ctor to support
-    derivation from created classes.
-
-    Added classname prefixes to keys in hash-based classes
-    (refer to "Perl Cookbook", Recipe 13.12 for rationale).
-
-    Corrected behavior of accessors for '*@' and '*%' struct
-    elements.  Package now implements documented behavior when
-    returning a reference to an entire hash or array element.
-    Previously these were returned as a reference to a reference
-    to the element.
-
-
-Renamed to C<Class::Struct> and modified by Jim Miner, 1997-04-02.
-
-    members() function removed.
-    Documentation corrected and extended.
-    Use of struct() in a subclass prohibited.
-    User definition of accessor allowed.
-    Treatment of '*' in element types corrected.
-    Treatment of classes as element types corrected.
-    Class name to struct() made optional.
-    Diagnostic checks added.
-
-
-Originally C<Class::Template> by Dean Roehrich.
-
-    # Template.pm   --- struct/member template builder
-    #   12mar95
-    #   Dean Roehrich
-    #
-    # changes/bugs fixed since 28nov94 version:
-    #  - podified
-    # changes/bugs fixed since 21nov94 version:
-    #  - Fixed examples.
-    # changes/bugs fixed since 02sep94 version:
-    #  - Moved to Class::Template.
-    # changes/bugs fixed since 20feb94 version:
-    #  - Updated to be a more proper module.
-    #  - Added "use strict".
-    #  - Bug in build_methods, was using @var when @$var needed.
-    #  - Now using my() rather than local().
-    #
-    # Uses perl5 classes to create nested data types.
-    # This is offered as one implementation of Tom Christiansen's "structs.pl"
-    # idea.
-
-=cut
-
-### Setup "GNU" style for perl-mode and cperl-mode.
-## Local Variables:
-## perl-indent-level: 2
-## perl-continued-statement-offset: 2
-## perl-continued-brace-offset: 0
-## perl-brace-offset: 0
-## perl-brace-imaginary-offset: 0
-## perl-label-offset: -2
-## cperl-indent-level: 2
-## cperl-brace-offset: 0
-## cperl-continued-brace-offset: 0
-## cperl-label-offset: -2
-## cperl-extra-newline-before-brace: t
-## cperl-merge-trailing-else: nil
-## cperl-continued-statement-offset: 2
-## End:
diff --git a/lib/Automake/VarDef.pm b/lib/Automake/VarDef.pm
index e51c18d..dde99ac 100644
--- a/lib/Automake/VarDef.pm
+++ b/lib/Automake/VarDef.pm
@@ -14,6 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Automake::VarDef;
+
+use 5.006;
 use strict;
 use Carp;
 use Automake::ChannelDefs;
@@ -47,7 +49,7 @@ Automake::VarDef - a class for variable definitions
   $def->append ('value to append', 'comment to append');
 
   # Accessors.
-  my $value    = $def->value;  # with trailing `#' comments and
+  my $value    = $def->value;  # with trailing '#' comments and
                                # continuation ("\\\n") omitted.
   my $value    = $def->raw_value; # the real value, as passed to new().
   my $comment  = $def->comment;
@@ -148,11 +150,11 @@ sub new ($$$$$$$$)
 {
   my ($class, $var, $value, $comment, $location, $type, $owner, $pretty) = @_;
 
-  # A user variable must be set by either `=' or `:=', and later
-  # promoted to `+='.
+  # A user variable must be set by either '=' or ':=', and later
+  # promoted to '+='.
   if ($owner != VAR_AUTOMAKE && $type eq '+')
     {
-      error $location, "$var must be set with `=' before using `+='";
+      error $location, "$var must be set with '=' before using '+='";
     }
 
   my $self = Automake::ItemDef::new ($class, $comment, $location, $owner);
@@ -182,14 +184,14 @@ sub append ($$$)
   #   VAR += bar
   # does not become
   #   VAR = foo # com bar
-  # Furthermore keeping `#' would not be portable if the variable is
+  # Furthermore keeping '#' would not be portable if the variable is
   # output on multiple lines.
   $val =~ s/ ?#.*//;
   # Insert a separator, if required.
   $val .= ' ' if $val;
   $self->{'value'} = $val . $value;
   # Turn ASIS appended variables into PRETTY variables.  This is to
-  # cope with `make' implementation that cannot read very long lines.
+  # cope with 'make' implementation that cannot read very long lines.
   $self->{'pretty'} = VAR_PRETTY if $self->{'pretty'} == VAR_ASIS;
 }
 
@@ -210,7 +212,7 @@ sub value ($)
 {
   my ($self) = @_;
   my $val = $self->raw_value;
-  # Strip anything past `#'.  `#' characters cannot be escaped
+  # Strip anything past '#'.  '#' characters cannot be escaped
   # in Makefiles, so we don't have to be smart.
   $val =~ s/#.*$//s;
   # Strip backslashes.
@@ -249,7 +251,7 @@ sub set_owner ($$$)
 {
   my ($self, $owner, $location) = @_;
   # We always adjust the location when the owner changes (even for
-  # `+=' statements).  The risk otherwise is to warn about
+  # '+=' statements).  The risk otherwise is to warn about
   # a VAR_MAKEFILE variable and locate it in configure.ac...
   $self->{'owner'} = $owner;
   $self->{'location'} = $location;
diff --git a/lib/Automake/Variable.pm b/lib/Automake/Variable.pm
index e9c2ed6..46d8cfb 100644
--- a/lib/Automake/Variable.pm
+++ b/lib/Automake/Variable.pm
@@ -14,6 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Automake::Variable;
+
+use 5.006;
 use strict;
 use Carp;
 
@@ -139,7 +141,7 @@ my @_var_order;
 
 # This keeps track of all variables defined by &_gen_varname.
 # $_gen_varname{$base} is a hash for all variables defined with
-# prefix `$base'.  Values stored in this hash are the variable names.
+# prefix '$base'.  Values stored in this hash are the variable names.
 # Keys have the form "(COND1)VAL1(COND2)VAL2..." where VAL1 and VAL2
 # are the values of the variable for condition COND1 and COND2.
 my %_gen_varname = ();
@@ -470,7 +472,7 @@ sub _check_ambiguous_condition ($$$)
   if ($message && $def->pretty != VAR_SILENT)
     {
       msg 'syntax', $where, "$message ...", partial => 1;
-      msg_var ('syntax', $var, "... `$var' previously defined here");
+      msg_var ('syntax', $var, "... '$var' previously defined here");
       verb ($self->dump);
     }
 }
@@ -524,7 +526,7 @@ sub output ($@)
   foreach my $cond (@conds)
     {
       my $def = $self->def ($cond);
-      prog_error ("unknown condition `" . $cond->human . "' for `"
+      prog_error ("unknown condition '" . $cond->human . "' for '"
                  . $self->name . "'")
        unless $def;
 
@@ -672,8 +674,8 @@ sub has_conditional_contents ($)
 
   # Traverse the variable recursively until we
   # find a variable defined conditionally.
-  # Use `die' to abort the traversal, and pass it `$full_cond'
-  # to we can find easily whether the `eval' block aborted
+  # Use 'die' to abort the traversal, and pass it '$full_cond'
+  # to we can find easily whether the 'eval' block aborted
   # because we found a condition, or for some other error.
   eval
     {
@@ -744,7 +746,7 @@ sub scan_variable_expansions ($)
     {
       my $var = $1 || $2;
       # The occurrence may look like $(string1[:subst1=[subst2]]) but
-      # we want only `string1'.
+      # we want only 'string1'.
       $var =~ s/:[^:=]*=[^=]*$//;
       push @result, $var;
     }
@@ -827,9 +829,9 @@ sub define ($$$$$$$$)
       if ($def->type ne $type && $def->owner == VAR_AUTOMAKE)
        {
          error ($def->location,
-                "Automake variable `$var' was set with `"
+                "Automake variable '$var' was set with '"
                 . $def->type . "=' here ...", partial => 1);
-         error ($where, "... and is now set with `$type=' here.");
+         error ($where, "... and is now set with '$type=' here.");
          prog_error ("Automake variable assignments should be consistently\n"
                      . "defined with the same sign");
        }
@@ -841,15 +843,15 @@ sub define ($$$$$$$$)
          if (! exists $_silent_variable_override{$var})
            {
              my $condmsg = ($cond == TRUE
-                            ? '' : (" in condition `" . $cond->human . "'"));
+                            ? '' : (" in condition '" . $cond->human . "'"));
              msg_cond_var ('override', $cond, $var,
-                           "user variable `$var' defined here$condmsg ...",
+                           "user variable '$var' defined here$condmsg ...",
                            partial => 1);
              msg ('override', $where,
-                  "... overrides Automake variable `$var' defined here");
+                  "... overrides Automake variable '$var' defined here");
            }
          verb ("refusing to override the user definition of:\n"
-               . $self->dump ."with `" . $cond->human . "' => `$value'");
+               . $self->dump ."with '" . $cond->human . "' => '$value'");
          return;
        }
     }
@@ -938,16 +940,16 @@ sub define ($$$$$$$$)
          #   endif
          #   X += Z
          # should be rejected because X is not defined for all conditions
-         # where `+=' applies.
+         # where '+=' applies.
          my $undef_cond = $self->not_always_defined_in_cond ($cond);
          if (! $undef_cond->false)
            {
              error ($where,
-                    "cannot apply `+=' because `$var' is not defined "
+                    "cannot apply '+=' because '$var' is not defined "
                     . "in\nthe following conditions:\n  "
                     . join ("\n  ", map { $_->human } $undef_cond->conds)
-                    . "\neither define `$var' in these conditions,"
-                    . " or use\n`+=' in the same conditions as"
+                    . "\neither define '$var' in these conditions,"
+                    . " or use\n'+=' in the same conditions as"
                     . " the definitions.");
            }
          else
@@ -974,7 +976,7 @@ sub define ($$$$$$$$)
        if ! $new_var && $owner < $def->owner;
 
       # Assignments to a macro set its location.  We don't adjust
-      # locations for `+='.  Ideally I suppose we would associate
+      # locations for '+='.  Ideally I suppose we would associate
       # line numbers with random bits of text.
       $def = new Automake::VarDef ($var, $value, $comment, $where->clone,
                                   $type, $owner, $pretty);
@@ -1089,7 +1091,7 @@ sub require_variables ($$$@)
       next VARIABLE
        if vardef ($var, $cond);
 
-      my $text = "$reason`$var' is undefined\n";
+      my $text = "$reason'$var' is undefined\n";
       my $v = var $var;
       if ($v)
        {
@@ -1106,20 +1108,20 @@ sub require_variables ($$$@)
       if (exists $_am_macro_for_var{$var})
        {
          my $mac = $_am_macro_for_var{$var};
-         $text .= "  The usual way to define `$var' is to add "
-           . "`$mac'\n  to `$configure_ac' and run `aclocal' and "
-           . "`autoconf' again.";
+         $text .= "  The usual way to define '$var' is to add "
+           . "'$mac'\n  to '$configure_ac' and run 'aclocal' and "
+           . "'autoconf' again.";
          # aclocal will not warn about undefined macros unless it
          # starts with AM_.
-         $text .= "\n  If `$mac' is in `$configure_ac', make sure\n"
+         $text .= "\n  If '$mac' is in '$configure_ac', make sure\n"
            . "  its definition is in aclocal's search path."
            unless $mac =~ /^AM_/;
        }
       elsif (exists $_ac_macro_for_var{$var})
        {
-         $text .= "  The usual way to define `$var' is to add "
-           . "`$_ac_macro_for_var{$var}'\n  to `$configure_ac' and "
-           . "run `autoconf' again.";
+         $text .= "  The usual way to define '$var' is to add "
+           . "'$_ac_macro_for_var{$var}'\n  to '$configure_ac' and "
+           . "run 'autoconf' again.";
        }
 
       error $where, $text, uniq_scope => US_GLOBAL;
@@ -1261,7 +1263,7 @@ recursive calls).
 
 =cut
 
-# Contains a stack of `from' and `to' parts of variable
+# Contains a stack of 'from' and 'to' parts of variable
 # substitutions currently in force.
 my @_substfroms;
 my @_substtos;
@@ -1290,7 +1292,7 @@ sub _do_recursive_traversal ($$&&$$$$)
 
   if ($var->{'scanned'} == $_traversal)
     {
-      err_var $var, "variable `" . $var->name() . "' recursively defined";
+      err_var $var, "variable '" . $var->name() . "' recursively defined";
       return ();
     }
   $var->{'scanned'} = $_traversal;
@@ -1319,7 +1321,7 @@ sub _do_recursive_traversal ($$&&$$$$)
          my $val = shift @to_process;
          # If $val is a variable (i.e. ${foo} or $(bar), not a filename),
          # handle the sub variable recursively.
-         # (Backslashes before `}' and `)' within brackets are here to
+         # (Backslashes before '}' and ')' within brackets are here to
          # please Emacs's indentation.)
          if ($val =~ /^\$\{([^\}]*)\}$/ || $val =~ /^\$\(([^\)]*)\)$/)
            {
@@ -1361,7 +1363,7 @@ sub _do_recursive_traversal ($$&&$$$$)
              next;
            }
          # Try to expand variable references inside filenames such as
-         # `$(NAME).txt'.  We do not handle `:.foo=.bar'
+         # '$(NAME).txt'.  We do not handle ':.foo=.bar'
          # substitutions, but it would make little sense to use this
          # here anyway.
          elsif ($inner_expand
diff --git a/lib/Automake/Version.pm b/lib/Automake/Version.pm
index 1f6164f..423375b 100644
--- a/lib/Automake/Version.pm
+++ b/lib/Automake/Version.pm
@@ -14,6 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Automake::Version;
+
+use 5.006;
 use strict;
 use Automake::ChannelDefs;
 
@@ -130,7 +132,7 @@ sub check ($$)
     if $#required == -1;
 
   # If we require 3.4n-foo then we require something
-  # >= 3.4n, with the `foo' fork identifier.
+  # >= 3.4n, with the 'foo' fork identifier.
   return 1
     if ($required[4] ne '' && $required[4] ne $version[4]);
 
diff --git a/lib/Automake/Wrap.pm b/lib/Automake/Wrap.pm
index cd898dc..34b349e 100644
--- a/lib/Automake/Wrap.pm
+++ b/lib/Automake/Wrap.pm
@@ -15,6 +15,7 @@
 
 package Automake::Wrap;
 
+use 5.006;
 use strict;
 
 require Exporter;
diff --git a/lib/Automake/XFile.pm b/lib/Automake/XFile.pm
index a6bd0cd..82edb23 100644
--- a/lib/Automake/XFile.pm
+++ b/lib/Automake/XFile.pm
@@ -69,7 +69,7 @@ and C<getlines> methods to translate C<\r\n> to C<\n>.
 
 =cut
 
-require 5.000;
+use 5.006;
 use strict;
 use vars qw($VERSION @EXPORT @EXPORT_OK $AUTOLOAD @ISA);
 use Carp;
@@ -133,7 +133,7 @@ sub open
   my ($file) = @_;
 
   # WARNING: Gross hack: $FH is a typeglob: use its hash slot to store
-  # the `name' of the file we are opening.  See the example with
+  # the 'name' of the file we are opening.  See the example with
   # io_socket_timeout in IO::Socket for more, and read Graham's
   # comment in IO::Handle.
   ${*$fh}{'autom4te_xfile_file'} = "$file";
@@ -225,14 +225,14 @@ sub lock
   my ($fh, $mode) = @_;
   # Cannot use @_ here.
 
-  # Unless explicitly configured otherwise, Perl implements its `flock' with 
the
+  # Unless explicitly configured otherwise, Perl implements its 'flock' with 
the
   # first of flock(2), fcntl(2), or lockf(3) that works.  These can fail on
   # NFS-backed files, with ENOLCK (GNU/Linux) or EOPNOTSUPP (FreeBSD); we
   # usually ignore these errors.  If $ENV{MAKEFLAGS} suggests that a parallel
-  # invocation of `make' has invoked the tool we serve, report all locking
+  # invocation of 'make' has invoked the tool we serve, report all locking
   # failures and abort.
   #
-  # On Unicos, flock(2) and fcntl(2) over NFS hang indefinitely when `lockd' is
+  # On Unicos, flock(2) and fcntl(2) over NFS hang indefinitely when 'lockd' is
   # not running.  NetBSD NFS clients silently grant all locks.  We do not
   # attempt to defend against these dangers.
   #
@@ -241,7 +241,7 @@ sub lock
     {
       my $make_j = (exists $ENV{'MAKEFLAGS'}
                    && " -$ENV{'MAKEFLAGS'}" =~ / 
(-[BdeikrRsSw]*[jP]|--[jP]|---?jobs)/);
-      my $note = "\nforgo `make -j' or use a file system that supports locks";
+      my $note = "\nforgo \"make -j\" or use a file system that supports 
locks";
       my $file = $fh->name;
 
       msg ($make_j ? 'fatal' : 'unsupported',
diff --git a/lib/Makefile.am b/lib/Makefile.am
index fe8bfa6..fb80351 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -54,9 +54,10 @@ install-data-hook:
          chmod +x "$(DESTDIR)$(scriptdir)/$$prog"; \
        done
 
-## `test -x' is not portable.  So we use Perl instead.  If Perl
-## doesn't exist, then this test is meaningless anyway.
 installcheck-local:
-       for file in $(dist_script_DATA); do \
-         $(PERL) -e "exit ! -x '$(pkgvdatadir)/$$file';" || exit 1; \
-       done
+       @for file in $(dist_script_DATA); do \
+         path="$(pkgvdatadir)/$$file"; \
+         test -x "$$path" || echo $$path; \
+       done \
+         | sed 's/$$/: not executable/' \
+         | grep . && exit 1; exit 0
diff --git a/lib/am/check.am b/lib/am/check.am
index 3381389..53f91c2 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -105,8 +105,8 @@ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
 
 # A shell command to get the names of the tests scripts with any registered
 # extension removed (i.e., equivalently, the names of the test logs, with
-# the `.log' extension removed).  The result is saved in the shell variable
-# `$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
 # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
 # since that might cause problem with VPATH rewrites for suffix-less tests.
 # See also 'test-harness-vpath-rewrite.test' and 'test-trs-basic.test'.
@@ -120,9 +120,9 @@ am__set_TESTS_bases = \
 ## expand to "foo.log .log".
   bases=`echo $$bases`
 
-# Recover from deleted `.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run `foo.test', and re-create
-# both `foo.log' and `foo.trs'.  Break the recipe in two subshells
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
 # to avoid problems with "make -n".
 .log.trs:
        rm -f $< $@
@@ -133,16 +133,16 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 ## Helper shell function, tells whether a path refers to an existing,
 ## regular, readable file.
        am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
-## We need to ensures that all the required `.trs' and `.log' files will
+## We need to ensures that all the required '.trs' and '.log' files will
 ## be present and readable.  The direct dependencies of $(TEST_SUITE_LOG)
-## only ensure that all the `.log' files exists; they don't ensure that
-## the `.log' files are readable, and worse, they don't ensure that the
-## `.trs' files even exist.
+## only ensure that all the '.log' files exists; they don't ensure that
+## the '.log' files are readable, and worse, they don't ensure that the
+## '.trs' files even exist.
        redo_bases=`for i in $$bases; do \
                      am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
                    done`; \
        if test -n "$$redo_bases"; then \
-## Uh-oh, either some `.log' files were unreadable, or some `.trs' files
+## Uh-oh, either some '.log' files were unreadable, or some '.trs' files
 ## were missing (or unreadable).  We need to re-run the corresponding
 ## tests in order to re-create them.
          redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
@@ -199,7 +199,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
        else \
          success=false; \
        fi; \
-## Make $br a line of exactly 76 `=' characters, that will be used to
+## Make $br a line of exactly 76 '=' characters, that will be used to
 ## enclose the testsuite summary report when displayed on the console.
        br='==================='; br=$$br$$br$$br$$br; \
 ## When writing the test summary to the console, we want to color a line
@@ -259,7 +259,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
            test -n "$$glob_res" || glob_res=RUN; \
 ## Write the name and result of the test as an RST section title.
            echo "$$glob_res: $$i" | $(am__rst_section); \
-## If we should have remade any unreadable `.log', above.
+## If we should have remade any unreadable '.log', above.
            if test ! -r $$i.log; then \
              echo "fatal: making $@: $$i.log is unreadable" >&2; \
              exit 1; \
@@ -321,9 +321,9 @@ check-TESTS recheck:
 ## We always have to remove TEST_SUITE_LOG, to ensure its rule is run
 ## in any case even in lazy mode: otherwise, if no test needs rerunning,
 ## or a prior run plus reruns all happen within the same timestamp (can
-## happen with a prior `make TESTS=<subset>'), then we get no log output.
-## OTOH, this means that, in the rule for `$(TEST_SUITE_LOG)', we
-## cannot use `$?' to compute the set of lazily rerun tests, lest
+## happen with a prior "make TESTS=<subset>"), then we get no log output.
+## OTOH, this means that, in the rule for '$(TEST_SUITE_LOG)', we
+## cannot use '$?' to compute the set of lazily rerun tests, lest
 ## we rely on .PHONY to work portably.
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
        @ws='[  ]'; \
@@ -332,7 +332,7 @@ check-TESTS recheck:
 ## If running a "make recheck", we must only consider tests that had an
 ## unexpected outcome (FAIL or XPASS) in the earlier run.  In particular,
 ## skip tests that haven't been run.  But recover gracefully from deleted
-## `.trs' files.
+## '.trs' files.
          if test $@ = recheck; then \
            test -f $$i.trs || test -f $$i.log || continue; \
 ## FIXME: one fork per test -- this is horrendously inefficient!
@@ -386,7 +386,7 @@ check-TESTS: $(TESTS)
          for tst in $$list; do \
            if test -f ./$$tst; then dir=./; \
 ## Note: Solaris 2.7 seems to expand TESTS using VPATH.  That's
-## why we also try `dir='
+## why we also try 'dir='.
            elif test -f $$tst; then dir=; \
            else dir="$(srcdir)/"; fi; \
            if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
diff --git a/lib/am/configure.am b/lib/am/configure.am
index efabd5d..3fc2fc7 100644
--- a/lib/am/configure.am
+++ b/lib/am/configure.am
@@ -70,7 +70,7 @@ endif %?TOPDIR_P%
 ## in newly added directories.
        @case '$?' in \
 ## Don't prefix $(top_builddir), because GNU make will strip it out
-## when it's `.'.
+## when it's '.'.
          *config.status*) \
 ?TOPDIR_P?         echo ' $(SHELL) ./config.status'; \
 ?TOPDIR_P?         $(SHELL) ./config.status;; \
diff --git a/lib/am/dejagnu.am b/lib/am/dejagnu.am
index eacc399..f1ee471 100644
--- a/lib/am/dejagnu.am
+++ b/lib/am/dejagnu.am
@@ -59,7 +59,7 @@ check-DEJAGNU: site.exp
            if $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) 
$(RUNTESTFLAGS); \
            then :; else exit_status=1; fi; \
          done; \
-       else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+       else echo "WARNING: could not find 'runtest'" 1>&2; :;\
        fi; \
        exit $$exit_status
 
diff --git a/lib/am/depend2.am b/lib/am/depend2.am
index 825ae86..9adae8f 100644
--- a/lib/am/depend2.am
+++ b/lib/am/depend2.am
@@ -18,13 +18,13 @@
 ## - once per *extension* (not per language) for generic compilation rules
 ## - once for each file which requires specific flags.
 
-## Note it is on purpose we wrote `if %AMDEP%', since:
+## Note it is on purpose we wrote "if %AMDEP%", since:
 ##
 ## - if deps are turned off, %AMDEP% is mapped onto FALSE, and therefore
-##   the `if FALSE' chunk is removed (automake-time conditionals).
+##   the "if FALSE" chunk is removed (automake-time conditionals).
 ##
 ## - if deps are on, %AMDEP% is mapped onto AMDEP,  and therefore
-##   the `if AMDEP' chunk is prefix with @AMDEP_TRUE@ just like for any
+##   the "if AMDEP" chunk is prefix with @AMDEP_TRUE@ just like for any
 ##   other configure-time conditional.
 ##
 ## We do likewise for %FASTDEP%; this expands to an ordinary configure-time
@@ -94,7 +94,7 @@ if %AMDEP%
        %VERBOSE%source='%SOURCE%' object='%LTOBJ%' libtool=yes @AMDEPBACKSLASH@
        DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif %AMDEP%
-## We can always use `-o' with Libtool.
+## We can always use '-o' with Libtool.
        %VERBOSE-NODEP%%LTCOMPILE% %-c% -o %LTOBJ% %SOURCEFLAG%$<
 endif !%FASTDEP%
 endif %?LIBTOOL%
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index a987283..7374eea 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -91,7 +91,7 @@ if  %?CK-NEWS%
 endif  %?CK-NEWS%
 endif %?TOPDIR_P%
 ##
-## `missing help2man' may have created some bogus man pages.  Ensure they
+## 'missing help2man' may have created some bogus man pages.  Ensure they
 ## are not distributed.
 ##
 if %?INSTALL-MAN%
@@ -107,10 +107,10 @@ if %?HAVE-MANS%
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list 
>/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' 
replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' 
replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | 
sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate 
the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" 
>&2; \
+           echo "       typically 'make maintainer-clean' will remove them" 
>&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -130,9 +130,9 @@ endif %?TOPDIR_P%
 ##
 ## Yet another hack to support SUN make.
 ##
-## Let's assume `foo' appears in DISTFILES and is not a built file.
+## Let's assume 'foo' appears in DISTFILES and is not a built file.
 ## When building with VPATH=$(srcdir), SUN make and OSF1/Tru64 will
-## rewrite `foo' as `$(srcdir)/foo'.  An attempt to install the file
+## rewrite 'foo' as '$(srcdir)/foo'.  An attempt to install the file
 ## with
 ##    cp $file $(distdir)/$file
 ## will thus install $(srcdir)/foo as $(distdir)/$(srcdir)/foo
@@ -148,20 +148,21 @@ endif %?TOPDIR_P%
 ## same pattern as $(srcdir)?
 ## Well, it can't happen without the Makefile author distributing
 ## something out of the distribution (which is bad).  As an example,
-## consider `EXTRA_DIST = ../bar'.  This is an issue if $srcdir is `..',
-## however getting this value for srcdir is impossible: `EXTRA_DIST = ../bar'
-## implies we are in a subdirectory (so `../bar' is within the package),
-## hence `$srcdir' is something like `../../subdir'.
+## consider "EXTRA_DIST = ../bar".  This is an issue if $srcdir is
+## '..', however getting this value for srcdir is impossible:
+## "EXTRA_DIST = ../bar" implies we are in a subdirectory (so '../bar'
+## is within the package), hence '$srcdir' is something like
+## '../../subdir'.
 ##
 ## There is more to say about files which are above the current directory,
-## like `../bar' in the previous example.  The OSF1/Tru64 make
+## like '../bar' in the previous example.  The OSF1/Tru64 make
 ## implementation can simplify filenames resulting from a VPATH lookup.
-## For instance if `VPATH = ../../subdir' and `../bar' is found in that
-## VPATH directory, then occurrences of `../bar' will be replaced by
-## `../../bar' (instead of `../../subdir/../bar').  This obviously defeats
+## For instance if "VPATH = ../../subdir" and '../bar' is found in that
+## VPATH directory, then occurrences of '../bar' will be replaced by
+## '../../bar' (instead of '../../subdir/../bar').  This obviously defeats
 ## any attempt to strip a leading $srcdir.  Presently we have no workaround
-## for this.  We avoid this issue by writing `EXTRA_DIST = $(srcdir)/../bar'
-## instead of `EXTRA_DIST = ../bar'.  This prefixing is needed only for files
+## for this.  We avoid this issue by writing "EXTRA_DIST = $(srcdir)/../bar"
+## instead of "EXTRA_DIST = ../bar".  This prefixing is needed only for files
 ## above the current directory.  Fortunately, apart from auxdir files which
 ## can be located in .. or ../.., this situation hardly occurs in practice.
 ##
@@ -172,7 +173,7 @@ endif %?TOPDIR_P%
          dist_files=`for file in $$list; do echo $$file; done | \
          sed -e "s|^$$srcdirstrip/||;t" \
              -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-## (The second `t' command clears the flag for the next round.)
+## (The second 't' command clears the flag for the next round.)
 ##
 ## Make the subdirectories for the files.
 ##
@@ -199,18 +200,18 @@ endif %?TOPDIR_P%
 ##
          if test -d $$d/$$file; then \
 ## Don't mention $$file in the destination argument, since this fails if
-## the destination directory already exists.  Also, use `-R' and not `-r'.
-## `-r' is almost always incorrect.
-##
-## If a directory exists both in `.' and $(srcdir), then
-## We copy the files from $(srcdir) first and then install those from
-## `.'.  This can help people who distribute directories made of
-## source files _and_ generated files.  It is also important when the
-## directory exists only in $(srcdir), because some vendor Make (such
-## as Tru64) will magically create an empty directory in `.'
+## the destination directory already exists.  Also, use '-R' and not '-r'.
+## '-r' is almost always incorrect.
+##
+## If a directory exists both in '.' and $(srcdir), then we copy the
+## files from $(srcdir) first and then install those from '.'.  This
+## can help people who distribute directories made of source files
+## *and* generated files.  It is also important when the directory
+## exists only in $(srcdir), because some vendor Make (such as Tru64)
+## will magically create an empty directory in '.'.
            dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 ## If the destination directory already exists, it may contain read-only
-## files, e.g., during `make distcheck'.
+## files, e.g., during "make distcheck".
            if test -d "$(distdir)/$$file"; then \
              find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx 
{} \;; \
            fi; \
@@ -223,7 +224,7 @@ endif %?TOPDIR_P%
 ## Test for file existence because sometimes a file gets included in
 ## DISTFILES twice.  For example this happens when a single source
 ## file is used in building more than one program.
-## See also test `dist-repeated.test'.
+## See also test 'dist-repeated.test'.
            test -f "$(distdir)/$$file" \
            || cp -p $$d/$$file "$(distdir)/$$file" \
            || exit 1; \
@@ -235,7 +236,7 @@ endif %?TOPDIR_P%
 ## explicitly set distdir for the subdir make; that lets us mix-n-match
 ## many automake-using packages into one large package, and have "dist"
 ## at the top level do the right thing.  If we're in the topmost
-## directory, then we use `distdir' instead of `top_distdir'; this lets
+## directory, then we use 'distdir' instead of 'top_distdir'; this lets
 ## us work correctly with an enclosing package.
 if %?SUBDIRS%
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
@@ -320,9 +321,9 @@ endif %?TOPDIR_P%
 ## Building various distribution flavors.  ##
 ## --------------------------------------- ##
 
-## Note that we don't use GNU tar's `-z' option.  One reason (but not
+## 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.
+## interpret '-z' differently.
 ##
 ## The -o option of GNU tar used to exclude empty directories.  This
 ## behavior was fixed in tar 1.12 (released on 1997-04-25).  But older
@@ -332,7 +333,7 @@ endif %?TOPDIR_P%
 ## present in the archive are really unusual.
 ##
 ## We order DIST_TARGETS by expected duration of the compressors,
-## slowest first, for better parallelism in `make dist'.  Do not
+## slowest first, for better parallelism in "make dist".  Do not
 ## reorder DIST_ARCHIVES, users may expect gzip to be first.
 
 if %?TOPDIR_P%
@@ -453,13 +454,13 @@ distcheck: dist
        mkdir $(distdir)/_inst
 ## Undo the write access.
        chmod a-w $(distdir)
-## With GNU make, the following command will be executed even with `make -n',
-## due to the presence of `$(MAKE)'.  That is normally all well (and `$(MAKE)'
+## With GNU make, the following command will be executed even with "make -n",
+## due to the presence of '$(MAKE)'.  That is normally all well (and '$(MAKE)'
 ## is necessary for things like parallel distcheck), but here we don't want
 ## execution.  To avoid MAKEFLAGS parsing hassles, use a witness file that a
-## non-`-n' run would have just created.
+## non-'-n' run would have just created.
        test -d $(distdir)/_build || exit 0; \
-## Compute the absolute path of `_inst'.  Strip any leading DOS drive
+## Compute the absolute path of '_inst'.  Strip any leading DOS drive
 ## to allow DESTDIR installations.  Otherwise "$(DESTDIR)$(prefix)" would
 ## expand to "c:/temp/am-dc-5668/c:/src/package/package-1.0/_inst".
        dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 
's,^[^:\\/]:[\\/],/,'` \
@@ -469,7 +470,7 @@ distcheck: dist
          && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 ?DISTCHECK-HOOK?         && $(MAKE) distcheck-hook \
 ## Parallel BSD make may not start a new shell for each command in a recipe,
-## so be sure to `cd' back to the original directory after this.
+## so be sure to 'cd' back to the original directory after this.
          && am__cwd=`pwd` \
          && $(am__cd) $(distdir)/_build \
          && ../configure --srcdir=.. --prefix="$$dc_install_base" \
@@ -490,14 +491,14 @@ distcheck: dist
 ## Make sure the package has proper DESTDIR support (we could not test this
 ## in the previous install/installcheck/uninstall test, because it's reasonable
 ## for installcheck to fail in a DESTDIR install).
-## We make the `$dc_install_base' read-only because this is where files
+## We make the '$dc_install_base' read-only because this is where files
 ## with missing DESTDIR support are likely to be installed.
          && chmod -R a-w "$$dc_install_base" \
 ## The logic here is quite convoluted because we must clean $dc_destdir
 ## whatever happens (it won't be erased by the next run of distcheck like
 ## $(distdir) is).
          && ({ \
-## Build the directory, so we can cd into it even if `make install'
+## Build the directory, so we can cd into it even if "make install"
 ## didn't create it.  Use mkdir, not $(MKDIR_P) because we want to
 ## fail if the directory already exists (PR/413).
               (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
@@ -523,7 +524,7 @@ distcheck: dist
 ## from distcheck, so that they can be overridden by the user.
 .PHONY: distuninstallcheck
 distuninstallcheck_listfiles = find . -type f -print
-## The `dir' file (created by install-info) might still exist after
+## The 'dir' file (created by install-info) might still exist after
 ## 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).
diff --git a/lib/am/inst-vars.am b/lib/am/inst-vars.am
index b46208e..3096f0a 100644
--- a/lib/am/inst-vars.am
+++ b/lib/am/inst-vars.am
@@ -59,9 +59,9 @@ am__base_list = \
 ## to the directory where the files to be removed are, and to the list of
 ## such files.
 am__uninstall_files_from_dir = { \
-## Some rm implementations complain if `rm -f' is used without arguments.
+## Some rm implementations complain if 'rm -f' is used without arguments.
   test -z "$$files" \
-## At least Solaris /bin/sh still lacks `test -e', so we use the multiple
+## At least Solaris /bin/sh still lacks 'test -e', so we use the multiple
 ## tests below instead.  We expect $dir to be either non-existent or a
 ## directory, so the failure we'll experience if it is a regular file
 ## is indeed desired and welcome (better to fail loudly thasn silently).
diff --git a/lib/am/install.am b/lib/am/install.am
index 4672f49..ec7aa52 100644
--- a/lib/am/install.am
+++ b/lib/am/install.am
@@ -19,10 +19,10 @@
 ## ----------------------------------------- ##
 
 ## The reason we loop over %am__installdirs% (instead of simply running
-## `$(MKDIR_P) %am__installdirs%') is that directories variable such as
-## `"$(DESTDIR)$(mydir)"' can potentially expand to `""' if `$(mydir)'
-## is conditionally defined.  BTW, those directories are quoted in
-## order to support installation paths with spaces.
+## $(MKDIR_P) %am__installdirs%) is that directories variable such as
+## "$(DESTDIR)$(mydir)" can potentially expand to "" if $(mydir) is
+## conditionally defined.  BTW, those directories are quoted in order
+## to support installation paths with spaces.
 
 if %?SUBDIRS%
 .PHONY: installdirs installdirs-am
diff --git a/lib/am/lang-compile.am b/lib/am/lang-compile.am
index c2a8fc9..04cafb3 100644
--- a/lib/am/lang-compile.am
+++ b/lib/am/lang-compile.am
@@ -20,7 +20,7 @@
 ## Preprocessed Fortran 77.  ##
 ## ------------------------- ##
 
-## We also handle the case of preprocessing `.F' files into `.f' files.
+## We also handle the case of preprocessing '.F' files into '.f' files.
 if %?PPF77%
 .F.f:
        $(F77COMPILE) -F $<
diff --git a/lib/am/lisp.am b/lib/am/lisp.am
index 554574b..fa2058d 100644
--- a/lib/am/lisp.am
+++ b/lib/am/lisp.am
@@ -46,16 +46,16 @@ elc-stamp: $(LISP)
 $(am__ELCFILES): elc-stamp
 ## Recover from the removal of address@hidden
 ##
-## Do not call `make elc-stamp' if emacs is not available, because it would
+## Do not call "make elc-stamp" if emacs is not available, because it would
 ## be useless.
 ##
-## If `make -n' is called, do not execute any command in the recipe that
+## If "make -n" is called, do not execute any command in the recipe that
 ## changes the tree; however, invoke the recursive make for debuggability.
        @if $(am__make_dryrun); then dry=:; else dry=; fi; \
        if test "$(EMACS)" != no && test ! -f $@; then \
-## If `make -j' is used and more than one file has been erased, several
+## If "make -j" is used and more than one file has been erased, several
 ## processes can execute this block.  We have to make sure that only
-## the first one will run `$(MAKE) elc-stamp', and the other ones will
+## the first one will run "$(MAKE) elc-stamp", and the other ones will
 ## wait.
 ##
 ## There is a race here if only one child of make receive a signal.
diff --git a/lib/am/ltlib.am b/lib/am/ltlib.am
index c25f863..ee20a90 100644
--- a/lib/am/ltlib.am
+++ b/lib/am/ltlib.am
@@ -100,7 +100,7 @@ endif %?INSTALL%
 .PHONY clean-am: clean-%DIR%LTLIBRARIES
 clean-%DIR%LTLIBRARIES:
        -test -z "$(%DIR%_LTLIBRARIES)" || rm -f $(%DIR%_LTLIBRARIES)
-## `so_locations' files are created by some linkers (IRIX, OSF) when
+## 'so_locations' files are created by some linkers (IRIX, OSF) when
 ## building a shared object.  Libtool places these files in the
 ## directory where the shared object is created.
        @list='$(%DIR%_LTLIBRARIES)'; \
diff --git a/lib/am/mans.am b/lib/am/mans.am
index 9574f87..5c563b3 100644
--- a/lib/am/mans.am
+++ b/lib/am/mans.am
@@ -38,7 +38,7 @@ if %?NOTRANS_MANS%
 ## Extract all items from notrans_man_MANS that should go in this section.
 ## This must be done dynamically to support conditionals.
 ?HAVE_NOTRANS? l2='%NOTRANS_LIST%'; for i in $$l2; do echo "$$i"; done | \
-## Accept for `man1' files like `foo.1c' but not `sub.1/foo.2' or `foo-2.1.4'.
+## Accept for 'man1' files like 'foo.1c' but not 'sub.1/foo.2' or 'foo-2.1.4'.
 ?HAVE_NOTRANS?   sed -n '/\.%SECTION%[a-z]*$$/p'; \
 ## Extract basename of manpage, change the extension if needed.
        } | while read p; do \
@@ -70,7 +70,7 @@ if %?TRANS_MANS%
 ## Extract all items from notrans_man_MANS that should go in this section.
 ## This must be done dynamically to support conditionals.
 ?HAVE_TRANS?   l2='%TRANS_LIST%'; for i in $$l2; do echo "$$i"; done | \
-## Accept for `man1' files like `foo.1c' but not `sub.1/foo.2' or `foo-2.1.4'.
+## Accept for 'man1' files like 'foo.1c' but not 'sub.1/foo.2' or 'foo-2.1.4'.
 ?HAVE_TRANS?     sed -n '/\.%SECTION%[a-z]*$$/p'; \
 ## Extract basename of manpage, change the extension if needed.
        } | while read p; do \
@@ -114,7 +114,7 @@ if %?NOTRANS_MANS%
 ## Extract all items from notrans_man_MANS that should go in this section.
 ## This must be done dynamically to support conditionals.
 ?HAVE_NOTRANS? l2='%NOTRANS_LIST%'; for i in $$l2; do echo "$$i"; done | \
-## Accept for `man1' files like `foo.1c' but not `sub.1/foo.2' or `foo-2.1.4'.
+## Accept for 'man1' files like 'foo.1c' but not 'sub.1/foo.2' or 'foo-2.1.4'.
 ?HAVE_NOTRANS?   sed -n '/\.%SECTION%[a-z]*$$/p'; \
 ## Extract basename of manpage, change the extension if needed.
        } | sed 's,.*/,,;s,\.[^%SECTION%][0-9a-z]*$$,.%SECTION%,'`; \
@@ -127,7 +127,7 @@ if %?TRANS_MANS%
 ## Extract all items from man_MANS that should go in this section.
 ## This must be done dynamically to support conditionals.
 ?HAVE_TRANS?   l2='%TRANS_LIST%'; for i in $$l2; do echo "$$i"; done | \
-## Accept for `man1' files like `foo.1c' but not `sub.1/foo.2' or `foo-2.1.4'.
+## Accept for 'man1' files like 'foo.1c' but not 'sub.1/foo.2' or 'foo-2.1.4'.
 ?HAVE_TRANS?     sed -n '/\.%SECTION%[a-z]*$$/p'; \
 ## Extract basename of manpage, run it through the program rename
 ## transform, and change the extension if needed.
diff --git a/lib/am/progs.am b/lib/am/progs.am
index d26ca2f..0e2cc02 100644
--- a/lib/am/progs.am
+++ b/lib/am/progs.am
@@ -28,7 +28,7 @@ install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS)
 ## a syntax error in sh.
        @list='$(%DIR%_PROGRAMS)'; test -n "$(%NDIR%dir)" || list=; \
        for p in $$list; do echo "$$p $$p"; done | \
-## On Cygwin with libtool test won't see `foo.exe' but instead `foo'.
+## On Cygwin with libtool test won't see 'foo.exe' but instead 'foo'.
 ## So we check for both.
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p%LIBTOOL? || test -f $$p1%; \
@@ -97,14 +97,14 @@ endif %?INSTALL%
 .PHONY clean-am: clean-%DIR%PROGRAMS
 clean-%DIR%PROGRAMS:
 ?!LIBTOOL?     -test -z "$(%DIR%_PROGRAMS)" || rm -f $(%DIR%_PROGRAMS)
-## Under Cygwin, we build `program$(EXEEXT)'.  However, if this
+## Under Cygwin, we build 'program$(EXEEXT)'.  However, if this
 ## program uses a Libtool library, Libtool will move it in
-## `_libs/program$(EXEEXT)' and create a `program' wrapper (without
-## `$(EXEEXT)').  Therefore, if Libtool is used, we must try to erase
-## both `program$(EXEEXT)' and `program'.
-## Cleaning the `_libs/' or `.libs/' directory is done from clean-libtool.
+## '_libs/program$(EXEEXT)' and create a 'program' wrapper (without
+## '$(EXEEXT)').  Therefore, if Libtool is used, we must try to erase
+## both 'program$(EXEEXT)' and 'program'.
+## Cleaning the '_libs/' or '.libs/' directory is done from clean-libtool.
 ## FIXME: In the future (i.e., when it works) it would be nice to delegate
-## this task to `libtool --mode=clean'.
+## this task to "libtool --mode=clean".
 ?LIBTOOL?      @list='$(%DIR%_PROGRAMS)'; test -n "$$list" || exit 0; \
 ?LIBTOOL?      echo " rm -f" $$list; \
 ?LIBTOOL?      rm -f $$list || exit $$?; \
diff --git a/lib/am/remake-hdr.am b/lib/am/remake-hdr.am
index 6953f66..7c214b8 100644
--- a/lib/am/remake-hdr.am
+++ b/lib/am/remake-hdr.am
@@ -45,13 +45,13 @@ if %?FIRST%
 ## out-of-date config.h without knowing it).  One situation where this
 ## can occur is the following:
 ## 1. the user updates some configure dependency (let's say foo.m4)
-##    and runs `make'
+##    and runs 'make';
 ## 2. the rebuild rules detect that a foo.m4 has changed,
 ##    run aclocal, autoconf, automake, and then run ./config.status.
 ##    (Note that autoheader hasn't been called yet, so ./config.status
-##    outputs a config.h from an obsolete config.hin.)
-## 3. Once Makefile has been regenerated, make continues, and
-##    discovers that config.h is a dependency of the `all' rule.
+##    outputs a config.h from an obsolete config.hin);
+## 3. once Makefile has been regenerated, make continues, and
+##    discovers that config.h is a dependency of the 'all' rule.
 ##    Because config.h depends on stamp-h1, stamp-h1 depends on
 ##    config.hin, and config.hin depends on aclocal.m4, make runs
 ##    autoheader to rebuild config.hin.
diff --git a/lib/am/subdirs.am b/lib/am/subdirs.am
index e2cac4d..c8d7471 100644
--- a/lib/am/subdirs.am
+++ b/lib/am/subdirs.am
@@ -17,7 +17,7 @@
 RECURSIVE_TARGETS += all-recursive check-recursive installcheck-recursive
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-## All documented targets which invoke `make' recursively, or depend
+## All documented targets which invoke 'make' recursively, or depend
 ## on targets that do so.
 AM_RECURSIVE_TARGETS += $(RECURSIVE_TARGETS:-recursive=) \
   $(RECURSIVE_CLEAN_TARGETS:-recursive=)
@@ -25,11 +25,11 @@ AM_RECURSIVE_TARGETS += $(RECURSIVE_TARGETS:-recursive=) \
 .PHONY: $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
 
 $(RECURSIVE_TARGETS):
 ## Using $failcom allows "-k" to keep its natural meaning when running a
@@ -64,7 +64,7 @@ clean: clean-recursive
 distclean: distclean-recursive
 maintainer-clean: maintainer-clean-recursive
 
-## We run all `clean' targets in reverse order.  Why?  It's an attempt
+## We run all 'clean' targets in reverse order.  Why?  It's an attempt
 ## to alleviate a problem that can happen when dependencies are
 ## enabled.  In this case, the .P file in one directory can depend on
 ## some automatically generated header in an earlier directory.  Since
@@ -82,7 +82,7 @@ $(RECURSIVE_CLEAN_TARGETS):
        done; \
        dot_seen=no; \
 ## For distclean and maintainer-clean we make sure to use the full
-## list of subdirectories.  We do this so that `configure; make
+## list of subdirectories.  We do this so that 'configure; make
 ## distclean' really is a no-op, even if SUBDIRS is conditional.  For
 ## other clean targets this doesn't matter.
        case "$@" in \
@@ -94,7 +94,7 @@ $(RECURSIVE_CLEAN_TARGETS):
            rev="$$subdir $$rev"; \
          fi; \
        done; \
-## Always do `.' last.
+## Always do '.' last.
        rev="$$rev ."; \
        target=`echo $@ | sed s/-recursive//`; \
        for subdir in $$rev; do \
diff --git a/lib/am/tags.am b/lib/am/tags.am
index 55ba36a..fccacca 100644
--- a/lib/am/tags.am
+++ b/lib/am/tags.am
@@ -47,13 +47,11 @@ TAGS: %TAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% 
$(TAGS_DEPENDENCIES) \
 ## absolute names, without the need to worry about white space in `pwd`.
        set x; \
        here=`pwd`; \
-## It is tempting to use if/endif here, but don't: the previous
-## backslash will cause bad results (automake doesn't `see' the `if').
 ## Exuberant Ctags wants --etags-include,
 ## GNU Etags             --include
 ## Furthermore Exuberant Ctags 5.5.4 fails to create TAGS files
 ## when no files are supplied, despite any --etags-include option.
-## A workaround is to pass `.' as a file.  This is what $empty_fix is for.
+## A workaround is to pass '.' as a file.  This is what $empty_fix is for.
 ?SUBDIRS?      if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 ?SUBDIRS?        include_option=--etags-include; \
 ?SUBDIRS?        empty_fix=.; \
@@ -62,7 +60,7 @@ TAGS: %TAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% 
$(TAGS_DEPENDENCIES) \
 ?SUBDIRS?        empty_fix=; \
 ?SUBDIRS?      fi; \
 ?SUBDIRS?      list='$(SUBDIRS)'; for subdir in $$list; do \
-## Do nothing if we're trying to look in `.'.
+## Do nothing if we're trying to look in '.'.
 ?SUBDIRS?        if test "$$subdir" = .; then :; else \
 ?SUBDIRS?          test ! -f $$subdir/TAGS || \
 ## Note that the = is mandatory for --etags-include.
@@ -77,7 +75,7 @@ TAGS: %TAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% 
$(TAGS_DEPENDENCIES) \
          done | \
          $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
              END { if (nonempty) { for (i in files) print i; }; }'`; \
-## Remove the `x' we added first:
+## Remove the 'x' we added first:
        shift; \
 ## Make sure we have something to run etags on.
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
@@ -92,9 +90,9 @@ TAGS: %TAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% 
$(TAGS_DEPENDENCIES) \
        fi
 
 
-## ------------- ##
-## vi-style tags ##
-## ------------- ##
+## --------------- ##
+## vi-style tags.  ##
+## --------------- ##
 
 CTAGS = ctags
 .PHONY: CTAGS ctags
@@ -103,7 +101,7 @@ AM_RECURSIVE_TARGETS += ctags CTAGS
 endif %?SUBDIRS%
 ctags: CTAGS
 
-## We have a dummy name here because `tags' has already been in use
+## We have a dummy name here because 'tags' has already been in use
 ## for a long time to mean Emacs-style tags.  Oops.  This means the
 ## dependencies here are useless.
 CTAGS: %CTAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% $(TAGS_DEPENDENCIES) \
@@ -123,7 +121,7 @@ CTAGS: %CTAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% 
$(TAGS_DEPENDENCIES) \
 
 
 ## --------------- ##
-## `Global' tags.  ##
+## "Global tags".  ##
 ## --------------- ##
 
 .PHONY: GTAGS
diff --git a/lib/am/texi-vers.am b/lib/am/texi-vers.am
index 539935f..a13b7ad 100644
--- a/lib/am/texi-vers.am
+++ b/lib/am/texi-vers.am
@@ -16,7 +16,7 @@
 
 DIST_COMMON += %VTEXI% %STAMPVTI%
 
-## Don't give this rule a command (even `@:').
+## Don't give this rule a command (even '@:').
 ## %STAMPVTI% is always newer than %VTEXI%, so this rule is always
 ## triggered.  If you equip this rule with a command, GNU make will
 ## assume %VTEXI% has been rebuild in the current directory and
diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am
index 1a35422..bc89bcf 100644
--- a/lib/am/texibuild.am
+++ b/lib/am/texibuild.am
@@ -17,8 +17,8 @@
 
 ?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%:
 ?!GENERIC_INFO?%DEST_INFO_PREFIX%%DEST_SUFFIX%: %SOURCE_INFO% %DEPS%
-## It is wrong to have `info' files dependent on %DIRSTAMP%, because
-## `info' files are distributed and %DIRSTAMP% isn't: a distributed file
+## It is wrong to have 'info' files dependent on %DIRSTAMP%, because
+## 'info' files are distributed and %DIRSTAMP% isn't: a distributed file
 ## should never be dependent upon a non-distributed built file.
 ## Therefore we ensure that %DIRSTAMP% exists in the rule.
 ?!INSRC??DIRSTAMP?     @test -f %DIRSTAMP% || $(MAKE) %DIRSTAMP%
@@ -35,7 +35,7 @@
 ?INSRC?        am__cwd=`pwd` && $(am__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.
+## '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 $(@:.info=).i[0-9] 
$(@:.info=).i[0-9][0-9]; do \
            if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
@@ -65,7 +65,7 @@ INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX%
 ## Must set MAKEINFO like this so that version.texi will be found even
 ## if it is in srcdir (-I $(srcdir) is set in %MAKEINFOFLAGS%).
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) 
%MAKEINFOFLAGS%' \
-## Do not use `-o' unless necessary: it is only supported since Texinfo 4.1.
+## Do not use '-o' unless necessary: it is only supported since Texinfo 4.1.
 ## texi2dvi doesn't silence everything with -q, redirect to /dev/null instead.
 ## We still want -q (%TEXIQUIET%) because it turns on batch mode.
 ?GENERIC?      $(TEXI2DVI) %TEXIQUIET% %SOURCE% %TEXIDEVNULL%
@@ -77,7 +77,7 @@ INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX%
 ## Must set MAKEINFO like this so that version.texi will be found even
 ## if it is in srcdir (-I $(srcdir) is set in %MAKEINFOFLAGS%).
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) 
%MAKEINFOFLAGS%' \
-## Do not use `-o' unless necessary: it is only supported since Texinfo 4.1.
+## Do not use '-o' unless necessary: it is only supported since Texinfo 4.1.
 ## texi2pdf doesn't silence everything with -q, redirect to /dev/null instead.
 ## We still want -q (%TEXIQUIET%) because it turns on batch mode.
 ?GENERIC?      $(TEXI2PDF) %TEXIQUIET% %SOURCE% %TEXIDEVNULL%
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index 43a750a..fbc7a05 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -99,7 +99,7 @@ endif ! %?LOCAL-TEXIS%
 ## break a possible install-sh reference.
 ##
 ## Funny name due to --cygnus influence; we want to reserve
-## `install-info' for the user.
+## 'install-info' for the user.
 ##
 ## TEXINFOS primary are always installed in infodir, hence install-data
 ## is hard coded.
@@ -200,7 +200,7 @@ install-info-am: $(INFO_DEPS)
 ##
 ## If $file == foo.info, then $file_i == foo.i.  The reason we use two
 ## shell commands instead of one ('s|\.info$$|.i|') is so that a suffix-less
-## `foo' becomes `foo.i' too.
+## 'foo' becomes 'foo.i' too.
          file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
          for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
                       $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
@@ -214,7 +214,7 @@ install-info-am: $(INFO_DEPS)
          $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
        @$(POST_INSTALL)
 ## Only run this code if install-info actually exists, and if the user
-## doesn't request it not to be run (through the `AM_UPDATE_INFO_DIR'
+## 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__run_installinfo=yes; \
        case $$AM_UPDATE_INFO_DIR in \
@@ -227,14 +227,14 @@ install-info-am: $(INFO_DEPS)
          for file in $$list; do \
 ## Strip directory
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
-## Run `:' after install-info in case install-info fails.  We really
+## Run ":" after install-info in case install-info fails.  We really
 ## don't care about failures here, because they can be spurious.  For
 ## instance if you don't have a dir file, install-info will fail.  I
 ## think instead it should create a new dir file for you.  This bug
-## causes the `make distcheck' target to fail reliably.
+## causes the "make distcheck" target to fail reliably.
            echo " install-info --info-dir='$(DESTDIR)$(infodir)' 
'$(DESTDIR)$(infodir)/$$relfile'";\
-## Use `|| :' here because Sun make passes -e to sh; if install-info
-## fails then we'd fail if we used `;'.
+## Use "|| :" here because Sun make passes -e to sh; if install-info
+## fails then we'd fail if we used ";".
            install-info --info-dir="$(DESTDIR)$(infodir)" 
"$(DESTDIR)$(infodir)/$$relfile" || :;\
          done; \
        else : ; fi
@@ -315,7 +315,7 @@ uninstall-info-am:
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
 ## install-info needs the actual info file.  We use the installed one,
 ## rather than relying on one still being in srcdir or builddir.
-## However, `make uninstall && make uninstall' should not fail,
+## However, "make uninstall && make uninstall" should not fail,
 ## so we ignore failure if the file did not exist.
            echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove 
'$(DESTDIR)$(infodir)/$$relfile'"; \
            if install-info --info-dir="$(DESTDIR)$(infodir)" --remove 
"$(DESTDIR)$(infodir)/$$relfile"; \
@@ -382,20 +382,20 @@ endif %?LOCAL-TEXIS%
 ## ---------- ##
 
 ## The funny name is due to --cygnus influence; in Cygnus mode,
-## `clean-info' is a target that users can use.
+## 'clean-info' is a target that users can use.
 
 if %?LOCAL-TEXIS%
 .PHONY mostlyclean-am: mostlyclean-aminfo
 .PHONY: mostlyclean-aminfo
 mostlyclean-aminfo:
-## Use `-rf', not just `-f', because the %*CLEAN% substitutions can also
-## contain any directory created by `makeinfo --html'.
+## Use '-rf', not just '-f', because the %*CLEAN% substitutions can also
+## contain any directory created by "makeinfo --html".
        -rm -rf %MOSTLYCLEAN%
 
 .PHONY clean-am: clean-aminfo
 clean-aminfo:
-## Use `-rf', not just `-f', because the %*CLEAN% substitutions can also
-## contain any directory created by `makeinfo --html'.
+## Use '-rf', not just '-f', because the %*CLEAN% substitutions can also
+## contain any directory created by "makeinfo --html".
 ?TEXICLEAN?    -test -z "%TEXICLEAN%" \
 ?TEXICLEAN?    || rm -rf %TEXICLEAN%
 
@@ -407,8 +407,8 @@ maintainer-clean-aminfo:
          echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] 
$$i_i[0-9][0-9]"; \
          rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
        done
-## Use `-rf', not just `-f', because the %*CLEAN% substitutions can also
-## contain any directory created by `makeinfo --html'.
+## Use '-rf', not just '-f', because the %*CLEAN% substitutions can also
+## contain any directory created by "makeinfo --html".
 ?MAINTCLEAN?   -test -z "%MAINTCLEAN%" \
 ?MAINTCLEAN?   || rm -rf %MAINTCLEAN%
 
diff --git a/lib/am/yacc.am b/lib/am/yacc.am
index ac784df..04cdc99 100644
--- a/lib/am/yacc.am
+++ b/lib/am/yacc.am
@@ -19,7 +19,7 @@
 ##   2. --enable-maintainer-mode is not specified, and
 ##   3. parser.c already exist, and
 ##   4. parser.y and parser.c are distributed.
-## Point #3 is because `make maintainer-clean' erases parser.c, yet
+## Point #3 is because "make maintainer-clean" erases parser.c, yet
 ## the GNU Coding Standards require that ./configure; make works even
 ## after that.
 ## Point #4 is because parsers listed in nodist_*_SOURCES are always
diff --git a/lib/ar-lib b/lib/ar-lib
index ee1aa5a..b82231d 100755
--- a/lib/ar-lib
+++ b/lib/ar-lib
@@ -2,7 +2,7 @@
 # Wrapper for Microsoft lib.exe
 
 me=ar-lib
-scriptversion=2012-01-30.22; # UTC
+scriptversion=2012-03-01.08; # UTC
 
 # Copyright (C) 2010-2012 Free Software Foundation, Inc.
 # Written by Peter Rosin <address@hidden>.
@@ -153,7 +153,9 @@ action=${action#-}
 delete=
 extract=
 list=
+quick=
 replace=
+index=
 create=
 
 while test -n "$action"
@@ -162,7 +164,10 @@ do
     d*) delete=yes  ;;
     x*) extract=yes ;;
     t*) list=yes    ;;
+    q*) quick=yes   ;;
     r*) replace=yes ;;
+    s*) index=yes   ;;
+    S*)             ;; # the index is always updated implicitly
     c*) create=yes  ;;
     u*)             ;; # TODO: don't ignore the update modifier
     v*)             ;; # TODO: don't ignore the verbose modifier
@@ -173,8 +178,8 @@ do
   action=${action#?}
 done
 
-case $delete$extract$list$replace in
-  yes)
+case $delete$extract$list$quick$replace,$index in
+  yes,* | ,yes)
     ;;
   yesyes*)
     func_error "more than one action specified"
@@ -225,7 +230,7 @@ elif test -n "$extract"; then
     done
   fi
 
-elif test -n "$replace"; then
+elif test -n "$quick$replace"; then
   if test ! -f "$orig_archive"; then
     if test -z "$create"; then
       echo "$me: creating $orig_archive"
diff --git a/lib/compile b/lib/compile
index affba17..127c392 100755
--- a/lib/compile
+++ b/lib/compile
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-01-04.17; # UTC
+scriptversion=2012-03-05.13; # UTC
 
 # Copyright (C) 1999-2012 Free Software Foundation, Inc.
 # Written by Tom Tromey <address@hidden>.
@@ -78,6 +78,48 @@ func_file_conv ()
   esac
 }
 
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
 # func_cl_wrapper cl arg...
 # Adjust compile command to suit cl
 func_cl_wrapper ()
@@ -108,43 +150,34 @@ func_cl_wrapper ()
              ;;
          esac
          ;;
+       -I)
+         eat=1
+         func_file_conv "$2" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
        -I*)
          func_file_conv "${1#-I}" mingw
          set x "$@" -I"$file"
          shift
          ;;
+       -l)
+         eat=1
+         func_cl_dashl "$2"
+         set x "$@" "$lib"
+         shift
+         ;;
        -l*)
-         lib=${1#-l}
-         found=no
-         save_IFS=$IFS
-         IFS=';'
-         for dir in $lib_path $LIB
-         do
-           IFS=$save_IFS
-           if $shared && test -f "$dir/$lib.dll.lib"; then
-             found=yes
-             set x "$@" "$dir/$lib.dll.lib"
-             break
-           fi
-           if test -f "$dir/$lib.lib"; then
-             found=yes
-             set x "$@" "$dir/$lib.lib"
-             break
-           fi
-         done
-         IFS=$save_IFS
-
-         test "$found" != yes && set x "$@" "$lib.lib"
+         func_cl_dashl "${1#-l}"
+         set x "$@" "$lib"
          shift
          ;;
+       -L)
+         eat=1
+         func_cl_dashL "$2"
+         ;;
        -L*)
-         func_file_conv "${1#-L}"
-         if test -z "$lib_path"; then
-           lib_path=$file
-         else
-           lib_path="$lib_path;$file"
-         fi
-         linker_opts="$linker_opts -LIBPATH:$file"
+         func_cl_dashL "${1#-L}"
          ;;
        -static)
          shared=false
diff --git a/lib/depcomp b/lib/depcomp
index 089f556..793b902 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -107,6 +107,12 @@ if test "$depmode" = msvc7msys; then
    depmode=msvc7
 fi
 
+if test "$depmode" = xlc; then
+   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+   gccflag=-qmakedep=gcc,-MF
+   depmode=gcc
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -227,6 +233,13 @@ sgi)
   rm -f "$tmpdepfile"
   ;;
 
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
diff --git a/m4/Makefile.am b/m4/Makefile.am
index c3a48a4..9db5870 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -53,17 +53,16 @@ tar.m4 \
 upc.m4 \
 vala.m4
 
-# So that $(system_acdir) will be created by "make install".
-dist_system_ac_DATA =
+dist_system_ac_DATA = acdir/README
 
-EXTRA_DIST = acdir/.placeholder amversion.in
+EXTRA_DIST = amversion.in
 
 # We build amversion.m4 here, instead of from config.status,
 # because config.status is rerun each time one of configure's
 # dependencies change and amversion.m4 happens to be a configure
 # dependency.  configure and amversion.m4 would be rebuilt in
 # loop otherwise.
-# Use `$(top_srcdir)/m4' for the benefit of non-GNU makes: this is
+# Use '$(top_srcdir)/m4' for the benefit of non-GNU makes: this is
 # how amversion.m4 appears in our dependencies.
 $(top_srcdir)/m4/amversion.m4: $(top_srcdir)/configure.ac 
$(srcdir)/amversion.in
        $(AM_V_at)sed \
diff --git a/m4/acdir/.placeholder b/m4/acdir/.placeholder
deleted file mode 100644
index 8dd7f67..0000000
--- a/m4/acdir/.placeholder
+++ /dev/null
@@ -1,2 +0,0 @@
-This file is here only to ensure the directory containing it exists
-in the git repository, and goes in the distribution tarball.
diff --git a/m4/acdir/README b/m4/acdir/README
new file mode 100644
index 0000000..c2bf903
--- /dev/null
+++ b/m4/acdir/README
@@ -0,0 +1,9 @@
+This directory is where .m4 files providing third-party autoconf
+macros can be placed to be automatically found by the aclocal(1)
+program.
+
+The .m4 files placed here could be shared among different versions
+of aclocal, so be careful.
+
+Even no actual .m4 files are present, this directory is required
+in order for aclocal to work properly.  Please do not remove it.
diff --git a/m4/auxdir.m4 b/m4/auxdir.m4
index 50527c4..3dda02b 100644
--- a/m4/auxdir.m4
+++ b/m4/auxdir.m4
@@ -6,11 +6,11 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -29,7 +29,7 @@
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
diff --git a/m4/ccstdc.m4 b/m4/ccstdc.m4
index 9a7a900..d57f055 100644
--- a/m4/ccstdc.m4
+++ b/m4/ccstdc.m4
@@ -9,15 +9,15 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # This was merged into AC_PROG_CC in Autoconf.
 
 AU_DEFUN([AM_PROG_CC_STDC],
 [AC_PROG_CC
 AC_DIAGNOSE([obsolete], [$0:
-       your code should no longer depend upon `am_cv_prog_cc_stdc', but upon
-       `ac_cv_prog_cc_stdc'.  Remove this warning and the assignment when
+       your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon
+       'ac_cv_prog_cc_stdc'.  Remove this warning and the assignment when
        you adjust the code.  You can also remove the above call to
        AC_PROG_CC if you already called it elsewhere.])
 am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
diff --git a/m4/depend.m4 b/m4/depend.m4
index 1967d41..9ddfd9a 100644
--- a/m4/depend.m4
+++ b/m4/depend.m4
@@ -5,9 +5,9 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 15
+# serial 16
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -41,8 +41,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -82,16 +82,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "include sub/conftest.Po" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -100,8 +100,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -109,7 +109,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -157,7 +157,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
diff --git a/m4/init.m4 b/m4/init.m4
index df56444..ef0d3da 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -6,7 +6,7 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 17
+# serial 18
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -101,15 +101,15 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
 ])
 _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
 dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
diff --git a/m4/maintainer.m4 b/m4/maintainer.m4
index f342edf..a8f39a3 100644
--- a/m4/maintainer.m4
+++ b/m4/maintainer.m4
@@ -7,13 +7,13 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
+# serial 7
 
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
diff --git a/m4/missing.m4 b/m4/missing.m4
index e8ff176..e124803 100644
--- a/m4/missing.m4
+++ b/m4/missing.m4
@@ -6,7 +6,7 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
+# serial 7
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -36,6 +36,6 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
diff --git a/m4/mkdirp.m4 b/m4/mkdirp.m4
index 6265bb0..2d88b92 100644
--- a/m4/mkdirp.m4
+++ b/m4/mkdirp.m4
@@ -5,11 +5,11 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # AM_PROG_MKDIR_P
 # ---------------
-# Check for `mkdir -p'.
+# Check for 'mkdir -p'.
 AC_DEFUN([AM_PROG_MKDIR_P],
 [AC_PREREQ([2.60])dnl
 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
diff --git a/m4/sanity.m4 b/m4/sanity.m4
index bbd5fb5..c90bc98 100644
--- a/m4/sanity.m4
+++ b/m4/sanity.m4
@@ -22,10 +22,10 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
diff --git a/m4/silent.m4 b/m4/silent.m4
index 24c5724..3929793 100644
--- a/m4/silent.m4
+++ b/m4/silent.m4
@@ -5,20 +5,20 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 3
 
 # AM_SILENT_RULES([DEFAULT])
 # --------------------------
 # Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
+# ("yes" being less verbose, "no" or empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
 [AC_ARG_ENABLE([silent-rules], [dnl
 AS_HELP_STRING(
   [--enable-silent-rules],
-  [less verbose build output (undo: `make V=1')])
+  [less verbose build output (undo: "make V=1")])
 AS_HELP_STRING(
   [--disable-silent-rules],
-  [verbose build output (undo: `make V=0')])dnl
+  [verbose build output (undo: "make V=0")])dnl
 ])
 case $enable_silent_rules in @%:@ (((
   yes) AM_DEFAULT_VERBOSITY=0;;
diff --git a/m4/strip.m4 b/m4/strip.m4
index 0def192..9dfbf66 100644
--- a/m4/strip.m4
+++ b/m4/strip.m4
@@ -5,24 +5,24 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake-NG
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
diff --git a/m4/tar.m4 b/m4/tar.m4
index 066d465..244c729 100644
--- a/m4/tar.m4
+++ b/m4/tar.m4
@@ -6,12 +6,12 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -34,7 +34,7 @@ AC_MSG_CHECKING([how to create a $1 tar archive])
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
 _am_tools=${am_cv_prog_tar_$1-$_am_tools}
 # Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
+# Solaris sh will not grok spaces in the rhs of '-'.
 for _am_tool in $_am_tools
 do
   case $_am_tool in
diff --git a/m4/vala.m4 b/m4/vala.m4
index 89a4ae9..ea7e5f7 100644
--- a/m4/vala.m4
+++ b/m4/vala.m4
@@ -6,9 +6,9 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
-# Check whether the Vala compiler exists in `PATH'. If it is found, the
+# Check whether the Vala compiler exists in $PATH. If it is found, the
 # variable VALAC is set. Optionally a minimum release number of the
 # compiler can be requested.
 #
diff --git a/syntax-checks.mk b/syntax-checks.mk
index d6ab291..e97baf9 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -16,9 +16,9 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # We also have to take into account VPATH builds (where some generated
-# tests might be in `$(builddir)' rather than in `$(srcdir)'), TAP-based
-# tests script (which have a `.tap' extension) and helper scripts used
-# by other test cases (which have a `.sh' extension).
+# tests might be in '$(builddir)' rather than in '$(srcdir)'), TAP-based
+# tests script (which have a '.tap' extension) and helper scripts used
+# by other test cases (which have a '.sh' extension).
 xtests := $(shell \
   if test $(srcdir) = .; then \
      dirs=.; \
@@ -50,7 +50,6 @@ sc_perl_no_split_regex_space \
 sc_cd_in_backquotes \
 sc_cd_relative_dir \
 sc_perl_at_uscore_in_scalar_context \
-sc_perl_local_no_parens \
 sc_perl_local \
 sc_AMDEP_TRUE_in_automake_in \
 sc_tests_no_gmake_requirement \
@@ -193,16 +192,17 @@ sc_no_brace_variable_expansions:
          exit 1;                               \
        else :; fi
 
-## Make sure `rm' is called with `-f'.
+## Make sure 'rm' is called with '-f'.
 sc_rm_minus_f:
        @if grep -v '^#' $(ams) $(xtests) \
+          | grep -v '/spy-rm\.tap:' \
           | grep -E '\<rm ([^-]|\-[^f ]*\>)'; \
        then \
          echo "Suspicious 'rm' invocation." 1>&2; \
          exit 1;                               \
        else :; fi
 
-## Never use something like `for file in $(FILES)', this doesn't work
+## Never use something like "for file in $(FILES)", this doesn't work
 ## if FILES is empty or if it contains shell meta characters (e.g. $ is
 ## commonly used in Java filenames).
 sc_no_for_variable_in_macro:
@@ -273,18 +273,11 @@ sc_perl_at_uscore_in_scalar_context:
          exit 1; \
        fi
 
-## Forbid using parens with `local' to ease counting.
-sc_perl_local_no_parens:
-       @if grep '^[ \t]*local *(' $(srcdir)/automake.in; then \
-         echo "Don't use \`local' with parens: use several \`local' above." 
>&2; \
-         exit 1; \
-       fi
-
-## Allow only few variables to be localized in automake.
+## Allow only few variables to be localized in Automake.
 sc_perl_local:
        @if egrep -v '^[ \t]*local \$$[_~]( *=|;)' $(srcdir)/automake.in | \
                grep '^[ \t]*local [^*]'; then \
-         echo "Please avoid \`local'." 1>&2; \
+         echo "Please avoid 'local'." 1>&2; \
          exit 1; \
        fi
 
@@ -480,7 +473,7 @@ sc_tests_plain_autom4te:
 ## Tests should only use END and EOF for here documents
 ## (so that the next test is effective).
 sc_tests_here_document_format:
-       @if grep '<<' $(xtests) | grep -v 'END' | grep -v 'EOF'; then \
+       @if grep '<<' $(xtests) | grep -Ev '\b(END|EOF)\b|\bstd::cout <<'; then 
\
          echo 'Use here documents with "END" and "EOF" only, for 
greppability.' 1>&2; \
          exit 1; \
        fi
@@ -524,7 +517,7 @@ sc_tests_plain_perl:
          exit 1; \
        fi
 
-## Setting `required' after sourcing `./defs' is a bug.
+## Setting 'required' after sourcing './defs' is a bug.
 sc_tests_required_after_defs:
        @for file in $(xtests); do \
          if out=`sed -n '/defs/,$${/required=/p;}' $$file`; test -n "$$out"; 
then \
@@ -533,8 +526,8 @@ sc_tests_required_after_defs:
          fi; \
        done
 
-## Never use `sleep 1' to create files with different timestamps.
-## Use `$sleep' instead.  Some filesystems (e.g., Windows') have only
+## Never use 'sleep 1' to create files with different timestamps.
+## Use '$sleep' instead.  Some filesystems (e.g., Windows) have only
 ## a 2sec resolution.
 sc_tests_plain_sleep:
        @if grep -E '\bsleep +[12345]\b' $(xtests); then \
@@ -568,13 +561,15 @@ sc_tests_no_configure_in:
          exit 1; \
        fi
 
-## Rule to ensure that the testsuite has been run before.  We don't depend on 
`check'
-## here, because that would be very wasteful in the common case.  We could run
-## `make check RECHECK_LOGS=' and avoid toplevel races with 
AM_RECURSIVE_TARGETS.
-## Suggest keeping test directories around for greppability of the Makefile.in 
files.
+## Rule to ensure that the testsuite has been run before.  We don't depend
+## on 'check' here, because that would be very wasteful in the common case.
+## We could run "make check RECHECK_LOGS=" and avoid toplevel races with
+## AM_RECURSIVE_TARGETS.  Suggest keeping test directories around for
+## greppability of the Makefile.in files.
 sc_ensure_testsuite_has_run:
        @if test ! -f tests/test-suite.log; then \
-         echo "Run \`env keep_testdirs=yes make check' before 
\`maintainer-check'" >&2; \
+         echo 'Run "env keep_testdirs=yes make check" before' \
+              'running "make maintainer-check"' >&2; \
          exit 1; \
        fi
 .PHONY: sc_ensure_testsuite_has_run
@@ -609,10 +604,11 @@ sc_tests_makefile_variable_order: 
sc_ensure_testsuite_has_run
          exit 1; \
        }
 
-## Using `:' as a PATH separator is not portable.
+## Using ':' as a PATH separator is not portable.
 sc_tests_PATH_SEPARATOR:
        @if grep -E '\bPATH=.*:.*' $(xtests) ; then \
-         echo "Use \`\$$PATH_SEPARATOR', not \`:', in PATH definitions above." 
1>&2; \
+         echo "Use '\$$PATH_SEPARATOR', not ':', in PATH definitions" \
+              "above." 1>&2; \
          exit 1; \
        fi
 
diff --git a/tests/CheckListOfTests.am b/tests/CheckListOfTests.am
index ecd777c..a3913f2 100644
--- a/tests/CheckListOfTests.am
+++ b/tests/CheckListOfTests.am
@@ -16,7 +16,7 @@
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ##
 
-## Temporary files used in the `check-list-of-tests' target.
+## Temporary files used in the 'check-list-of-tests' recipe.
 am__tmk = tests-in-makefile-list.tmp
 am__tfs = tests-on-filesystem-list.tmp
 am__tdf = diff-in-tests-lists.tmp
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6ef271a..e5ae5d2 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -71,13 +71,13 @@ AM_TESTS_ENVIRONMENT = \
   ; do \
     eval test x"\$${$$v}" = x || unset $$v; \
   done;
-# The `AM_TESTS_REEXEC=no' setting tells the tests not to needlessly
+# The 'AM_TESTS_REEXEC=no' setting tells the tests not to needlessly
 # re-execute themselves with the shell detected at configure time, since
 # we are already running them under it explicitly in our setup (see e.g.
 # the definition of TEST_LOG_COMPILER above).
 AM_TESTS_ENVIRONMENT += AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC;
 # We want warning messages and explanations for skipped tests to go to
-# the console if possible, so set up `stderr_fileno_' properly.
+# the console if possible, so set up 'stderr_fileno_' properly.
 AM_TESTS_FD_REDIRECT = 9>&2
 AM_TESTS_ENVIRONMENT += stderr_fileno_=9; export stderr_fileno_;
 
@@ -136,6 +136,7 @@ do_subst = sed \
   -e 's|@address@hidden|$(APIVERSION)|g' \
   -e 's|@address@hidden|$(PATH_SEPARATOR)|g' \
   -e 's|@address@hidden|$(SHELL)|g' \
+  -e 's|@address@hidden|$(AWK)|g' \
   -e 's|@address@hidden|$(PERL)|g' \
   -e 's|@address@hidden|$(EGREP)|g' \
   -e 's|@address@hidden|$(FGREP)|g' \
@@ -148,10 +149,16 @@ do_subst = sed \
   -e 's|@address@hidden|$(FFLAGS)|g' \
   -e 's|@address@hidden|$(FC)|g' \
   -e 's|@address@hidden|$(FCFLAGS)|g' \
+  -e 's|@address@hidden|$(GNU_CC)|g' \
   -e 's|@address@hidden|$(GNU_CFLAGS)|g' \
+  -e 's|@address@hidden|$(GNU_CXX)|g' \
   -e 's|@address@hidden|$(GNU_CXXFLAGS)|g' \
+  -e 's|@address@hidden|$(GNU_F77)|g' \
   -e 's|@address@hidden|$(GNU_FFLAGS)|g' \
+  -e 's|@address@hidden|$(GNU_FC)|g' \
   -e 's|@address@hidden|$(GNU_FCFLAGS)|g' \
+  -e 's|@address@hidden|$(GNU_GCJ)|g' \
+  -e 's|@address@hidden|$(GNU_GCJFLAGS)|g' \
   -e 's|@address@hidden|$(YACC)|g' \
   -e 's|@address@hidden|$(LEX)|g' \
   -e 's|@address@hidden|$(TEX)|g' \
@@ -210,8 +217,8 @@ clean-local-check:
           rm -rf "$$@"; \
         fi;
 
-## Run the testsuite through the `prove' utility.  Mostly for maintainers,
-## and to find out possible incompatibilities between `prove' and the
+## Run the testsuite through the 'prove' utility.  Mostly for maintainers,
+## and to find out possible incompatibilities between 'prove' and the
 ## Automake own TAP driver.
 
 PROVE = prove
@@ -276,7 +283,7 @@ prove installprove: $(TESTS) prove-runner defs-static
              echo $(srcdir)/$$t; \
            fi; \
          done`; \
-## Extra environment, mostly for use by `prove-runner'.
+## Extra environment, mostly for use by 'prove-runner'.
 ## XFAIL_TESTS gets normalized to play nicer with VPATH builds.
        XFAIL_TESTS=`\
          for t in $(XFAIL_TESTS); do \
diff --git a/tests/README b/tests/README
index 70d5873..e0d98df 100644
--- a/tests/README
+++ b/tests/README
@@ -12,7 +12,7 @@ Running the tests
 
     make -k check
 
-  You can use `-jN' for faster completion (it even helps on a
+  You can use '-jN' for faster completion (it even helps on a
   uniprocessor system, due to unavoidable sleep delays, as
   noted below).
 
@@ -36,8 +36,8 @@ Running the tests
    ./configure --host i586-mingw32msvc --build i686-pc-linux-gnu
 
  To avoid possible spurious error, you really have to *explicitly* specify
- `--build' in addition to `--host'; the `lib/config.guess' script can help
- determine the correct value to pass to `--build'.
+ '--build' in addition to '--host'; the 'lib/config.guess' script can help
+ determine the correct value to pass to '--build'.
  Then you can just run the testsuite in the usual way, and the test cases
  using a compiler should automatically use a cross-compilation setup.
 
@@ -61,9 +61,9 @@ Interpretation
 Getting details from failures
 -----------------------------
 
-  By default, verbose output of a test `foo.test' or `foo.tap' is
-  retained in the log file `foo.log'.  A summary log is created in
-  the file `test-suite.log'.
+  By default, verbose output of a test 'foo.test' or 'foo.tap' is
+  retained in the log file 'foo.log'.  A summary log is created in
+  the file 'test-suite.log'.
 
   You can limit the set of files using the TESTS variable, and enable
   detailed test output at the end of the test run with the VERBOSE
@@ -78,9 +78,9 @@ About the tests
 ---------------
 
   There are two kinds of tests in the Automake-NG testsuite (both
-  implemented as shell scripts).  The scripts with the `.test' suffix
+  implemented as shell scripts).  The scripts with the '.test' suffix
   are "simple" tests, their outcome completely determined by their exit
-  status.  Those with the `.tap' suffix use the TAP protocol.  If you
+  status.  Those with the '.tap' suffix use the TAP protocol.  If you
   want to run a test by hand, you can do so directly if it is a simple
   test:
 
@@ -103,7 +103,7 @@ Supported shells
   By default, the tests are run by the $SHELL detected at configure
   time.  They also take care to re-execute themselves with that shell,
   unless told not to.  So, to run the tests with a different shell, say
-  `/path/to/another/sh', the user must use:
+  '/path/to/another/sh', the user must use:
 
     AM_TESTS_REEXEC=no /path/to/another/sh ./foo.test
     AM_TESTS_REEXEC=no prove -v -e /path/to/another/sh ./bar.tap
@@ -119,16 +119,17 @@ Supported shells
 
   However, some care must be used with Zsh, since, when not directly
   started in Bourne-compatibility mode, it has some incompatibilities
-  in the handling of `$0' which conflict with our usage.  Our testsuite
+  in the handling of $0 which conflict with our usage.  Our testsuite
   can automatically work around these incompatibilities when a version
   4.3 or later of Zsh is used, but unfortunately not when an older
   version of Zsh is used.  Thus, if you want to run a test script, say
-  foo.test, with Zsh 4.2, you *can't* simply do `zsh foo.test', but
+  foo.test, with Zsh 4.2, you *can't* simply do "zsh foo.test", but
   you *must* resort to:
+
     AM_TESTS_REEXEC=no zsh -o no_function_argzero foo.test
 
   Note that this problem does not occur if Zsh is executed through
-  a symlink with a basename of `sh', since in that case Zsh starts
+  a symlink with a basename of 'sh', since in that case Zsh starts
   in Bourne compatibility mode.  So you should be perfectly safe
   when /bin/sh is Zsh, even a it's version < 4.3.
 
@@ -168,34 +169,34 @@ Do
     ...
     @end example
 
-  Use `required=...' for required tools.  Do not explicitly require
+  Use "required=..." for required tools.  Do not explicitly require
   tools which can be taken for granted because they're listed in the
-  GNU Coding Standards (for example, `gzip').
+  GNU Coding Standards (for example, 'gzip').
 
   Include ./defs in every test script (see existing tests for examples
   of how to do this).
 
-  Use the `skip_' function to skip tests, with a meaningful message if
-  possible.  Where convenient, use the `warn_' function to print generic
-  warnings, the `fail_' function for test failures, and the `fatal_'
+  Use the 'skip_' function to skip tests, with a meaningful message if
+  possible.  Where convenient, use the 'warn_' function to print generic
+  warnings, the 'fail_' function for test failures, and the 'fatal_'
   function for hard errors.  In case a hard error is due to a failed
-  set-up of a test scenario, you can use the `framework_fail_' function
+  set-up of a test scenario, you can use the 'framework_fail_' function
   instead.
 
-  For tests that use the `parallel-tests' Automake-NG option, set the
-  shell variable `am_parallel_tests' to "yes" before including ./defs.
-  For tests that are *not* meant to work with the `parallel-tests'
+  For tests that use the 'parallel-tests' Automake-NG option, set the
+  shell variable 'am_parallel_tests' to "yes" before including ./defs.
+  For tests that are *not* meant to work with the 'parallel-tests'
   Automake-NG option (these should be very very few), set the shell
-  variable `am_parallel_tests' to "no" before including ./defs.
+  variable 'am_parallel_tests' to "no" before including ./defs.
 
   Some tests in the Automake-NG testsuite are auto-generated; those tests
   might have custom extensions, but their basename (that is, with such
   extension stripped) is expected to end with "-w" string, optionally
   followed by decimal digits.  For example, the name of a valid
-  auto-generated test can be `color-w.test' or `tap-signal-w09.tap'.
+  auto-generated test can be 'color-w.test' or 'tap-signal-w09.tap'.
   Please don't name hand-written tests in a way that could cause them
-  to be confused with auto-generated tests; for example, `u-v-w.test'
-  or `option-w0.tap' are *not* valid name for hand-written tests.
+  to be confused with auto-generated tests; for example, 'u-v-w.test'
+  or 'option-w0.tap' are *not* valid name for hand-written tests.
 
   ./defs brings in some commonly required files, and sets a skeleton
   configure.ac.  If possible, append to this file.  In some cases
@@ -203,19 +204,19 @@ Do
   that configure.ac registers Makefile.in but do not output anything by
   default.  If you need ./configure to create Makefile, append AC_OUTPUT
   to configure.ac.  In case you don't want ./defs to pre-populate your
-  test directory (which is a rare occurrence), set `$am_create_testdir'
-  to "empty" before sourcing ./defs.
+  test directory (which is a rare occurrence), set the 'am_create_testdir'
+  shell variable to "empty" before sourcing ./defs.
 
-  By default, the testcases are run with the `errexit' shell flag on,
+  By default, the testcases are run with the errexit shell flag on,
   to make it easier to catch failures you might not have thought of.
-  If  this is undesirable in some testcase, you can use `set +e' to
-  disable the `errexit' flag (but please do so only if you have a
-  very good reason).
+  If  this is undesirable in some testcase, you can use "set +e" to
+  disable the errexit flag (but please do so only if you have a very
+  good reason).
 
-  End the test script with a `:' or `Exit 0'.  Otherwise, when somebody
+  End the test script with a ":" or "Exit 0".  Otherwise, when somebody
   changes the test by adding a failing command after the last command,
   the test will spuriously fail because $? is nonzero at the end.  Note
-  that this is relevant even if the `errexit' shell flag is on, in case
+  that this is relevant even if the errexit shell flag is on, in case
   the test contains commands like "grep ... Makefile.in && Exit 1" (and
   there are indeed a lot of such tests).
 
@@ -226,28 +227,29 @@ Do
   Use $sleep when you have to make sure that some file is newer
   than another.
 
-  Use `cat' or `grep' to display (part of) files that may be interesting
-  for debugging, so that when a user send a verbose output we don't have
-  to ask him for more details.  Display stderr output on the stderr file
-  descriptor.  If some redirected command is likely to fail, display its
-  output even in the failure case, before exiting.
+  Use cat or grep or similar commands to display (part of) files that
+  may be interesting for debugging, so that when a user send a verbose
+  output we don't have to ask him for more details.  Display stderr
+  output on the stderr file descriptor.  If some redirected command is
+  likely to fail, display its output even in the failure case, before
+  exiting.
 
-  Use `Exit' rather than `exit' to abort a test.
+  Use 'Exit' rather than 'exit' to abort for leave early from a test
+  case.
 
-  Use `$PATH_SEPARATOR', not hard-coded `:', as the separator of
+  Use '$PATH_SEPARATOR', not hard-coded ':', as the separator of
   PATH's entries.
 
   It's more important to make sure that a feature works, than make sure
   that the output of Automake-NG looks correct.  It might look correct
-  and still fail to work.  In other words, prefer running `make' over
-  grepping `Makefile.in' (or do both).
+  and still fail to work.  In other words, prefer running 'make' over
+  grepping Makefile.in (or do both).
 
-  If you run $AUTOMAKE or $AUTOCONF several times in the same test
-  and change `configure.ac' by the meantime, do
-    rm -rf autom4te.cache
-  before the following runs.  On fast machines the new `configure.ac'
-  could otherwise have the same timestamp as the old `autom4te.cache'.
-  Alternatively, use `--force' for subsequent runs of the tools.
+  If you run $ACLOCAL, $AUTOMAKE or $AUTOCONF several times in the
+  same test and change configure.ac by the meantime, do
+    rm -rf autom4te*.cache
+  before the following runs.  On fast machines the new configure.ac
+  could otherwise have the same timestamp as the old autom4te.cache.
 
   Use filenames with two consecutive spaces when testing that some
   code preserves filenames with spaces.  This will catch errors like
@@ -256,9 +258,21 @@ Do
   Make sure your test script can be used to faithfully check an
   installed version of Automake-ng (as with "make installcheck").  For
   example, if you need to copy or grep an Automake-ng provided script,
-  do not assume that they can be found in the `$top_srcdir/lib'
-  directory, but use `$am_scriptdir' instead.  The complete list of
-  such `$am_..dir' variables can be found in tests/defs-static.in.
+  do not assume that they can be found in the '$top_srcdir/lib'
+  directory, but use '$am_scriptdir' instead.  The complete list of
+  such "$am_..dir" variables can be found in tests/defs-static.in.
+
+  When writing input for lex, include the following in the definitions
+  section:
+    %{
+    #define YY_NO_UNISTD_H 1
+    %}
+  to accomodate non-ANSI systems, since GNU flex generates code that
+  includes unistd.h otherwise.  Also add:
+    %option never-interactive
+  to the definitions section if the generated code is to be compiled
+  by a C++ compiler, for similar reasons (i.e., the isatty(3) function
+  from that same unistd.h header would be required otherwise).
 
   Before commit: make sure the test is executable, add the tests to
   TESTS in Makefile.am, add it to XFAIL_TESTS in addition if needed,
@@ -268,7 +282,7 @@ Do
 Do not
 ------
 
-  Do not test an Automake-NG error with `$AUTOMAKE && Exit 1', or in
+  Do not test an Automake-NG error with "$AUTOMAKE && Exit 1", or in
   three years we'll discover that this test failed for some other bogus
   reason.   This happened many times.  Better use something like
 
diff --git a/tests/ac-output-old.tap b/tests/ac-output-old.tap
index 2d000c5..5c906a2 100755
--- a/tests/ac-output-old.tap
+++ b/tests/ac-output-old.tap
@@ -28,11 +28,11 @@ rm -f configure.ac depcomp # Not required.
 
 # Test for bug reported by François Pinard.
 # If \ is in AC_OUTPUT, automake barfs.
-# This was the old test `acoutbs.test'.
+# This was the old test 'acoutbs.test'.
 
 # Also test for bug reported by David A. Swierczek.
 # Another bug with \ in AC_OUTPUT (this time with whitespace).
-# This was the old test `acoutbs2.test'.
+# This was the old test 'acoutbs2.test'.
 
 acoutbs_check ()
 {
@@ -77,7 +77,7 @@ END
 #  AC_OUTPUT(Makefile src/Makefile tests/Makefile, echo timestamp > stamp-h)dnl
 # automake is not happy:
 #  [ ... ]
-# This was the old test `acoutnoq.test'.
+# This was the old test 'acoutnoq.test'.
 
 mkdir acoutnoq
 cd acoutnoq
@@ -99,7 +99,7 @@ cd ..
 
 # Test for bug when AC_OUTPUT has 2 args on the same line, eg:
 #   AC_OUTPUT([Makefile automake tests/Makefile],[chmod +x automake])
-# This was the old test `acoutpt.test'.
+# This was the old test 'acoutpt.test'.
 
 mkdir acoutpt
 cd acoutpt
@@ -120,7 +120,7 @@ cd ..
 # -----------------------------------------------------------------------
 
 # Test for bug reported by Eric Magnien.
-# This was the old test `acoutpt2.test'.
+# This was the old test 'acoutpt2.test'.
 
 mkdir acoutpt2
 cd acoutpt2
@@ -155,7 +155,7 @@ cd ..
 # -----------------------------------------------------------------------
 
 # Test for bug reported by François Pinard.
-# This was the old test `acoutqnl.test'.
+# This was the old test 'acoutqnl.test'.
 
 mkdir acoutqnl
 cd acoutqnl
diff --git a/tests/acloca10.test b/tests/acloca10.test
index f00c2eb..05db9b9 100755
--- a/tests/acloca10.test
+++ b/tests/acloca10.test
@@ -20,8 +20,8 @@
 #
 # Also check for --install.
 
-# TODO: write a sister test that doesn't use a `dirlist' file, but
-# TODO: puts third-party macros directly into `acdir'.
+# TODO: write a sister test that doesn't use a 'dirlist' file, but
+# TODO: puts third-party macros directly into 'acdir'.
 
 am_create_testdir=empty
 . ./defs || Exit 1
diff --git a/tests/acloca14.test b/tests/acloca14.test
index db20def..ba1f072 100755
--- a/tests/acloca14.test
+++ b/tests/acloca14.test
@@ -109,7 +109,7 @@ $MAKE
 $FGREP defs/f.m4 aclocal.m4
 $MAKE testdist2
 
-# Make sure aclocal diagnose missing included files with correct `file:line:'.
+# Make sure aclocal diagnose missing included files with correct 'file:line:'.
 rm -f b.m4
 $ACLOCAL 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
diff --git a/tests/acloca22.test b/tests/acloca22.test
index d51c7f1..85ef29b 100755
--- a/tests/acloca22.test
+++ b/tests/acloca22.test
@@ -15,7 +15,7 @@
 # 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'
+# dependencies.  See also related the tests 'remake-deleted-m4-file.test'
 # and 'remake-renamed-m4-macro-and-file.test'.
 
 . ./defs || Exit 1
diff --git a/tests/aclocal-acdir.test b/tests/aclocal-acdir.test
index f969dcd..88caef6 100755
--- a/tests/aclocal-acdir.test
+++ b/tests/aclocal-acdir.test
@@ -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 aclocal's `--acdir', `--automake-acdir' and `--system-acdir'
+# Test aclocal's '--acdir', '--automake-acdir' and '--system-acdir'
 # options.  Also check that stuff in the automake acdir takes precedence
 # over stuff in the system acdir.
 
@@ -74,7 +74,7 @@ $FGREP 'my--macro' configure && Exit 1 # Just to be sure.
 
 rm -rf autom4te*.cache
 
-# Obsolescent `--acdir' option.
+# Obsolescent '--acdir' option.
 $ACLOCAL -Wobsolete --acdir am 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
 grep '.*--acdir.*deprecated' stderr
diff --git a/tests/aclocal-install-absdir.test 
b/tests/aclocal-install-absdir.test
index 353304f..b07f7fa 100755
--- a/tests/aclocal-install-absdir.test
+++ b/tests/aclocal-install-absdir.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure "aclocal --install" install files also in directories
-# passed to `-I' as absolute paths.  Now that we support the
+# passed to '-I' as absolute paths.  Now that we support the
 # ACLOCAL_PATH variable, it is clear that this is the right thing
 # to do.  See also automake bug#8407.
 
diff --git a/tests/aclocal-path-install-serial.test 
b/tests/aclocal-path-install-serial.test
index 55d21e2..8a2b22c 100755
--- a/tests/aclocal-path-install-serial.test
+++ b/tests/aclocal-path-install-serial.test
@@ -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/>.
 
-# ACLOCAL_PATH, acdir and `--install' interactions when serial number
+# ACLOCAL_PATH, acdir and '--install' interactions when serial number
 # are involved.
 
 am_create_testdir=empty
@@ -41,7 +41,7 @@ win ()
   case $1 in
     sdir) ok=sdir ko=pdir;;
     pdir) ok=pdir ko=sdir;;
-       *) fatal_ "win(): invalud argument \`$1'";;
+       *) fatal_ "win(): invalid argument '$1'";;
   esac
   # This is required on fast machine, to avoid caching and timestamp
   # issues with the autotools (already happened in practice).
diff --git a/tests/aclocal-path-install.test b/tests/aclocal-path-install.test
index e1c719c..a9a8b97 100755
--- a/tests/aclocal-path-install.test
+++ b/tests/aclocal-path-install.test
@@ -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/>.
 
-# ACLOCAL_PATH and `--install' interactions.
+# ACLOCAL_PATH and '--install' interactions.
 
 am_create_testdir=empty
 . ./defs || Exit 1
@@ -37,14 +37,14 @@ cat > pdir/bar.m4 << 'END'
 AC_DEFUN([AM_BAR], [:])
 END
 
-# The `--install' option should never cause anything to be installed
+# The '--install' option should never cause anything to be installed
 # in a directory specified in ACLOCAL_PATH.
 $ACLOCAL --install 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
 grep ' no -I was supplied' stderr
 test ! -f pdir/foo.m4
 
-# The `--install' option should cause a required macro found in a
+# The '--install' option should cause a required macro found in a
 # directory specified in ACLOCAL_PATH to be installed locally.
 echo AM_BAR >> configure.ac
 $ACLOCAL --install -I ldir
diff --git a/tests/aclocal-path-precedence.test 
b/tests/aclocal-path-precedence.test
index 26ff5f0..91d9a42 100755
--- a/tests/aclocal-path-precedence.test
+++ b/tests/aclocal-path-precedence.test
@@ -71,18 +71,18 @@ $FGREP '::' configure # For debugging.
 # over those coming later.
 $FGREP '::pass-foo::' configure
 
-# Directories from `-I' options should take precedence over directories
+# Directories from '-I' options should take precedence over directories
 # in ACLOCAL_PATH.
 $FGREP '::pass-bar::' configure
 
 # Directories in ACLOCAL_PATH should take precedence over system acdir
-# (typically `${prefix}/share/aclocal'), and any directory added through
-# the `dirlist' special file.
+# (typically '${prefix}/share/aclocal'), and any directory added through
+# the 'dirlist' special file.
 $FGREP '::pass-gettext::' configure
 $FGREP '::pass-libtool::' configure
 
 # Directories in ACLOCAL_PATH shouldn't take precedence over the internal
-# automake acdir (typically `${prefix}/share/aclocal-${APIVERSION}').
+# automake acdir (typically '${prefix}/share/aclocal-${APIVERSION}').
 $FGREP 'am__api_version' configure
 
 # A final sanity check.
diff --git a/tests/aclocal-path.test b/tests/aclocal-path.test
index 8754c19..d1279f0 100755
--- a/tests/aclocal-path.test
+++ b/tests/aclocal-path.test
@@ -44,7 +44,7 @@ ACLOCAL_PATH=mdir1:./mdir2:`pwd`/mdir3 $ACLOCAL
 $AUTOCONF
 
 # there should be no m4_include in aclocal.m4, even though ACLOCAL_PATH
-# contains `mdir1' and `./mdir2' as relative directories.  Only -I
+# contains 'mdir1' and './mdir2' as relative directories.  Only -I
 # directories should be subject to file inclusion.
 $FGREP m4_include aclocal.m4 && Exit 1
 
diff --git a/tests/aclocal-print-acdir.test b/tests/aclocal-print-acdir.test
index e39a9d9..3d8bf4e 100755
--- a/tests/aclocal-print-acdir.test
+++ b/tests/aclocal-print-acdir.test
@@ -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 on aclocal's `--print-ac-dir' option.
+# Test on aclocal's '--print-ac-dir' option.
 
 am_create_testdir=empty
 . ./defs || Exit 1
diff --git a/tests/aclocal5.test b/tests/aclocal5.test
index a6a669b..23a7e5e 100755
--- a/tests/aclocal5.test
+++ b/tests/aclocal5.test
@@ -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*.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/aclocal7.test b/tests/aclocal7.test
index 91be0e6..548d890 100755
--- a/tests/aclocal7.test
+++ b/tests/aclocal7.test
@@ -53,7 +53,7 @@ touch foo
 $ACLOCAL -I m4
 $AUTOMAKE --no-force
 
-# aclocal.m4 and Makefile.in should not have been updated, so `foo'
+# aclocal.m4 and Makefile.in should not have been updated, so 'foo'
 # should be younger
 test `ls -1t aclocal.m4 Makefile.in sub/Makefile.in foo | sed 1q` = foo
 
diff --git a/tests/add-missing.tap b/tests/add-missing.tap
index b33600a..39b7ae7 100755
--- a/tests/add-missing.tap
+++ b/tests/add-missing.tap
@@ -15,9 +15,9 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test that automake complains when required auxiliary files are not
-# found, and that `automake --add-missing' installs the files (and only
+# found, and that 'automake --add-missing' installs the files (and only
 # the files) it's supposed to, and that these files are symlinked by
-# default, but copied if the `--copy' option is used.
+# default, but copied if the '--copy' option is used.
 
 am_create_testdir=empty
 . ./defs || Exit 1
@@ -99,7 +99,7 @@ check_ ()
   # shared by its "subtests").
   mkdir generic
   cd generic
-  # Use `echo > ...', not `: > ...', here and below, as Solaris 10 /bin/sh
+  # Use 'echo > ...', not ': > ...', here and below, as Solaris 10 /bin/sh
   # might not execute the latter (the Autoconf manual gives more details).
   echo > Makefile.am
   if test $override = yes; then
@@ -152,7 +152,7 @@ check_ ()
   set -x # Re-enable shell traces.
   pwd
   ls -l generic
-  # Test once with `--copy', once without.
+  # Test once with '--copy', once without.
   for action in link copy; do
     case $action in
       link) opts='--add-missing';;
@@ -170,7 +170,7 @@ check_ ()
       command_ok_ \
         "$pfx warn about missing file $f" \
         grep "required file ['\`]$build_aux/$f' not found" stderr
-      # Suggest the user to use `--add-missing'.
+      # Suggest the user to use '--add-missing'.
       command_ok_ \
         "$pfx suggest --add-missing for $f" \
         grep ".*--add-missing.* install .*$f" stderr
@@ -195,7 +195,7 @@ check_ ()
         grep ": installing ['\`]$build_aux/$f'$" stderr
     done
     # Only the expected files should be installed.  But automake always
-    # require `missing' and `install-sh', so account for them.
+    # require 'missing' and 'install-sh', so account for them.
     all_files="install-sh missing $files"
     for f in $all_files; do echo $f; done | sort | uniq > files.exp
     (cd $build_aux && ls) | sort > files.got
@@ -204,7 +204,7 @@ check_ ()
     command_ok_ \
       "$pfx all and only expected files installed" \
       $am_diff files.exp files.got
-    # The files should be copied by `--copy' and symlinked otherwise.
+    # The files should be copied by '--copy' and symlinked otherwise.
     # But these checks make no sense on systems like MSYS/MinGW where
     # there are no true symlinks ('ln -s' behaves like 'cp -p'), so be
     # ready to skip the checks in that case.  See automake bug#10441.
@@ -227,7 +227,7 @@ check_ ()
       fi
     done
     # Now that the required auxiliary files have been installed, automake
-    # should not complain anymore even if the `--add-missing' option is
+    # should not complain anymore even if the '--add-missing' option is
     # not used.
     AUTOMAKE_run -d "$pfx automake finds all added files"
     cd ..
@@ -235,8 +235,8 @@ check_ ()
   cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
 }
 
-# Automake should always and unconditionally require the `missing'
-# and `install-sh' scripts.
+# Automake should always and unconditionally require the 'missing'
+# and 'install-sh' scripts.
 check_ <<'END'
 == Name ==
 minimal
diff --git a/tests/amhello-binpkg.test b/tests/amhello-binpkg.test
index 578fc86..4b3e0e2 100755
--- a/tests/amhello-binpkg.test
+++ b/tests/amhello-binpkg.test
@@ -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 an example from the manual about the `amhello' package:
+# Test an example from the manual about the 'amhello' package:
 # using DESTDIR to build simple, no-frills binary packages.
 
 am_create_testdir=empty
diff --git a/tests/amhello-cflags.test b/tests/amhello-cflags.test
index d464362..4132bc1 100755
--- a/tests/amhello-cflags.test
+++ b/tests/amhello-cflags.test
@@ -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 an example from the manual about the `amhello' package:
+# Test an example from the manual about the 'amhello' package:
 # using VPATH builds to configure the same package with different
 # options.
 
diff --git a/tests/amhello-cross-compile.test b/tests/amhello-cross-compile.test
index 85345bd..b138d87 100755
--- a/tests/amhello-cross-compile.test
+++ b/tests/amhello-cross-compile.test
@@ -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 an example from the manual about the `amhello' package:
+# Test an example from the manual about the 'amhello' package:
 # cross-compiling a package from Linux/Unix to MinGW.
 
 am_create_testdir=empty
diff --git a/tests/amopts-variable-expansion.test 
b/tests/amopts-variable-expansion.test
index 1427321..7a04e47 100755
--- a/tests/amopts-variable-expansion.test
+++ b/tests/amopts-variable-expansion.test
@@ -37,9 +37,9 @@ foo2 = -Wnone
 foo2 += $(foo3)
 foo3 = -Wno-error
 bar = -Wportability
-# This will give a warning with `-Wportability'.
+# This will give a warning with '-Wportability'.
 .aaa.bbb .ccc.ddd:
-# This would give a warning with `-Woverride'.
+# This would give a warning with '-Woverride'.
 install:
 END
 
diff --git a/tests/ar-lib.test b/tests/ar-lib.test
index fac0b09..1ddec64 100755
--- a/tests/ar-lib.test
+++ b/tests/ar-lib.test
@@ -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/>.
 
-# Make sure `ar-lib' wraps the Microsoft Library Manager (lib) correctly.
+# Make sure 'ar-lib' wraps the Microsoft Library Manager (lib) correctly.
 
 am_create_testdir=empty
 required=xsi-lib-shell
@@ -45,6 +45,23 @@ touch foo.lib
 opts=`./ar-lib ./lib r foo.lib foo.obj`
 test x"$opts" = x"lib -NOLOGO -OUT:foo.lib foo.lib foo.obj"
 
+# Check if ar-lib can update an existing archive with "q".
+opts=`./ar-lib ./lib q foo.lib foo.obj`
+test x"$opts" = x"lib -NOLOGO -OUT:foo.lib foo.lib foo.obj"
+
+# Check if ar-lib accepts "u" as a modifier.
+# NOTE: "u" should have an effect, but currently doesn't.
+opts=`./ar-lib ./lib ru foo.lib foo.obj`
+test x"$opts" = x"lib -NOLOGO -OUT:foo.lib foo.lib foo.obj"
+
+# Check if ar-lib accepts "s" as a modifier.
+opts=`./ar-lib ./lib rs foo.lib foo.obj`
+test x"$opts" = x"lib -NOLOGO -OUT:foo.lib foo.lib foo.obj"
+
+# Check if ar-lib accepts "S" as a modifier.
+opts=`./ar-lib ./lib rS foo.lib foo.obj`
+test x"$opts" = x"lib -NOLOGO -OUT:foo.lib foo.lib foo.obj"
+
 # Check if ar-lib passes on @FILE with "r"
 opts=`./ar-lib ./lib r foo.lib @list`
 test x"$opts" = x"lib -NOLOGO -OUT:foo.lib foo.lib @list"
@@ -62,6 +79,11 @@ test x"$opts" = x"lib -NOLOGO -REMOVE:foo.obj foo.lib"
 opts=`./ar-lib ./lib t foo.lib`
 test x"$opts" = x"lib -NOLOGO -LIST foo.lib"
 
+# Check if ar-lib accepts "v" as a modifier.
+# NOTE: "v" should have an effect, but currently doesn't.
+opts=`./ar-lib ./lib tv foo.lib`
+test x"$opts" = x"lib -NOLOGO -LIST foo.lib"
+
 # Check if ar-lib can extract archive members with "x".
 touch fake.lib
 opts=`./ar-lib ./lib x fake.lib`
@@ -84,4 +106,8 @@ touch fake2.lib
 opts=`./ar-lib ./lib x fake2.lib`
 test x"$opts" = x"lib -NOLOGO -EXTRACT:dir\\fake2.obj fake2.lib"
 
+# Check if ar-lib accepts "s" as an action.
+opts=`./ar-lib ./lib s foo.lib`
+test x"$opts" = x
+
 :
diff --git a/tests/ar-lib5a.test b/tests/ar-lib5a.test
index 89dc6d6..1987936 100755
--- a/tests/ar-lib5a.test
+++ b/tests/ar-lib5a.test
@@ -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.test'.
 
 required=lib
 . ./defs || Exit 1
@@ -60,7 +60,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE --add-missing
 
-# Sanity check: test that it is ok to use `am_cv_ar_interface' as we do.
+# Sanity check: test that it is ok to use 'am_cv_ar_interface' as we do.
 $FGREP 'am_cv_ar_interface=' configure
 
 ./configure AR=lib RANLIB=:
diff --git a/tests/ar-lib5b.test b/tests/ar-lib5b.test
index b99d195..2fb0cf4 100755
--- a/tests/ar-lib5b.test
+++ b/tests/ar-lib5b.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
@@ -60,19 +60,19 @@ cat > bin/lib << 'END'
 #! /bin/sh
 echo lib command line: $* >&2 # For debugging.
 case " $* " in
-  # The `-OUT:' option is used by tests in configure.  So don't create
-  # the `ar-lib-worked' file here, as that might cause spurious passes
+  # The '-OUT:' option is used by tests in configure.  So don't create
+  # the 'ar-lib-worked' file here, as that might cause spurious passes
   # of this test; but don't fail either, as that would confuse said
   # configure tests.
   *' -OUT:'*) exit 0;;
-  # This means that $* looks like a command-line for `ar'.  We have to
+  # This means that $* looks like a command-line for 'ar'.  We have to
   # exit with failure here, to accommodate the two following ortoghonal
   # scenarios:
-  #  1. when `lib' is tested by configure, this will tell that it does
-  #     not use the ar(1) interface, so that the `ar-lib' script will
+  #  1. when 'lib' is tested by configure, this will tell that it does
+  #     not use the ar(1) interface, so that the 'ar-lib' script will
   #     get involved;
-  #  2. when `lib' is called by the Makefile, an ar-style command line
-  #     passed to it would mean that the `ar-lib' script has failed to
+  #  2. when 'lib' is called by the Makefile, an ar-style command line
+  #     passed to it would mean that the 'ar-lib' script has failed to
   #     properly munge the command line, or hasn't been invoked to do so.
   *\ c*) exit 1;;
   # Assume everything else is OK.
@@ -86,7 +86,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE --add-missing
 
-# Sanity check: test that it is ok to use `am_cv_ar_interface' as we do.
+# Sanity check: test that it is ok to use 'am_cv_ar_interface' as we do.
 $FGREP 'am_cv_ar_interface=' configure
 
 ./configure AR=lib RANLIB=:
diff --git a/tests/ar-lib6a.test b/tests/ar-lib6a.test
index 66ae15b..be6afcd 100755
--- a/tests/ar-lib6a.test
+++ b/tests/ar-lib6a.test
@@ -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.test'.
 
 required=libtoolize
 . ./defs || Exit 1
diff --git a/tests/ar-lib6b.test b/tests/ar-lib6b.test
index 2be728f..54c0222 100755
--- a/tests/ar-lib6b.test
+++ b/tests/ar-lib6b.test
@@ -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.test'.
 
 required=libtoolize
 . ./defs || Exit 1
diff --git a/tests/asm.test b/tests/asm.test
index f71f622..b9a958d 100755
--- a/tests/asm.test
+++ b/tests/asm.test
@@ -40,7 +40,7 @@ grep 'define .*CCAS.* add .*AM_PROG_AS' stderr
 # On fast machines the autom4te.cache created during the above run of
 # $AUTOMAKE is likely to have the same time stamp as the configure.ac
 # created below; thus causing traces for the old configure.ac to be
-# used.  We could do `$sleep', but it's faster to erase the
+# used.  We could do '$sleep', but it's faster to erase the
 # directory.  (Erase autom4te*.cache, not autom4te.cache, because some
 # bogus installations of Autoconf use a versioned cache.)
 rm -rf autom4te*.cache
diff --git a/tests/asm2.test b/tests/asm2.test
index 8194f4f..737d46d 100755
--- a/tests/asm2.test
+++ b/tests/asm2.test
@@ -40,7 +40,7 @@ grep 'define .*CCAS.* add .*AM_PROG_AS' stderr
 # On fast machines the autom4te.cache created during the above run of
 # $AUTOMAKE is likely to have the same time stamp as the configure.ac
 # created below; thus causing traces for the old configure.ac to be
-# used.  We could do `$sleep', but it's faster to erase the
+# used.  We could do '$sleep', but it's faster to erase the
 # directory.  (Erase autom4te*.cache, not autom4te.cache, because some
 # bogus installations of Autoconf use a versioned cache.)
 rm -rf autom4te*.cache
diff --git a/tests/asm3.test b/tests/asm3.test
index 2207f9b..f7f835a 100755
--- a/tests/asm3.test
+++ b/tests/asm3.test
@@ -40,7 +40,7 @@ grep 'define .*CCAS.* add .*AM_PROG_AS' stderr
 # On fast machines the autom4te.cache created during the above run of
 # $AUTOMAKE is likely to have the same time stamp as the configure.ac
 # created below; thus causing traces for the old configure.ac to be
-# used.  We could do `$sleep', but it's faster to erase the
+# used.  We could do '$sleep', but it's faster to erase the
 # directory.  (Erase autom4te*.cache, not autom4te.cache, because some
 # bogus installations of Autoconf use a versioned cache.)
 rm -rf autom4te*.cache
diff --git a/tests/autodist-acconfig-no-subdir.test 
b/tests/autodist-acconfig-no-subdir.test
index 26aabe0..d4ad1d9 100755
--- a/tests/autodist-acconfig-no-subdir.test
+++ b/tests/autodist-acconfig-no-subdir.test
@@ -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/>.
 
-# Check that `acconfig.h' is *not* automatically distributed when
+# Check that 'acconfig.h' is *not* automatically distributed when
 # placed in a subdirectory.
 # Related to automake bug#7819.
 
diff --git a/tests/autodist-acconfig.test b/tests/autodist-acconfig.test
index 3745ada..18b280c 100755
--- a/tests/autodist-acconfig.test
+++ b/tests/autodist-acconfig.test
@@ -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/>.
 
-# Check that `acconfig.h' is automatically distributed if it exists
+# Check that 'acconfig.h' is automatically distributed if it exists
 # (at automake runtime).
 # Related to automake bug#7819.
 
diff --git a/tests/autodist-aclocal-m4.test b/tests/autodist-aclocal-m4.test
index 73d0a9a..6108f57 100755
--- a/tests/autodist-aclocal-m4.test
+++ b/tests/autodist-aclocal-m4.test
@@ -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/>.
 
-# Check that `aclocal.m4' is not automatically distributed if not
-# required to build `configure'.  This is *really* a corner-case
+# Check that 'aclocal.m4' is not automatically distributed if not
+# required to build 'configure'.  This is *really* a corner-case
 # check, and the behaviour it checks is not documented either, so
 # if that behaviour is deliberately changed in the future, just
 # remove this test.
diff --git a/tests/autodist-configure-no-subdir.test 
b/tests/autodist-configure-no-subdir.test
index 7913d90..cc53caf 100755
--- a/tests/autodist-configure-no-subdir.test
+++ b/tests/autodist-configure-no-subdir.test
@@ -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/>.
 
-# Check that `configure', `configure.ac' and `configure.in' are *not*
+# Check that 'configure', 'configure.ac' and 'configure.in' are *not*
 # automatically distributed when placed in a subdirectory.
 # Related to automake bug#7819.
 
diff --git a/tests/autodist-no-duplicate.test b/tests/autodist-no-duplicate.test
index bca2f11..90a2c7d 100755
--- a/tests/autodist-no-duplicate.test
+++ b/tests/autodist-no-duplicate.test
@@ -22,7 +22,7 @@
 re='Files .*automatically distributed.*if found'
 
 # The automake manual states that the list of automatically-distributed
-# files should be given by `automake --help'.
+# files should be given by 'automake --help'.
 
 list1=`$AUTOMAKE --help \
         | sed -n "/^$re.*always/,/^ *$/p" \
diff --git a/tests/autodist-stamp-vti.test b/tests/autodist-stamp-vti.test
index 2345ad6..4db1f14 100755
--- a/tests/autodist-stamp-vti.test
+++ b/tests/autodist-stamp-vti.test
@@ -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/>.
 
-# Check that `stamp-vti' is automatically distributed when info_TEXINFOS
+# Check that 'stamp-vti' is automatically distributed when info_TEXINFOS
 # and version.texi are involved.
 # Related to automake bug#7819.
 
diff --git a/tests/autodist-subdir.test b/tests/autodist-subdir.test
index cda2d50..5e1f044 100755
--- a/tests/autodist-subdir.test
+++ b/tests/autodist-subdir.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
@@ -35,7 +35,7 @@ $ACLOCAL
 $AUTOCONF
 
 # The automake manual states that the list of automatically-distributed
-# files should be given by `automake --help'.
+# files should be given by 'automake --help'.
 list=`$AUTOMAKE --help \
         | sed -n '/^Files.*automatically distributed.*if found.*always/,/^ 
*$/p' \
         | sed 1d`
diff --git a/tests/autodist.test b/tests/autodist.test
index 2c6c322..e6435c5 100755
--- a/tests/autodist.test
+++ b/tests/autodist.test
@@ -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.test'.
 
 am_create_testdir=empty
 . ./defs || Exit 1
@@ -34,7 +34,7 @@ $ACLOCAL
 $AUTOCONF
 
 # The automake manual states that the list of automatically-distributed
-# files should be given by `automake --help'.
+# files should be given by 'automake --help'.
 list=`$AUTOMAKE --help \
         | sed -n '/^Files.*automatically distributed.*if found.*always/,/^ 
*$/p' \
         | sed 1d`
diff --git a/tests/autohdrdry.test b/tests/autohdrdry.test
index e7e849d..9df36f1 100755
--- a/tests/autohdrdry.test
+++ b/tests/autohdrdry.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Removal recovery rules for AC_CONFIG_HEADERS should not remove files
-# with `make -n'.
+# with 'make -n'.
 
 . ./defs || Exit 1
 
diff --git a/tests/auxdir-autodetect.test b/tests/auxdir-autodetect.test
index 6e701ff..790d1b1 100755
--- a/tests/auxdir-autodetect.test
+++ b/tests/auxdir-autodetect.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure that, if AC_CONFIG_AUX_DIR is not specified, Automake tries
-# to use `.', `..' and `../..', in precisely that order.
+# to use '.', '..' and '../..', in precisely that order.
 
 . ./defs || Exit 1
 
@@ -73,8 +73,8 @@ rm -f missing install-sh
 :  We must end up with AC_CONFIG_AUX_DIR = ..  #
 # -------------------------------------------- #
 
-# Automake finds `install-sh' in `.', so it assumes that auxdir is `.';
-# but it won't find `missing' in `.', so it will fail.
+# Automake finds 'install-sh' in '.', so it assumes that auxdir is '.';
+# but it won't find 'missing' in '.', so it will fail.
 : > install-sh
 AUTOMAKE_fails
 grep 'required file.*[^.]\./missing.*not found' stderr
@@ -95,15 +95,15 @@ rm -f ../missing ../install-sh
 :  We must end up with AC_CONFIG_AUX_DIR = ../..  #
 # ----------------------------------------------- #
 
-# Automake finds `install-sh' in `.', so it assumes that auxdir is `.';
-# but it won't find `missing' in `.', so it will fail.
+# Automake finds 'install-sh' in '.', so it assumes that auxdir is '.';
+# but it won't find 'missing' in '.', so it will fail.
 : > install-sh
 AUTOMAKE_fails
 grep 'required file.*[^.]\./missing.*not found' stderr
 rm -f install-sh
 
-# Automake finds `install-sh' in `..', so it assumes that auxdir is `..';
-# but it won't find `missing' in `.', so it will fail.
+# Automake finds 'install-sh' in '..', so it assumes that auxdir is '..';
+# but it won't find 'missing' in '.', so it will fail.
 : > ../install-sh
 AUTOMAKE_fails
 grep 'required file.*[^.]\.\./missing.*not found' stderr
diff --git a/tests/auxdir7.test b/tests/auxdir7.test
index 82d3e65..9a32bcb 100755
--- a/tests/auxdir7.test
+++ b/tests/auxdir7.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure AC_CONFIG_AUX_DIR works correctly.
-# This test calls AC_CONFIG_AUX_DIR with a `.' argument, thus explicitly
+# 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.
 
diff --git a/tests/auxdir8.test b/tests/auxdir8.test
index cbc9894..4dd0835 100755
--- a/tests/auxdir8.test
+++ b/tests/auxdir8.test
@@ -16,7 +16,7 @@
 
 # Test to make sure AC_CONFIG_AUX_DIR works correctly.
 # This test tries without an explicit call to AC_CONFIG_AUX_DIR;
-# the config auxdir should be implicitly defined to `.' since
+# the config auxdir should be implicitly defined to '.' since
 # the install-sh, mkinstalldirs, etc., scripts are in the top-level
 # directory.
 # Keep this in sync with sister tests auxdir6.test and auxdir7.test.
diff --git a/tests/backcompat2.test b/tests/backcompat2.test
index ee38e51..ba9ec3b 100755
--- a/tests/backcompat2.test
+++ b/tests/backcompat2.test
@@ -49,7 +49,7 @@ END
   # from being AC_DEFINE'd.
   $EGREP 'pkg(name|version)' config.h && Exit 1
   # This is required because even relatively-recent versions of the
-  # BSD shell wrongly exit when the `errexit' shell flag is active if
+  # BSD shell wrongly exit when the 'errexit' shell flag is active if
   # the last command of a compound statement fails, even if it should
   # be protected by the use of "&&".
   :
diff --git a/tests/backcompat3.test b/tests/backcompat3.test
index f90b8f0..2377e88 100755
--- a/tests/backcompat3.test
+++ b/tests/backcompat3.test
@@ -23,7 +23,7 @@ am_create_testdir=empty
 empty=''
 
 cat > Makefile.am <<'END'
-## Leading `:;' here required to work around bugs of (at least) bash 3.2
+## Leading ':;' here required to work around bugs of (at least) bash 3.2
 got: Makefile
        @:; { \
          echo 'PACKAGE = $(PACKAGE)'; \
@@ -74,8 +74,8 @@ diff exp got
 ### Run 2 ###
 
 cat > configure.in <<'END'
-dnl: `AC_INIT' in Autoconf <= 2.63 doesn't have an URL argument.
-dnl: Luckily, `AC_AUTOCONF_VERSION' and `m4_version_prereq' are
+dnl: 'AC_INIT' in Autoconf <= 2.63 doesn't have an URL argument.
+dnl: Luckily, 'AC_AUTOCONF_VERSION' and 'm4_version_prereq' are
 dnl: both present in autoconf 2.62, which we require; so that we
 dnl: can at least use the following workaround.
 m4_version_prereq([2.64],
diff --git a/tests/backcompat5.test b/tests/backcompat5.test
index 262a6c7..3aa9067 100755
--- a/tests/backcompat5.test
+++ b/tests/backcompat5.test
@@ -17,7 +17,7 @@
 # Backward-compatibility test: try to build and distribute a package
 # using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT.
 # This script can also serve as mild stress-testing for Automake.
-# See also the similar test `backcompat6.test'.
+# See also the similar test 'backcompat6.test'.
 
 am_parallel_tests=no
 am_create_testdir=empty
diff --git a/tests/backcompat6.test b/tests/backcompat6.test
index 7d70b74..fde118b 100755
--- a/tests/backcompat6.test
+++ b/tests/backcompat6.test
@@ -17,7 +17,7 @@
 # Backward-compatibility test: try to build and distribute a package
 # using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT.
 # This script can also serve as mild stress-testing for Automake.
-# See also the similar test `backcompat5.test'.
+# See also the similar test 'backcompat5.test'.
 
 required=cc
 am_create_testdir=empty
@@ -61,7 +61,7 @@ if ! CROSS_COMPILING
        ./foo
 ## Do not anchor the regexps w.r.t. the end of line, because on
 ## MinGW/MSYS, grep may assume LF line endings only, while our
-## `foo' program may generate CRLF line endings.
+## 'foo' program may generate CRLF line endings.
        ./foo | grep '^PACKAGE = nonesuch-zardoz!'
        ./foo | echo '^VERSION = nonesuch-0\.1!'
 endif
diff --git a/tests/backsl2.test b/tests/backsl2.test
index 9207138..82e2f08 100755
--- a/tests/backsl2.test
+++ b/tests/backsl2.test
@@ -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/>.
 
-# We must skip the backslash, not complain about `./\' not existing.
+# We must skip the backslash, not complain about './\' not existing.
 # Reported by Rick Scott <address@hidden>
 
 . ./defs || Exit 1
diff --git a/tests/canon-name.test b/tests/canon-name.test
index bc65b89..3e8de08 100755
--- a/tests/canon-name.test
+++ b/tests/canon-name.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # PR 511: Make sure we warn about e.g. AC_CONFIG_FILES([./gmakefile]),
-# as not all make implementations treat `file' and `./file' equally.
+# as not all make implementations treat 'file' and './file' equally.
 
 . ./defs || Exit 1
 
diff --git a/tests/canon4.test b/tests/canon4.test
index 8ff2404..6cdfd41 100755
--- a/tests/canon4.test
+++ b/tests/canon4.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/canon6.test b/tests/canon6.test
index 2306449..64f946c 100755
--- a/tests/canon6.test
+++ b/tests/canon6.test
@@ -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.test'.
 
 required='libtoolize'
 . ./defs || Exit 1
diff --git a/tests/canon8.test b/tests/canon8.test
index 5ec372e..180e333 100755
--- a/tests/canon8.test
+++ b/tests/canon8.test
@@ -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/>.
 
-# Check that canonicalization does not transliterate the `@' charactrer.
+# Check that canonicalization does not transliterate the '@' charactrer.
 
 . ./defs || Exit 1
 
diff --git a/tests/ccnoco.test b/tests/ccnoco.test
index 910bb12..20d516a 100755
--- a/tests/ccnoco.test
+++ b/tests/ccnoco.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure we can compile when the compiler doesn't
-# understand `-c -o'.
+# understand '-c -o'.
 
 required=gcc
 . ./defs || Exit 1
@@ -59,7 +59,7 @@ END
 
 chmod +x Mycomp
 
-# Make sure the compiler doesn't understand `-c -o'
+# Make sure the compiler doesn't understand '-c -o'
 CC=`pwd`/Mycomp
 export CC
 
diff --git a/tests/ccnoco3.test b/tests/ccnoco3.test
index aea56cb..3b3e66d 100755
--- a/tests/ccnoco3.test
+++ b/tests/ccnoco3.test
@@ -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 to make sure `compile' doesn't call 'mv SRC SRC'.
+# Test to make sure 'compile' doesn't call 'mv SRC SRC'.
 
 required=gcc
 . ./defs || Exit 1
@@ -65,7 +65,7 @@ $AUTOMAKE --copy --add-missing
 mkdir build
 cd build
 
-# Make sure the compiler doesn't understand `-c -o'
+# Make sure the compiler doesn't understand '-c -o'
 CC=`pwd`/../Mycomp
 export CC
 
diff --git a/tests/check-concurrency-bug9245.test 
b/tests/check-concurrency-bug9245.test
index 406a7d9..8c9dc53 100755
--- a/tests/check-concurrency-bug9245.test
+++ b/tests/check-concurrency-bug9245.test
@@ -42,7 +42,7 @@ $AUTOMAKE -a
 
 ./configure
 
-# Some make implementations don't grok the `-j' option.
+# Some make implementations don't grok the '-j' option.
 $MAKE -j1 || Exit 77
 
 for j in '' -j1 -j2; do
diff --git a/tests/check-exported-srcdir.test b/tests/check-exported-srcdir.test
index b1e6b70..124269b 100755
--- a/tests/check-exported-srcdir.test
+++ b/tests/check-exported-srcdir.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that the testsuite driver (either with or without the
-# parallel-tests option enabled) exports the `srcdir' value in the
+# parallel-tests option enabled) exports the 'srcdir' value in the
 # environment of the tests.  This is documented in the manual.
 
 . ./defs || Exit 1
diff --git a/tests/check-subst-prog.test b/tests/check-subst-prog.test
index 6fadc7f..30e8763 100755
--- a/tests/check-subst-prog.test
+++ b/tests/check-subst-prog.test
@@ -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.test'.
 
 required='cc native'
 . ./defs || Exit 1
diff --git a/tests/check-subst.test b/tests/check-subst.test
index 49702b6..79d7526 100755
--- a/tests/check-subst.test
+++ b/tests/check-subst.test
@@ -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 parallel-tests.
-# See also sister test `check-subst-prog.test'.
+# See also sister test 'check-subst-prog.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/check12.test b/tests/check12.test
index 5b9519d..1dbbae0 100755
--- a/tests/check12.test
+++ b/tests/check12.test
@@ -135,7 +135,7 @@ for vpath in : false; do
   test -f hammer.sum
   test -f spanner.log
   test -f spanner.sum
-  # This checks will be run only by the autogenerated `check12-p.test'.
+  # This checks will be run only by the autogenerated 'check12-p.test'.
   if test x"$am_parallel_tests" = x"yes"; then
     test -f test-suite.log
     test -f a.log
@@ -167,7 +167,7 @@ for vpath in : false; do
   grep 'FAIL:' spanner.sum && Exit 1
 
   B_EXIT_STATUS=1 $MAKE check && Exit 1
-  # This checks will be run only by the autogenerated `check12-p.test'.
+  # This checks will be run only by the autogenerated 'check12-p.test'.
   if test x"$am_parallel_tests" = x"yes"; then
     cat test-suite.log
     cat a.log
@@ -191,7 +191,7 @@ for vpath in : false; do
   test -f spanner.sum
   grep 'FAIL: test_hammer' hammer.sum
   grep 'FAIL:' spanner.sum && Exit 1
-  # This checks will be run only by the autogenerated `check12-p.test'.
+  # This checks will be run only by the autogenerated 'check12-p.test'.
   if test x"$am_parallel_tests" = x"yes"; then
     cat test-suite.log
     cat a.log
diff --git a/tests/check3.test b/tests/check3.test
index 0c90af9..3edfd98 100755
--- a/tests/check3.test
+++ b/tests/check3.test
@@ -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/>.
 
-# Make sure `check:' and `install:' honor $(BUILT_SOURCES).
+# Make sure 'check:' and 'install:' honor $(BUILT_SOURCES).
 # PR/359.
 
 . ./defs || Exit 1
diff --git a/tests/check4.test b/tests/check4.test
index 2984d8d..145b0bd 100755
--- a/tests/check4.test
+++ b/tests/check4.test
@@ -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/>.
 
-# Make sure `make -k check' processes all directories.
+# Make sure 'make -k check' processes all directories.
 
 . ./defs || Exit 1
 
diff --git a/tests/check8.test b/tests/check8.test
index d6d764b..5ed1bb0 100755
--- a/tests/check8.test
+++ b/tests/check8.test
@@ -74,8 +74,8 @@ grep '^[^X]*PASS.* bar' stdout
 grep '^[^X]*PASS.* sub/bar' stdout
 grep '^[^X]*FAIL.* baz' stdout
 grep 'XFAIL.* sub/baz' stdout
-# `parallel-tests' should not add circular dependencies.
-# Look for known warnings from a couple of `make' implementations.
+# 'parallel-tests' should not add circular dependencies.
+# Look for known warnings from a couple of 'make' implementations.
 grep -i 'circular.*dependency' stderr && Exit 1
 grep -i 'graph cycles' stderr && Exit 1
 
diff --git a/tests/colon2.test b/tests/colon2.test
index b1938dc..2b06151 100755
--- a/tests/colon2.test
+++ b/tests/colon2.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
@@ -57,7 +57,7 @@ test -f Makefile # Sanity check.
 
 $MAKE dummy
 # Again, make sure that the generated Makefile do not unduly
-# refer to `zardoz' .
+# refer to 'zardoz' .
 $MAKE -n zardoz && Exit 1
 
 $sleep
diff --git a/tests/colon3.test b/tests/colon3.test
index 7b7f83e..5d7b3b2 100755
--- a/tests/colon3.test
+++ b/tests/colon3.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
@@ -63,7 +63,7 @@ test -f Makefile # Sanity check.
 
 $MAKE dummy
 # Again, make sure that the generated Makefile do not unduly
-# refer to `zardoz' .
+# refer to 'zardoz' .
 $MAKE -n zardoz && Exit 1
 
 $sleep
diff --git a/tests/colon7.test b/tests/colon7.test
index 822ef9d..1b84d80 100755
--- a/tests/colon7.test
+++ b/tests/colon7.test
@@ -33,7 +33,7 @@ mkdir subdir
 : > Makefile.am
 : > subdir/foo
 cat > subdir/Makefile.am << 'END'
-# DIST_COMMON should contain `foo', not `subdir/foo'.
+# DIST_COMMON should contain 'foo', not 'subdir/foo'.
 test:
        case '$(DIST_COMMON)' in *subdir/foo*) exit 1;; *) exit 0;; esac
        echo ' ' $(DIST_COMMON) ' ' | grep '[ /]foo '
@@ -43,7 +43,7 @@ END
 $ACLOCAL
 $AUTOMAKE
 
-# Should nowhere refer to `bar.in'.
+# Should nowhere refer to 'bar.in'.
 $FGREP 'bar.in' Makefile.in subdir/Makefile.in && Exit 1
 
 $AUTOCONF
diff --git a/tests/color.test b/tests/color.test
index cb9724f..ed8fe33 100755
--- a/tests/color.test
+++ b/tests/color.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
@@ -23,7 +23,7 @@ TERM=ansi
 export TERM
 
 esc=''
-# Escape `[' for grep, below.
+# Escape '[' for grep, below.
 red="$esc\[0;31m"
 grn="$esc\[0;32m"
 lgn="$esc\[1;32m"
diff --git a/tests/color2.test b/tests/color2.test
index 7df1824..b1c8830 100755
--- a/tests/color2.test
+++ b/tests/color2.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
@@ -23,7 +23,7 @@ TERM=ansi
 export TERM
 
 esc=''
-# Escape `[' for grep, below.
+# Escape '[' for grep, below.
 red="$esc\[0;31m"
 grn="$esc\[0;32m"
 lgn="$esc\[1;32m"
@@ -39,7 +39,7 @@ case `echo "$std" | grep .` in
   *) skip_ "grep can't parse nonprinting characters";;
 esac
 
-# This test requires a working a working `expect' program.
+# This test requires a working a working 'expect' program.
 # Creative quoting required to avoid spurious maintainer-check failure.
 (set +e; expect -c 'exit ''77'; test $? -eq 77) \
   || skip_ "requires a working expect program"
@@ -50,8 +50,8 @@ esac
 # in proceeding.
 cat > Makefile <<'END'
 all:
-## Creative quoting in the `echo' below to avoid risk of spurious output
-## matches by `expect', below.
+## Creative quoting in the 'echo' below to avoid risk of spurious output
+## matches by 'expect', below.
        @test -t 1 && echo "stdout" "is" "a" "tty"
 END
 
diff --git a/tests/comment.test b/tests/comment.test
index 393c7b8..6ca98ba 100755
--- a/tests/comment.test
+++ b/tests/comment.test
@@ -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/>.
 
-# Make sure that `#' as start of word in AUTOMAKE_OPTIONS means
+# Make sure that '#' as start of word in AUTOMAKE_OPTIONS means
 # comment.
 
 . ./defs || Exit 1
diff --git a/tests/comment3.test b/tests/comment3.test
index b960b82..8f80945 100755
--- a/tests/comment3.test
+++ b/tests/comment3.test
@@ -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/>.
 
-# Make sure that `#' after a tab is a failure.
+# Make sure that '#' after a tab is a failure.
 # The Tru64 Unix V5.1 system make will pass these to the
-# shell, which in turn can't find `#' as a command.
+# shell, which in turn can't find '#' as a command.
 # Sigh.  Some vendors must be destroyed.
 
 . ./defs || Exit 1
diff --git a/tests/compile.test b/tests/compile.test
index 0c6ceef..638a0d7 100755
--- a/tests/compile.test
+++ b/tests/compile.test
@@ -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/>.
 
-# Make sure `compile' preserves spaces in its arguments.
+# Make sure 'compile' preserves spaces in its arguments.
 
 am_create_testdir=empty
 . ./defs || Exit 1
@@ -37,7 +37,7 @@ test ! -f ./-o
 test ! -f a.o
 test -f a.c
 
-# Make sure `compile' works for .obj too.
+# Make sure 'compile' works for .obj too.
 ./compile touch a.obj -- -o ac.obj a.c
 test ! -f a.obj
 test ac.obj
diff --git a/tests/compile2.test b/tests/compile2.test
index 8dc1203..f808607 100755
--- a/tests/compile2.test
+++ b/tests/compile2.test
@@ -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/>.
 
-# Make sure `compile' deals correctly with Windows-style paths.
+# Make sure 'compile' deals correctly with Windows-style paths.
 
 am_create_testdir=empty
 . ./defs || Exit 1
@@ -50,7 +50,7 @@ mkdir libltdl libltdl/libltdl
 
 # Backslashes in the input and the output name should be accepted.
 # Since this test might run on non-w32 systems, we need to be careful not
-# to use any backslash sequences which might be interpreted by `echo'.
+# to use any backslash sequences which might be interpreted by 'echo'.
 amtest_source='libltdl\libltdl\slist.c'
 amtest_object='libltdl\libltdl\libltdl_libltdl_la-slist.obj'
 amtest_obj='slist.o'
@@ -68,7 +68,7 @@ if test -d 'C:\'; then
 fi
 case $PATH_SEPARATOR in
  ';'|':');;
- *) skip_ "unrecognized PATH separator \`$PATH_SEPARATOR'"
+ *) skip_ "unrecognized PATH separator '$PATH_SEPARATOR'"
 esac
 
 amtest_source='C:\libltdl\libltdl\slist.c'
diff --git a/tests/compile3.test b/tests/compile3.test
index bf7f456..009de70 100755
--- a/tests/compile3.test
+++ b/tests/compile3.test
@@ -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/>.
 
-# Make sure `compile' wraps the Microsoft C/C++ compiler (cl) correctly
+# Make sure 'compile' wraps the Microsoft C/C++ compiler (cl) correctly
 
 am_create_testdir=empty
 required=xsi-lib-shell
@@ -30,24 +30,29 @@ END
 
 chmod +x ./cl
 
-# Check if compile handles "-o foo", -I, -l, -L, -Xlinker -Wl,
-opts=`LIB= ./compile ./cl foo.c -o foo -lbar -Lgazonk -Ibaz -Xlinker foobar 
-Wl,-foo,bar`
-test x"$opts" = x"foo.c -Fefoo bar.lib -Ibaz -link -LIBPATH:gazonk foobar -foo 
bar"
-
-# Check if compile handles "-o foo.obj"
-opts=`./compile ./cl -c foo.c -o foo.obj -Ibaz`
-test x"$opts" = x"-c foo.c -Fofoo.obj -Ibaz"
-
-# Check if compile handles "-o foo.o"
-opts=`./compile ./cl -c foo.c -o foo.o -Ibaz`
-test x"$opts" = x"-c foo.c -Fofoo.o -Ibaz"
-
-# Check if compile handles "foo.cc" as C++.
-opts=`./compile ./cl -c foo.cc -o foo.o -Ibaz`
-test x"$opts" = x"-c -Tpfoo.cc -Fofoo.o -Ibaz"
-
-# Check if compile clears the "eat" variable properly.
-opts=`eat=1 ./compile ./cl -c foo.c -o foo.obj -Ibaz`
-test x"$opts" = x"-c foo.c -Fofoo.obj -Ibaz"
+# POSIX mandates that the compiler accepts a space between the -I,
+# -l and -L options and their respective arguments.  Traditionally,
+# this should work also without a space.  Try both usages.
+for sp in '' ' '; do
+  # Check if compile handles "-o foo", -I, -l, -L, -Xlinker -Wl,
+  opts=`LIB= ./compile ./cl foo.c -o foo -l${sp}bar -L${sp}gazonk -I${sp}baz 
-Xlinker foobar -Wl,-foo,bar`
+  test x"$opts" = x"foo.c -Fefoo bar.lib -Ibaz -link -LIBPATH:gazonk foobar 
-foo bar"
+
+  # Check if compile handles "-o foo.obj"
+  opts=`./compile ./cl -c foo.c -o foo.obj -I${sp}baz`
+  test x"$opts" = x"-c foo.c -Fofoo.obj -Ibaz"
+
+  # Check if compile handles "-o foo.o"
+  opts=`./compile ./cl -c foo.c -o foo.o -I${sp}baz`
+  test x"$opts" = x"-c foo.c -Fofoo.o -Ibaz"
+
+  # Check if compile handles "foo.cc" as C++.
+  opts=`./compile ./cl -c foo.cc -o foo.o -I${sp}baz`
+  test x"$opts" = x"-c -Tpfoo.cc -Fofoo.o -Ibaz"
+
+  # Check if compile clears the "eat" variable properly.
+  opts=`eat=1 ./compile ./cl -c foo.c -o foo.obj -I${sp}baz`
+  test x"$opts" = x"-c foo.c -Fofoo.obj -Ibaz"
+done
 
 :
diff --git a/tests/compile4.test b/tests/compile4.test
index d7ae650..bb9f671 100755
--- a/tests/compile4.test
+++ b/tests/compile4.test
@@ -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/>.
 
-# Make sure `compile' wraps the Microsoft C/C++ compiler (cl) correctly
+# Make sure 'compile' wraps the Microsoft C/C++ compiler (cl) correctly
 # with respect to absolute paths.
 
 required='cl'
@@ -79,8 +79,15 @@ if test -f sub/libfoo.a; then
   cp sub/libfoo.a sub/foo.lib
 fi
 
-./compile cl $CFLAGS $LDFLAGS -L"$absfoodir" "$absmainobj" -o main -lfoo
+# POSIX mandates that the compiler accepts a space between the -I,
+# -l and -L options and their respective arguments.  Traditionally,
+# this should work also without a space.  Try both usages.
+for sp in '' ' '; do
+  rm -f main
 
-./main
+  ./compile cl $CFLAGS $LDFLAGS -L${sp}"$absfoodir" "$absmainobj" -o main 
-l${sp}foo
+
+  ./main
+done
 
 :
diff --git a/tests/compile5.test b/tests/compile5.test
index fe74f5f..02afca3 100755
--- a/tests/compile5.test
+++ b/tests/compile5.test
@@ -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/>.
 
-# Make sure the file name translation in the `compile' script works
+# Make sure the file name translation in the 'compile' script works
 # correctly
 
 . ./defs || Exit 1
@@ -64,17 +64,22 @@ $AUTOMAKE -a
 
 pwd=`pwd`
 
-# Check if "compile cl" transforms absolute file names to
-# host format (e.g /somewhere -> c:/msys/1.0/somewhere).
+# POSIX mandates that the compiler accepts a space between the -I,
+# -l and -L options and their respective arguments.  Traditionally,
+# this should work also without a space.  Try both usages.
+for sp in '' ' '; do
+  # Check if "compile cl" transforms absolute file names to
+  # host format (e.g /somewhere -> c:/msys/1.0/somewhere).
 
-res=`./compile ./cl -L"$pwd" | sed -e 's/-link -LIBPATH://'`
+  res=`./compile ./cl -L${sp}"$pwd" | sed -e 's/-link -LIBPATH://'`
 
-case $res in
-  ?:[\\/]*)
-    ;;
-  *)
-    Exit 1
-    ;;
-esac
+  case $res in
+    ?:[\\/]*)
+      ;;
+    *)
+      Exit 1
+      ;;
+  esac
+done
 
 :
diff --git a/tests/compile6.test b/tests/compile6.test
index 536e34b..9db3373 100755
--- a/tests/compile6.test
+++ b/tests/compile6.test
@@ -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/>.
 
-# Make sure `compile' searches libraries correctly
+# Make sure 'compile' searches libraries correctly
 
 am_create_testdir=empty
 required=xsi-lib-shell
@@ -30,69 +30,76 @@ END
 
 chmod +x ./cl
 
-mkdir syslib
-:> syslib/foo.lib
+# POSIX mandates that the compiler accepts a space between the -I,
+# -l and -L options and their respective arguments.  Traditionally,
+# this should work also without a space.  Try both usages.
+for sp in '' ' '; do
+  rm -rf lib lib2 syslib "sys  lib2"
 
-syslib=`pwd`/syslib
-LIB=$syslib
-export LIB
+  mkdir syslib
+  :> syslib/foo.lib
 
-mkdir lib
-:> lib/bar.lib
-:> lib/bar.dll.lib
+  syslib=`pwd`/syslib
+  LIB=$syslib
+  export LIB
 
-# Check if compile library search correctly
-opts=`./compile ./cl foo.c -o foo -Llib -lbar -lfoo`
-test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link 
-LIBPATH:lib"
+  mkdir lib
+  :> lib/bar.lib
+  :> lib/bar.dll.lib
 
-# Check if -static makes compile avoid bar.dll.lib
-opts=`./compile ./cl foo.c -o foo -Llib -static -lbar -lfoo`
-test x"$opts" = x"foo.c -Fefoo lib/bar.lib $syslib/foo.lib -link -LIBPATH:lib"
+  # Check if compile library search correctly
+  opts=`./compile ./cl foo.c -o foo -L${sp}lib -l${sp}bar -l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link 
-LIBPATH:lib"
 
-:> syslib/bar.lib
-:> syslib/bar.dll.lib
+  # Check if -static makes compile avoid bar.dll.lib
+  opts=`./compile ./cl foo.c -o foo -L${sp}lib -static -l${sp}bar -l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo lib/bar.lib $syslib/foo.lib -link 
-LIBPATH:lib"
 
-# Check if compile finds bar.dll.lib in syslib
-opts=`./compile ./cl foo.c -o foo -lbar -lfoo`
-test x"$opts" = x"foo.c -Fefoo $syslib/bar.dll.lib $syslib/foo.lib"
+  :> syslib/bar.lib
+  :> syslib/bar.dll.lib
 
-# Check if compile prefers -L over $LIB
-opts=`./compile ./cl foo.c -o foo -Llib -lbar -lfoo`
-test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link 
-LIBPATH:lib"
+  # Check if compile finds bar.dll.lib in syslib
+  opts=`./compile ./cl foo.c -o foo -l${sp}bar -l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo $syslib/bar.dll.lib $syslib/foo.lib"
 
-mkdir lib2
-:> lib2/bar.dll.lib
+  # Check if compile prefers -L over $LIB
+  opts=`./compile ./cl foo.c -o foo -L${sp}lib -l${sp}bar -l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link 
-LIBPATH:lib"
 
-# Check if compile avoids bar.dll.lib in lib2 when -static
-opts=`./compile ./cl foo.c -o foo -Llib2 -static -lbar -lfoo`
-test x"$opts" = x"foo.c -Fefoo $syslib/bar.lib $syslib/foo.lib -link 
-LIBPATH:lib2"
+  mkdir lib2
+  :> lib2/bar.dll.lib
 
-# Check if compile gets two different bar libraries when -static
-# is added in the middle
-opts=`./compile ./cl foo.c -o foo -Llib2 -Llib -lbar -static -lbar`
-test x"$opts" = x"foo.c -Fefoo lib2/bar.dll.lib lib/bar.lib -link 
-LIBPATH:lib2 -LIBPATH:lib"
+  # Check if compile avoids bar.dll.lib in lib2 when -static
+  opts=`./compile ./cl foo.c -o foo -L${sp}lib2 -static -l${sp}bar -l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo $syslib/bar.lib $syslib/foo.lib -link 
-LIBPATH:lib2"
 
-# Check if compile gets the correct bar.dll.lib
-opts=`./compile ./cl foo.c -o foo -Llib -Llib2 -lbar -lfoo`
-test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link 
-LIBPATH:lib -LIBPATH:lib2"
+  # Check if compile gets two different bar libraries when -static
+  # is added in the middle
+  opts=`./compile ./cl foo.c -o foo -L${sp}lib2 -L${sp}lib -l${sp}bar -static 
-l${sp}bar`
+  test x"$opts" = x"foo.c -Fefoo lib2/bar.dll.lib lib/bar.lib -link 
-LIBPATH:lib2 -LIBPATH:lib"
 
-# Check if compile gets the correct bar.dll.lib
-opts=`./compile ./cl foo.c -o foo -Llib2 -Llib -lbar -lfoo`
-test x"$opts" = x"foo.c -Fefoo lib2/bar.dll.lib $syslib/foo.lib -link 
-LIBPATH:lib2 -LIBPATH:lib"
+  # Check if compile gets the correct bar.dll.lib
+  opts=`./compile ./cl foo.c -o foo -L${sp}lib -L${sp}lib2 -l${sp}bar 
-l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link 
-LIBPATH:lib -LIBPATH:lib2"
 
-mkdir "sys  lib2"
-:> "sys  lib2/foo.dll.lib"
+  # Check if compile gets the correct bar.dll.lib
+  opts=`./compile ./cl foo.c -o foo -L${sp}lib2 -L${sp}lib -l${sp}bar 
-l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo lib2/bar.dll.lib $syslib/foo.lib -link 
-LIBPATH:lib2 -LIBPATH:lib"
 
-syslib2="`pwd`/sys  lib2"
-LIB="$syslib2;$LIB"
+  mkdir "sys  lib2"
+  :> "sys  lib2/foo.dll.lib"
 
-# Check if compile handles spaces in $LIB and that it prefers the order
-# in a multi-component $LIB.
-opts=`./compile ./cl foo.c -o foo -lfoo`
-test x"$opts" = x"foo.c -Fefoo $syslib2/foo.dll.lib"
+  syslib2="`pwd`/sys  lib2"
+  LIB="$syslib2;$LIB"
 
-# Check if compile handles the 2nd directory in a multi-component $LIB.
-opts=`./compile ./cl foo.c -o foo -static -lfoo`
-test x"$opts" = x"foo.c -Fefoo $syslib/foo.lib"
+  # Check if compile handles spaces in $LIB and that it prefers the order
+  # in a multi-component $LIB.
+  opts=`./compile ./cl foo.c -o foo -l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo $syslib2/foo.dll.lib"
+
+  # Check if compile handles the 2nd directory in a multi-component $LIB.
+  opts=`./compile ./cl foo.c -o foo -static -l${sp}foo`
+  test x"$opts" = x"foo.c -Fefoo $syslib/foo.lib"
+done
 
 :
diff --git a/tests/cond3.test b/tests/cond3.test
index cf334a5..2bcb8c1 100755
--- a/tests/cond3.test
+++ b/tests/cond3.test
@@ -54,7 +54,7 @@ END
 $ACLOCAL
 $AUTOMAKE
 
-# `b top' so that
+# 'b top' so that
 sed -n '
 /[oO][bB][jJ][eE][cC][tT].* =/ {
   : loop
diff --git a/tests/cond32.test b/tests/cond32.test
index 9845e8c..7ff1a41 100755
--- a/tests/cond32.test
+++ b/tests/cond32.test
@@ -37,7 +37,7 @@ bin_PROGRAMS = a
 if C1
 a_LDADD = $(MYSUB)
 a_DEPENDENCIES = $(MYSUB) nonsense.a
-# Note that `nonsense.a' is there just to make sure Automake insn't
+# Note that 'nonsense.a' is there just to make sure Automake insn't
 # using some self computed a_DEPENDENCIES variable.
 endif
 
diff --git a/tests/cond35.test b/tests/cond35.test
index 97b4c8f..043b3b0 100755
--- a/tests/cond35.test
+++ b/tests/cond35.test
@@ -58,6 +58,9 @@ $FGREP 'tparse.h' Makefile.in # For debugging.
 test `$FGREP -c 'tparse.h:' Makefile.in` = 1
 
 cat > tscan.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END"   return EOF;
 %%
diff --git a/tests/cond46.test b/tests/cond46.test
index 8d6ef02..c89caf9 100755
--- a/tests/cond46.test
+++ b/tests/cond46.test
@@ -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/>.
 
-# Ensure the right condition is listed after `else' and `endif'.
+# Ensure the right condition is listed after 'else' and 'endif'.
 
 . ./defs || Exit 1
 
diff --git a/tests/confh.test b/tests/confh.test
index ee57438..4759619 100755
--- a/tests/confh.test
+++ b/tests/confh.test
@@ -39,7 +39,7 @@ mkdir include
 : > include/config.h.in
 : > acconfig.h
 
-# The test used to fail if `include/Makefile.am' was created (!)
+# The test used to fail if 'include/Makefile.am' was created (!)
 : > include/Makefile.am
 
 $ACLOCAL
diff --git a/tests/confh7.test b/tests/confh7.test
index 665a774..4080779 100755
--- a/tests/confh7.test
+++ b/tests/confh7.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/confh8.test b/tests/confh8.test
index d60dccb..c3a27d1 100755
--- a/tests/confh8.test
+++ b/tests/confh8.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/conflnk.test b/tests/conflnk.test
index 75f9f2e..93851ca 100755
--- a/tests/conflnk.test
+++ b/tests/conflnk.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure links created by AC_CONFIG_LINKS get removed with
-# `make distclean'
+# 'make distclean'
 
 . ./defs || Exit 1
 
@@ -41,7 +41,7 @@ $AUTOMAKE
 $AUTOCONF
 ./configure
 
-# Make sure nothing is deleted by `make clean'
+# Make sure nothing is deleted by 'make clean'
 $MAKE clean
 
 test -r dest
@@ -53,7 +53,7 @@ test -r sdir-no-make/dest6
 test -f src
 test -f sdir/src2
 
-# Make sure the links are deleted by `make distclean' and the original files
+# Make sure the links are deleted by 'make distclean' and the original files
 # are not.
 $MAKE distclean
 
diff --git a/tests/conflnk4.test b/tests/conflnk4.test
index 02f3e2a..a1f2f0e 100755
--- a/tests/conflnk4.test
+++ b/tests/conflnk4.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure links to _identical files_ created by AC_CONFIG_LINKS get
-# removed with `make distclean' only if doing a VPATH build.
+# removed with 'make distclean' only if doing a VPATH build.
 
 . ./defs || Exit 1
 
@@ -55,7 +55,7 @@ cd build
 
 $MAKE test
 
-# Make sure nothing is deleted by `make clean'
+# Make sure nothing is deleted by 'make clean'
 $MAKE clean
 
 test -f ../src
@@ -63,7 +63,7 @@ test -f ../sdir/src2
 test -f ../nonmk-subdir/src3
 test -f ../sdir/mk-subdir/src4
 
-# Make sure the links are deleted by `make distclean' and the original files
+# Make sure the links are deleted by 'make distclean' and the original files
 # are not.
 $MAKE distclean
 
@@ -82,7 +82,7 @@ cd ..
 
 $MAKE test
 
-# Make sure nothing is deleted by `make distclean'
+# Make sure nothing is deleted by 'make distclean'
 $MAKE distclean
 
 test -f src
diff --git a/tests/copy.test b/tests/copy.test
index e023231..a9f0f56 100755
--- a/tests/copy.test
+++ b/tests/copy.test
@@ -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 to make sure `-c' works.  Report from Andris Pavenis.
-# See also the much more in-depth test `add-missing'.
+# Test to make sure '-c' works.  Report from Andris Pavenis.
+# See also the much more in-depth test 'add-missing'.
 
 . ./defs || Exit 1
 
@@ -66,7 +66,7 @@ END
 
 $ACLOCAL
 
-# `automake -a' called without `-c' should create symlinks by default,
+# 'automake -a' called without '-c' should create symlinks by default,
 # even when there is already a non-symlinked required auxiliary file.
 
 mkdir auxdir
@@ -79,7 +79,7 @@ test -f auxdir/depcomp
 is_not_symlink auxdir/depcomp
 test FAKE-DEPCOMP = `cat auxdir/depcomp`
 
-# `automake -a -c' should not create symlinks, even when there are
+# 'automake -a -c' should not create symlinks, even when there are
 # already symlinked required auxiliary files.
 
 rm -rf auxdir
diff --git a/tests/cscope2.test b/tests/cscope2.test
index e47989b..f72bb6a 100755
--- a/tests/cscope2.test
+++ b/tests/cscope2.test
@@ -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/>.
 
-# The `cscope' target should not fail if there are no sources.
+# The 'cscope' target should not fail if there are no sources.
 
 required=
 . ./defs || Exit 1
diff --git a/tests/cscope3.test b/tests/cscope3.test
index cd3082d..47bcd4d 100755
--- a/tests/cscope3.test
+++ b/tests/cscope3.test
@@ -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/>.
 
-# The `cscope' target should not fail if there are no sources in a subdir.
-# In practice this means `cscope' should not be invoked if cscope.files
+# The 'cscope' target should not fail if there are no sources in a subdir.
+# In practice this means 'cscope' should not be invoked if cscope.files
 # is empty.
 
 required=cscope
diff --git a/tests/cxx.test b/tests/cxx.test
index c69aac6..63e55b8 100755
--- a/tests/cxx.test
+++ b/tests/cxx.test
@@ -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 that `.c++' extension works.
+# Test that '.c++' extension works.
 # From Ralf Corsepius.
 
 . ./defs || Exit 1
diff --git a/tests/cygnus-no-dist.test b/tests/cygnus-no-dist.test
index eccf7fd..519f0c2 100755
--- a/tests/cygnus-no-dist.test
+++ b/tests/cygnus-no-dist.test
@@ -50,9 +50,9 @@ END
 mkdir sub1 sub2
 : > sub1/Makefile.am
 cat > sub2/Makefile.am <<'END'
-# The `-Wall' after `cygnus' should ensure no warning gets
+# The '-Wall' after 'cygnus' should ensure no warning gets
 # unintentionally disabled.  We are particularly interested
-# in override warnings, for when (below) we add the `distdir'
+# in override warnings, for when (below) we add the 'distdir'
 # target.
 AUTOMAKE_OPTIONS = cygnus -Wall
 END
diff --git a/tests/cygnus-no-installinfo.test b/tests/cygnus-no-installinfo.test
index 9b0b199..6f3f322 100755
--- a/tests/cygnus-no-installinfo.test
+++ b/tests/cygnus-no-installinfo.test
@@ -34,7 +34,7 @@ END
 
 $ACLOCAL
 # FIXME: -Wno-override works around a buglet in definition of $(MAKEINFO)
-# in cygnus mode; see also xfailing test `txinfo5.test'.
+# in cygnus mode; see also xfailing test 'txinfo5.test'.
 $AUTOMAKE --cygnus -Wno-override
 $AUTOCONF
 
diff --git a/tests/dash.test b/tests/dash.test
index 9edda2d..992bf62 100755
--- a/tests/dash.test
+++ b/tests/dash.test
@@ -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 to make sure `-' can be used in path.
+# Test to make sure '-' can be used in path.
 # Report from Matthew D. Langston.
 
 . ./defs || Exit 1
diff --git a/tests/defs b/tests/defs
index 501a2aa..77f848b 100644
--- a/tests/defs
+++ b/tests/defs
@@ -39,7 +39,7 @@ test -f ./defs-static || {
 # Enable the errexit shell flag early.
 set -e
 
-# The name of the current test (without the `.test' suffix).
+# The name of the current test (without the '.test' suffix).
 # Test scripts can override it if they need to (but this should
 # be done carefully, and *before* including ./defs).
 if test -z "$me"; then
@@ -94,7 +94,7 @@ case ${AM_TESTS_REEXEC-yes} in
       exit 99
     fi
     AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
-    # Cannot simply do `opts=$-', since the content of $- is not
+    # Cannot simply do "opts=$-", since the content of $- is not
     # portable among different shells.  So try to propagate only
     # the portable and interesting options.
     case $- in
@@ -148,7 +148,7 @@ unset htmldir includedir infodir libdir libexecdir 
localedir mandir
 unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir
 # Unset variables that might change the "make distcheck" behaviour.
 unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS
-# The tests call `make -e' but we do not want $srcdir from the environment
+# The tests call "make -e" but we do not want $srcdir from the environment
 # to override the definition from the Makefile.
 unset srcdir
 # Also unset variables that control our test driver.  While not
@@ -192,13 +192,13 @@ am_keeping_testdirs ()
   esac
 }
 
-# This is used in `Exit' and in the exit trap.  See comments in the latter
+# This is used in 'Exit' and in the exit trap.  See comments in the latter
 # for more information,
 am__test_skipped=no
 
 # We use a trap below for cleanup.  This requires us to go through
 # hoops to get the right exit status transported through the signal.
-# So use `Exit STATUS' instead of `exit STATUS' inside of the tests.
+# So use "Exit STATUS" instead of "exit STATUS" inside of the tests.
 # Turn off errexit here so that we don't trip the bug with OSF1/Tru64
 # sh inside this function.
 Exit ()
@@ -319,7 +319,7 @@ AUTOMAKE_run ()
 
 # AUTOMAKE_fails [-d DESCRIPTION] [OPTIONS...]
 # --------------------------------------------
-# Run automake with OPTIONS, and fail if doesn't exit with status `1'.
+# Run automake with OPTIONS, and fail if doesn't exit with status 1.
 # Should be polymorphic for TAP and "plain" tests.  The DESCRIPTION,
 # when provided, is used for console reporting, only if the TAP
 # protocol is in use in the current test script.
@@ -330,7 +330,7 @@ AUTOMAKE_fails ()
 
 # extract_configure_help { --OPTION | VARIABLE-NAME } [FILES]
 # -----------------------------------------------------------
-# Use this to extract from the output of `./configure --help' (or similar)
+# Use this to extract from the output of "./configure --help" (or similar)
 # the description or help message associated to the given --OPTION or
 # VARIABLE-NAME.
 extract_configure_help ()
@@ -363,7 +363,7 @@ extract_configure_help ()
 
 # grep_configure_help { --OPTION | VARIABLE-NAME } REGEXP
 # -------------------------------------------------------
-# Grep the section of `./configure --help' output associated with either
+# Grep the section of "./configure --help" output associated with either
 # --OPTION or VARIABLE-NAME for the given *extended* regular expression.
 grep_configure_help ()
 {
@@ -430,8 +430,8 @@ rm_rf_ ()
 # Check that a testsuite run driven by the parallel-tests harness has
 # had the specified numbers of test results (specified by kind).
 # This function assumes that the output of "make check" or "make recheck"
-# has been saved in the `stdout' file in the current directory, and its
-# log in the `test-suite.log' file.
+# has been saved in the 'stdout' file in the current directory, and its
+# log in the 'test-suite.log' file.
 count_test_results ()
 {
   # Use a subshell so that we won't pollute the script namespace.
@@ -443,7 +443,7 @@ count_test_results ()
     $EGREP -i '(total|x?pass|x?fail|skip|error)' stdout || :
     rc=0
     # Avoid spurious failures with shells with "overly sensible"
-    # `errexit' shell flag, such as e.g., Solaris /bin/sh.
+    # errexit shell flag, such as e.g., Solaris /bin/sh.
     set +e
     test `grep -c '^PASS:'  stdout` -eq $pass  || rc=1
     test `grep -c '^XFAIL:' stdout` -eq $xfail || rc=1
@@ -494,17 +494,19 @@ sed_unindent_prog="" # Avoid interferences from the 
environment.
 
 # get_shell_script SCRIPT-NAME
 # -----------------------------
-# Fetch an Automake-provided shell script from the `lib/' directory into
-# the current directory, and, if the `$am_test_prefer_config_shell'
+# Fetch an Automake-provided shell script from the 'lib/' directory into
+# the current directory, and, if the '$am_test_prefer_config_shell'
 # variable is set to "yes", modify its shebang line to use $SHELL instead
 # of /bin/sh.
 get_shell_script ()
 {
+  test ! -f "$1" || rm -f "$1" || return 99
   if test x"$am_test_prefer_config_shell" = x"yes"; then
-    sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$1" > "$1"
-    chmod a+x "$1"
+    sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$1" > "$1" \
+     && chmod a+x "$1" \
+     || return 99
   else
-    cp "$am_scriptdir/$1" .
+    cp -f "$am_scriptdir/$1" . || return 99
   fi
   sed 10q "$1" # For debugging.
 }
@@ -529,7 +531,7 @@ xsi_shell_code='
 
 # fetch_tap_driver
 # ----------------
-# Fetch the Automake-provided TAP driver from the `lib/' directory into
+# Fetch the Automake-provided TAP driver from the 'lib/' directory into
 # the current directory, and edit its shebang line so that it will be
 # run with the perl interpreter determined at configure time.
 fetch_tap_driver ()
@@ -543,6 +545,7 @@ fetch_tap_driver ()
       sed "1s|#!.*|#! $PERL -w|" "$am_scriptdir"/tap-driver.pl >tap-driver
       ;;
     shell)
+      AM_TAP_AWK=$AWK; export AM_TAP_AWK
       sed "1s|#!.*|#! $SHELL|" "$am_scriptdir"/tap-driver.sh >tap-driver
       ;;
     *)
@@ -611,14 +614,6 @@ require_compiler_ ()
 ##  required by them.                                          ##
 ## ----------------------------------------------------------- ##
 
-# So that we can force the use of correct gcc, g++ etc., consistently
-# with cross-compilation settings.
-if cross_compiling; then
-  am__tool_prefix="$host_alias-"
-else
-  am__tool_prefix=
-fi
-
 # Look for (and maybe set up) required tools and/or system features; skip
 # the current test if they are not found.
 for tool in : $required
@@ -628,10 +623,6 @@ do
     :) ;;
     cc|c++|fortran|fortran77)
       require_compiler_ $tool;;
-    xsi-shell)
-      require_xsi "$SHELL";;
-    xsi-bin-sh)
-      require_xsi "/bin/sh";;
     xsi-lib-shell)
       if test x"$am_test_prefer_config_shell" = x"yes"; then
         require_xsi "$SHELL"
@@ -640,30 +631,21 @@ do
       fi
       ;;
     bzip2)
-      # Do not use --version, bzip2 still tries to compress stdin.
+      # Do not use --version, older versions bzip2 still tries to compress
+      # stdin.
       echo "$me: running bzip2 --help"
       bzip2 --help \
-        || skip_all_ "required program \`bzip2' not available"
+        || skip_all_ "required program 'bzip2' not available"
       ;;
     cl)
       CC=cl
       # Don't export CFLAGS, as that could have been initialized to only
       # work with the C compiler detected at configure time.  If the user
-      # wants CFLAGS to also influence `cl', he can still export CFLAGS
+      # wants CFLAGS to also influence 'cl', he can still export CFLAGS
       # in the environment "by hand" before calling the testsuite.
       export CC CPPFLAGS
       echo "$me: running $CC -?"
-      $CC -? || skip_all_ "Microsoft C compiler \`$CC' not available"
-      ;;
-    cscope)
-      # Sun cscope is interactive without redirection.
-      echo "$me: running cscope --version </dev/null"
-      cscope --version </dev/null \
-        || skip_all_ "required program \`cscope' not available"
-      ;;
-    cygpath)
-      echo "$me: running cygpath --version"
-      cygpath --version || skip_all_ "cygpath not available"
+      $CC -? || skip_all_ "Microsoft C compiler '$CC' not available"
       ;;
     etags)
       # Exuberant Ctags will create a TAGS file even
@@ -672,59 +654,34 @@ do
       # to make sure we do not pollute the tests/ directory.
       echo "$me: running etags --version -o /dev/null"
       etags --version -o /dev/null \
-        || skip_all_ "required program \`etags' not available"
-      ;;
-    gcc)
-      # When gcc is required, export `CC=gcc' so that ./configure
-      # always use it.  This is important only when the user
-      # has defined CC in his environment, otherwise ./configure will
-      # prefer gcc to other compilers.
-      CC=${am__tool_prefix}gcc
-      CFLAGS=$GNU_CFLAGS
-      export CC CFLAGS CPPFLAGS
-      echo "$me: running $CC --version"
-      $CC --version || skip_all_ "GNU C compiler not available"
-      echo "$me: running $CC -v"
-      $CC -v || skip_all_ "botched installation for GNU C compiler"
+        || skip_all_ "required program 'etags' not available"
       ;;
     gcj)
-      GCJ=${am__tool_prefix}gcj
-      export GCJ
-      echo "$me: running $GCJ --version"
-      $GCJ --version || skip_all_ "GNU Java compiler not available"
-      echo "$me: running $GCJ -v"
-      $GCJ -v || skip_all_ "botched installation for GNU Java compiler"
+      GCJ=$GNU_GCJ GCJFLAGS=$GNU_GCJFLAGS; export GCJ GCJFLAGS
+      test "$GCJ" = false && skip_all_ "GNU Java compiler unavailable"
+      : For shells with busted 'set -e'.
+      ;;
+    gcc)
+      CC=$GNU_CC CFLAGS=$GNU_CFLAGS; export CC CFLAGS CPPFLAGS
+      test "$CC" = false && skip_all_ "GNU C compiler unavailable"
+      : For shells with busted 'set -e'.
       ;;
     g++)
-      CXX=${am__tool_prefix}g++
-      CXXFLAGS=$GNU_CXXFLAGS
-      export CXX CXXFLAGS CPPFLAGS
-      echo "$me: running $CXX --version"
-      $CXX --version || skip_all_ "GNU C++ compiler not available"
-      echo "$me: running $CXX -v"
-      $CXX -v || skip_all_ "botched installation for GNU C++ compiler"
+      CXX=$GNU_CXX CXXFLAGS=$GNU_CXXFLAGS; export CXX CXXFLAGS CPPFLAGS
+      test "$CXX" = false && skip_all_ "GNU C++ compiler unavailable"
+      : For shells with busted 'set -e'.
       ;;
     gfortran)
-      FC=${am__tool_prefix}gfortran
-      FCFLAGS=$GNU_FCFLAGS
-      export FC FCFLAGS
-      echo "$me: running $FC --version"
-      $FC --version || skip_all_ "GNU Fortran compiler not available"
-      echo "$me: running $FC -v"
-      $FC -v || skip_all_ "botched installation for GNU Fortran compiler"
+      FC=$GNU_FC FCFLAGS=$GNU_FCFLAGS; export FC FCFLAGS
+      test "$FC" = false && skip_all_ "GNU Fortran compiler unavailable"
       case " $required " in
         *\ g77\ *) ;;
         *) F77=$FC FFLAGS=$FCFLAGS; export F77 FFLAGS;;
       esac
       ;;
     g77)
-      F77=${am__tool_prefix}g77
-      FFLAGS=$GNU_FFLAGS
-      export F77 FFLAGS
-      echo "$me: running $F77 --version"
-      $F77 --version || skip_all_ "GNU Fortran 77 compiler not available"
-      echo "$me: running $F77 -v"
-      $F77 -v || skip_all_ "botched installation for GNU Fortran 77 compiler"
+      F77=$GNU_F77 FFLAGS=$GNU_FFLAGS; export F77 FFLAGS
+      test "$F77" = false && skip_all_ "GNU Fortran 77 compiler unavailable"
       case " $required " in
         *\ gfortran\ *) ;;
         *) FC=$F77 FCFLAGS=$FFLAGS; export FC FCFLAGS;;
@@ -732,14 +689,14 @@ do
       ;;
     javac)
       # The Java compiler from JDK 1.5 (and presumably earlier versions)
-      # cannot handle the `-version' option by itself: it bails out
-      # telling that source files are missing.  Adding also the `-help'
+      # cannot handle the '-version' option by itself: it bails out
+      # telling that source files are missing.  Adding also the '-help'
       # option seems to solve the problem.
       echo "$me: running javac -version -help"
       javac -version -help || skip_all_ "Sun Java compiler not available"
       ;;
     java)
-      # See the comments above about `javac' for why we use also `-help'.
+      # See the comments above about 'javac' for why we use also '-help'.
       echo "$me: running java -version -help"
       java -version -help || skip_all_ "Sun Java interpreter not found"
       ;;
@@ -750,19 +707,19 @@ do
       # create the archive, but lib will output its version.
       echo "$me: running $AR -out:defstest.lib"
       $AR -out:defstest.lib \
-        || skip_all_ "Microsoft \`lib' utility not available"
+        || skip_all_ "Microsoft 'lib' utility not available"
       ;;
     makedepend)
       echo "$me: running makedepend -f-"
       makedepend -f- \
-        || skip_all_ "required program \`makedepend' not available"
+        || skip_all_ "required program 'makedepend' not available"
       ;;
     makeinfo-html)
-      # Make sure we have makeinfo, and it understands `--html'.
+      # Make sure we have makeinfo, and it understands '--html'.
       echo "$me: running makeinfo --html --version"
       makeinfo --html --version \
-        || skip_all_ "cannot find a makeinfo program that groks the" \
-                 "\`--html' option"
+        || skip_all_ "cannot find a makeinfo program that groks" \
+                     "the '--html' option"
       ;;
     mingw)
       uname_s=`uname -s || echo UNKNOWN`
@@ -831,17 +788,17 @@ do
         || skip_all_ "DejaGnu is not available"
       ;;
     tex)
-      # No all versions of Tex support `--version', so we use
+      # No all versions of Tex support '--version', so we use
       # a configure check.
       if test -z "$TEX"; then
         skip_all_ "TeX is required, but it wasn't found by configure"
       fi
       ;;
     texi2dvi-o)
-      # Texi2dvi supports `-o' since Texinfo 4.1.
+      # Texi2dvi supports '-o' since Texinfo 4.1.
       echo "$me: running texi2dvi -o /dev/null --version"
       texi2dvi -o /dev/null --version \
-        || skip_all_ "required program \`texi2dvi' not available"
+        || skip_all_ "required program 'texi2dvi' not available"
       ;;
     lex)
       test x"$LEX" = x"false" && skip_all_ "lex not found or disabled"
@@ -854,25 +811,27 @@ do
     flex)
       LEX=flex; export LEX
       echo "$me: running flex --version"
-      flex --version || skip_all_ "required program \`flex' not available"
+      flex --version || skip_all_ "required program 'flex' not available"
       ;;
     bison)
       YACC='bison -y'; export YACC
       echo "$me: running bison --version"
-      bison --version || skip_all_ "required program \`bison' not available"
+      bison --version || skip_all_ "required program 'bison' not available"
       ;;
     *)
       # Generic case: the tool must support --version.
       echo "$me: running $tool --version"
       # It is not likely but possible that $tool is a special builtin,
-      # in which case the shell is allowed to exit after an error.
-      # So, please leave the subshell here.
-      ($tool --version) || skip_all_ "required program \`$tool' not available"
+      # in which case the shell is allowed to exit after an error.  So
+      # we need the subshell here.  Also, some tools, like Sun cscope,
+      # can be interactive without redirection.
+      ($tool --version) </dev/null \
+        || skip_all_ "required program '$tool' not available"
       ;;
   esac
 done
 
-# Using just `$testbuilddir' for the check here is ok, since the
+# Using just $testbuilddir for the check here is ok, since the
 # further temporary subdirectory where the test will be run is
 # ensured not to contain any whitespace character.
 case $testbuilddir in
@@ -963,7 +922,7 @@ if test "$sh_errexit_works" = yes; then
   trap "fatal_ 'caught signal SIGQUIT'" 3
   # Ignore further SIGPIPE in the trap code.  This is required to avoid
   # a very weird issue with some shells, at least when the execution of
-  # the automake testsuite is driven by the `prove' utility: if prove
+  # the automake testsuite is driven by the 'prove' utility: if prove
   # (or the make process that has spawned it) gets interrupted with
   # Ctrl-C, the shell might go in a loop, continually getting a SIGPIPE,
   # sometimes finally dumping core, other times hanging indefinitely.
diff --git a/tests/defs-static.in b/tests/defs-static.in
index c474d7a..1ada923 100644
--- a/tests/defs-static.in
+++ b/tests/defs-static.in
@@ -35,8 +35,8 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 
2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
   # If Zsh is not started directly in Bourne-compatibility mode, it has
-  # some incompatibilities in the handling of `$0' that conflict with
-  # our usage: i.e., `$0' inside a file sourced with the `.' builtin is
+  # some incompatibilities in the handling of $0 that conflict with
+  # our usage: i.e., $0 inside a file sourced with the '.' builtin is
   # temporarily set to the name of the sourced file.
   # Work around this when possible, otherwise abort the script.
   # Note that a bug in some versions of Zsh prevents us from resetting $0
@@ -80,7 +80,7 @@ for var in \
   am_original_ACLOCAL \
 ; do
   if eval "test x\"\$$var\" != x" && env | grep "^$var=" >/dev/null; then
-    echo "$argv0: variable \`$var' is set in the environment:" \
+    echo "$argv0: variable '$var' is set in the environment:" \
          "this is unsafe" >&2
     exit 99
   fi
@@ -123,8 +123,8 @@ case ${am_running_installcheck:=no} in
     am_system_acdir=$top_testsrcdir/m4/acdir
     ;;
   *)
-    echo "$argv0: variable \`am_running_installcheck' has invalid"
-         "value \`$am_running_installcheck'" >&2
+    echo "$argv0: variable 'am_running_installcheck' has invalid"
+         "value '$am_running_installcheck'" >&2
     exit 99
     ;;
 esac
@@ -142,6 +142,7 @@ SHELL=${AM_TESTSUITE_SHELL-'@SHELL@'}; export SHELL
 
 # User can override various tools used.  Prefer overriding specific for
 # that automake testsuite, if they are available.
+AWK=${AM_TESTSUITE_AWK-${AWK-'@AWK@'}}
 PERL=${AM_TESTSUITE_PERL-${PERL-'@PERL@'}}
 MAKE=${AM_TESTSUITE_MAKE-${MAKE-'make'}}
 YACC=${AM_TESTSUITE_YACC-${YACC-'@YACC@'}}
@@ -154,7 +155,7 @@ 
AUTOUPDATE=${AM_TESTSUITE_AUTOUPDATE-${AUTOUPDATE-'@am_AUTOUPDATE@'}}
 
 # Tests who want complete control over aclocal or automake command-line
 # options should use $am_original_ACLOCAL or $am_original_AUTOMAKE.  The
-# `test -z' tests take care not to re-initialize them if defs-static
+# "test -z" tests take care not to re-initialize them if defs-static
 # is re-sourced, as we want defs-static to remain really idempotent.
 if test -z "$am_original_AUTOMAKE"; then
   
am_original_AUTOMAKE=${AM_TESTSUITE_AUTOMAKE-${AUTOMAKE-"automake-$APIVERSION"}}
@@ -196,13 +197,19 @@ FCFLAGS=${AM_TESTSUITE_FCFLAGS-${FCFLAGS-'@FCFLAGS@'}}
 FFLAGS=${AM_TESTSUITE_FFLAGS-${FFLAGS-'@FFLAGS@'}}
 CPPFLAGS=${AM_TESTSUITE_CPPFLAGS-${CPPFLAGS-'@CPPFLAGS@'}}
 
-# Flags for the GNU compilers.
+# GNU compilers and their flags.
+GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'@GNU_CC@'}}
+GNU_CXX=${AM_TESTSUITE_GNU_CXX-${GNU_CXX-'@GNU_CXX@'}}
+GNU_F77=${AM_TESTSUITE_GNU_F77-${GNU_F77-'@GNU_F77@'}}
+GNU_FC=${AM_TESTSUITE_GNU_FC-${GNU_FC-'@GNU_FC@'}}
 GNU_FFLAGS=${AM_TESTSUITE_GNU_FFLAGS-${GNU_FFLAGS-'@GNU_FFLAGS@'}}
 GNU_FCFLAGS=${AM_TESTSUITE_GNU_FCFLAGS-${GNU_FCFLAGS-'@GNU_FCFLAGS@'}}
 GNU_CXXFLAGS=${AM_TESTSUITE_GNU_CXXFLAGS-${GNU_CXXFLAGS-'@GNU_CXXFLAGS@'}}
 GNU_CFLAGS=${AM_TESTSUITE_GNU_CFLAGS-${GNU_CFLAGS-'@GNU_CFLAGS@'}}
+GNU_GCJ=${AM_TESTSUITE_GNU_GCJ-${GNU_GCJ-'@GNU_GCJ@'}}
+GNU_GCJFLAGS=${AM_TESTSUITE_GNU_GCJFLAGS-${GNU_GCJFLAGS-'@GNU_GCJFLAGS@'}}
 
-# No all versions of Tex support `--version', so we use a configure
+# No all versions of Tex support '--version', so we use a configure
 # check to decide if tex is available.  This decision is embodied in
 # this variable.
 TEX=${AM_TESTSUITE_TEX-'@TEX@'}
diff --git a/tests/dejagnu.test b/tests/dejagnu.test
index a955c34..14b118c 100755
--- a/tests/dejagnu.test
+++ b/tests/dejagnu.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Superficial test to check that dejagnu tests and automake-style
-# tests can coexist.  See also related deeper test `check12.test'.
+# tests can coexist.  See also related deeper test 'check12.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/deleted-am.test b/tests/deleted-am.test
index 11fefb7..636286c 100755
--- a/tests/deleted-am.test
+++ b/tests/deleted-am.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The stub rules emitted to work around the "deleted header problem"
-# for `.am' files shouldn't prevent the remake rules from correctly
+# for '.am' files shouldn't prevent the remake rules from correctly
 # erroring out when a still-required file is missing.
 # See also discussion about automake bug#9768.
 
diff --git a/tests/deleted-m4.test b/tests/deleted-m4.test
index 69499b5..e1bbfce 100755
--- a/tests/deleted-m4.test
+++ b/tests/deleted-m4.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The stub rules emitted to work around the "deleted header problem"
-# for `.m4' files shouldn't prevent the remake rules from correctly
+# for '.m4' files shouldn't prevent the remake rules from correctly
 # erroring out when a still-required file is missing.
 # See also discussion about automake bug#9768.
 
diff --git a/tests/depcomp.sh b/tests/depcomp.sh
index 66fe8da..a9180e9 100755
--- a/tests/depcomp.sh
+++ b/tests/depcomp.sh
@@ -28,7 +28,7 @@
 # thus the second make will invoke depcomp with object='../../src/foo.o',
 # causing errors such as:
 #
-#  touch: cannot touch `../../src/.deps/foo.TPo': No such file or directory
+#  touch: cannot touch '../../src/.deps/foo.TPo': No such file or directory
 #  makedepend: error:  cannot open "../../src/.deps/foo.TPo"
 #  ../../depcomp: line 560: ../../src/.deps/foo.TPo: No such file or directory
 
@@ -53,8 +53,8 @@
 # <http://lists.gnu.org/archive/html/automake-patches/2011-05/msg00019.html>
 #
 # A partial failure of an earlier version of this test; some bad
-# post-processing of the `*.Po' files led to the following broken
-# contents of `src/sub/.deps/subfoo.Po':
+# post-processing of the '*.Po' files led to the following broken
+# contents of 'src/sub/.deps/subfoo.Po':
 #
 #  > sub/subfoo.o: ../../depmod-data.dir/src/sub/subfoo.c \
 #  >   ../../depmod-data.dir/src/foo.h
diff --git a/tests/depcomp8a.test b/tests/depcomp8a.test
index 7fb2602..01a2403 100755
--- a/tests/depcomp8a.test
+++ b/tests/depcomp8a.test
@@ -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.test', which checks the
 # same thing for libtool objects.
 
 required=cc
diff --git a/tests/depcomp8b.test b/tests/depcomp8b.test
index 49b44ca..b5f7371 100755
--- a/tests/depcomp8b.test
+++ b/tests/depcomp8b.test
@@ -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.test', which checks the
 # same thing for non-libtool objects.
 
 required='cc libtoolize'
diff --git a/tests/depend.test b/tests/depend.test
index 7d7d1a9..2105e33 100755
--- a/tests/depend.test
+++ b/tests/depend.test
@@ -16,7 +16,7 @@
 
 # This tests for a bug reported by Henrik Frystyk Nielsen <address@hidden>
 # In some cases the auto-dependency can get confused and try
-# to `-include' a directory (if a backslash-newline appears in _SOURCES).
+# to '-include' a directory (if a backslash-newline appears in _SOURCES).
 
 . ./defs || Exit 1
 
diff --git a/tests/destdir.test b/tests/destdir.test
index 38ad08b..22bf184 100755
--- a/tests/destdir.test
+++ b/tests/destdir.test
@@ -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/>.
 
-# Make sure that `make distcheck' can find some $(DESTDIR) omissions.
+# Make sure that 'make distcheck' can find some $(DESTDIR) omissions.
 # PR/186.
 
 # The feature we test here relies on read-only directories.
diff --git a/tests/dirlist.test b/tests/dirlist.test
index 4cbebb4..76daa35 100755
--- a/tests/dirlist.test
+++ b/tests/dirlist.test
@@ -43,15 +43,15 @@ $ACLOCAL --system-acdir acdir
 $AUTOCONF
 
 # There should be no m4_include in aclocal.m4, even though m4/dirlist
-# contains `./dirlist-test' as a relative directory.  Only -I directories
+# contains './dirlist-test' as a relative directory.  Only -I directories
 # are subject to file inclusion.
 grep m4_include aclocal.m4 && Exit 1
 
 grep 'GUILE-VERSION' configure
 
 # This bug can occur only when we do a VPATH build of Automake
-# (because of the `-I' passed to aclocal in tests/defs/aclocal.in) but
-# it's OK because VPATH builds are done by `make distcheck'.
+# (because of the '-I' passed to aclocal in tests/defs/aclocal.in) but
+# it's OK because VPATH builds are done by 'make distcheck'.
 grep 'I should not be included' configure && Exit 1
 
 :
diff --git a/tests/dirlist2.test b/tests/dirlist2.test
index 38db514..f3b9c4d 100755
--- a/tests/dirlist2.test
+++ b/tests/dirlist2.test
@@ -50,7 +50,7 @@ $ACLOCAL --system-acdir my-acdir
 $AUTOCONF
 
 # There should be no m4_include in aclocal.m4, even though m4/dirlist
-# contains `./dirlist-test' as a relative directory.  Only -I directories
+# contains './dirlist-test' as a relative directory.  Only -I directories
 # are subject to file inclusion.
 grep m4_include aclocal.m4 && Exit 1
 
diff --git a/tests/dist-auxdir-many-subdirs.test 
b/tests/dist-auxdir-many-subdirs.test
index c999351..db9aa94 100755
--- a/tests/dist-auxdir-many-subdirs.test
+++ b/tests/dist-auxdir-many-subdirs.test
@@ -90,7 +90,7 @@ END
   $AUTOCONF
 
   "$am_scriptdir"/install-sh -d $auxdir \
-    || fatal_ "creating directory \`$auxdir' with install-sh"
+    || fatal_ "creating directory '$auxdir' with install-sh"
   if test $add_missing = yes; then
     $AUTOMAKE -a --copy
     for f in $required_files; do
@@ -103,7 +103,7 @@ END
   else
     for f in $required_files; do
       cp "$am_scriptdir"/$f $auxdir/$f \
-        || fatal_ "faild to fetch auxiliary script \`$f'"
+        || fatal_ "faild to fetch auxiliary script '$f'"
       # See comments above.
       chmod a-w $auxdir/$f
     done
diff --git a/tests/dist-auxfile-2.test b/tests/dist-auxfile-2.test
index 50dd5fe..b7e2e2d 100755
--- a/tests/dist-auxfile-2.test
+++ b/tests/dist-auxfile-2.test
@@ -49,7 +49,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 test -f sub/install-sh
-# Should work also without `--add-missing'.
+# Should work also without '--add-missing'.
 $AUTOMAKE
 
 ./configure
diff --git a/tests/dist-auxfile.test b/tests/dist-auxfile.test
index 53a7416..9f7e8ee 100755
--- a/tests/dist-auxfile.test
+++ b/tests/dist-auxfile.test
@@ -17,7 +17,7 @@
 # Files specified by AC_REQUIRE_AUX_FILE must exist, and they get
 # automatically distributed by the top-level Makefile.am.
 # Automake bug#9651 reported that this didn't happen when the build-aux
-# directory was set to `.' by AC_CONFIG_AUX_DIR.
+# directory was set to '.' by AC_CONFIG_AUX_DIR.
 
 am_create_testdir=empty
 . ./defs || Exit 1
@@ -59,7 +59,7 @@ END
 END
 
   mkdir subdir
-  echo > subdir/Makefile.am # `echo', not `:', for Solaris /bin/sh.
+  echo > subdir/Makefile.am # 'echo', not ':', for Solaris /bin/sh.
 
   test -z "$auxdir" || mkdir "$auxdir" || Exit 99
 
@@ -80,7 +80,7 @@ END
 
   touch $auxdir/foo.txt $auxdir/bar.sh $auxdir/zardoz
   cp "$am_scriptdir"/missing "$am_scriptdir"/install-sh $auxdir \
-    || fatal_ "fetching auxiliary scripts \`missing' and \`install-sh'"
+    || fatal_ "fetching auxiliary scripts 'missing' and 'install-sh'"
   $AUTOMAKE
   ./configure
   $MAKE test
diff --git a/tests/dist-formats.tap b/tests/dist-formats.tap
index 821c8e0..8a287ff 100755
--- a/tests/dist-formats.tap
+++ b/tests/dist-formats.tap
@@ -40,9 +40,9 @@ mkdir setup \
   && rm -rf setup \
   || fatal_ "creating common aclocal.m4 file"
 
-# Some make implementations (e.g., HP-UX) don't grok `-j', some require
-# no space between `-j' and the number of jobs (e.g., older GNU make
-# versions), and some *do* require a space between `-j' and the number
+# Some make implementations (e.g., HP-UX) don't grok '-j', some require
+# no space between '-j' and the number of jobs (e.g., older GNU make
+# versions), and some *do* require a space between '-j' and the number
 # of jobs (e.g., Solaris dmake).  We need a runtime test to see what
 # works.
 for MAKE_j4 in "$MAKE -j4" "$MAKE -j 4" false; do
@@ -50,7 +50,7 @@ for MAKE_j4 in "$MAKE -j4" "$MAKE -j 4" false; do
   : For shells with buggy 'set -e'.
 done
 
-# Set variables `$compressor' and `$suffix'.
+# Set variables '$compressor' and '$suffix'.
 setup_vars_for_compression_format ()
 {
   suffix=NONE compressor=NONE
@@ -248,7 +248,7 @@ nogzip ()
   append_to_opt $where_dist_nogzip no-dist-gzip
   setup_vars_for_compression_format "$format"
   # Do these before the am_opts and ac_opts variable can be munged
-  # by `start_subtest'.
+  # by 'start_subtest'.
   desc=
   test -n "$am_opts" && desc=${desc:+"$desc "}"am=$am_opts"
   test -n "$ac_opts" && desc=${desc:+"$desc "}"ac=$ac_opts"
@@ -366,7 +366,7 @@ 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.
+# Add half 'dist-*' options to AM_INIT_AUTOMAKE, half to AUTOMAKE_OPTIONS.
 flip=:
 for fmt in $all_compression_formats; do
   test $fmt = gzip && continue
diff --git a/tests/dist-included-parent-dir.test 
b/tests/dist-included-parent-dir.test
index 88ca414..ae135ae 100755
--- a/tests/dist-included-parent-dir.test
+++ b/tests/dist-included-parent-dir.test
@@ -44,6 +44,6 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
 # Use --srcdir with an absolute path because it's harder
-# to support in `distdir'.
+# to support in 'distdir'.
 ./configure --srcdir "`pwd`"
 $MAKE test
diff --git a/tests/dist-missing-am.test b/tests/dist-missing-am.test
index aa42989..0765b0c 100755
--- a/tests/dist-missing-am.test
+++ b/tests/dist-missing-am.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The stub rules emitted to work around the "deleted header problem"
-# for `.am' files shouldn't prevent "make" from diagnosing a missing
-# required `.am' file from a distribution tarball.
+# for '.am' files shouldn't prevent "make" from diagnosing a missing
+# required '.am' file from a distribution tarball.
 # See discussion about automake bug#9768.
 
 . ./defs || Exit 1
@@ -37,7 +37,7 @@ $AUTOMAKE
 
 ./configure
 
-# A faulty distribution tarball, with a required `.am' file missing.
+# A faulty distribution tarball, with a required '.am' file missing.
 # Building from it should fail, both for in-tree and VPATH builds.
 ocwd=`pwd` || fatal_ "cannot get current working directory"
 for vpath in false :; do
diff --git a/tests/dist-missing-included-m4.test 
b/tests/dist-missing-included-m4.test
index 8c3c757..5960003 100755
--- a/tests/dist-missing-included-m4.test
+++ b/tests/dist-missing-included-m4.test
@@ -15,10 +15,10 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The stub rules emitted to work around the "deleted header problem"
-# for `.m4' files shouldn't prevent "make" from diagnosing a missing
-# required `.m4' file from a distribution tarball.
+# 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.test'.
 
 . ./defs || Exit 1
 
@@ -39,7 +39,7 @@ $AUTOMAKE
 
 ./configure
 
-# A faulty distribution tarball, with a required `.m4' file missing.
+# A faulty distribution tarball, with a required '.m4' file missing.
 # Building from it should fail, both for in-tree and VPATH builds.
 ocwd=`pwd` || fatal_ "cannot get current working directory"
 for vpath in false :; do
diff --git a/tests/dist-missing-m4.test b/tests/dist-missing-m4.test
index 61ed200..9a418d3 100755
--- a/tests/dist-missing-m4.test
+++ b/tests/dist-missing-m4.test
@@ -15,10 +15,10 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # The stub rules emitted to work around the "deleted header problem"
-# for `.m4' files shouldn't prevent "make" from diagnosing a missing
-# required `.m4' file from a distribution tarball.
+# 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.test'.
 
 . ./defs || Exit 1
 
@@ -41,7 +41,7 @@ $AUTOMAKE
 
 ./configure
 
-# A faulty distribution tarball, with a required `.m4' file missing.
+# A faulty distribution tarball, with a required '.m4' file missing.
 # Building from it should fail, both for in-tree and VPATH builds.
 ocwd=`pwd` || fatal_ "cannot get current working directory"
 for vpath in false :; do
diff --git a/tests/distcheck-missing-m4.test b/tests/distcheck-missing-m4.test
index 8cdb6da..dafaec5 100755
--- a/tests/distcheck-missing-m4.test
+++ b/tests/distcheck-missing-m4.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test that we can define a distcheck-hook to diagnose m4 files
-# missing from the dist tarball (interaction with `--install').
+# missing from the dist tarball (interaction with '--install').
 # See automake bug#9037.
 
 . ./defs || Exit 1
@@ -23,10 +23,10 @@
 cwd=`pwd` || fatal_ "cannot get current working directory"
 
 cp "$testsrcdir"/distcheck-hook-m4.am . \
-  || fatal_ "cannot fetch makefile fragment \`distcheck-hook-m4.am'"
+  || fatal_ "cannot fetch makefile fragment 'distcheck-hook-m4.am'"
 
 cat > Makefile.am << 'END'
-## The lack of `--install' here is meant.
+## The lack of '--install' here is meant.
 ACLOCAL_AMFLAGS = -I m4
 include $(srcdir)/distcheck-hook-m4.am
 END
@@ -57,7 +57,7 @@ echo 'AC_DEFUN([MY_BLA], [:])' > pth/bla.m4
 ACLOCAL="$ACLOCAL --system-acdir=$cwd/acdir"; export ACLOCAL
 ACLOCAL_PATH=$cwd/pth; export ACLOCAL_PATH
 
-# We don't use `--install' here.  Our distcheck-hook should catch this.
+# We don't use '--install' here.  Our distcheck-hook should catch this.
 $ACLOCAL -I m4
 $AUTOCONF
 $EGREP 'MY_(FOO|BAR|BAZ|ZAR)' configure && Exit 1 # Sanity check.
@@ -69,7 +69,7 @@ check_no_spurious_error ()
   # On failure, some make implementations (such as Solaris make) print the
   # whole failed recipe on stdout.  The first grep works around this.
   grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && Exit 1
-  : # To placate `set -e'.
+  : To placate 'set -e'.
 }
 
 ./configure
@@ -81,7 +81,7 @@ for x in bar baz zar; do
 done
 check_no_spurious_error
 
-# Now we use `--install', and "make distcheck" should pass.
+# Now we use '--install', and "make distcheck" should pass.
 $ACLOCAL -I m4 --install
 test -f m4/bar.m4 # Sanity check.
 test -f m4/baz.m4 # Likewise.
@@ -107,7 +107,7 @@ check_no_spurious_error
 # Check that we don't complain for files that should have been found.
 $FGREP " (bar|baz|zar).m4" output && Exit 1
 
-# Now we again use `--install', and "make distcheck" should pass.
+# Now we again use '--install', and "make distcheck" should pass.
 $ACLOCAL -I m4 --install
 test -f m4/qux.m4 # Sanity check.
 test -f m4/bla.m4 # Likewise.
diff --git a/tests/distcheck-outdated-m4.test b/tests/distcheck-outdated-m4.test
index 5d23721..c477603 100755
--- a/tests/distcheck-outdated-m4.test
+++ b/tests/distcheck-outdated-m4.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test that we can define a distcheck-hook to diagnose outdated m4
-# files in a dist tarball (interaction with `--install').
+# files in a dist tarball (interaction with '--install').
 # See automake bug#9037.
 
 . ./defs || Exit 1
@@ -23,10 +23,10 @@
 cwd=`pwd` || fatal_ "cannot get current working directory"
 
 cp "$testsrcdir"/distcheck-hook-m4.am . \
-  || fatal_ "cannot fetch makefile fragment \`distcheck-hook-m4.am'"
+  || fatal_ "cannot fetch makefile fragment 'distcheck-hook-m4.am'"
 
 cat > Makefile.am << 'END'
-## The lack of `--install' here is meant.
+## The lack of '--install' here is meant.
 ACLOCAL_AMFLAGS = -I m4
 include $(srcdir)/distcheck-hook-m4.am
 END
@@ -48,7 +48,7 @@ END
 
 ACLOCAL="$ACLOCAL --system-acdir=$cwd/acdir"; export ACLOCAL
 
-# The use of `--install' here won't help when the installed file `.m4'
+# The use of '--install' here won't help when the installed file '.m4'
 # will become out-of-date w.r.t. the one in the system acdir.
 $ACLOCAL -I m4 --install
 $AUTOCONF
@@ -63,7 +63,7 @@ check_no_spurious_error ()
   # On failure, some make implementations (such as Solaris make) print the
   # whole failed recipe on stdout.  The first grep works around this.
   grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && Exit 1
-  : # To placate `set -e'.
+  : To placate 'set -e'.
 }
 
 # We start to use a new "third-party" macro in a new version
@@ -87,7 +87,7 @@ check_no_spurious_error
 # Check that we don't complain for files that aren't outdated.
 $EGREP " (foo|bar).m4" output && Exit 1
 
-# Now we again use `--install' explicitly, and "make distcheck"
+# Now we again use '--install' explicitly, and "make distcheck"
 # should pass.
 $ACLOCAL -I m4 --install
 $MAKE distcheck
@@ -106,8 +106,8 @@ END
 
 ACLOCAL_PATH="$cwd/pth"; export ACLOCAL_PATH
 
-# The explicit use of `--install' here won't help when the installed file
-# `.m4' will become out-of-date w.r.t. the one in the system acdir.
+# The explicit use of '--install' here won't help when the installed file
+# '.m4' will become out-of-date w.r.t. the one in the system acdir.
 $ACLOCAL -I m4 --install
 $MAKE distcheck
 
@@ -126,7 +126,7 @@ check_no_spurious_error
 # Check that we don't complain for files that aren't outdated.
 $EGREP " (foo|bar|baz).m4" output && Exit 1
 
-# Now we again use `--install' explicitly, and "make distcheck"
+# Now we again use '--install' explicitly, and "make distcheck"
 # should pass.
 $ACLOCAL -I m4 --install
 $MAKE distcheck
diff --git a/tests/distcheck-pr9579.test b/tests/distcheck-pr9579.test
index d2d3c69..8c78900 100755
--- a/tests/distcheck-pr9579.test
+++ b/tests/distcheck-pr9579.test
@@ -23,7 +23,7 @@ cat >> configure.ac << 'END'
 AC_OUTPUT
 END
 
-# NOTE: the use of `dir' as the name of the data file installed by hand
+# NOTE: the use of 'dir' as the name of the data file installed by hand
 # is deliberate, and enhances coverage -- see definition and comments of
 # lib/am/distdir.am:$(am__distuninstallcheck_listfiles).
 
diff --git a/tests/objext-pr10128.test b/tests/distcheck-writable-srcdir.test
similarity index 55%
copy from tests/objext-pr10128.test
copy to tests/distcheck-writable-srcdir.test
index 2fe2dfd..bbc50f4 100755
--- a/tests/objext-pr10128.test
+++ b/tests/distcheck-writable-srcdir.test
@@ -14,45 +14,35 @@
 # 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 for automake bug#10128: $(OBJEXT) redefinition causes
-# $(foo_OBJECTS) to be defined as empty.
+# Check that the user abuse 'distcheck-hook' to ensure his packages
+# is built by "make distcheck" with a writable srcdir.  This goes
+# against the GNU Coding Standards, but some package authors might
+# not care about them too much, and it's nice to support their use
+# case too (since it doesn't cost us anything but this test).
+# See automake bug#10878.
 
 . ./defs || Exit 1
 
 echo AC_OUTPUT >> configure.ac
 
 cat > Makefile.am <<'END'
-LINK = echo >$@ Linked $@ from
-OBJEXT = fasl
-EXEEXT =
-
-noinst_PROGRAMS = foo zardoz
-foo_SOURCES = foo.lisp
-zardoz_SOURCES = mu1.lisp mu2.lisp
-
-## Un-commenting this is enough to make the test pass.  Weird!
-##.lisp.o:
-
-.lisp.fasl:
-       touch $@
-
-.PHONY: test
-test:
-       is $(foo_OBJECTS) == foo.fasl
-       is $(zardoz_OBJECTS) == mu1.fasl mu2.fasl
+EXTRA_DIST = old
+distcheck-hook:
+       find $(distdir) -exec chmod u+w '{}' ';'
+check-local:
+       test -f $(srcdir)/old
+       test ! -f $(srcdir)/new
+       test ! -r $(srcdir)/new
+## Don't do this in real life, or I'll kill you.
+       echo foo > $(srcdir)/old
+       echo bar > $(srcdir)/new
 END
 
 $ACLOCAL
 $AUTOMAKE
 $AUTOCONF
-
 ./configure
-$MAKE test
-touch foo.lisp mu1.lisp mu2.lisp
-$MAKE all
-cat foo
-cat zardoz
-test "`cat foo`"    = "Linked foo from foo.fasl"
-test "`cat zardoz`" = "Linked zardoz from mu1.fasl mu2.fasl"
+: > old
+$MAKE distcheck
 
 :
diff --git a/tests/distcleancheck.test b/tests/distcleancheck.test
index cc4f495..39197d7 100755
--- a/tests/distcleancheck.test
+++ b/tests/distcleancheck.test
@@ -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/>.
 
-# Make sure the suggested `distcleancheck_listfiles' in the manual works.
-# The example Makefile.am we use is from the FAQ entry `distcleancheck'.
+# Make sure the suggested 'distcleancheck_listfiles' in the manual works.
+# The example Makefile.am we use is from the FAQ entry 'distcleancheck'.
 
 required=cc
 . ./defs || Exit 1
@@ -32,8 +32,8 @@ bin_PROGRAMS = foo
 foo_SOURCES = foo.c
 dist_man_MANS = foo.1
 
-# We write `./foo.1' inside the rule on purpose, to avoid VPATH rewriting
-# done by some `make' implementations.
+# We write './foo.1' inside the rule on purpose, to avoid VPATH rewriting
+# done by some 'make' implementations.
 foo.1: foo$(EXEEXT)
        echo man page for foo$(EXEEXT) > ./foo.1
 
diff --git a/tests/distcom-subdir.test b/tests/distcom-subdir.test
index dcad10d..4da74d0 100755
--- a/tests/distcom-subdir.test
+++ b/tests/distcom-subdir.test
@@ -49,8 +49,8 @@ $AUTOMAKE -a subdir/Makefile
 test -f depcomp
 
 # FIXME: the logic of this check and other similar ones in other
-# FIXME: `distcom*.test' files should be factored out in a common
-# FIXME: subroutine in `defs'...
+# FIXME: 'distcom*.test' files should be factored out in a common
+# FIXME: subroutine in 'defs'...
 sed -n -e "
   /^DIST_COMMON =.*\\\\$/ {
     :loop
diff --git a/tests/distcom2.test b/tests/distcom2.test
index 0f8cba0..4b86f92 100755
--- a/tests/distcom2.test
+++ b/tests/distcom2.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure that depcomp and compile are added to DIST_COMMON.
-# Report from Pavel Roskin.  Report of problems with `--no-force' from
+# Report from Pavel Roskin.  Report of problems with '--no-force' from
 # Scott James Remnant (Debian #206299)
 
 . ./defs || Exit 1
@@ -51,8 +51,8 @@ for opt in '' --no-force; do
 
   for dir in . subdir; do
     # FIXME: the logic of this check and other similar ones in other
-    # FIXME: `distcom*.test' files should be factored out in a common
-    # FIXME: subroutine in `defs'...
+    # FIXME: 'distcom*.test' files should be factored out in a common
+    # FIXME: subroutine in 'defs'...
     sed -n -e "
       /^DIST_COMMON =.*\\\\$/ {
         :loop
@@ -73,7 +73,7 @@ for opt in '' --no-force; do
   cat subdir/dc.txt # Likewise.
 
   $FGREP ' $(top_srcdir)/depcomp ' subdir/dc.txt
-  # The `compile' script will be listed in the DIST_COMMON of the top-level
+  # The 'compile' script will be listed in the DIST_COMMON of the top-level
   # Makefile because it's required in configure.ac (by AM_PROG_CC_C_O).
   $FGREP ' $(top_srcdir)/compile ' dc.txt || $FGREP ' compile ' dc.txt
 
diff --git a/tests/distcom3.test b/tests/distcom3.test
index 4f2dd4d..34ad709 100755
--- a/tests/distcom3.test
+++ b/tests/distcom3.test
@@ -24,7 +24,7 @@ README:
        echo 'I bet you are reading me.' > README
 END
 
-# Files required by `--gnu'.
+# Files required by '--gnu'.
 : > NEWS
 : > AUTHORS
 : > ChangeLog
diff --git a/tests/distdir.test b/tests/distdir.test
index 99e9e9e..079de24 100755
--- a/tests/distdir.test
+++ b/tests/distdir.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure subdirs in EXTRA_DIST work.  Also tests to make
-# sure *srcdir is properly handled.  Note that using `./', as in
+# sure *srcdir is properly handled.  Note that using './', as in
 #   EXTRA_DIST = ./joe
 # does not work portably: it fails with HP-UX and Tru64 make.
 # Also test DISTFILES containing a directory and a file in it,
@@ -63,7 +63,7 @@ mkdir build
 cd build
 ../configure
 $MAKE distdir
-# Check to make sure `foo' isn't made in build directory.
+# Check to make sure 'foo' isn't made in build directory.
 test -d foo && Exit 1
 
 rm -rf $me-1.0
@@ -71,7 +71,7 @@ rm -rf $me-1.0
 $MAKE distdir VERSION=10 MKDIR_P='echo MKDIR_P' >stdout || :
 cat stdout
 
-# Make sure no `./' appear in the directory names.  srcdir is `..', so
+# Make sure no './' appear in the directory names.  srcdir is '..', so
 # this also checks that no directory is created in the source tree.
 grep 'MKDIR_P.*\.' stdout && Exit 1
 
diff --git a/tests/disthook.test b/tests/disthook.test
new file mode 100755
index 0000000..9804e99
--- /dev/null
+++ b/tests/disthook.test
@@ -0,0 +1,89 @@
+#! /bin/sh
+# Copyright (C) 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/>.
+
+# Check that 'dist-hook' works.  See automake bug#10878.
+
+. ./defs || Exit 1
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am <<'END'
+EXTRA_DIST = write execute removed doc
+
+removed:
+       echo I will be deleted > $@
+DISTCLEANFILES = removed
+
+dist-hook:
+       chmod u+w $(distdir)/write $(distdir)/doc
+       chmod u+x $(distdir)/execute
+       rm -f $(distdir)/removed
+       rm -f $(distdir)/doc/HACKING
+       rm -f $(distdir)/doc/RELEASE-DATE
+       date > $(distdir)/doc/RELEASE-DATE
+       echo all is ok > $(distdir)/write
+
+check-local:
+       ls -l $(srcdir) $(srcdir)/doc
+       test "`cat $(srcdir)/write`" = "all is ok"
+       test -f $(srcdir)/doc/README
+       test -f $(srcdir)/doc/RELEASE-DATE
+       test ! -f $(srcdir)/removed
+       test ! -r $(srcdir)/removed
+       test ! -f $(srcdir)/doc/HACKING
+       test ! -r $(srcdir)/doc/HACKING
+       $(srcdir)/execute
+       $(srcdir)/execute | grep 'I run successfully'
+## Sanity check.
+       echo ok > $(srcdir)/../distcheck-run
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+mkdir doc
+: > doc/README
+: > doc/HACKING
+echo will be clobbered > write
+cat > execute <<'END'
+#!/bin/sh
+echo I run successfully
+END
+
+chmod a-w write
+chmod a-x execute
+
+$MAKE distdir
+ls -l $distdir $distdir/doc
+cd $distdir
+test "`cat write`" = "all is ok"
+test ! -f removed
+test ! -r removed
+test -f doc/README
+test -f doc/RELEASE-DATE
+test ! -f doc/HACING
+test ! -r doc/HACING
+./execute
+./execute | grep 'I run successfully'
+cd ..
+
+
+$MAKE distcheck
+test -f distcheck-run
+
+:
diff --git a/tests/distlinksbrk.test b/tests/distlinksbrk.test
index af1ea0d..780cb93 100755
--- a/tests/distlinksbrk.test
+++ b/tests/distlinksbrk.test
@@ -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/>.
 
-# Check that distributed broken symlinks cause `make dist' to fail, and
+# Check that distributed broken symlinks cause 'make dist' to fail, and
 # to do so with (mostly) meaningful diagnostic.
 
 . ./defs || Exit 1
@@ -34,7 +34,7 @@ ln -s "`pwd`/nonesuch" $lnk2
 ln -s $lnk1 $lnka
 ln -s $lnka $lnkb
 
-# Sanity checks.  Use `test -r', since Solaris Sh doesn't grok `test -e'.
+# Sanity checks.  Use 'test -r', since Solaris Sh doesn't grok 'test -e'.
 test ! -r $lnk1
 test ! -r $lnk2
 test ! -r $lnka
diff --git a/tests/dmalloc.test b/tests/dmalloc.test
index 286bcf7..2bf6a7c 100755
--- a/tests/dmalloc.test
+++ b/tests/dmalloc.test
@@ -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/>.
 
-# Simple checks on the `AM_WITH_DMALLOC' macro.
+# Simple checks on the 'AM_WITH_DMALLOC' macro.
 
 . ./defs || Exit 1
 
@@ -32,7 +32,7 @@ END
 cat > Makefile.am <<'END'
 check-with-dmalloc:
 ## The AM_WITH_DMALLOC assumes that the user is a developer, so that
-## he is expected to install and make available the `dmalloc' library
+## he is expected to install and make available the 'dmalloc' library
 ## by his own.  So we just check that proper linker and libs flags get
 ## added.
        echo ' ' $(LDFLAGS) ' ' | grep ' -g '
diff --git a/tests/dollar.test b/tests/dollar.test
index baa89f5..efb92d4 100755
--- a/tests/dollar.test
+++ b/tests/dollar.test
@@ -14,12 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# We should support files with `$' characters in their names.
+# We should support files with '$' characters in their names.
 # Java people need this.
 # PR/317, reported by Eric Siegerman and Philip Fong.
 
-# Require GNU make for this test.  SunOS Make does not support
-# `$$' in a target or a dependency (it outputs the empty string instead).
 . ./defs || Exit 1
 
 echo AC_OUTPUT >> configure.ac
diff --git a/tests/exeext.test b/tests/exeext.test
index 22294cc..6c2adae 100755
--- a/tests/exeext.test
+++ b/tests/exeext.test
@@ -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 to make sure `.' in an exe name doesn't fool us.
+# Test to make sure '.' in an exe name doesn't fool us.
 # Report from Robert Collins.
 # Also make sure we rewrite conditionals variables.
 # Also check for PR/352.
diff --git a/tests/ext.test b/tests/ext.test
index 3fad1a1..dd92e85 100755
--- a/tests/ext.test
+++ b/tests/ext.test
@@ -35,10 +35,10 @@ $AUTOMAKE
 
 for ext in f for f90 f95 F F90 F95 r m upc
 do
-   # Some versions of the BSD shell wrongly exit when `set -e' is active
+   # Some versions of the BSD shell wrongly exit when 'set -e' is active
    # if the last command within a compound statement fails and is guarded
    # by an && only.  So we play safe and use the following idiom, instead
-   # of the apparently simpler `grep ... && Exit 1'.
+   # of the apparently simpler 'grep ... && Exit 1'.
    if grep "^$ext\.o:" Makefile.in; then Exit 1; else :; fi
    grep "^\.$ext\.o:" Makefile.in
 done
diff --git a/tests/extra-portability.test b/tests/extra-portability.test
index 4f684bb..3ad6375 100755
--- a/tests/extra-portability.test
+++ b/tests/extra-portability.test
@@ -14,11 +14,11 @@
 # 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 interactions between the `portability' and `extra-portability'
+# Check interactions between the 'portability' and 'extra-portability'
 # warning categories:
-#   1. `-Wextra-portability' must imply `-Wportability'.
-#   2. `-Wno-portability' must imply `-Wno-extra-portability'.
-#   3. `-Wall' must imply `-Wextra-portability'.
+#   1. '-Wextra-portability' must imply '-Wportability'.
+#   2. '-Wno-portability' must imply '-Wno-extra-portability'.
+#   3. '-Wall' must imply '-Wextra-portability'.
 
 . ./defs || Exit 1
 
diff --git a/tests/extra-portability2.test b/tests/extra-portability2.test
index db4a594..2d33008 100755
--- a/tests/extra-portability2.test
+++ b/tests/extra-portability2.test
@@ -37,7 +37,7 @@ $ACLOCAL
 
 # Make sure the test is useful.
 AUTOMAKE_fails -Wextra-portability \
-  || fatal_ "setup doesn't trigger \`extra-portability' warnings"
+  || fatal_ "setup doesn't trigger 'extra-portability' warnings"
 
 $AUTOMAKE --foreign
 
diff --git a/tests/extra-programs-empty.test b/tests/extra-programs-empty.test
index bc061bf..37e1a2b 100755
--- a/tests/extra-programs-empty.test
+++ b/tests/extra-programs-empty.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test that EXTRA_PROGRAMS doesn't get removed because it is empty.
-# This check has been introduced in commit `Release-1-9-254-g9d0eaef'
-# into the former test `subst2.test'.
+# This check has been introduced in commit 'Release-1-9-254-g9d0eaef'
+# into the former test 'subst2.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/flavor.test b/tests/flavor.test
index c892350..f532406 100755
--- a/tests/flavor.test
+++ b/tests/flavor.test
@@ -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/>.
 
-# Make sure flavors like `cygnus', `gnu', `gnits' and command line
-# options like `--ignore-deps' and `--silent-rules' are preserved across
+# Make sure flavors like 'cygnus', 'gnu', 'gnits' and command line
+# options like '--ignore-deps' and '--silent-rules' are preserved across
 # automake reruns.
 
 . ./defs || Exit 1
diff --git a/tests/flibs.test b/tests/flibs.test
index 706a0ac..4f5701b 100755
--- a/tests/flibs.test
+++ b/tests/flibs.test
@@ -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/>.
 
-# Make sure `AC_F77_LIBRARY_LDFLAGS' works properly.
+# Make sure 'AC_F77_LIBRARY_LDFLAGS' works properly.
 # Matthew D. Langston <address@hidden>
 
 . ./defs || Exit 1
@@ -27,14 +27,14 @@ END
 # Tue Aug 11 09:50:48 1998  Matthew D. Langston  <address@hidden>
 #
 # This test currently fails with automake v. 1.3 since automake assumes
-# that elements of `bin_PROGRAMS' (e.g. zardoz) without a corresponding
-# `_SOURCES' (e.g. zardoz_SOURCES) should be compiled from `zardoz.c'
-# whether or not `zardoz.c' actually exists.  For example, even if the
-# file `zardoz.c' doesn't exist but the file `zardoz.f' does exist, this
+# that elements of 'bin_PROGRAMS' (e.g. zardoz) without a corresponding
+# '_SOURCES' (e.g. zardoz_SOURCES) should be compiled from 'zardoz.c'
+# whether or not 'zardoz.c' actually exists.  For example, even if the
+# file 'zardoz.c' doesn't exist but the file 'zardoz.f' does exist, this
 # tests would still fail.
 #
-# Therefore, for now I have put in the line `zardoz_SOURCES = zardoz.f'
-# (see below) so that automake's top-level `make check' won't fail, but
+# Therefore, for now I have put in the line 'zardoz_SOURCES = zardoz.f'
+# (see below) so that automake's top-level 'make check' won't fail, but
 # this line should be removed once automake handles this situation
 # correctly.
 
diff --git a/tests/fn99.test b/tests/fn99.test
index c4a0001..900b36b 100755
--- a/tests/fn99.test
+++ b/tests/fn99.test
@@ -29,7 +29,7 @@ END
   mkdir -p 12345678 && cd 12345678 && touch x || Exit 1
 done) || skip_ "failed to create deep directory hierarchy"
 
-# AIX 5.3 `cp -R' is too buggy for `make dist'.
+# AIX 5.3 'cp -R' is too buggy for 'make dist'.
 cp -R 12345678 t \
   || skip_ "'cp -R' failed to copy deep directory hierarchy"
 
diff --git a/tests/fn99subdir.test b/tests/fn99subdir.test
index 5fb93ea..beb0261 100755
--- a/tests/fn99subdir.test
+++ b/tests/fn99subdir.test
@@ -51,7 +51,7 @@ for i in 1 2 3 4 5 6 7 8; do
   mkdir -p 12345678 && cd 12345678 && touch x || Exit 1
 done) || skip_ "failed to create deep directory hierarchy"
 
-# AIX 5.3 `cp -R' is too buggy for `make dist'.
+# AIX 5.3 'cp -R' is too buggy for 'make dist'.
 cp -R $subdirname t \
   || skip_ "'cp -R' failed to copy deep directory hierarchy"
 
diff --git a/tests/forcemiss.test b/tests/forcemiss.test
index 0c10853..d7d0800 100755
--- a/tests/forcemiss.test
+++ b/tests/forcemiss.test
@@ -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 to make sure that `automake --force-missing' works.
+# Test to make sure that 'automake --force-missing' works.
 
 . ./defs || Exit 1
 
diff --git a/tests/forcemiss2.test b/tests/forcemiss2.test
index d7878bb..3c75722 100755
--- a/tests/forcemiss2.test
+++ b/tests/forcemiss2.test
@@ -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 to make sure that `automake --force-missing' works, even with
+# Test to make sure that 'automake --force-missing' works, even with
 # symlinked files.
 
 . ./defs || Exit 1
diff --git a/tests/gcj2.test b/tests/gcj2.test
index 92eed45..2c4d60f 100755
--- a/tests/gcj2.test
+++ b/tests/gcj2.test
@@ -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/>.
 
-# Make sure `..' invalid in subdir .o's.
+# Make sure '..' invalid in subdir .o's.
 
 . ./defs || Exit 1
 
diff --git a/tests/gcj4.test b/tests/gcj4.test
index 4d2db9f..a860f89 100755
--- a/tests/gcj4.test
+++ b/tests/gcj4.test
@@ -42,7 +42,7 @@ cat filt
 # ... only once.
 test `wc -l < filt` = 1
 
-# Accept any outcome but `none'
+# Accept any outcome but 'none'
 # (at the time of writing it should be gcc or gcc3).
 grep -v none filt
 
diff --git a/tests/gen-testsuite-part b/tests/gen-testsuite-part
index ebf28e2..a12082f 100755
--- a/tests/gen-testsuite-part
+++ b/tests/gen-testsuite-part
@@ -49,18 +49,18 @@ sub atomic_write ($$;$)
   my $tmpfile = "$outfile-t";
   foreach my $f ($outfile, $tmpfile)
     {
-      unlink $f or die "$me: cannot unlink `$f': $!\n"
+      unlink $f or die "$me: cannot unlink '$f': $!\n"
         if -e $f;
     }
   open (my $fh, ">$tmpfile")
-    or die "$me: can't write to `$tmpfile': $!\n";
+    or die "$me: can't write to '$tmpfile': $!\n";
   $func->($fh);
   close $fh
-    or die "$me: closing `$tmpfile': $!\n";
+    or die "$me: closing '$tmpfile': $!\n";
   chmod ($perms & ~umask, $tmpfile)
-    or die "$me: cannot change perms for `$tmpfile': $!\n";
+    or die "$me: cannot change perms for '$tmpfile': $!\n";
   rename ($tmpfile, $outfile)
-    or die "$me: renaming `$tmpfile' -> `$outfile: $!\n'";
+    or die "$me: renaming '$tmpfile' -> '$outfile: $!\n'";
 }
 
 sub line_match ($$)
@@ -69,7 +69,7 @@ sub line_match ($$)
   # Try both curdir and srcdir, with curdir first, to play nice
   # with VPATH builds.
   open (FH, "<$file") or open (FH, "<$srcdir/$file")
-    or die "$me: cannot open file `$file': $!\n";
+    or die "$me: cannot open file '$file': $!\n";
   my $ret = 0;
   while (defined (my $line = <FH>))
     {
@@ -79,7 +79,7 @@ sub line_match ($$)
           last;
         }
     }
-  close FH or die "$me: cannot close file `$file': $!\n";
+  close FH or die "$me: cannot close file '$file': $!\n";
   return $ret;
 }
 
@@ -101,7 +101,7 @@ sub write_wrapper_script ($$$)
         . "\$dir/$wrapped_test"; exit "\$?"
       fi
     done
-    echo "\$0: cannot find wrapped test \\`$wrapped_test'" >&2
+    echo "\$0: cannot find wrapped test '$wrapped_test'" >&2
     exit '99'
 EOF
 }
@@ -132,7 +132,7 @@ sub parse_options (@)
   local @ARGV = @_;
   GetOptions ('srcdir=s' => \$srcdir) or die "$me: usage error\n";
   die "$me: too many arguments\n" if @ARGV > 0;
-  die "$me: srcdir `$srcdir': not a directory\n" unless -d $srcdir;
+  die "$me: srcdir '$srcdir': not a directory\n" unless -d $srcdir;
 }
 
 #--------------------------------------------------------------------------
@@ -194,18 +194,18 @@ my %test_generators =
     #
     # For each test script in the Automake testsuite that itself tests
     # features of the TESTS automake interface, define a sibling test
-    # that does likewise, but with the option `parallel-tests' enabled.
+    # that does likewise, but with the option 'parallel-tests' enabled.
     #
     # A test is considered a candidate for sibling-generation if any
     # Makefile.am generated by it define the TESTS variable.
     #
     # Individual tests can prevent the creation of such a sibling by
-    # explicitly setting the `$am_parallel_tests' variable to either "yes"
+    # explicitly setting the '$am_parallel_tests' variable to either "yes"
     # or "no".  The rationale for this is that if the variable is set to
-    # "yes", the test already uses the `parallel-tests' option, so that
+    # "yes", the test already uses the 'parallel-tests' option, so that
     # a sibling would be just a duplicate; while if the variable is set
     # to "no", the test doesn't support, or is not meant to run with, the
-    # `parallel-tests' option, and forcing it to do so in the sibling
+    # 'parallel-tests' option, and forcing it to do so in the sibling
     # would likely cause a spurious failure.
     #
     parallel_testsuite_harness =>
@@ -219,17 +219,17 @@ my %test_generators =
       },
     #
     # For each test script in the Automake testsuite that tests features
-    # of one or more automake-provided shell script from the `lib/'
+    # of one or more automake-provided shell script from the 'lib/'
     # subdirectory by running those scripts directly (i.e., not thought
     # make calls and automake-generated makefiles), define a sibling test
     # that does likewise, but running the said script with the configure
     # time $SHELL instead of the default system shell /bin/sh.
     #
     # A test is considered a candidate for sibling-generation if it calls
-    # the `get_shell_script' function anywhere.
+    # the 'get_shell_script' function anywhere.
     #
     # Individual tests can prevent the creation of such a sibling by
-    # explicitly setting the `$am_test_prefer_config_shell' variable
+    # explicitly setting the '$am_test_prefer_config_shell' variable
     # to either "yes" or "no".
     # The rationale for this is that if the variable is set to "yes",
     # the test already uses $SHELL, so that a sibling would be just a
@@ -293,7 +293,7 @@ while (my ($k, $g) = each %test_generators)
     foreach my $wrapped_test (@wrapped_tests)
       {
         (my $base = $wrapped_test) =~ s/\.([^.]*)$//;
-        my $suf = $1 or die "$me: test `$wrapped_test' lacks a suffix\n";
+        my $suf = $1 or die "$me: test '$wrapped_test' lacks a suffix\n";
         my $wrapper_test =  "$base-w.$suf";
         # Register wrapper test as "autogenerated".
         push @generated_tests, $wrapper_test;
@@ -384,7 +384,7 @@ map { print "generated_TESTS += $_\n" } @generated_tests;
 
 # The test scripts are scanned for automatic dependency generation *after*
 # the generated tests have been created, so they too can be scanned.  To
-# do so correctly, we need to update the list in address@hidden' to make it
+# do so correctly, we need to update the list in '@all_tests' to make it
 # comprise also the freshly-generated tests.
 
 push @all_tests, @generated_tests;
@@ -403,7 +403,7 @@ while (my ($k, $x) = each %deps_extractor)
     my $nodist_prereqs = $x->{nodist_prereqs} || "";
     my @tests = grep { line_match $x->{line_matcher}, $_ } @all_tests;
     map { s/\.[^.]*$//; s/$/\.log/; } (my @logs = @tests);
-    print "## Added by deps-extracting key `$k'.\n";
+    print "## Added by deps-extracting key '$k'.\n";
     ## The list of all tests which have a dependency detected by the
     ## current key.
     print join(" \\\n  ", "${k}_TESTS =", @tests) . "\n";
@@ -412,5 +412,4 @@ while (my ($k, $x) = each %deps_extractor)
     print "\n";
   }
 
-
 __END__
diff --git a/tests/get-sysconf.test b/tests/get-sysconf.test
index f37e1d2..5b3c9e2 100755
--- a/tests/get-sysconf.test
+++ b/tests/get-sysconf.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Dummy test case, aimed at reporting useful system information in the
-# final `test-suite.log'.  This way, if a user experiences a failure in
-# the Automake test suite and then only sends us the `test-suite.log',
+# final 'test-suite.log'.  This way, if a user experiences a failure in
+# the Automake test suite and then only sends us the 'test-suite.log',
 # we won't have to ask him for more information to start analyzing the
 # failure (that had happened too many times in the past!).
 
@@ -47,7 +47,7 @@ cat "$testbuilddir/wrap/automake-$APIVERSION" || st=1
 
 if test $st -eq 0; then
   # This test SKIPs, so that all the information it has gathered and
-  # printed will get unconditionally copied into the `test-suite.log'
+  # printed will get unconditionally copied into the 'test-suite.log'
   # file.
   Exit 77
 fi
diff --git a/tests/gettext-macros.test b/tests/gettext-macros.test
index 460b793..38749d3 100755
--- a/tests/gettext-macros.test
+++ b/tests/gettext-macros.test
@@ -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/>.
 
-# Try to find the gettext `.m4' files and make them easily accessed
+# Try to find the gettext '.m4' files and make them easily accessed
 # to the test cases requiring them.
 # See also automake bug#9807.
 
@@ -28,7 +28,7 @@ extract_program_version ()
 echo "# Automatically generated by $me." > get.sh
 echo : >> get.sh
 
-# The `gettextize' and `autopoint' scripts will look into Makefile.am.
+# The 'gettextize' and 'autopoint' scripts will look into Makefile.am.
 echo ACLOCAL_AMFLAGS = -I m4 > Makefile.am
 
 # Prefer autopoint to gettextize, since the more modern versions of the
@@ -70,7 +70,7 @@ else
   # macros available, e.g., by properly setting ACLOCAL_PATH.
   rm -rf m4
   mkdir m4
-  # See below for an explanation about the use the of `-Wno-syntax'.
+  # See below for an explanation about the use the of '-Wno-syntax'.
   if $ACLOCAL -Wno-syntax -I m4 --install && test -f m4/gettext.m4; then
     : # Gettext macros already accessible by default.
   else
@@ -81,12 +81,12 @@ fi
 . ./get.sh
 
 $ACLOCAL --force -I m4 || cat >> get.sh <<'END'
-# We need to use `-Wno-syntax', since we do not want our test suite
-# to fail merely because some third-party `.m4' file is underquoted.
+# We need to use '-Wno-syntax', since we do not want our test suite
+# to fail merely because some third-party '.m4' file is underquoted.
 ACLOCAL="$ACLOCAL -Wno-syntax"
 END
 
-# The file gettextize or autopoint might have copied in the `m4'
+# The file gettextize or autopoint might have copied in the 'm4'
 # subdirectory of the test directory are going to be needed by
 # other tests, so we must not remove the test directory.
 keep_testdirs=yes
diff --git a/tests/gettext.test b/tests/gettext.test
index 12bbc7d..a9181e4 100755
--- a/tests/gettext.test
+++ b/tests/gettext.test
@@ -69,10 +69,10 @@ grep 'AM_GNU_GETTEXT.*po' stderr
 echo 'SUBDIRS = po intl' >Makefile.am
 $AUTOMAKE --add-missing
 
-# Make sure distcheck runs `./configure --with-included-gettext'.
+# Make sure distcheck runs './configure --with-included-gettext'.
 grep 'with-included-gettext' Makefile.in
 
-# `SUBDIRS = po intl' isn't required if po/ doesn't exist.
+# 'SUBDIRS = po intl' isn't required if po/ doesn't exist.
 # PR/381.
 
 rmdir po
diff --git a/tests/gettext2.test b/tests/gettext2.test
index 254d06e..8b8a062 100755
--- a/tests/gettext2.test
+++ b/tests/gettext2.test
@@ -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/>.
 
-# Check gettext `external' support.
+# Check gettext 'external' support.
 # PR/338, reported by Charles Wilson.
 
 required='gettext'
diff --git a/tests/gettext3.test b/tests/gettext3.test
index 7ebd436..9a39af2 100755
--- a/tests/gettext3.test
+++ b/tests/gettext3.test
@@ -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/>.
 
-# Check gettext `AM_GNU_GETTEXT_INTL_SUBDIR' support.
+# Check gettext 'AM_GNU_GETTEXT_INTL_SUBDIR' support.
 
 required='gettext'
 . ./defs || Exit 1
diff --git a/tests/gnits3.test b/tests/gnits3.test
index 56f149f..1ccf2ab 100755
--- a/tests/gnits3.test
+++ b/tests/gnits3.test
@@ -25,8 +25,8 @@ AC_OUTPUT
 END
 
 # We use the same basename for all targets on purpose.  This way
-# we make sure that `AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = nok'
-# will not match anything containing `nok'.
+# we make sure that 'AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = nok'
+# will not match anything containing 'nok'.
 cat > Makefile.am << 'END'
 AUTOMAKE_OPTIONS = gnits
 
diff --git a/tests/gnuwarn2.test b/tests/gnuwarn2.test
index cda3a9a..6a68d65 100755
--- a/tests/gnuwarn2.test
+++ b/tests/gnuwarn2.test
@@ -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/>.
 
-# Check diagnostics about no-installman being disallowed in `gnu'.
+# Check diagnostics about no-installman being disallowed in 'gnu'.
 
 . ./defs || Exit 1
 
diff --git a/tests/help-depend.test b/tests/help-depend.test
index cb57c43..c69d564 100755
--- a/tests/help-depend.test
+++ b/tests/help-depend.test
@@ -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/>.
 
-# Make sure that our private macro `AM_DEP_TRACK' adds proper text to
+# 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.test'
 
 . ./defs || Exit 1
 
diff --git a/tests/help-depend2.test b/tests/help-depend2.test
index 76d0ae6..58a8342 100755
--- a/tests/help-depend2.test
+++ b/tests/help-depend2.test
@@ -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.test'
 
 . ./defs || Exit 1
 
diff --git a/tests/help-dmalloc.test b/tests/help-dmalloc.test
index 1ed6140..a9ab69f 100755
--- a/tests/help-dmalloc.test
+++ b/tests/help-dmalloc.test
@@ -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/>.
 
-# Make sure that our macro `AM_WITH_DMALLOC' adds proper text to
+# Make sure that our macro 'AM_WITH_DMALLOC' adds proper text to
 # the configure help screen.
 
 . ./defs || Exit 1
diff --git a/tests/help-init.test b/tests/help-init.test
index 1492577..d1cff1c 100755
--- a/tests/help-init.test
+++ b/tests/help-init.test
@@ -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/>.
 
-# Make sure that our grand macro `AM_INIT_AUTOMAKE' add proper text
+# Make sure that our grand macro 'AM_INIT_AUTOMAKE' add proper text
 # to the configure help screen.
 
 . ./defs || Exit 1
diff --git a/tests/help-lispdir.test b/tests/help-lispdir.test
index 597f942..ca1ddfc 100755
--- a/tests/help-lispdir.test
+++ b/tests/help-lispdir.test
@@ -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/>.
 
-# Make sure that our macro `AM_PATH_LISPDIR' adds proper text to
+# Make sure that our macro 'AM_PATH_LISPDIR' adds proper text to
 # the configure help screen.
 
 . ./defs || Exit 1
diff --git a/tests/help-multilib.test b/tests/help-multilib.test
index 28dac16..3fb455f 100755
--- a/tests/help-multilib.test
+++ b/tests/help-multilib.test
@@ -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/>.
 
-# Make sure that our macro `AM_ENABLE_MULTILIB' adds proper text to
+# Make sure that our macro 'AM_ENABLE_MULTILIB' adds proper text to
 # the configure help screen.
 # FIXME: the features tested by this script has been moved in contrib.
 # FIXME: We should move this script accordingly.
diff --git a/tests/help-python.test b/tests/help-python.test
index 48f15fb..501b545 100755
--- a/tests/help-python.test
+++ b/tests/help-python.test
@@ -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/>.
 
-# Make sure that macro `AM_PATH_PYTHON' adds proper text to the
+# Make sure that macro 'AM_PATH_PYTHON' adds proper text to the
 # configure help screen.
 
 . ./defs || Exit 1
diff --git a/tests/help-silent.test b/tests/help-silent.test
index 2c78212..d5fc342 100755
--- a/tests/help-silent.test
+++ b/tests/help-silent.test
@@ -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/>.
 
-# Make sure that our macro `AM_SILENT_RULES' adds proper text to
+# Make sure that our macro 'AM_SILENT_RULES' adds proper text to
 # the configure help screen.
 
 . ./defs || Exit 1
diff --git a/tests/help-upc.test b/tests/help-upc.test
index b7b01f8..b81b387 100755
--- a/tests/help-upc.test
+++ b/tests/help-upc.test
@@ -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/>.
 
-# Make sure that our macro `AM_PROG_UPC' adds proper text to
+# Make sure that our macro 'AM_PROG_UPC' adds proper text to
 # the configure help screen.
 
 . ./defs || Exit 1
diff --git a/tests/help4.test b/tests/help4.test
index 21555ca..9747968 100755
--- a/tests/help4.test
+++ b/tests/help4.test
@@ -28,7 +28,7 @@ cd emptydir
 ACLOCAL=$am_original_ACLOCAL
 AUTOMAKE=$am_original_AUTOMAKE
 
-escape_dots () { sed 's/\./\\./g'; } # Avoid issues with `\' in backquotes.
+escape_dots () { sed 's/\./\\./g'; } # Avoid issues with "\" in backquotes.
 apiversion_rx=`echo "$APIVERSION" | escape_dots`
 
 $ACLOCAL --version --help >stdout || { cat stdout; Exit 1; }
diff --git a/tests/info.test b/tests/info.test
index 5c9529f..738ddfd 100755
--- a/tests/info.test
+++ b/tests/info.test
@@ -16,7 +16,7 @@
 
 # Test to make sure info files are distributed correctly.
 # FIXME: This test is probably obsoleted, or wrong.  The generated
-#        Makefile.in seems not to define any `INFOS' variable!
+#        Makefile.in seems not to define any 'INFOS' variable!
 
 . ./defs || Exit 1
 
diff --git a/tests/install-info-dir.test b/tests/install-info-dir.test
index c05318d..d7a0e7f 100755
--- a/tests/install-info-dir.test
+++ b/tests/install-info-dir.test
@@ -14,12 +14,12 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Checks on the `install-info' target.
+# Checks on the 'install-info' target.
 # Details about the individual checks' purposes and motivations are
 # 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.test'.
 
 required=makeinfo
 . ./defs || Exit 1
@@ -42,8 +42,8 @@ cat > foo.texi << 'END'
 \input texinfo
 @setfilename foo.info
 @c All the following directives might be required to allow older
address@hidden versions of the `install-info' program (e.g., version 4.8) to
address@hidden create the `dir' index file in ${infodir}.  Don't remove them.
address@hidden versions of the 'install-info' program (e.g., version 4.8) to
address@hidden create the 'dir' index file in ${infodir}.  Don't remove them.
 @settitle foo
 @dircategory Dummy utilities
 @direntry
@@ -72,8 +72,8 @@ else
   have_installinfo=no
 fi
 
-# The `install-info' target updates the `${infodir}/dir' file
-# by default (if the `install-info' program is available).
+# The 'install-info' target updates the '${infodir}/dir' file
+# by default (if the 'install-info' program is available).
 # This should happen in a normal as well as in a DESTDIR installation.
 if test $have_installinfo = yes; then
   $MAKE install-info
@@ -86,7 +86,7 @@ fi
 
 rm -rf $instdir $destdir
 
-# The `install-info' target doesn't fail if the `install-info'
+# The 'install-info' target doesn't fail if the 'install-info'
 # program is not available.
 cat > bin/install-info <<'END'
 #!/bin/sh
@@ -103,7 +103,7 @@ grep 'error from install-info' output && Exit 1
 rm -rf $instdir output
 
 if test $have_installinfo = yes; then
-  # The `install-info' target doesn't try to guess whether the `install-info'
+  # The 'install-info' target doesn't try to guess whether the 'install-info'
   # is the GNU or debian version.
   unindent > bin/install-info <<'END'
     #!/bin/sh
@@ -123,8 +123,8 @@ fi
 
 rm -rf $instdir bin/install-info
 
-# The `AM_UPDATE_INFO_DIR' environment variable can be used to
-# prevent the creation or update of the `${infodir}/dir' file,
+# The 'AM_UPDATE_INFO_DIR' environment variable can be used to
+# prevent the creation or update of the '${infodir}/dir' file,
 # if set to a "no" value.
 for val in no NO n; do
   rm -rf $instdir
diff --git a/tests/install2.test b/tests/install2.test
index 10ab856..f1992e8 100755
--- a/tests/install2.test
+++ b/tests/install2.test
@@ -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 for bug in `make dist'
+# Test for bug in 'make dist'
 # From Pavel Roskin.
 
 . ./defs || Exit 1
@@ -42,7 +42,7 @@ test ! -r Makefile.am || skip_ "cannot drop file read 
permissions"
 
 ./configure
 
-# `dist' should fail because we can't copy Makefile.am.
+# 'dist' should fail because we can't copy Makefile.am.
 if $MAKE dist; then
   Exit 1
 else
diff --git a/tests/installdir.test b/tests/installdir.test
index f632be6..c5a3824 100755
--- a/tests/installdir.test
+++ b/tests/installdir.test
@@ -16,7 +16,7 @@
 
 # Test for PR 203.
 # == Report ==
-# Some standard targets are missing `-local' hooks.  For instance,
+# Some standard targets are missing '-local' hooks.  For instance,
 # installdirs is missing this.  Ideally this would be an automatic
 # feature of any exported target.
 
diff --git a/tests/insthook.test b/tests/insthook.test
index 2423a2f..0feba5c 100755
--- a/tests/insthook.test
+++ b/tests/insthook.test
@@ -52,9 +52,9 @@ $MAKE distcheck
 test -f ok
 
 # Make sure that installing a second version doesn't erase the first
-# one.  (This is error prone since `foo' symlinks to `foo-1.0' and the
-# second version will overwrite `foo'.  Hopefully `install' and `install-sh'
-# are smart enough to erase the `foo' symlink before installing the new
+# one.  (This is error prone since 'foo' symlinks to 'foo-1.0' and the
+# second version will overwrite 'foo'.  Hopefully 'install' and 'install-sh'
+# are smart enough to erase the 'foo' symlink before installing the new
 # version.)
 ./configure "--bindir=`pwd`/bin"
 $MAKE install
diff --git a/tests/instmany-mans.test b/tests/instmany-mans.test
index 903f35a..8d1b5d3 100755
--- a/tests/instmany-mans.test
+++ b/tests/instmany-mans.test
@@ -122,7 +122,7 @@ srcdir=../../$subdir
 # Ensure 'make install' fails when 'install' fails.
 
 # We cheat here, for efficiency, knowing the internal rule names.
-# For correctness, one should `$MAKE install' here always, or at
+# For correctness, one should '$MAKE install' here always, or at
 # least use install-exec or install-data.
 
 for file in page3.1 page$nfiles.1 npage3.1 npage$nfiles.1; do
diff --git a/tests/instmany.test b/tests/instmany.test
index a2b5d94..668128c 100755
--- a/tests/instmany.test
+++ b/tests/instmany.test
@@ -15,9 +15,9 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Installing many files should not exceed the command line length limit.
-# Here, the main issue is that we may prepend `$(srcdir)/' to each file,
+# Here, the main issue is that we may prepend '$(srcdir)/' to each file,
 # which may cause much longer command lines.  The list of files must
-# anyway remain below the limit, otherwise `make' won't be able to even
+# anyway remain below the limit, otherwise 'make' won't be able to even
 # fork the command.
 #
 # Further, the install rule should honor failures of the install program.
@@ -136,7 +136,7 @@ srcdir=../../$subdir
 # Ensure 'make install' fails when 'install' fails.
 
 # We cheat here, for efficiency, knowing the internal rule names.
-# For correctness, one should `$MAKE install' here always, or at
+# For correctness, one should '$MAKE install' here always, or at
 # least use install-exec or install-data.
 
 for file in script3 script$nfiles
diff --git a/tests/instsh.test b/tests/instsh.test
index 38bbacc..1fd1b3b 100755
--- a/tests/instsh.test
+++ b/tests/instsh.test
@@ -32,7 +32,7 @@ cd frob
 $ACLOCAL
 $AUTOMAKE --add-missing > output 2>&1
 
-# Only one `/' should appear in the output.
+# Only one '/' should appear in the output.
 cat output
 grep '/.*/' output && Exit 1
 
diff --git a/tests/instsh2.test b/tests/instsh2.test
index 56b7003..054beb9 100755
--- a/tests/instsh2.test
+++ b/tests/instsh2.test
@@ -86,7 +86,7 @@ mkdir 'x  y'
 test -f x\ \ y/a\ \ b
 test -f 'a  b'
 
-# Ensure we do not run into `test' operator precedence bugs with Tru64 sh.
+# Ensure we do not run into 'test' operator precedence bugs with Tru64 sh.
 for c in = '(' ')' '!'; do
   ./install-sh $c 2>stderr && { cat stderr >&2; Exit 1; }
   cat stderr >&2
diff --git a/tests/java-compile-install.test b/tests/java-compile-install.test
index eb120a3..f3340ff 100755
--- a/tests/java-compile-install.test
+++ b/tests/java-compile-install.test
@@ -39,7 +39,7 @@ Foo2.java:
        echo 'class bClass {}' > address@hidden
        chmod a-w address@hidden && mv -f address@hidden $@
 
-# Explicitly declared as `nodist_', so generate it.
+# Explicitly declared as 'nodist_', so generate it.
 Baz.java:
        rm -f $@ address@hidden
        echo 'class Baz {}' > address@hidden
diff --git a/tests/java-compile-run-flat.test b/tests/java-compile-run-flat.test
index c0f1c2c..904e523 100755
--- a/tests/java-compile-run-flat.test
+++ b/tests/java-compile-run-flat.test
@@ -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.test' do
 # similar checks with a more usual, "nested" setup, and using the newer
 # 'parallel-tests' driver.
 
@@ -149,7 +149,7 @@ END
 ## TESTS ##
 
 cat >> Makefile.am <<'END'
-## We must use `TESTS_ENVIRONMENT', not `AM_TESTS_ENVIRONMENT',
+## We must use 'TESTS_ENVIRONMENT', not 'AM_TESTS_ENVIRONMENT',
 ## because the latter is not hnoured by the old serial test
 ## harness.
 TESTS_ENVIRONMENT = \
diff --git a/tests/java-compile-run-nested.test 
b/tests/java-compile-run-nested.test
index 9039b74..bf0a918 100755
--- a/tests/java-compile-run-nested.test
+++ b/tests/java-compile-run-nested.test
@@ -20,7 +20,7 @@
 # This test uses a typical "nested" source tree setup (i.e., different
 # components/aspects are separated into different subdirectories),
 # and uses the 'parallel-tests' testsuite driver.  The sister test
-# `java-compile-run-flat.test' do similar checks with a "flat" setup
+# '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 non-parallel 'simple-tests' driver.
 
diff --git a/tests/java-mix.test b/tests/java-mix.test
index 7f2d929..6ec9185 100755
--- a/tests/java-mix.test
+++ b/tests/java-mix.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that the JAVA primary can be used freely in the same Makefile.am
-# with proper combinations of the `dist_', `nodist_' and `nobase_'
-# modifiers.  Also check that `.java' files are not distributed by
+# with proper combinations of the 'dist_', 'nodist_' and 'nobase_'
+# modifiers.  Also check that '.java' files are not distributed by
 # default.
 
 . ./defs || Exit 1
diff --git a/tests/java-nobase.test b/tests/java-nobase.test
index 168ace3..ff72a13 100755
--- a/tests/java-nobase.test
+++ b/tests/java-nobase.test
@@ -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 support of `nobase_' with the `JAVA' primary.
+# Test support of 'nobase_' with the 'JAVA' primary.
 
 required=javac
 . ./defs || Exit 1
diff --git a/tests/java-rebuild.test b/tests/java-rebuild.test
index 37ead3a..7672943 100755
--- a/tests/java-rebuild.test
+++ b/tests/java-rebuild.test
@@ -80,7 +80,7 @@ for vpath in : false; do
   # When only a java file is modified, only the *.class files derived from
   # it should be updated.
   # The strings we loop on here have the following format:
-  # ``JAVA-FILES-TO-BE-TOUCHED -- CLASSES-THAT-SHOULD-BE-UPDATED''
+  # "JAVA-FILES-TO-BE-TOUCHED -- CLASSES-THAT-SHOULD-BE-UPDATED"
   for args in \
     'a -- _x' \
     'd -- x_' \
diff --git a/tests/java-sources.test b/tests/java-sources.test
index a3cbb17..2de9683 100755
--- a/tests/java-sources.test
+++ b/tests/java-sources.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test definition of automake-generated private Makefile variable
-# `$(am__java_sources)'.
+# '$(am__java_sources)'.
 
 . ./defs || Exit 1
 
diff --git a/tests/java-uninstall.test b/tests/java-uninstall.test
index 97cc4ab..fb6bfa1 100755
--- a/tests/java-uninstall.test
+++ b/tests/java-uninstall.test
@@ -39,7 +39,7 @@ Foo2.java:
        echo 'class bClass {}' > address@hidden
        chmod a-w address@hidden && mv -f address@hidden $@
 
-# Explicitly declared as `nodist_', so generate it.
+# Explicitly declared as 'nodist_', so generate it.
 Baz.java:
        rm -f $@ address@hidden
        echo 'class Baz {}' > address@hidden
@@ -69,7 +69,6 @@ check_uninstallation()
   test   -f $javadir/Foo.class
   test   -f $javadir/Bar.class
   test   -f $javadir/xClass.class
-  test   -f $javadir/aclass.class
 }
 
 $MAKE
@@ -78,7 +77,6 @@ $MAKE install
 : > $javadir/Foo.class
 : > $javadir/Bar.class
 : > $javadir/xClass.class
-: > $javadir/aclass.class
 ls -l $javadir
 $MAKE uninstall
 ls -l $javadir
diff --git a/tests/javadir-undefined.test b/tests/javadir-undefined.test
index d3ca2a4..e2ed7f6 100755
--- a/tests/javadir-undefined.test
+++ b/tests/javadir-undefined.test
@@ -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/>.
 
-# Use of JAVA primary should not allow the use of the `java_' prefix
+# Use of JAVA primary should not allow the use of the 'java_' prefix
 # when $(javadir) is undefined.  Otherwise, we could silently end up
 # with a broken Makefile.in (where "make install" doesn't install
 # the *.class files).
diff --git a/tests/ldadd.test b/tests/ldadd.test
index a0bd021..8e16fb3 100755
--- a/tests/ldadd.test
+++ b/tests/ldadd.test
@@ -41,5 +41,6 @@ END
 $ACLOCAL || Exit 1
 AUTOMAKE_fails -Wno-extra-portability
 grep "libtu_la_LDADD" stderr
-grep " use [\`"']libtu_la_LIBADD' stderr
-Exit 0
+grep " use 'libtu_la_LIBADD'" stderr
+
+:
diff --git a/tests/lex-clean-cxx.test b/tests/lex-clean-cxx.test
index 81b4169..b29bd40 100755
--- a/tests/lex-clean-cxx.test
+++ b/tests/lex-clean-cxx.test
@@ -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 `lex-clean.test'.
+# See also sister test 'lex-clean.test'.
 
 required=lex
 . ./defs || Exit 1
@@ -55,6 +55,10 @@ LDADD = $(LEXLIB)
 END
 
 cat > parsefoo.lxx << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
+%option never-interactive
 %%
 "GOOD"   return EOF;
 .
diff --git a/tests/lex-clean.test b/tests/lex-clean.test
index 4dccc92..6988f92 100755
--- a/tests/lex-clean.test
+++ b/tests/lex-clean.test
@@ -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.test'.
 
 required=yacc
 . ./defs || Exit 1
@@ -54,6 +54,9 @@ LDADD = $(LEXLIB)
 END
 
 cat > lexer.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "GOOD"   return EOF;
 .
diff --git a/tests/lex-depend-cxx.test b/tests/lex-depend-cxx.test
index e1560ee..2686a5e 100755
--- a/tests/lex-depend-cxx.test
+++ b/tests/lex-depend-cxx.test
@@ -48,6 +48,10 @@ test-obj-updated: joe.$(OBJEXT) moe.$(OBJEXT)
 END
 
 cat > joe.ll << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
+%option never-interactive
 %%
 "foo" return EOF;
 .
diff --git a/tests/lex-depend-grep.test b/tests/lex-depend-grep.test
index 863df13..0fe32ed 100755
--- a/tests/lex-depend-grep.test
+++ b/tests/lex-depend-grep.test
@@ -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.test' and 'lex-depend-cxx.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/lex-depend.test b/tests/lex-depend.test
index 17f66e9..2982845 100755
--- a/tests/lex-depend.test
+++ b/tests/lex-depend.test
@@ -45,6 +45,9 @@ test-obj-updated: joe.$(OBJEXT)
 END
 
 cat > joe.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "foo" return EOF;
 .
diff --git a/tests/lex-lib-external.test b/tests/lex-lib-external.test
index 56e39ec..e9b848a 100755
--- a/tests/lex-lib-external.test
+++ b/tests/lex-lib-external.test
@@ -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/>.
 
-# Check that we can get use the `yywrap' function from a system-wide
+# Check that we can get use the 'yywrap' function from a system-wide
 # library, if that's available.
 
 required='cc lex'
@@ -42,6 +42,9 @@ have-lexlib:
 END
 
 cat > foo.l <<'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "GOOD"   return EOF;
 .
diff --git a/tests/lex-lib.test b/tests/lex-lib.test
index f84fc34..0320f75 100755
--- a/tests/lex-lib.test
+++ b/tests/lex-lib.test
@@ -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 we can provide a personal `yywrap' function in a custom
+# 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.test'.
 
 required='cc lex'
 . ./defs || Exit 1
@@ -47,6 +47,9 @@ int yywrap (void)
 END
 
 cat > foo.l <<'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END" return EOF;
 .
diff --git a/tests/lex-libobj.test b/tests/lex-libobj.test
index d342d0b..930bb92 100755
--- a/tests/lex-libobj.test
+++ b/tests/lex-libobj.test
@@ -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/>.
 
-# Check that we can provide a personal `yywrap' function through the
+# Check that we can provide a personal 'yywrap' function through the
 # LIBOBJ machinery.
 
 required='cc lex'
@@ -45,6 +45,9 @@ int yywrap (void)
 END
 
 cat > foo.l <<'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END" return EOF;
 .
diff --git a/tests/lex-line.test b/tests/lex-line.test
index 008328d..5888c51 100755
--- a/tests/lex-line.test
+++ b/tests/lex-line.test
@@ -16,8 +16,8 @@
 
 # Check that automake lex support ensures that lex-generated C
 # files use correct "#line" directives.  Try also with the
-# `subdir-object' option enabled.
-# See also sister test `yacc-line.test'.
+# 'subdir-object' option enabled.
+# See also sister test 'yacc-line.test'.
 
 required=lex
 . ./defs || Exit 1
@@ -60,6 +60,9 @@ dir/address@hidden@: dir/quux.c
 END
 
 cat > zardoz.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END"  return EOF;
 .
@@ -108,7 +111,7 @@ for vpath in : false; do
   # Adjusted "#line" should not contain reference to the builddir.
   $EGREP '#.*line.*(build|\.\.).*\.l' $c_outputs && Exit 1
   # Adjusted "#line" should not contain reference to the default
-  # output file names, e.g., `lex.yy.c'.
+  # output file names, e.g., 'lex.yy.c'.
   $EGREP '#.*line.*lex\.yy' $c_outputs && Exit 1
   # Don't be excessively strict in grepping, to avoid spurious failures.
   grep '#.*line.*zardoz\.l' zardoz.c
diff --git a/tests/lex-nodist.test b/tests/lex-nodist.test
index 4dbb719..70cd2f7 100755
--- a/tests/lex-nodist.test
+++ b/tests/lex-nodist.test
@@ -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 `lex-pr204.test' does similar check with AM_MAINTAINER_MODE
+# The test 'lex-pr204.test' does similar check with AM_MAINTAINER_MODE
 # enabled.
 # The tests 'yacc-nodist.test' and 'yacc-pr204.test' does similar checks
 # for yacc-generated .c and .h files.
@@ -47,6 +47,9 @@ check-local: test-build test-dist
 lexer.l:
        rm -f $@ address@hidden
        :; { : \
+         && echo '%{' \
+         && echo '#define YY_NO_UNISTD_H 1' \
+         && echo '%}' \
          && echo '%%' \
          && echo '"GOOD" return EOF;' \
          && echo '.'; \
diff --git a/tests/lex-noyywrap.test b/tests/lex-noyywrap.test
index bc95d78..52d872d 100755
--- a/tests/lex-noyywrap.test
+++ b/tests/lex-noyywrap.test
@@ -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/>.
 
-# Check Lex support with flex using the `%noyywrap' option.
+# Check Lex support with flex using the '%noyywrap' option.
 
 required='cc flex'
 . ./defs || Exit 1
@@ -37,6 +37,9 @@ END
 
 cat > foo.l << 'END'
 %option noyywrap
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "GOOD"   return EOF;
 .
diff --git a/tests/lex-pr204.test b/tests/lex-pr204.test
index 4c05cc6..07b5644 100755
--- a/tests/lex-pr204.test
+++ b/tests/lex-pr204.test
@@ -16,7 +16,7 @@
 
 # Related to PR 204.
 # C sources derived from nodist_ lex sources should not be distributed.
-# See also related test `lex-nodist.test'.
+# See also related test 'lex-nodist.test'.
 # The tests 'yacc-nodist.test' and 'yacc-pr204.test' does similar checks
 # for yacc-generated .c and .h files.
 
@@ -51,6 +51,9 @@ distdirtest: distdir
 EOF
 
 cat > lexer.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "GOOD"   return EOF;
 .
diff --git a/tests/lex-subobj-nodep.test b/tests/lex-subobj-nodep.test
index 8bfc153..44c9776 100755
--- a/tests/lex-subobj-nodep.test
+++ b/tests/lex-subobj-nodep.test
@@ -38,6 +38,9 @@ END
 mkdir sub1 sub2
 
 cat >sub1/s1.l <<\END
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END"   return EOF;
 .
diff --git a/tests/lex3.test b/tests/lex3.test
index a795bbd..1b672d2 100755
--- a/tests/lex3.test
+++ b/tests/lex3.test
@@ -33,6 +33,9 @@ foo_SOURCES = foo.l
 END
 
 cat > foo.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "GOOD"   return EOF;
 .
@@ -69,7 +72,7 @@ if cross_compiling; then :; else
   : For shells with busted 'set -e'.
 fi
 
-# The generated file `foo.c' must be shipped.
+# The generated file 'foo.c' must be shipped.
 $MAKE distdir
 test -f $distdir/foo.c
 
@@ -81,7 +84,7 @@ $MAKE distcheck
 test -f foo.c
 $MAKE distclean
 test -f foo.c
-./configure # Re-create `Makefile'.
+./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
 test ! -f foo.c
 
diff --git a/tests/lex5.test b/tests/lex5.test
index a55afb6..624ad2a 100755
--- a/tests/lex5.test
+++ b/tests/lex5.test
@@ -37,6 +37,9 @@ END
 mkdir foo
 
 cat > foo/foo.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END"   return EOF;
 .
diff --git a/tests/lexvpath.test b/tests/lexvpath.test
index 70bff55..c731692 100755
--- a/tests/lexvpath.test
+++ b/tests/lexvpath.test
@@ -15,12 +15,12 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test checks that dependent files are updated before including
-# in the distribution.  `lexer.c' depends on `lexer.l'.  The latter is
-# updated so that `lexer.c' should be rebuild.  Then we are running
-# `make' and `make distdir' and check whether the version of `lexer.c'
+# in the distribution.  'lexer.c' depends on 'lexer.l'.  The latter is
+# updated so that 'lexer.c' should be rebuild.  Then we are running
+# '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.test'.
 
 required='cc lex'
 . ./defs || Exit 1
@@ -44,6 +44,9 @@ END
 
 # Original lexer, with a "foobar" comment
 cat > lexer.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END" return EOF;
 .
@@ -84,8 +87,11 @@ cd sub
 # Ensure that lexer.l will be newer than lexer.c.
 $sleep
 
-# New lexer, with `fubar' comment.
+# New lexer, with 'fubar' comment.
 cat > ../lexer.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END" return EOF;
 .
@@ -98,14 +104,17 @@ $MAKE distdir
 $FGREP '/*fubar*/' $distdir/lexer.c
 
 #
-# Now check to make sure that `make dist' will rebuilt the parser.
+# Now check to make sure that 'make dist' will rebuilt the parser.
 #
 
 # Ensure that lexer.l will be newer than lexer.c.
 $sleep
 
-# New lexer, with `maude' comment.
+# New lexer, with 'maude' comment.
 cat > ../lexer.l << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END" return EOF;
 .
diff --git a/tests/libobj-basic.test b/tests/libobj-basic.test
index f8394d6..1165f1e 100755
--- a/tests/libobj-basic.test
+++ b/tests/libobj-basic.test
@@ -78,7 +78,7 @@ cat > extra-checks.am << 'END'
 extra_checks = maude-src maude-dist liver-not-dist
 END
 
-cp "$am_scriptdir/ar-lib" . || fatal_ "fetching auxiliary script \`ar-lib'"
+cp "$am_scriptdir/ar-lib" . || fatal_ "fetching auxiliary script 'ar-lib'"
 
 $ACLOCAL
 $AUTOCONF
diff --git a/tests/libobj10.test b/tests/libobj10.test
index a566b09..f19de74 100755
--- a/tests/libobj10.test
+++ b/tests/libobj10.test
@@ -36,6 +36,9 @@ BUILT_SOURCES = foo.c
 CLEANFILES = foo.c
 foo.c:
        echo 'extern int dummy;' > $@
+.PHONY: debugging
+debugging:
+       $(AR) t libfoo.a
 END
 
 cp "$am_scriptdir/ar-lib" . || fatal_ "fetching auxiliary script 'ar-lib'"
@@ -47,7 +50,7 @@ $AUTOMAKE
 ./configure
 
 $MAKE
-ar t libfoo.a # For debugging.
+$MAKE debugging
 $MAKE distcheck
 
 :
diff --git a/tests/libobj12.test b/tests/libobj12.test
index 2a65a63..c3c0057 100755
--- a/tests/libobj12.test
+++ b/tests/libobj12.test
@@ -59,7 +59,7 @@ AUTOMAKE_fails
 grep 'foo\.c.*explicitly mentioned' stderr
 grep 'bar\.c.*explicitly mentioned' stderr
 
-# Global `LDADD' can also come into play.
+# Global 'LDADD' can also come into play.
 cat > Makefile.am << 'END'
 noinst_PROGRAMS = a b
 LDADD = @LIBOBJS@
diff --git a/tests/libobj15c.test b/tests/libobj15c.test
index 9719213..8fe521d 100755
--- a/tests/libobj15c.test
+++ b/tests/libobj15c.test
@@ -33,7 +33,7 @@ libtu_a_SOURCES =
 libtu_a_LIBADD = $(LIBOBJS)
 END
 
-# Don't trip on errors due to missing `AM_PROG_AR'.
+# Don't trip on errors due to missing 'AM_PROG_AR'.
 AUTOMAKE="$AUTOMAKE -Wno-extra-portability"
 
 $ACLOCAL
diff --git a/tests/libobj16a.test b/tests/libobj16a.test
index 1e78195..2e1da26 100755
--- a/tests/libobj16a.test
+++ b/tests/libobj16a.test
@@ -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.test'.
 
 required=cc
 . ./defs || Exit 1
diff --git a/tests/libobj16b.test b/tests/libobj16b.test
index a607ce9..110ba19 100755
--- a/tests/libobj16b.test
+++ b/tests/libobj16b.test
@@ -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.test'.
 
 required=cc
 . ./defs || Exit 1
@@ -23,6 +23,7 @@ required=cc
 mv configure.ac configure.proto
 cat >> configure.proto << 'END'
 AC_PROG_CC
+AM_PROG_AR
 AC_PROG_RANLIB
 %LIBOBJ-STUFF% # Will be activated later.
 AC_OUTPUT
@@ -85,7 +86,7 @@ END
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE --add-missing
 
 ./configure
 
@@ -122,7 +123,7 @@ cat configure.ac # For debugging.
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE
 
 ./configure MAUDE=yes
 $MAKE
diff --git a/tests/libobj17.test b/tests/libobj17.test
index 0ced8d9..6c54a28 100755
--- a/tests/libobj17.test
+++ b/tests/libobj17.test
@@ -33,6 +33,13 @@ cat > Makefile.am << 'END'
 noinst_LIBRARIES = libtu.a
 libtu_a_SOURCES =
 libtu_a_LIBADD = $(LIBOBJS)
+.PHONY: check-quux check-zardoz
+check-quux:
+       $(AR) t libtu.a | grep quux
+       $(AR) t libtu.a | grep zardoz && exit 1; exit 0
+check-zardoz:
+       $(AR) t libtu.a | grep zardoz
+       $(AR) t libtu.a | grep quux && exit 1; exit 0
 END
 
 cat > quux.c <<'END'
@@ -52,8 +59,7 @@ $AUTOCONF
 $MAKE
 ls -l # For debugging.
 test -f libtu.a
-ar t libtu.a | $FGREP quux
-ar t libtu.a | $FGREP zardoz && Exit 1
+$MAKE check-quux
 
 $MAKE distclean
 
@@ -61,7 +67,6 @@ $MAKE distclean
 $MAKE
 ls -l # For debugging.
 test -f libtu.a
-ar t libtu.a | $FGREP zardoz
-ar t libtu.a | $FGREP quux && Exit 1
+$MAKE check-zardoz
 
 :
diff --git a/tests/libobj20a.test b/tests/libobj20a.test
index 6496978..d56be31 100755
--- a/tests/libobj20a.test
+++ b/tests/libobj20a.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test error reporting for AC_CONFIG_LIBOBJ_DIR.
-# See also sister tests `libobj20b.test' and `libobj20c.test' .
+# See also sister tests 'libobj20b.test' and 'libobj20c.test' .
 
 . ./defs || Exit 1
 
diff --git a/tests/libobj20b.test b/tests/libobj20b.test
index ec9193e..f8ca600 100755
--- a/tests/libobj20b.test
+++ b/tests/libobj20b.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test error reporting for AC_CONFIG_LIBOBJ_DIR.
-# See also sister tests `libobj20a.test' and `libobj20c.test' .
+# See also sister tests 'libobj20a.test' and 'libobj20c.test' .
 
 . ./defs || Exit 1
 
diff --git a/tests/libobj20c.test b/tests/libobj20c.test
index 2aedbd0..7ae51bf 100755
--- a/tests/libobj20c.test
+++ b/tests/libobj20c.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test error reporting for AC_CONFIG_LIBOBJ_DIR.
-# See also sister tests `libobj20a.test' and `libobj20b.test' .
+# See also sister tests 'libobj20a.test' and 'libobj20b.test' .
 
 . ./defs || Exit 1
 
@@ -35,7 +35,7 @@ END
 
 $ACLOCAL
 
-# Don't trip on errors due to missing `AM_PROG_AR'.
+# Don't trip on errors due to missing 'AM_PROG_AR'.
 AUTOMAKE="$AUTOMAKE -Wno-extra-portability"
 
 AUTOMAKE_fails
diff --git a/tests/libobj7.test b/tests/libobj7.test
index 56fb16e..46f0f98 100755
--- a/tests/libobj7.test
+++ b/tests/libobj7.test
@@ -23,7 +23,7 @@ cat >> configure.ac << 'END'
 AC_PROG_CC
 AM_PROG_AR
 AC_PROG_RANLIB
-# `am__dummy_function' is there to ensure that at least one function is
+# 'am__dummy_function' is there to ensure that at least one function is
 # replaced, to avoid creating an empty archive which can cause problems
 # with e.g. Solaris ar.
 AC_REPLACE_FUNCS([basename dirname am__dummy_function])
diff --git a/tests/libtool-macros.test b/tests/libtool-macros.test
index 5d5b328..e5c77ac 100755
--- a/tests/libtool-macros.test
+++ b/tests/libtool-macros.test
@@ -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/>.
 
-# Try to find the libtool `.m4' files and make them easily accessed
+# Try to find the libtool '.m4' files and make them easily accessed
 # to the test cases requiring them.
 # See also automake bug#9807.
 
@@ -23,20 +23,20 @@
 echo "# Automatically generated by $me." > get.sh
 echo : >> get.sh
 
-# The `libtoolize' script will look into Makefile.am.
+# The 'libtoolize' script will look into Makefile.am.
 echo ACLOCAL_AMFLAGS = -I m4 > Makefile.am
 
 if libtoolize --copy --install && test -f m4/libtool.m4; then
   echo "ACLOCAL_PATH='`pwd`/m4':\$ACLOCAL_PATH" >> get.sh
   echo "export ACLOCAL_PATH" >> get.sh
 else
-  # Libtoolize from libtool < 2.0 didn't support the `--install' option,
+  # Libtoolize from libtool < 2.0 didn't support the '--install' option,
   # but this doesn't mean the user hasn't made the libtool macros
   # available, e.g., by properly setting ACLOCAL_PATH.
   rm -rf m4
   mkdir m4
   echo AC_PROG_LIBTOOL >> configure.ac
-  # See below for an explanation about the use the of `-Wno-syntax'.
+  # See below for an explanation about the use the of '-Wno-syntax'.
   if $ACLOCAL -Wno-syntax -I m4 --install && test -f m4/libtool.m4; then
     : # Libtool macros already accessible by default.
   else
@@ -47,12 +47,12 @@ fi
 . ./get.sh
 
 $ACLOCAL --force -I m4 || cat >> get.sh <<'END'
-# We need to use `-Wno-syntax', since we do not want our test suite
-# to fail merely because some third-party `.m4' file is underquoted.
+# We need to use '-Wno-syntax', since we do not want our test suite
+# to fail merely because some third-party '.m4' file is underquoted.
 ACLOCAL="$ACLOCAL -Wno-syntax"
 END
 
-# The file libtoolize might have just copied in the `m4' subdirectory of
+# The file libtoolize might have just copied in the 'm4' subdirectory of
 # the test directory are going to be needed by other tests, so we must
 # not remove the test directory.
 keep_testdirs=yes
diff --git a/tests/libtool3.test b/tests/libtool3.test
index 5ab3b08..dbcd519 100755
--- a/tests/libtool3.test
+++ b/tests/libtool3.test
@@ -65,9 +65,9 @@ a (void)
 }
 END
 
-# Use --copy to workaround a bug in Cygwin's `cp -p' during distcheck.
+# 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
-# `cp -p' tries to preserve group and owner of the source and fails
+# '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.
 
 libtoolize --force --copy
diff --git a/tests/libtool8.test b/tests/libtool8.test
index 352b878..9182c27 100755
--- a/tests/libtool8.test
+++ b/tests/libtool8.test
@@ -48,6 +48,6 @@ $ACLOCAL
 AUTOMAKE_fails --add-missing
 grep libb stderr && Exit 1
 grep 'Makefile.am:3:.*libc.la.*multiply defined' stderr
-grep 'Makefile.am:9:.*`pkglib' stderr
-grep 'Makefile.am:2:.*`lib' stderr
+grep "Makefile.am:9:.*'pkglib" stderr
+grep "Makefile.am:2:.*'lib" stderr
 grep 'Makefile.am:11:.*AM_LIBTOOLFLAGS' stderr
diff --git a/tests/license2.test b/tests/license2.test
index fab140a..d447eba 100755
--- a/tests/license2.test
+++ b/tests/license2.test
@@ -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/>.
 
-# Check that installing `COPYING' outputs a warning.
+# Check that installing 'COPYING' outputs a warning.
 
 . ./defs || Exit 1
 
diff --git a/tests/link_c_cxx.test b/tests/link_c_cxx.test
index cd1715e..a3dac1b 100755
--- a/tests/link_c_cxx.test
+++ b/tests/link_c_cxx.test
@@ -32,7 +32,7 @@ END
 $ACLOCAL
 $AUTOMAKE
 
-# We should only see the C++ linker in the rules of `Makefile.in'.
+# We should only see the C++ linker in the rules of 'Makefile.in'.
 
 # Look for this macro not at the beginning of any line; that will have
 # to be good enough for now.
diff --git a/tests/link_dist.test b/tests/link_dist.test
index 3e49caf..8ba05df 100755
--- a/tests/link_dist.test
+++ b/tests/link_dist.test
@@ -34,7 +34,7 @@ END
 $ACLOCAL
 $AUTOMAKE
 
-# We should only see the C++ linker in the rules of `Makefile.in'.
+# We should only see the C++ linker in the rules of 'Makefile.in'.
 
 # Look for this macro not at the beginning of any line; that will have
 # to be good enough for now.
diff --git a/tests/link_f90_only.test b/tests/link_f90_only.test
index ab19d13..a34d6c6 100755
--- a/tests/link_f90_only.test
+++ b/tests/link_f90_only.test
@@ -31,7 +31,7 @@ END
 $ACLOCAL
 $AUTOMAKE
 
-# We should only see the Fortran linker in the rules of `Makefile.in'.
+# We should only see the Fortran linker in the rules of 'Makefile.in'.
 
 # Look for this macro not at the beginning of any line; that will have
 # to be good enough for now.
diff --git a/tests/link_f_only.test b/tests/link_f_only.test
index 75126e3..25f3ef9 100755
--- a/tests/link_f_only.test
+++ b/tests/link_f_only.test
@@ -31,7 +31,7 @@ END
 $ACLOCAL
 $AUTOMAKE
 
-# We should only see the Fortran linker in the rules of `Makefile.in'.
+# We should only see the Fortran linker in the rules of 'Makefile.in'.
 
 # Look for this macro not at the beginning of any line; that will have
 # to be good enough for now.
diff --git a/tests/link_fc.test b/tests/link_fc.test
index dafff60..6cf8b8b 100755
--- a/tests/link_fc.test
+++ b/tests/link_fc.test
@@ -33,7 +33,7 @@ $ACLOCAL
 $AUTOMAKE
 
 # We should only see the Fortran 77 linker in the rules of
-# `Makefile.in'.
+# 'Makefile.in'.
 
 # Look for this macro not at the beginning of any line; that will have
 # to be good enough for now.
diff --git a/tests/link_fccxx.test b/tests/link_fccxx.test
index b1236d4..ede7b5a 100755
--- a/tests/link_fccxx.test
+++ b/tests/link_fccxx.test
@@ -33,7 +33,7 @@ END
 $ACLOCAL
 $AUTOMAKE
 
-# We should only see the C++ linker in the rules of `Makefile.in'.
+# We should only see the C++ linker in the rules of 'Makefile.in'.
 
 # Look for this macro not at the beginning of any line; that will have
 # to be good enough for now.
diff --git a/tests/link_fcxx.test b/tests/link_fcxx.test
index 854c7d4..545f6a6 100755
--- a/tests/link_fcxx.test
+++ b/tests/link_fcxx.test
@@ -32,7 +32,7 @@ END
 $ACLOCAL
 $AUTOMAKE
 
-# We should only see the C++ linker in the rules of `Makefile.in'.
+# We should only see the C++ linker in the rules of 'Makefile.in'.
 
 # Look for this macro not at the beginning of any line; that will have
 # to be good enough for now.
diff --git a/tests/lispdry.test b/tests/lispdry.test
index b5c0f26..a89ffe1 100755
--- a/tests/lispdry.test
+++ b/tests/lispdry.test
@@ -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/>.
 
-# Check that `make -n' works with the lisp_LISP recover rule.
+# Check that 'make -n' works with the lisp_LISP recover rule.
 
 required='emacs non-root'
 . ./defs || Exit 1
diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk
index 4fa2640..594d02d 100644
--- a/tests/list-of-tests.mk
+++ b/tests/list-of-tests.mk
@@ -355,6 +355,7 @@ distcom4.test \
 distcom5.test \
 distcom-subdir.test \
 distdir.test \
+disthook.test \
 distlinks.test \
 distlinksbrk.test \
 distname.test \
@@ -363,6 +364,7 @@ distcheck-configure-flags-am.test \
 distcheck-configure-flags-subpkg.test \
 distcheck-hook.test \
 distcheck-hook2.test \
+distcheck-writable-srcdir.test \
 distcheck-missing-m4.test \
 distcheck-outdated-m4.test \
 distcheck-override-infodir.test \
@@ -914,6 +916,7 @@ silentcxx.test \
 silentcxx-gcc.test \
 silentf77.test \
 silentf90.test \
+silent-amopts.test \
 silent-many-gcc.test \
 silent-many-generic.test \
 silent-configsite.test \
@@ -938,6 +941,7 @@ spell3.test \
 spelling.test \
 spy.test \
 spy-vpath-rewrite.test \
+spy-rm.tap \
 stdinc.test \
 stamph2.test \
 stdlib.test \
@@ -1130,6 +1134,7 @@ txinfo33.test \
 txinfo-unrecognized-extension.test \
 transform.test \
 transform2.test \
+transform3.test \
 uninstall-fail.test \
 uninstall-pr9578.test \
 unused.test \
@@ -1144,6 +1149,7 @@ vala4.test \
 vala5.test \
 vala-vpath.test \
 vala-mix.test \
+vala-mix2.test \
 vars.test \
 vars-assign.test \
 vartar.test \
diff --git a/tests/location.test b/tests/location.test
index e2d44da..e496ca6 100755
--- a/tests/location.test
+++ b/tests/location.test
@@ -61,23 +61,23 @@ smash_useless_diffs stderr >observed
 
 cat >expected <<\EOF
 Makefile.am:12: warning: VAR multiply defined in condition TRUE ...
-Makefile.am:8: ... `VAR' previously defined here
+Makefile.am:8: ... 'VAR' previously defined here
 automake: error: libfoo_a_OBJECTS should not be defined
-Makefile.am:3:   while processing library `libfoo.a'
-automake: error: use `libfoo_a_LDADD', not `libfoo_a_LIBADD'
-Makefile.am:3:   while processing library `libfoo.a'
-library.am: warning: deprecated feature: target `libfoo.a' overrides 
`libfoo.a$(EXEEXT)'
-library.am: change your target to read `libfoo.a$(EXEEXT)'
-Makefile.am:3:   while processing library `libfoo.a'
-program.am: target `libfoo.a$(EXEEXT)' was defined here
-Makefile.am:1:   while processing program `libfoo.a'
-program.am: warning: redefinition of `libfoo.a$(EXEEXT)' ...
-Makefile.am:1:   while processing program `libfoo.a'
-library.am: ... `libfoo.a' previously defined here
-Makefile.am:3:   while processing library `libfoo.a'
-tags.am: warning: redefinition of `ctags' ...
-program.am: ... `ctags$(EXEEXT)' previously defined here
-Makefile.am:6:   while processing program `ctags'
+Makefile.am:3:   while processing library 'libfoo.a'
+automake: error: use 'libfoo_a_LDADD', not 'libfoo_a_LIBADD'
+Makefile.am:3:   while processing library 'libfoo.a'
+library.am: warning: deprecated feature: target 'libfoo.a' overrides 
'libfoo.a$(EXEEXT)'
+library.am: change your target to read 'libfoo.a$(EXEEXT)'
+Makefile.am:3:   while processing library 'libfoo.a'
+program.am: target 'libfoo.a$(EXEEXT)' was defined here
+Makefile.am:1:   while processing program 'libfoo.a'
+program.am: warning: redefinition of 'libfoo.a$(EXEEXT)' ...
+Makefile.am:1:   while processing program 'libfoo.a'
+library.am: ... 'libfoo.a' previously defined here
+Makefile.am:3:   while processing library 'libfoo.a'
+tags.am: warning: redefinition of 'ctags' ...
+program.am: ... 'ctags$(EXEEXT)' previously defined here
+Makefile.am:6:   while processing program 'ctags'
 EOF
 
 cat expected
diff --git a/tests/longlin2.test b/tests/longlin2.test
index b156b55..1ba8072 100755
--- a/tests/longlin2.test
+++ b/tests/longlin2.test
@@ -35,7 +35,7 @@ FOO = $files $files2 \
   grepme
 EOF
 
-# The `FOO = ...' line is 2293-byte long.  More than what a POSIX
+# The 'FOO = ...' line is 2293-byte long.  More than what a POSIX
 # conformant system is expected to support.  So do not use grep
 # on the non-text file.
 
diff --git a/tests/ltinstloc.test b/tests/ltinstloc.test
index 2879aa1..6906994 100755
--- a/tests/ltinstloc.test
+++ b/tests/ltinstloc.test
@@ -49,11 +49,11 @@ AUTOMAKE_fails --add-missing
 
 cat >expected <<'END'
 Makefile.am:5: error: sub/liba2.la multiply defined in condition COND
-Makefile.am:5: `sub/liba2.la' should be installed below `lib' in condition 
COND ...
-Makefile.am:2: ... and should also be installed in `lib' in condition COND.
+Makefile.am:5: 'sub/liba2.la' should be installed below 'lib' in condition 
COND ...
+Makefile.am:2: ... and should also be installed in 'lib' in condition COND.
 Makefile.am:4: error: liba1.la multiply defined in condition COND
-Makefile.am:4: `liba1.la' should be installed in `pkglib' in condition COND ...
-Makefile.am:2: ... and should also be installed in `lib' in condition COND.
+Makefile.am:4: 'liba1.la' should be installed in 'pkglib' in condition COND ...
+Makefile.am:2: ... and should also be installed in 'lib' in condition COND.
 Makefile.am:2: Libtool libraries can be built for only one destination
 END
 
diff --git a/tests/m4-inclusion.test b/tests/m4-inclusion.test
index 7285e28..52dae22 100755
--- a/tests/m4-inclusion.test
+++ b/tests/m4-inclusion.test
@@ -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 to see if `m4_sinclude' and `m4_include' works.
+# Test to see if 'm4_sinclude' and 'm4_include' works.
 
 . ./defs || Exit 1
 
diff --git a/tests/maintclean-vpath.test b/tests/maintclean-vpath.test
index f5f50ed..11e97a6 100755
--- a/tests/maintclean-vpath.test
+++ b/tests/maintclean-vpath.test
@@ -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.test'
 # for in-tree builds.
 
 . ./defs || Exit 1
diff --git a/tests/maintclean.test b/tests/maintclean.test
index 8bdc7d2..c5d3d0e 100755
--- a/tests/maintclean.test
+++ b/tests/maintclean.test
@@ -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.test'
 # for VPATH builds.
 
 . ./defs || Exit 1
diff --git a/tests/maintmode-configure-msg.test 
b/tests/maintmode-configure-msg.test
index ac13aff..8a7c451 100755
--- a/tests/maintmode-configure-msg.test
+++ b/tests/maintmode-configure-msg.test
@@ -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/>.
 
-# Make sure that our macro `AM_MAINTAINER_MODE' adds proper text to
+# Make sure that our macro 'AM_MAINTAINER_MODE' adds proper text to
 # the configure help screen.  Also make sure the "checking ..." messages
 # related to the enabling/disabling of maintainer mode are correct (see
 # automake bug#9890).
diff --git a/tests/makej.test b/tests/makej.test
index a282535..617b45f 100755
--- a/tests/makej.test
+++ b/tests/makej.test
@@ -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/>.
 
-# `make -j' used to fail with Autoconf < 2.58, because tools like
+# 'make -j' used to fail with Autoconf < 2.58, because tools like
 # autoconf and automake can try to update autom4te's cache in parallel.
 #
 # Note that failures might not be reproducible systematically as they
diff --git a/tests/makej2.test b/tests/makej2.test
index 746a2bd..8183887 100755
--- a/tests/makej2.test
+++ b/tests/makej2.test
@@ -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 to make sure known BSD `make -jN' issues are fixed:
+# Test to make sure known BSD 'make -jN' issues are fixed:
 # without -B, it may reuse the same shell for separate commands in a
 # rule, which can lead to interesting results.
 
diff --git a/tests/maken.test b/tests/maken.test
index 0b90f2b..5ff5b85 100755
--- a/tests/maken.test
+++ b/tests/maken.test
@@ -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/>.
 
-# Ensure that `make -n dist' and `make -n distcheck' do not change files
-# on disk, due to GNU make executing rules containing `$(MAKE)'.
-# Also, ensure that `make -n dist' and `make -n distcheck' show what
+# Ensure that "make -n dist" and "make -n distcheck" do not change files
+# on disk, due to GNU make executing rules containing '$(MAKE)'.
+# Also, ensure that "make -n dist" and "make -n distcheck" show what
 # would happen.
 
 . ./defs || Exit 1
diff --git a/tests/maken3.test b/tests/maken3.test
index 7228a83..f0d836f 100755
--- a/tests/maken3.test
+++ b/tests/maken3.test
@@ -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 `make -n' for various targets, to ensure that:
+# Test 'make -n' for various targets, to ensure that:
+#
 #  1. no files or directories are created or removed, and
 #  2. the output from make is sufficiently complete.
 #
diff --git a/tests/man.test b/tests/man.test
index 6bbd46f..d2e5dd6 100755
--- a/tests/man.test
+++ b/tests/man.test
@@ -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 to make sure `dist' prefix works with man pages.
+# Test to make sure 'dist' prefix works with man pages.
 
 . ./defs || Exit 1
 
diff --git a/tests/man4.test b/tests/man4.test
index 895e0c5..c7333b9 100755
--- a/tests/man4.test
+++ b/tests/man4.test
@@ -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/>.
 
-# Ensure `make dist' fails when help2man replacement man pages are created.
+# Ensure 'make dist' fails when help2man replacement man pages are created.
 #
 # The assumption here is the following: if the developer uses help2man to
 # generate man pages from --help output, then these man pages may not be
@@ -63,7 +63,7 @@ chmod +x foo bar
 mkdir bin
 cat > bin/help2man <<'END'
 #! /bin/sh
-# Fake help2man script that lets `missing' think it is not installed.
+# Fake help2man script that lets 'missing' think it is not installed.
 exit 127
 END
 chmod +x bin/help2man
diff --git a/tests/man6.test b/tests/man6.test
index 8d141c3..6c07d7a 100755
--- a/tests/man6.test
+++ b/tests/man6.test
@@ -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/>.
 
-# Ensure `make distcheck' passes when help2man generates man pages,
-# even if the `missing' script is involved.
+# Ensure 'make distcheck' passes when help2man generates man pages,
+# even if the 'missing' script is involved.
 
 required=help2man
 . ./defs || Exit 1
diff --git a/tests/missing5.test b/tests/missing5.test
index e17b267..80bba36 100755
--- a/tests/missing5.test
+++ b/tests/missing5.test
@@ -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 how well `missing' finds output file names of various tools.
+# Test how well 'missing' finds output file names of various tools.
 # PR automake/483.
 
 am_create_testdir=empty
@@ -22,7 +22,7 @@ am_create_testdir=empty
 
 get_shell_script missing
 
-# These programs may be invoked by `missing'.
+# These programs may be invoked by 'missing'.
 needed_tools='chmod find sed test touch'
 needed_tools_csep=`echo $needed_tools | sed 's/ /, /g'`
 
diff --git a/tests/no-outdir-option.test b/tests/no-outdir-option.test
index c227af7..6212534 100755
--- a/tests/no-outdir-option.test
+++ b/tests/no-outdir-option.test
@@ -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/>.
 
-# Check that the `-o' aka `--output-dir' option is not recognized anymore.
+# Check that the '-o' aka '--output-dir' option is not recognized anymore.
 
 . ./defs || Exit 1
 
diff --git a/tests/nobase-nodist.test b/tests/nobase-nodist.test
index d4ae44a..54b940b 100755
--- a/tests/nobase-nodist.test
+++ b/tests/nobase-nodist.test
@@ -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/>.
 
-# Interaction of `nobase_' and `nodist_' prefixes.
+# Interaction of 'nobase_' and 'nodist_' prefixes.
 
 . ./defs || Exit 1
 
@@ -32,7 +32,7 @@ END
 cat > Makefile.am << 'END'
 nobase_nodist_noinst_PYTHON = baz1.py sub/baz2.py
 # Lisp and Java sources are not distributed by default, so try both
-# with and without the `nodist_' prefix, for more coverage.
+# with and without the 'nodist_' prefix, for more coverage.
 nobase_noinst_LISP = foo1.el sub/foo2.el
 nobase_nodist_noinst_LISP = foo3.el sub/foo4.el
 nobase_noinst_JAVA = bar1.java sub/bar2.java
diff --git a/tests/nodef2.test b/tests/nodef2.test
index 965a915..1af7b0d 100755
--- a/tests/nodef2.test
+++ b/tests/nodef2.test
@@ -46,7 +46,7 @@ END
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE   # Dummy call to make sure Automake grok `no-define' silently.
+$AUTOMAKE # Dummy call to make sure Automake grok 'no-define' silently.
 ./configure
 
 grep 'DEFS.*-DVERSION=\\"UnIqUe' output && Exit 1
diff --git a/tests/nostdinc.test b/tests/nostdinc.test
index 868c0d9..8b780a6 100755
--- a/tests/nostdinc.test
+++ b/tests/nostdinc.test
@@ -17,7 +17,7 @@
 # Test to make sure nostdinc option works correctly.
 
 # We don't require a C compiler explicitly, because the first part of the
-# test (where `Makefile.in' is grepped) does not require one.  Insted, we
+# test (where 'Makefile.in' is grepped) does not require one.  Insted, we
 # just skip the rest of the test if configure fails to find a working C
 # compiler.
 
diff --git a/tests/objc.test b/tests/objc.test
index d0e7bf0..f56c76d 100755
--- a/tests/objc.test
+++ b/tests/objc.test
@@ -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 that `.m' extension works.
+# Test that '.m' extension works.
 # From Ralf Corsepius (for C++).
 
 . ./defs || Exit 1
diff --git a/tests/output-order.test b/tests/output-order.test
index f242a51..879b678 100755
--- a/tests/output-order.test
+++ b/tests/output-order.test
@@ -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 that `automake -a' output order is stable.
+# Test that 'automake -a' output order is stable.
 # From report by Bruno Haible.
 
 . ./defs || Exit 1
diff --git a/tests/output13.test b/tests/output13.test
index 53d914d..065bdb5 100755
--- a/tests/output13.test
+++ b/tests/output13.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure an AC_CONFIG_FILES, AC_CONFIG_LINKS, and AC_CONFIG_COMMANDS
-# are not prerequisites of `all'.
+# are not prerequisites of 'all'.
 
 . ./defs || Exit 1
 
diff --git a/tests/output7.test b/tests/output7.test
index 57ff35a..0f4725f 100755
--- a/tests/output7.test
+++ b/tests/output7.test
@@ -49,7 +49,7 @@ SUBDIRS = mk sub
 EOF
 
 # We have to distribute something in foo, because some versions
-# of tar do not archive empty directories when passed the `o'
+# of tar do not archive empty directories when passed the 'o'
 # flags.  (This was fixed in GNU tar 1.12, but older
 # versions are still used: NetBSD 1.6.1 ships with tar 1.11.2).
 #
diff --git a/tests/output8.test b/tests/output8.test
index 75d7110..1339c67 100755
--- a/tests/output8.test
+++ b/tests/output8.test
@@ -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/>.
 
-# Check AC_CONFIG_FILES support for files starting with `../'.
+# Check AC_CONFIG_FILES support for files starting with '../'.
 # Report from Bruno Haible.
 
 . ./defs || Exit 1
diff --git a/tests/override-html.test b/tests/override-html.test
index f0783a6..6438c99 100755
--- a/tests/override-html.test
+++ b/tests/override-html.test
@@ -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 that overriding `html' target causes only one "html:" rule to
+# Test that overriding 'html' target causes only one "html:" rule to
 # be output.
 
 . ./defs || Exit 1
@@ -27,7 +27,7 @@ END
 $ACLOCAL
 $AUTOMAKE -Wno-override
 
-# Overriding `html' should cause only one "html:" rule to be output.
+# Overriding 'html' should cause only one "html:" rule to be output.
 test `grep '^html:' Makefile.in | wc -l` = 1
 
 :
diff --git a/tests/override-suggest-local.test 
b/tests/override-suggest-local.test
index 900e26d..286c888 100755
--- a/tests/override-suggest-local.test
+++ b/tests/override-suggest-local.test
@@ -33,7 +33,7 @@ END
 $ACLOCAL
 $AUTOMAKE -Wno-override
 AUTOMAKE_fails
-# There is no such thing as `install-local'.
+# There is no such thing as 'install-local'.
 grep ':.*install-local' stderr && Exit 1
 grep ':.*installcheck-local' stderr
 grep ':.*html-local' stderr
diff --git a/tests/parallel-tests-extra-programs.test 
b/tests/parallel-tests-extra-programs.test
index 7e61f4b..a42bb5d 100755
--- a/tests/parallel-tests-extra-programs.test
+++ b/tests/parallel-tests-extra-programs.test
@@ -109,11 +109,11 @@ $AUTOMAKE -a
 ./configure
 
 # What we check now:
-#  1. even if we cannot build the `none.bin' program, all the other
+#  1. even if we cannot build the 'none.bin' program, all the other
 #     test programs should be built, and all the other tests should
 #     be run;
-#  2. still, since we cannot create the `none.log' file, the
-#    `test-suite.log' file shouldn't be created (as it depends
+#  2. still, since we cannot create the 'none.log' file, the
+#    'test-suite.log' file shouldn't be created (as it depends
 #     on *all* the test logs).
 
 st=0
diff --git a/tests/parallel-tests-fd-redirect-exeext.test 
b/tests/parallel-tests-fd-redirect-exeext.test
index 46e0b66..56d7f59 100755
--- a/tests/parallel-tests-fd-redirect-exeext.test
+++ b/tests/parallel-tests-fd-redirect-exeext.test
@@ -16,7 +16,7 @@
 
 # parallel-tests support: redirection of file descriptors with
 # 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'
+# 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'.
diff --git a/tests/parallel-tests-fd-redirect.test 
b/tests/parallel-tests-fd-redirect.test
index 90b44ae..cf7acce 100755
--- a/tests/parallel-tests-fd-redirect.test
+++ b/tests/parallel-tests-fd-redirect.test
@@ -16,7 +16,7 @@
 
 # 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.test' do a similar
 # check for tests that are binary executables.
 # See also the more generic test 'check-fd-redirect.test'.
 
diff --git a/tests/parallel-tests-fork-bomb.test 
b/tests/parallel-tests-fork-bomb.test
index 2032d7b..4daa811 100755
--- a/tests/parallel-tests-fork-bomb.test
+++ b/tests/parallel-tests-fork-bomb.test
@@ -45,7 +45,7 @@ END
 echo AC_OUTPUT >> configure.ac
 
 # Another helpful idiom to avoid hanging on capable systems.  The subshell
-# is needed since `ulimit' might be a special shell builtin.
+# is needed since 'ulimit' might be a special shell builtin.
 if (ulimit -t 8); then ulimit -t 8; fi
 
 $ACLOCAL
diff --git a/tests/parallel-tests-log-compiler-1.test 
b/tests/parallel-tests-log-compiler-1.test
index a44a4c5..95f51c0 100755
--- a/tests/parallel-tests-log-compiler-1.test
+++ b/tests/parallel-tests-log-compiler-1.test
@@ -50,7 +50,7 @@ AM_T_LOG_FLAGS = --am-t
 AM_LOG_FLAGS = -a
 LOG_FLAGS = -b
 
-# `t-compiler' is deliberately not distributed; it should be available
+# 't-compiler' is deliberately not distributed; it should be available
 # in PATH also from "make distcheck".
 EXTRA_DIST = $(TESTS) chk-compiler test-compiler noext-compiler
 END
diff --git a/tests/parallel-tests-log-override-1.test 
b/tests/parallel-tests-log-override-1.test
index a4b3d19..53ed310 100755
--- a/tests/parallel-tests-log-override-1.test
+++ b/tests/parallel-tests-log-override-1.test
@@ -96,7 +96,7 @@ diff orig test-suite.log
 
 # Check that the default testsuite log doesn't get unduly modified.
 # Also check that the testsuite log file doesn't need to be named
-# accordingly to the `*.log' pattern.
+# accordingly to the '*.log' pattern.
 chmod a-w test-suite.log
 $MAKE check TEST_SUITE_LOG=TheLogFile
 ls -l
diff --git a/tests/parallel-tests-many.test b/tests/parallel-tests-many.test
index a54d929..bf5c8dc 100755
--- a/tests/parallel-tests-many.test
+++ b/tests/parallel-tests-many.test
@@ -21,8 +21,6 @@
 am_parallel_tests=yes
 . ./defs || Exit 1
 
-set -e
-
 cat >> configure.ac << 'END'
 AC_OUTPUT
 END
@@ -89,14 +87,28 @@ END
 
 setup_data ()
 {
-  awk "
-    BEGIN {
-      print \"TESTS = \\\\\"
-      for (i = 1; i < $count; i = i + 1)
-        print \"  $deepdir/$tname-\" i \".test \\\\\"
-      print \"  $deepdir/$tname-\" i \".test\"
-    }
-  " > list-of-tests.am || Exit 99
+  # Use perl, not awk, to avoid errors like "awk: string too long"
+  # (seen e.g. with Solaris 10 /usr/bin/awk).
+  count=$count deepdir=$deepdir tname=$tname $PERL -e '
+    use warnings FATAL => "all";
+    use strict;
+    print "TESTS = \\\n";
+    my $i = 0;
+    while (++$i)
+      {
+        print "  $ENV{deepdir}/$ENV{tname}-$i.test";
+        if ($i >= $ENV{count})
+          {
+            print "\n";
+            last;
+          }
+        else
+          {
+            print " \\\n";
+          }
+      }
+  ' > list-of-tests.am || Exit 99
+  sed 20q list-of-tests.am || Exit 99 # For debugging.
   $AUTOMAKE Makefile \
     || framework_failure_ "unexpected automake failure"
   ./config.status Makefile \
@@ -139,7 +151,8 @@ rm -f $deepdir/* || Exit 99
 $MAKE check > stdout || { cat stdout; Exit 1; }
 cat stdout
 
-grep "All $count tests" stdout
+grep "^# TOTAL: $count$" stdout
+grep "^# PASS:  $count$" stdout
 
 grep "^PASS: .*$tname-[0-9][0-9]*\.test" stdout > grp
 ls -1 $deepdir | grep '\.log$' > lst
@@ -164,7 +177,8 @@ cat stdout
 grep "^PASS: .*$tname-1\.test" stdout
 grep "^PASS: .*$tname-2\.test" stdout
 test `LC_ALL=C grep -c "^[A-Z][A-Z]*:" stdout` -eq 2
-grep "All 2 tests" stdout
+grep "^# TOTAL: 2$" stdout
+grep "^# PASS:  2$" stdout
 
 # "make clean" might ignore some failures, so we prefer to also grep its
 # output to ensure that no "Argument list too long" error was encountered.
diff --git a/tests/parallel-tests-no-spurious-summary.test 
b/tests/parallel-tests-no-spurious-summary.test
index ce33c7b..62b4ef6 100755
--- a/tests/parallel-tests-no-spurious-summary.test
+++ b/tests/parallel-tests-no-spurious-summary.test
@@ -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/>.
 
-# Check that `:test-results:' directives in test scripts' output doesn't
+# Check that ':test-results:' directives in test scripts' output doesn't
 # originate spurious results in the testsuite summary.
 
 am_parallel_tests=yes
diff --git a/tests/parallel-tests-once.test b/tests/parallel-tests-once.test
index 4962ecd..53ee677 100755
--- a/tests/parallel-tests-once.test
+++ b/tests/parallel-tests-once.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Tests shouldn't be run multiple times by a simple "make check" in a
-# clean directory.  An early implementation of the `.trs' intermediate
+# clean directory.  An early implementation of the '.trs' intermediate
 # files incurred a similar problem.
 
 am_parallel_tests=yes
diff --git a/tests/parallel-tests-trailing-bslash.test 
b/tests/parallel-tests-trailing-bslash.test
index 129c5a1..4b3bdf8 100755
--- a/tests/parallel-tests-trailing-bslash.test
+++ b/tests/parallel-tests-trailing-bslash.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that the new testsuite harness do not generate recipes that can
-# have a trailing `\', since that can cause spurious syntax errors with
+# have a trailing '\', since that can cause spurious syntax errors with
 # older bash versions (e.g., bash 2.05b).
 # See automake bug#10436.
 
diff --git a/tests/parallel-tests-unreadable.test 
b/tests/parallel-tests-unreadable.test
index 1750e26..7ddb9db 100755
--- a/tests/parallel-tests-unreadable.test
+++ b/tests/parallel-tests-unreadable.test
@@ -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/>.
 
-# Check that the testsuite driver copes well with unreadable `.log'
-# and `.trs' files.
+# Check that the testsuite driver copes well with unreadable '.log'
+# and '.trs' files.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
diff --git a/tests/parallel-tests10.test b/tests/parallel-tests10.test
index 322767a..2396482 100755
--- a/tests/parallel-tests10.test
+++ b/tests/parallel-tests10.test
@@ -16,7 +16,7 @@
 
 # Check parallel-tests features:
 # - trailing whitespace in TESTS
-# GNU make 3.80 may expand trailing white space to `.log'.
+# GNU make 3.80 may expand trailing white space to '.log'.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
diff --git a/tests/parallel-tests3.test b/tests/parallel-tests3.test
index 9ba27f2..151580f 100755
--- a/tests/parallel-tests3.test
+++ b/tests/parallel-tests3.test
@@ -21,7 +21,7 @@ am_parallel_tests=yes
 . ./defs || Exit 1
 
 case $MAKE in
-  *\ -j*) skip_ "\$MAKE contains \`-j'";;
+  *\ -j*) skip_ "\$MAKE contains '-j'";;
 esac
 
 cat >> configure.ac << 'END'
diff --git a/tests/parallel-tests6.test b/tests/parallel-tests6.test
index fb908e2..eee6538 100755
--- a/tests/parallel-tests6.test
+++ b/tests/parallel-tests6.test
@@ -16,7 +16,7 @@
 
 # Check parallel-tests features:
 # - empty TESTS
-# BSD make will expand `$(TESTS:=.log)' to `.log' unless overridden.
+# BSD make will expand '$(TESTS:=.log)' to '.log' unless overridden.
 # See parallel-tests10.test for a similar issue.
 
 am_parallel_tests=yes
diff --git a/tests/parallel-tests8.test b/tests/parallel-tests8.test
index ad55c0e..69efc51 100755
--- a/tests/parallel-tests8.test
+++ b/tests/parallel-tests8.test
@@ -19,7 +19,7 @@
 # - listing $(srcdir)/ or $(top_srcdir)/ in TESTS doesn't work ATM,
 #   and is thus diagnosed.
 
-# TODO: this test should also ensure that the `make' implementation
+# TODO: this test should also ensure that the 'make' implementation
 #       properly adheres to rules in all cases.  See the Autoconf
 #       manual for the ugliness in this area, when VPATH comes into
 #       play.  :-/
diff --git a/tests/pattern-rules2.test b/tests/pattern-rules2.test
index 9ef9d74..07d7a24 100755
--- a/tests/pattern-rules2.test
+++ b/tests/pattern-rules2.test
@@ -16,7 +16,7 @@
 
 # Support for pattern rules:
 # make sure we don't warn about duplicate definition for
-# `${ARCH}/%.$(OBJEXT):'.
+# '${ARCH}/%.$(OBJEXT):'.
 # Report from Ralf Corsepius.
 
 . ./defs || Exit 1
diff --git a/tests/plain-functions.sh b/tests/plain-functions.sh
index 0c10533..e6483dc 100644
--- a/tests/plain-functions.sh
+++ b/tests/plain-functions.sh
@@ -27,7 +27,7 @@
 # reason for skip/failure to console, rather than to the *.log files.
 : ${stderr_fileno_=2}
 
-# Copied from Gnulib's `tests/init.sh'.
+# Copied from Gnulib's 'tests/init.sh'.
 warn_ () { echo "$@" 1>&$stderr_fileno_; }
 fail_ () { warn_ "$me: failed test: $@"; Exit 1; }
 skip_ () { warn_ "$me: skipped test: $@"; Exit 77; }
diff --git a/tests/pluseq.test b/tests/pluseq.test
index 435a078..7a8df81 100755
--- a/tests/pluseq.test
+++ b/tests/pluseq.test
@@ -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 `+=' functionality.
+# Test '+=' functionality.
 
 . ./defs || Exit 1
 
diff --git a/tests/pluseq11.test b/tests/pluseq11.test
index 0090df0..4c0b888 100755
--- a/tests/pluseq11.test
+++ b/tests/pluseq11.test
@@ -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/>.
 
-# Check for bug in variable concatenation with `+=': an extra backslash
+# Check for bug in variable concatenation with '+=': an extra backslash
 # is erroneously retained in the final value.
 # See also sister test pluseq11b.test.
 
diff --git a/tests/pluseq2.test b/tests/pluseq2.test
index d5a3fd9..102076a 100755
--- a/tests/pluseq2.test
+++ b/tests/pluseq2.test
@@ -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 `+=' with conditionals.
+# Test '+=' with conditionals.
 
 . ./defs || Exit 1
 
diff --git a/tests/pluseq3.test b/tests/pluseq3.test
index 4085a46..fc7a496 100755
--- a/tests/pluseq3.test
+++ b/tests/pluseq3.test
@@ -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/>.
 
-# Another `+=' test with conditionals.
+# Another '+=' test with conditionals.
 
 . ./defs || Exit 1
 
diff --git a/tests/pluseq4.test b/tests/pluseq4.test
index e95ed85..59c82d8 100755
--- a/tests/pluseq4.test
+++ b/tests/pluseq4.test
@@ -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/>.
 
-# Yet another `+=' test.
+# Yet another '+=' test.
 
 . ./defs || Exit 1
 
diff --git a/tests/pluseq5.test b/tests/pluseq5.test
index f8ffa00..5db9c47 100755
--- a/tests/pluseq5.test
+++ b/tests/pluseq5.test
@@ -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 for another `+=' problem.  Report from Brian Jones.
+# Test for another '+=' problem.  Report from Brian Jones.
 
 . ./defs || Exit 1
 
@@ -34,11 +34,11 @@ AUTOMAKE_fails
 
 # We expect the following diagnostic:
 #
-# Makefile.am:4: cannot apply `+=' because `INCLUDES' is not defined in
+# Makefile.am:4: cannot apply '+=' because 'INCLUDES' is not defined in
 # Makefile.am:4: the following conditions:
 # Makefile.am:4:   !CHECK
-# Makefile.am:4: either define `INCLUDES' in these conditions, or use
-# Makefile.am:4: `+=' in the same conditions as the definitions.
+# Makefile.am:4: either define 'INCLUDES' in these conditions, or use
+# Makefile.am:4: '+=' in the same conditions as the definitions.
 
 # Is !CHECK mentioned?
 grep ':.*!CHECK$' stderr
diff --git a/tests/pluseq6.test b/tests/pluseq6.test
index 971ed03..7a8f187 100755
--- a/tests/pluseq6.test
+++ b/tests/pluseq6.test
@@ -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 that `+=' works with standard header-vars.
+# Test that '+=' works with standard header-vars.
 
 . ./defs || Exit 1
 
diff --git a/tests/pluseq7.test b/tests/pluseq7.test
index 6136dbe..7f5a32e 100755
--- a/tests/pluseq7.test
+++ b/tests/pluseq7.test
@@ -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 that `+=' fails when required.
+# Test that '+=' fails when required.
 
 . ./defs || Exit 1
 
diff --git a/tests/pluseq8.test b/tests/pluseq8.test
index 0dae833..724e4d5 100755
--- a/tests/pluseq8.test
+++ b/tests/pluseq8.test
@@ -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/>.
 
-# Another `+=' test.  From Paul Berrevoets.
+# Another '+=' test.  From Paul Berrevoets.
 
 . ./defs || Exit 1
 
diff --git a/tests/pluseq9.test b/tests/pluseq9.test
index f127a6f..f3c8021 100755
--- a/tests/pluseq9.test
+++ b/tests/pluseq9.test
@@ -53,11 +53,11 @@ AUTOMAKE_fails
 
 # We expect the following diagnostic:
 #
-# Makefile.am:19: cannot apply `+=' because `B' is not defined in
+# Makefile.am:19: cannot apply '+=' because 'B' is not defined in
 # Makefile.am:19: the following conditions:
 # Makefile.am:19:   !COND1 and !COND3
-# Makefile.am:19: either define `B' in these conditions, or use
-# Makefile.am:19: `+=' in the same conditions as the definitions.
+# Makefile.am:19: either define 'B' in these conditions, or use
+# Makefile.am:19: '+=' in the same conditions as the definitions.
 #
 # It would be nice if Automake could print only COND3_FALSE and
 # COND1_FALSE (merging the last two conditions), so we'll support
diff --git a/tests/posixsubst-data.test b/tests/posixsubst-data.test
index d163049..c2c2d7e 100755
--- a/tests/posixsubst-data.test
+++ b/tests/posixsubst-data.test
@@ -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 that POSIX variable expansion `$(var:str=rpl)' works
+# Test that POSIX variable expansion '$(var:str=rpl)' works
 # in when used with the DATA primary.
 
 . ./defs || Exit 1
@@ -34,7 +34,7 @@ bar.data bazzardoz:
        : > $@
 CLEANFILES = bar.data bazzardoz
 
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 dist_foo_DATA = $(t1:=.txt)
 foo_DATA = $(t2:x=.data)
diff --git a/tests/posixsubst-extradist.test b/tests/posixsubst-extradist.test
index 216a8c9..7e3cf2f 100755
--- a/tests/posixsubst-extradist.test
+++ b/tests/posixsubst-extradist.test
@@ -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 that POSIX variable expansion `$(var:str=rpl)' works when used
+# Test that POSIX variable expansion '$(var:str=rpl)' works when used
 # in EXTRA_DIST.
 
 . ./defs || Exit 1
@@ -27,7 +27,7 @@ cat > Makefile.am << 'END'
 t1 = foo1 foo2
 t2 = bar.x
 t3 = baz-y
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 EXTRA_DIST = $(t1:=.c) $(t2:.x=.f) $(t3:-y=ar)
 bazar bar.f:
diff --git a/tests/posixsubst-ldadd.test b/tests/posixsubst-ldadd.test
index 247789e..f1cc55b 100755
--- a/tests/posixsubst-ldadd.test
+++ b/tests/posixsubst-ldadd.test
@@ -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 that POSIX variable expansion `$(var:str=rpl)' works
+# Test that POSIX variable expansion '$(var:str=rpl)' works
 # when used in LDADD.
 
 required=cc
@@ -37,7 +37,7 @@ zardoz_PROGRAMS = foo bar
 
 noinst_LIBRARIES = libquux1.a libquux2.a libquux3.a
 
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 LDADD = $(u:.lib=.a)
 bar_LDADD = $(v:=.a) libquux2.a $(w:none=libquux3.a)
diff --git a/tests/posixsubst-libraries.test b/tests/posixsubst-libraries.test
index 01edcbb..8e6b265 100755
--- a/tests/posixsubst-libraries.test
+++ b/tests/posixsubst-libraries.test
@@ -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/>.
 
-# Test that POSIX variable expansion `$(var:str=rpl)' works when used
+# 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.test'.
 
 required=cc
 . ./defs || Exit 1
@@ -32,7 +32,7 @@ cat > Makefile.am << 'END'
 foolibs = libfoo1 libfoo2
 barlibs = libbaz
 
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 lib_LIBRARIES = $(foolibs:=.a) $(barlibs:z=r.a)
 
diff --git a/tests/posixsubst-ltlibraries.test 
b/tests/posixsubst-ltlibraries.test
index d967709..6a4cbd5 100755
--- a/tests/posixsubst-ltlibraries.test
+++ b/tests/posixsubst-ltlibraries.test
@@ -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/>.
 
-# Test that POSIX variable expansion `$(var:str=rpl)' works when used
+# 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.test'.
 
 required='cc libtool libtoolize'
 . ./defs || Exit 1
@@ -32,7 +32,7 @@ cat > Makefile.am << 'END'
 foolibs = libfoo1 libfoo2
 barlibs = libbaz
 
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 lib_LTLIBRARIES = $(foolibs:=.la) $(barlibs:z=r.la)
 
diff --git a/tests/posixsubst-programs.test b/tests/posixsubst-programs.test
index 29f08dd..a02cb92 100755
--- a/tests/posixsubst-programs.test
+++ b/tests/posixsubst-programs.test
@@ -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 that POSIX variable expansion `$(var:str=rpl)' works when used
+# Test that POSIX variable expansion '$(var:str=rpl)' works when used
 # with the PROGRAMS primary.
 
 required=cc
@@ -29,7 +29,7 @@ cat > Makefile.am << 'END'
 t1 = foo1 foo2
 t2 = barx bar2
 
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 bin_PROGRAMS = $(t1:=-p) $(t2:2=y)
 
diff --git a/tests/posixsubst-scripts.test b/tests/posixsubst-scripts.test
index f6c31b3..934b82e 100755
--- a/tests/posixsubst-scripts.test
+++ b/tests/posixsubst-scripts.test
@@ -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 that POSIX variable expansion `$(var:str=rpl)' works when used
+# Test that POSIX variable expansion '$(var:str=rpl)' works when used
 # with the SCRIPTS primary.
 
 . ./defs || Exit 1
@@ -41,7 +41,7 @@ quux.pl:
        (echo '#!/bin/perl' && echo '1;') > $@
 CLEANFILES = bar1 bar2 quux.pl
 
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 dist_sbin_SCRIPTS = $(t1:=.sh)
 libexec_SCRIPTS = $(t2:x=)
diff --git a/tests/posixsubst-sources.test b/tests/posixsubst-sources.test
index 4c7b740..ccd61b9 100755
--- a/tests/posixsubst-sources.test
+++ b/tests/posixsubst-sources.test
@@ -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 that POSIX variable expansion `$(var:str=rpl)' works when used
+# Test that POSIX variable expansion '$(var:str=rpl)' works when used
 # with the SOURCES primary.
 
 required=cc
@@ -32,7 +32,7 @@ FOO = foo.cxx
 BAR = bar__
 BAZ = baz.
 
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 foo_SOURCES = main.c $(FOO:.cxx=.c)
 dist_foo_SOURCES = $(BAR:__=.c)
diff --git a/tests/posixsubst-tests.test b/tests/posixsubst-tests.test
index 9b00b28..27a451d 100755
--- a/tests/posixsubst-tests.test
+++ b/tests/posixsubst-tests.test
@@ -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 that POSIX variable expansion `$(var:str=rpl)' works when used
+# Test that POSIX variable expansion '$(var:str=rpl)' works when used
 # with the TESTS special variable.
 
 . ./defs || Exit 1
@@ -32,7 +32,7 @@ foo2.test barz:
        (echo '#!/bin/sh' && echo 'exit 0') > $@ && chmod a+x $@
 CLEANFILES = foo2.test barz # For FreeBSD make.
 
-# Also try an empty match suffix, to ensure that the `:=' in there is
+# Also try an empty match suffix, to ensure that the ':=' in there is
 # not confused by the parser with an unportable assignment operator.
 TESTS = $(t1:=.test) $(t2:x=y) $(t3:2=z)
 
diff --git a/tests/pr211.test b/tests/pr211.test
index 6cb445e..97e28eb 100755
--- a/tests/pr211.test
+++ b/tests/pr211.test
@@ -25,7 +25,7 @@
 #
 # In this case foo.c will be compiled twice but using different
 # compilers.  This is a conflict.  In this case the user should
-# rename one of the `foo.o's.
+# rename one of the 'foo.o' files.
 
 required=libtoolize
 . ./defs || Exit 1
diff --git a/tests/pr224.test b/tests/pr224.test
index 265a45b..51e3c17 100755
--- a/tests/pr224.test
+++ b/tests/pr224.test
@@ -19,9 +19,9 @@
 # == Description ==
 # Dependency tracking data should be stored in in the relative path
 # of the source file, as opposed the object file.
-# I.e., for `foo.c' in `$(top_srcdir)/bar', being built in
-# `$(top_srcdir)/build', the location of the `.deps' directory
-# should be `$(top_builddir)/bar/.deps'.
+# I.e., for 'foo.c' in '$(top_srcdir)/bar', being built in
+# '$(top_srcdir)/build', the location of the '.deps' directory
+# should be '$(top_builddir)/bar/.deps'.
 
 required=cc
 . ./defs || Exit 1
diff --git a/tests/pr300-lib.test b/tests/pr300-lib.test
index 9f9791f..b655cf0 100755
--- a/tests/pr300-lib.test
+++ b/tests/pr300-lib.test
@@ -23,6 +23,7 @@ required=cc
 cat >> configure.ac << 'END'
 AC_PROG_RANLIB
 AC_PROG_CC
+AM_PROG_AR
 AC_OUTPUT
 END
 
@@ -43,7 +44,7 @@ END
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability --copy --add-missing
+$AUTOMAKE --copy --add-missing
 
 # We pass '--libdir' explicitly, to avoid spurious failures due to users
 # or distributions possibly overriding '${libdir}' in their $CONFIG_SITE
diff --git a/tests/pr300-ltlib.test b/tests/pr300-ltlib.test
index 09ae870..8db6b07 100755
--- a/tests/pr300-ltlib.test
+++ b/tests/pr300-ltlib.test
@@ -22,6 +22,7 @@ required='cc libtoolize'
 
 cat >> configure.ac << 'END'
 AC_PROG_CC
+AM_PROG_AR
 AC_PROG_LIBTOOL
 AC_OUTPUT
 END
@@ -41,7 +42,7 @@ END
 libtoolize
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability --copy --add-missing
+$AUTOMAKE --copy --add-missing
 
 # We pass '--libdir' explicitly, to avoid spurious failures due to users
 # or distributions possibly overriding '${libdir}' in their $CONFIG_SITE
diff --git a/tests/pr307.test b/tests/pr307.test
index b1af312..abcff80 100755
--- a/tests/pr307.test
+++ b/tests/pr307.test
@@ -37,6 +37,7 @@ required='libtoolize gcc'
 
 cat >> configure.ac << 'END'
 AC_PROG_CC
+AM_PROG_AR
 AC_PROG_LIBTOOL
 AC_OUTPUT
 END
@@ -66,7 +67,7 @@ done
 libtoolize --force
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability -a
+$AUTOMAKE -a
 
 # Sanity check: make sure the variable we are attempting to force
 # is indeed used by configure.
@@ -82,9 +83,9 @@ $MAKE check
 # with an output such as:
 #
 #   mv -f .libs/f.lo f.lo
-#   mv: cannot stat `.libs/f.lo': No such file or directory
+#   mv: cannot stat '.libs/f.lo': No such file or directory
 #
-# (This may happen on `f' or on some other files.)
+# (This may happen on 'f' or on some other files.)
 
 test -f librace.la
 test -f tst # A proof that check-local was run.
diff --git a/tests/pr401.test b/tests/pr401.test
index 9652786..a143498 100755
--- a/tests/pr401.test
+++ b/tests/pr401.test
@@ -49,6 +49,7 @@ AC_PROG_CC
 #x AM_PROG_CC_C_O
 AC_LIBOBJ([feep])
 AC_LIBSOURCE([feep.c])
+AM_PROG_AR
 AC_PROG_RANLIB
 AC_CONFIG_FILES([lib/Makefile src/Makefile])
 AM_CONDITIONAL([CROSS_COMPILING], [test $cross_compiling = yes])
@@ -78,9 +79,11 @@ TESTS = main
 endif
 EOF
 
+cp "$am_scriptdir/ar-lib" . || fatal_ "fetching auxiliary script 'ar-lib'"
+
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE
 ./configure
 $MAKE distcheck
 
@@ -96,7 +99,7 @@ mv -f configure.int configure.ac
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE
 ./configure
 test ! -d lib/lib
 $MAKE distcheck
@@ -107,7 +110,7 @@ $MAKE distcheck
 
 mv -f src/Makefile.am src/t
 sed 's/LDADD = .*/LDADD = @LIBOBJS@/' src/t > src/Makefile.am
-AUTOMAKE_fails -Wno-extra-portability
+AUTOMAKE_fails
 grep 'cannot be used outside.*lib' stderr
 mv -f src/t src/Makefile.am
 
@@ -140,7 +143,7 @@ EOF
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability --add-missing
+$AUTOMAKE --add-missing
 ./configure
 test ! -d src/lib
 test ! -d 'src/$(top_builddir)'
@@ -179,7 +182,7 @@ EOF
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE
 ./configure
 $MAKE distcheck
 
diff --git a/tests/pr401b.test b/tests/pr401b.test
index 7567866..3d15671 100755
--- a/tests/pr401b.test
+++ b/tests/pr401b.test
@@ -49,6 +49,7 @@ AC_PROG_CC
 #x AM_PROG_CC_C_O
 AC_LIBOBJ([feep])
 AC_LIBSOURCE([feep.c])
+AM_PROG_AR
 AC_PROG_LIBTOOL
 AC_CONFIG_FILES([lib/Makefile src/Makefile])
 AM_CONDITIONAL([CROSS_COMPILING], [test $cross_compiling = yes])
@@ -78,10 +79,12 @@ TESTS = main
 endif
 EOF
 
+cp "$am_scriptdir/ar-lib" . || fatal_ "fetching auxiliary script 'ar-lib'"
+
 libtoolize
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability -a
+$AUTOMAKE -a
 ./configure
 $MAKE distcheck
 
@@ -97,7 +100,7 @@ mv -f configure.int configure.ac
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability -a
+$AUTOMAKE -a
 ./configure
 test ! -d lib/lib
 $MAKE distcheck
@@ -108,7 +111,7 @@ $MAKE distcheck
 
 mv -f src/Makefile.am src/t
 sed 's/LDADD = .*/LDADD = @LTLIBOBJS@/' src/t > src/Makefile.am
-AUTOMAKE_fails -Wno-extra-portability
+AUTOMAKE_fails
 grep 'cannot be used outside.*lib' stderr
 mv -f src/t src/Makefile.am
 
@@ -140,7 +143,7 @@ EOF
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability --add-missing
+$AUTOMAKE --add-missing
 ./configure
 test ! -d src/lib
 test ! -d 'src/$(top_builddir)'
@@ -179,7 +182,7 @@ EOF
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE
 ./configure
 $MAKE distcheck
 
diff --git a/tests/pr401c.test b/tests/pr401c.test
index 50b2633..1f238f6 100755
--- a/tests/pr401c.test
+++ b/tests/pr401c.test
@@ -50,6 +50,7 @@ cat >>configure.ac << 'EOF'
 #: AC_CONFIG_LIBOBJ_DIR([lib])
 AC_PROG_CC
 #x AM_PROG_CC_C_O
+AM_PROG_AR
 AC_PROG_RANLIB
 AC_FUNC_ALLOCA
 AC_CONFIG_FILES([lib/Makefile src/Makefile])
@@ -80,9 +81,11 @@ TESTS = main
 endif
 EOF
 
+cp "$am_scriptdir/ar-lib" . || fatal_ "fetching auxiliary script 'ar-lib'"
+
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE
 ./configure
 $MAKE distcheck
 
@@ -99,7 +102,7 @@ mv -f configure.int configure.ac
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE
 ./configure
 test ! -d lib/lib
 $MAKE distcheck
@@ -110,7 +113,7 @@ $MAKE distcheck
 
 mv -f src/Makefile.am src/t
 sed 's/LDADD = .*/LDADD = @ALLOCA@/' src/t > src/Makefile.am
-AUTOMAKE_fails -Wno-extra-portability
+AUTOMAKE_fails
 grep 'cannot be used outside.*lib' stderr
 mv -f src/t src/Makefile.am
 
@@ -143,7 +146,7 @@ EOF
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability --add-missing
+$AUTOMAKE --add-missing
 ./configure
 $MAKE
 test ! -d src/lib
@@ -182,7 +185,7 @@ EOF
 
 $ACLOCAL
 $AUTOCONF
-$AUTOMAKE -Wno-extra-portability
+$AUTOMAKE
 ./configure
 $MAKE distcheck
 
diff --git a/tests/pr87.test b/tests/pr87.test
index a0c7ac5..d98b661 100755
--- a/tests/pr87.test
+++ b/tests/pr87.test
@@ -51,7 +51,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-# Regression test for bug where `.c.o:' is followed by blank line.
+# Regression test for bug where '.c.o:' is followed by blank line.
 (while read line; do
     if test "$line" = ".c.o:"; then
        read next
diff --git a/tests/pr9.test b/tests/pr9.test
index f1df402..36a9f7e 100755
--- a/tests/pr9.test
+++ b/tests/pr9.test
@@ -18,10 +18,10 @@
 # "make dist" incorrect when AC_CONFIG_AUX_DIR is present.
 #
 # == Report ==
-# When AC_CONFIG_AUX_DIR is set (in my case to `support'), make dist
+# When AC_CONFIG_AUX_DIR is set (in my case to 'support'), make dist
 # no longer automatically includes config.guess, config.sub, install-sh,
 # ltconfig, ltmain.sh, mdate-sh, missing, and mkinstalldirs.  In fact,
-# the entire `support/' directory is omitted.
+# the entire 'support/' directory is omitted.
 
 . ./defs || Exit 1
 
diff --git a/tests/primary-prefix-invalid-couples.tap 
b/tests/primary-prefix-invalid-couples.tap
index d957b1f..407c873 100755
--- a/tests/primary-prefix-invalid-couples.tap
+++ b/tests/primary-prefix-invalid-couples.tap
@@ -18,7 +18,7 @@
 # Automake should flag them as errors.
 # Originated from PR/294, extended later (following bug #7647) to
 # cover more cases.
-# See also test `primary-prefix-valid-couples.test'.
+# See also test 'primary-prefix-valid-couples.test'.
 
 . ./defs || Exit 1
 
@@ -49,7 +49,7 @@ $ACLOCAL || fatal_ "aclocal failure"
 # Please keep this list in sync with the list of "Directory Variables"
 # in the GNU Coding Standards and with the list additional directory
 # variables provided by autoconf and/or automake (pkgdatadir, pkglibdir,
-# ...).   See also the hash `%standard_prefix' in the automake script.
+# ...).   See also the hash '%standard_prefix' in the automake script.
 prefixes='bin data dataroot doc dvi exec html include info lib libexec
           lisp locale localstate man man1 man2 man3 man4 man5 man6 man7
           man8 man9 oldinclude pdf pkgdata pkginclude pkglib pkglibexec
@@ -113,7 +113,7 @@ for primary in $primaries; do
       # FIXME: Here we'd like to have:
       #   prefixes_ok='info'
       # but Automake currently fails on that, as it allows the use of
-      # `foo_TEXINFOS' to declare extra Texinfo sources for the `foo'
+      # 'foo_TEXINFOS' to declare extra Texinfo sources for the 'foo'
       # Texinfo manual, as in e.g.:
       #   info_TEXINFOS = foo.texi
       #   foo_TEXINFOS = gpl.texi
@@ -129,7 +129,7 @@ for primary in $primaries; do
   done
 done >allow.list
 
-# `html_TEXINFOS' is not yet supported, and might never be.
+# 'html_TEXINFOS' is not yet supported, and might never be.
 grep -v '^html TEXINFOS$' all.list | awk '{print NR, $0}' > t
 mv -f t all.list
 
@@ -184,7 +184,7 @@ done <all.list
 # Check that automake really failed only for the expected reason(s).
 grep -v 'dir.* not a legitimate directory' stderr && Exit 1
 
-# Check that the same failures are present without the `--add-missing'
+# Check that the same failures are present without the '--add-missing'
 # option.
 mv stderr stderr.old
 AUTOMAKE_fails -d "automake error out on mismatched prefix/primary couples"
diff --git a/tests/primary-prefix-valid-couples.test 
b/tests/primary-prefix-valid-couples.test
index 1b1e89b..989ca4b 100755
--- a/tests/primary-prefix-valid-couples.test
+++ b/tests/primary-prefix-valid-couples.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/primary3.test b/tests/primary3.test
index ba34b57..80dab29 100755
--- a/tests/primary3.test
+++ b/tests/primary3.test
@@ -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/>.
 
-# Make sure we can build programs ending in `.la'
+# Make sure we can build programs ending in '.la'
 
 required=cc
 . ./defs || Exit 1
diff --git a/tests/programs-primary-rewritten.test 
b/tests/programs-primary-rewritten.test
index 7e1bd0b..7de6d99 100755
--- a/tests/programs-primary-rewritten.test
+++ b/tests/programs-primary-rewritten.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure xxx_PROGRAMS gets properly rewritten where needed.  These
-# checks have been introduced in commit `Release-1-9-254-g9d0eaef' into
-# the former test `subst2.test'.
+# checks have been introduced in commit 'Release-1-9-254-g9d0eaef' into
+# the former test 'subst2.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/py-compile-basedir.test b/tests/py-compile-basedir.test
index dbedbbc..1504f55 100755
--- a/tests/py-compile-basedir.test
+++ b/tests/py-compile-basedir.test
@@ -14,12 +14,12 @@
 # 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 the `--basedir' option of the `py-compile' script,
+# Test the '--basedir' option of the 'py-compile' script,
 
 required=python
 . ./defs || Exit 1
 
-# We'll need to create files in `..', so we need one more subdirectory
+# We'll need to create files in '..', so we need one more subdirectory
 # level in order not to clutter up the top-level tests directory.
 mkdir sandbox
 cd sandbox
diff --git a/tests/py-compile-basic.test b/tests/py-compile-basic.test
index a2871cf..5fa3bf6 100755
--- a/tests/py-compile-basic.test
+++ b/tests/py-compile-basic.test
@@ -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/>.
 
-# Test more basic functionalities of the `py-compile' script,
+# Test more basic functionalities of the 'py-compile' script,
 # with "believable" python sources.  See also related test
-# `py-compile-basic2.test'.
+# 'py-compile-basic2.test'.
 
 required=python
 . ./defs || Exit 1
diff --git a/tests/py-compile-basic2.test b/tests/py-compile-basic2.test
index 87be03f..dfa992c 100755
--- a/tests/py-compile-basic2.test
+++ b/tests/py-compile-basic2.test
@@ -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/>.
 
-# Test more basic functionalities of the `py-compile' script, with
+# 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.test'.
 
 required=python
 . ./defs || Exit 1
diff --git a/tests/py-compile-destdir.test b/tests/py-compile-destdir.test
index 6dfaea0..ab3fe77 100755
--- a/tests/py-compile-destdir.test
+++ b/tests/py-compile-destdir.test
@@ -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 the `--destdir' option of the `py-compile' script,
+# Test the '--destdir' option of the 'py-compile' script,
 
 required=python
 . ./defs || Exit 1
diff --git a/tests/py-compile-env.test b/tests/py-compile-env.test
index 967f0c4..5dd7e5f 100755
--- a/tests/py-compile-env.test
+++ b/tests/py-compile-env.test
@@ -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/>.
 
-# Make sure `py-compile' honours the PYTHON environment variable.
+# Make sure 'py-compile' honours the PYTHON environment variable.
 
 . ./defs || Exit 1
 
diff --git a/tests/py-compile-option-terminate.test 
b/tests/py-compile-option-terminate.test
index cd0b7bb..f54ffc7 100755
--- a/tests/py-compile-option-terminate.test
+++ b/tests/py-compile-option-terminate.test
@@ -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/>.
 
-# Check that a non-option argument and the `--' special argument
-# explicitly terminate the option list for `py-compile'.
+# Check that a non-option argument and the '--' special argument
+# explicitly terminate the option list for 'py-compile'.
 
 required=python
 . ./defs || Exit 1
diff --git a/tests/py-compile-usage.test b/tests/py-compile-usage.test
index db73ebc..19883b0 100755
--- a/tests/py-compile-usage.test
+++ b/tests/py-compile-usage.test
@@ -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 `py-compile --help', `py-compile --version', and that `py-compile'
+# Test 'py-compile --help', 'py-compile --version', and that 'py-compile'
 # correctly complains on wrong usage.
 
 . ./defs || Exit 1
diff --git a/tests/python-vars.test b/tests/python-vars.test
index ff4d13e..56c2b61 100755
--- a/tests/python-vars.test
+++ b/tests/python-vars.test
@@ -26,10 +26,10 @@ CONFIG_SITE=/dev/null; export CONFIG_SITE
 PYTHON=python
 
 # Update the definition below if the documentation changes.
-# Note that the value of the `pythondir' and `pyexecdir' variables can
+# 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.test' 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/tests/remake-deleted-am-2.test b/tests/remake-deleted-am-2.test
index 6169639..1d048be 100755
--- a/tests/remake-deleted-am-2.test
+++ b/tests/remake-deleted-am-2.test
@@ -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/>.
 
-# Check that inclusion of `.am' fragments by automake does not suffer
+# Check that inclusion of '.am' fragments by automake does not suffer
 # of the "deleted header problem".  This test checks deeper inclusion
 # stacks, and use VPATH builds.
 
diff --git a/tests/remake-deleted-am-subdir.test 
b/tests/remake-deleted-am-subdir.test
index fefe1ff..3ca8507 100755
--- a/tests/remake-deleted-am-subdir.test
+++ b/tests/remake-deleted-am-subdir.test
@@ -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/>.
 
-# Check that inclusion of `.am' fragments by automake does not suffer
+# Check that inclusion of '.am' fragments by automake does not suffer
 # of the "deleted header problem".  This test does the check when the
 # SUBDIRS variable is involved.
 
diff --git a/tests/remake-deleted-am.test b/tests/remake-deleted-am.test
index 2543bd6..4bd77d6 100755
--- a/tests/remake-deleted-am.test
+++ b/tests/remake-deleted-am.test
@@ -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/>.
 
-# Check that inclusion of `.am' fragments by automake does not suffer
+# Check that inclusion of '.am' fragments by automake does not suffer
 # of the "deleted header problem".  Basic checks are done here.
 
 . ./defs || Exit 1
diff --git a/tests/remake-deleted-m4-file.test 
b/tests/remake-deleted-m4-file.test
index 258dde2..1245a47 100755
--- a/tests/remake-deleted-m4-file.test
+++ b/tests/remake-deleted-m4-file.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/remake-moved-m4-file.test b/tests/remake-moved-m4-file.test
index d2ac95b..2192385 100755
--- a/tests/remake-moved-m4-file.test
+++ b/tests/remake-moved-m4-file.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test remake rules when m4 files get moved among different "include
-# dirs" (i.e. those passed to aclocal with `-I' option).
+# dirs" (i.e. those passed to aclocal with '-I' option).
 
 . ./defs || Exit 1
 
diff --git a/tests/remake-renamed-am.test b/tests/remake-renamed-am.test
index 1df75f3..32ca06c 100755
--- a/tests/remake-renamed-am.test
+++ b/tests/remake-renamed-am.test
@@ -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/>.
 
-# Check that inclusion of `.am' fragments by automake does not suffer
+# Check that inclusion of '.am' fragments by automake does not suffer
 # of the "deleted header problem".  This test checks that we can rename
 # an included .am file without confusing the remake rules.
 
diff --git a/tests/remake-renamed-m4-macro-and-file.test 
b/tests/remake-renamed-m4-macro-and-file.test
index 6e99cdf..72d922d 100755
--- a/tests/remake-renamed-m4-macro-and-file.test
+++ b/tests/remake-renamed-m4-macro-and-file.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/remake-subdir-from-subdir.test 
b/tests/remake-subdir-from-subdir.test
index 9421e03..a7be412 100755
--- a/tests/remake-subdir-from-subdir.test
+++ b/tests/remake-subdir-from-subdir.test
@@ -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*.test', and the
+# related test 'aclocal5.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/remake-subdir-gnu.test b/tests/remake-subdir-gnu.test
index 6b0a26c..52afc44 100755
--- a/tests/remake-subdir-gnu.test
+++ b/tests/remake-subdir-gnu.test
@@ -15,10 +15,10 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that remake rules works from subdirectories, even using
-# `GNUmakefile' as makefiles name.  This obviously requires GNU
+# '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*.test', and the
+# related test 'aclocal5.test'
 
 . ./defs || Exit 1
 
diff --git a/tests/remake-subdir.test b/tests/remake-subdir.test
index f8290f6..a297b44 100755
--- a/tests/remake-subdir.test
+++ b/tests/remake-subdir.test
@@ -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*.test', and the
+# related test 'aclocal5.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/remake.test b/tests/remake.test
index 75785e8..620d5f8 100755
--- a/tests/remake.test
+++ b/tests/remake.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/remake10a.test b/tests/remake10a.test
index c7ac87a..67da954 100755
--- a/tests/remake10a.test
+++ b/tests/remake10a.test
@@ -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.test' and 'remake10c.test'.
 
 . ./defs || Exit 1
 
@@ -44,7 +44,6 @@ END
 
 echo 'm4_define([my_fingerprint], [BadBadBad])' > foo.m4
 
-$sleep # So that generated autotools files will be newer than prerequisites.
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
diff --git a/tests/remake10b.test b/tests/remake10b.test
index 37eb635..c3f573d 100755
--- a/tests/remake10b.test
+++ b/tests/remake10b.test
@@ -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.test' and 'remake10c.test'.
 
 . ./defs || Exit 1
 
@@ -43,7 +43,6 @@ END
 
 echo 'FINGERPRINT = BadBadBad' > foo.am
 
-$sleep # So that generated autotools files will be newer than prerequisites.
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
diff --git a/tests/remake10c.test b/tests/remake10c.test
index 2eb88db..c94cd98 100755
--- a/tests/remake10c.test
+++ b/tests/remake10c.test
@@ -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.test' and 'remake10b.test'.
 
 . ./defs || Exit 1
 
@@ -46,7 +46,6 @@ END
 mkdir m4
 echo 'AC_DEFUN([my_fingerprint], [BadBadBad])' > m4/foo.m4
 
-$sleep # So that generated autotools files will be newer than prerequisites.
 $ACLOCAL -I m4
 $AUTOCONF
 $AUTOMAKE
diff --git a/tests/remake12.test b/tests/remake12.test
index 1154d96..51f8476 100755
--- a/tests/remake12.test
+++ b/tests/remake12.test
@@ -106,7 +106,7 @@ $FGREP $magic3 quux.in && Exit 1
 $FGREP $magic3 zardoz
 $FGREP $magic1 zardoz && Exit 1
 $FGREP $magic2 zardoz && Exit 1
-# After the remake above, the files `zardoz.am' and `zardoz.in'
+# After the remake above, the files 'zardoz.am' and 'zardoz.in'
 # should be no more needed.
 echo 'endif' > zardoz.am # Put in a syntax error.
 $MAKE test
diff --git a/tests/remake1a.test b/tests/remake1a.test
index ce32cbc..fede092 100755
--- a/tests/remake1a.test
+++ b/tests/remake1a.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/remake3.test b/tests/remake3.test
index 361b5f4..96294fb 100755
--- a/tests/remake3.test
+++ b/tests/remake3.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/remake3a.test b/tests/remake3a.test
index b10c541..cac2abc 100755
--- a/tests/remake3a.test
+++ b/tests/remake3a.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/remake4.test b/tests/remake4.test
index 2205ab4..43f8569 100755
--- a/tests/remake4.test
+++ b/tests/remake4.test
@@ -21,7 +21,7 @@
 #
 # If this fails, this is likely to be due to a dependency being
 # given two different name.  For instance BSD Make does not know
-# that `Makefile' is the same as `./Makefile'
+# that 'Makefile' is the same as './Makefile'
 #
 # Report from Akim Demaille.
 
diff --git a/tests/remake8a.test b/tests/remake8a.test
index c87d4d7..a03a476 100755
--- a/tests/remake8a.test
+++ b/tests/remake8a.test
@@ -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.test', which performs the
 # same checks for a VPATH build.
 
 . ./defs || Exit 1
diff --git a/tests/remake8b.test b/tests/remake8b.test
index d6dd166..e240b81 100755
--- a/tests/remake8b.test
+++ b/tests/remake8b.test
@@ -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.test', which performs the
 # same checks for a in-tree build.
 
 . ./defs || Exit 1
diff --git a/tests/remake9a.test b/tests/remake9a.test
index ff06848..983e8e0 100755
--- a/tests/remake9a.test
+++ b/tests/remake9a.test
@@ -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*.test'.
 
 . ./defs || Exit 1
 
@@ -51,7 +51,6 @@ END
 
 echo cat > tweak-configure-in # It is a no-op by default.
 
-$sleep # So that generated autotools files will be newer than prerequisites.
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
diff --git a/tests/remake9b.test b/tests/remake9b.test
index 8ab7390..c41da20 100755
--- a/tests/remake9b.test
+++ b/tests/remake9b.test
@@ -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*.test'.
 
 . ./defs || Exit 1
 
@@ -53,7 +53,6 @@ END
 
 echo cat > tweak-makefile-am # It is a no-op by default.
 
-$sleep # So that generated autotools files will be newer than prerequisites.
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
diff --git a/tests/remake9c.test b/tests/remake9c.test
index 19afa61..5d0b0b2 100755
--- a/tests/remake9c.test
+++ b/tests/remake9c.test
@@ -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*.test'.
 
 . ./defs || Exit 1
 
@@ -56,7 +56,6 @@ echo "AC_DEFUN([my_fingerprint], [BadBadBad])" > acinclude.m4
 
 echo : > tweak-acinclude-m4 # It is a no-op by default.
 
-$sleep # So that generated autotools files will be newer than prerequisites.
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
diff --git a/tests/remake9d.test b/tests/remake9d.test
index e2daa31..67b1ff7 100755
--- a/tests/remake9d.test
+++ b/tests/remake9d.test
@@ -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*.test'.
 
 . ./defs || Exit 1
 
@@ -53,7 +53,6 @@ END
 
 echo cat > tweak-aclocal-m4 # It is a no-op by default.
 
-$sleep # So that generated autotools files will be newer than prerequisites.
 $ACLOCAL
 # Cheatingly mark aclocal.m4 as non auto-generated.
 sed '/^ *#.*generated automatically/d' aclocal.m4 > t
diff --git a/tests/rst-formatting.test b/tests/rst-formatting.test
index ad80aff..f23c28c 100755
--- a/tests/rst-formatting.test
+++ b/tests/rst-formatting.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Parallel testsuite harness: check APIs for the registering the
-# "global test result" in `*.trs' files, as documented in the automake
+# "global test result" in '*.trs' files, as documented in the automake
 # manual.
 
 am_create_testdir=empty
diff --git a/tests/self-check-cleanup.tap b/tests/self-check-cleanup.tap
index 5a5e77f..bd59657 100755
--- a/tests/self-check-cleanup.tap
+++ b/tests/self-check-cleanup.tap
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Sanity check for the automake testsuite.
-# Check creation/removal of temporary test working directory by `./defs'.
+# Check creation/removal of temporary test working directory by './defs'.
 
 . ./defs || Exit 1
 
@@ -26,7 +26,7 @@ fi
 plan_ 42
 
 # We still need a little hack to make ./defs work outside automake's
-# tree `tests' subdirectory.  Not a big deal.
+# tree 'tests' subdirectory.  Not a big deal.
 sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static
 diff ../defs-static defs-static && fatal_ "failed to edit defs-static"
 cp ../defs .
@@ -46,7 +46,11 @@ dir=dummy.dir
 do_clean ()
 {
   test -d $dir || return 0
-  find $dir -type d -exec chmod u+rwx '{}' ';' || :
+  # Don't try to be smart and use find here, that has caused issues
+  # and extra ERROR results in the past.  Be dumb and safe.
+  chmod u+rwx $dir || :
+  for d in $dir/*; do test ! -d $d || chmod u+rwx $d || :; done
+  for d in $dir/*/*; do test ! -d $d || chmod u+rwx $d || :; done
   rm -rf $dir
 }
 
@@ -62,17 +66,17 @@ fi
 cd ..
 chmod 000 $dir/sub/* $dir/file
 test $have_symlinks = yes && chmod 000 $dir/symlink
-chmod 000 $dir/sub $dir
-command_ok_ "pre-cleanup can deal with null-perms testdir" \
+chmod 500 $dir/sub $dir
+command_ok_ "pre-cleanup can deal with low-perms testdir" \
             $SHELL -c  '. ./defs' dummy.test
-command_ok_ "pre-cleanup removed null-perms testdir" \
+command_ok_ "pre-cleanup removed low-perms testdir" \
             eval 'test ! -f $dir && test ! -d $dir && test ! -r $dir'
 
 do_clean
 
 # Check that post-test cleanup works also with directories with
 # "null" permissions, and containing broken symlinks.
-command_ok_ "post-cleanup can deal with null-perms testdir" \
+command_ok_ "post-cleanup can deal with low-perms testdir" \
             $SHELL -c  '
   stderr_fileno_=2
   . ./defs || Exit 1
@@ -87,7 +91,7 @@ command_ok_ "post-cleanup can deal with null-perms testdir" \
   cd ..
   chmod 000 dir/sub/* dir/file
   test $have_symlinks = yes && chmod 000 dir/symlink
-  chmod 000 dir/sub dir
+  chmod 500 dir/sub dir
   :
 ' dummy.test
 command_ok_ "post-cleanup removed null-perms testdir" \
@@ -130,6 +134,7 @@ if test $have_symlinks = yes; then
   command_ok_ "post-cleanup chmod doesn't follow symlinks to dirs" \
               eval 'ls -ld dir | grep "^d---------.*dir"'
 
+  chmod u+rwx dir file
   rmdir dir
   rm -f file
 
diff --git a/tests/self-check-configure-help.test 
b/tests/self-check-configure-help.test
index d0442c3..23b9dc7 100755
--- a/tests/self-check-configure-help.test
+++ b/tests/self-check-configure-help.test
@@ -24,7 +24,7 @@
 # Prefer real-world data.  This is from the help screen of the
 # configure script from GNU coreutils, with small adaptations.
 cat > help <<'END'
-`configure' configures GNU coreutils 8.14a to adapt to many kinds of systems.
+'configure' configures GNU coreutils 8.14a to adapt to many kinds of systems.
 
 Usage: ./configure [OPTION]... [VAR=VALUE]...
 
@@ -38,11 +38,11 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print `checking ...' messages
+  -q, --quiet, --silent   do not print 'checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for `--cache-file=config.cache'
+  -C, --config-cache      alias for '--cache-file=config.cache'
   -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or `..']
+      --srcdir=DIR        find the sources in DIR [configure dir or '..']
 
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
@@ -50,10 +50,10 @@ Installation directories:
   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                           [PREFIX]
 
-By default, `make install' will install all the files in
-`/usr/local/bin', `/usr/local/lib' etc.  You can specify
-an installation prefix other than `/usr/local' using `--prefix',
-for instance `--prefix=$HOME'.
+By default, 'make install' will install all the files in
+'/usr/local/bin', '/usr/local/lib' etc.  You can specify
+an installation prefix other than '/usr/local' using '--prefix',
+for instance '--prefix=$HOME'.
 
 For better control, use the options below.
 
@@ -91,8 +91,8 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')
+  --enable-silent-rules          less verbose build output (undo: 'make V=1')
+  --disable-silent-rules         verbose build output (undo: 'make V=0')
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --disable-largefile     omit support for large files
@@ -148,17 +148,17 @@ Some influential environment variables:
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
-  YACC        The `Yet Another C Compiler' implementation to use. Defaults to
-              `bison -y'. Values other than `bison -y' will most likely break
+  YACC        The "Yet Another C Compiler" implementation to use. Defaults to
+              'bison -y'. Values other than 'bison -y' will most likely break
               on most systems.
   YFLAGS      YFLAGS contains the list arguments that will be passed by
               default to Bison. This script will default YFLAGS to the empty
-              string to avoid a default value of `-d' given by some make
+              string to avoid a default value of '-d' given by some make
               applications.
   DEFAULT_POSIX2_VERSION
               POSIX version to default to; see 'config.hin'.
 
-Use these variables to override the choices made by `configure' or to help
+Use these variables to override the choices made by 'configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
 Report bugs to <address@hidden>.
@@ -241,8 +241,8 @@ compare_extracted_help CPPFLAGS <<'END'
 END
 
 compare_extracted_help YACC <<'END'
-  YACC        The `Yet Another C Compiler' implementation to use. Defaults to
-              `bison -y'. Values other than `bison -y' will most likely break
+  YACC        The "Yet Another C Compiler" implementation to use. Defaults to
+              'bison -y'. Values other than 'bison -y' will most likely break
               on most systems.
 END
 
diff --git a/tests/self-check-dir.tap b/tests/self-check-dir.tap
index 45da511..d766462 100755
--- a/tests/self-check-dir.tap
+++ b/tests/self-check-dir.tap
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Sanity check for the automake testsuite.
-# Check that tests using `./defs' create a proper temporary directory,
+# Check that tests using './defs' create a proper temporary directory,
 # and run in it.  Also check that we can prevent the pre-population
 # and the creation of such directory if we want.
 
diff --git a/tests/self-check-env-sanitize.tap 
b/tests/self-check-env-sanitize.tap
index 30aa033..d4e6cdb 100755
--- a/tests/self-check-env-sanitize.tap
+++ b/tests/self-check-env-sanitize.tap
@@ -46,7 +46,7 @@ do_run ()
 do_grep ()
 {
   env "$1=foo" $SHELL -c '. ./defs' foo.test 2>&1 1>&5 \
-    | grep "foo\.test:.* variable \`$1'.* in the environment.*unsafe"
+    | grep "foo\.test:.* variable '$1'.* in the environment.*unsafe"
 }
 
 for var in $vars; do
diff --git a/tests/self-check-exit.tap b/tests/self-check-exit.tap
index 93e00e7..cb655a5 100755
--- a/tests/self-check-exit.tap
+++ b/tests/self-check-exit.tap
@@ -16,23 +16,23 @@
 
 # Sanity check for the automake testsuite.
 # Check that, in case of failing commands, the correct exit status is
-# passed to the exit trap installed by the `./defs' script.
-# Also check that the `errexit' shell flag is active.
+# passed to the exit trap installed by the './defs' script.
+# Also check that the 'errexit' shell flag is active.
 
 am_create_testdir=no
 . ./defs || Exit 99
 
 plan_ 34
 
-# This test becomes more cumbersome if we keep the `errexit' shell flag
+# This test becomes more cumbersome if we keep the 'errexit' shell flag
 # set.  And removing it is no big deal, as this test is a TAP-based one,
 # so that false positives remain very unlikely.
 set +e
 
 AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
 
-# It's especially important that the `unset' is done before sourcing
-# ./defs, i.e., when `set -e' is not active yet, for the benefit of shells
+# It's especially important that the 'unset' is done before sourcing
+# ./defs, i.e., when 'set -e' is not active yet, for the benefit of shells
 # (like Bash 2.05 and Solaris 10 /bin/ksh) that returns a non-zero status
 # when unsetting an already-unset variable.
 init='stderr_fileno_=2; unset am_explicit_skips; . ./defs'
@@ -79,7 +79,7 @@ done
 : Non-existent program.
 # Solaris 10 /bin/sh erroneously exit with success right away when the
 # following three conditions are met at the same time:
-#   1. the `errexit' flag is active,
+#   1. the 'errexit' flag is active,
 #   2. an exit trap is installed, and
 #   3. a non-existing command is issued.
 # Note that the non-existent command is issued as the last command to
diff --git a/tests/self-check-explicit-skips.test 
b/tests/self-check-explicit-skips.test
index ca5fb7a..602c31c 100755
--- a/tests/self-check-explicit-skips.test
+++ b/tests/self-check-explicit-skips.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Sanity check for the automake testsuite.
-# Check creation/removal of temporary test working directory by `./defs'.
+# Check creation/removal of temporary test working directory by './defs'.
 
 am_create_testdir=empty
 . ./defs || Exit 1
@@ -23,7 +23,7 @@ am_create_testdir=empty
 test x"$sh_errexit_works" = x"yes" || skip_ "no working shell exit trap"
 
 # We still need a little hack to make ./defs work outside automake's
-# tree `tests' subdirectory.  Not a big deal.
+# tree 'tests' subdirectory.  Not a big deal.
 sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static
 diff ../defs-static defs-static && Exit 99
 cp ../defs .
diff --git a/tests/self-check-is-blocked-signal.tap 
b/tests/self-check-is-blocked-signal.tap
index fa6c211..5c0dded 100755
--- a/tests/self-check-is-blocked-signal.tap
+++ b/tests/self-check-is-blocked-signal.tap
@@ -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/>.
 
-# Sanity check for the automake testsuite: the `signal_is_blocked'
+# Sanity check for the automake testsuite: the 'signal_is_blocked'
 # shell function.
 
 am_create_testdir=no
diff --git a/tests/self-check-is_newest.tap b/tests/self-check-is_newest.tap
index c803bd0..76b69ac 100755
--- a/tests/self-check-is_newest.tap
+++ b/tests/self-check-is_newest.tap
@@ -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/>.
 
-# Sanity check for the automake testsuite: the `is_newest' subroutine.
+# Sanity check for the automake testsuite: the 'is_newest' subroutine.
 
 . ./defs || Exit 1
 
@@ -45,7 +45,7 @@ stat c d || : # For debugging.
 Y c d
 
 # Should work on directories too, both empty and not-empty.  An older
-# implementation of `is_newest' failed if the first argument was a
+# implementation of 'is_newest' failed if the first argument was a
 # directory containing files newer than itself (see automake bug#9147).
 mkdir u x
 touch x/foo
diff --git a/tests/self-check-me.tap b/tests/self-check-me.tap
index f545a63..9ed4304 100755
--- a/tests/self-check-me.tap
+++ b/tests/self-check-me.tap
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Sanity check for the automake testsuite.
-# Make sure that $me gets automatically defined by `./defs', and that it
+# Make sure that $me gets automatically defined by './defs', and that it
 # can be overridden by the test script.
 
 am_create_testdir=no
@@ -25,7 +25,7 @@ plan_ 9
 
 AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
 
-# This test becomes cumbersome if we keep the `errexit' shell flag set.
+# This test becomes cumbersome if we keep the 'errexit' shell flag set.
 # And removing it is no big deal, as this test is a TAP-based one, so
 # that false positives remain very unlikely.
 set +e
diff --git a/tests/self-check-reexec.tap b/tests/self-check-reexec.tap
index eca7d3f..7c78e75 100755
--- a/tests/self-check-reexec.tap
+++ b/tests/self-check-reexec.tap
@@ -90,7 +90,7 @@ cat > need-bash.test <<'END'
 #!/bin/false
 . ./defs
 # Ensure that the script gets re-executed with bash.  Also ensure that
-# non-standard syntax used after the inclusion of `./defs' doesn't cause
+# non-standard syntax used after the inclusion of './defs' doesn't cause
 # non-bash shells to fail.
 # Subshell required to prevent some shells (e.g., Solaris 10 /bin/sh)
 # from only complaining on stderr but then exiting with exit status 0.
diff --git a/tests/self-check-sanity.test b/tests/self-check-sanity.test
index 4f03154..8a6b85c 100755
--- a/tests/self-check-sanity.test
+++ b/tests/self-check-sanity.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Sanity check for the automake testsuite.
-# Test the sanity checks performed by the `defs' script.  Also check
-# that we can use `defs' elsewhere, when we duplicate some of the
+# Test the sanity checks performed by the 'defs' script.  Also check
+# that we can use 'defs' elsewhere, when we duplicate some of the
 # infrastructure from the automake/tests subdirectory.
 
 am_create_testdir=empty
@@ -57,7 +57,7 @@ else
 fi
 
 # We still need a little hack to make ./defs work outside automake's
-# tree `tests' subdirectory.  Not a big deal.
+# tree 'tests' subdirectory.  Not a big deal.
 sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static
 # Redefining *srcdir and *builddir variables in the environment shouldn't
 # cause problems
diff --git a/tests/self-check-seq.tap b/tests/self-check-seq.tap
index 5a554fa..a92230e 100755
--- a/tests/self-check-seq.tap
+++ b/tests/self-check-seq.tap
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Sanity check for the automake testsuite.
-# Check the `seq_' subroutine.
+# Check the 'seq_' subroutine.
 
 . ./defs || Exit 1
 
@@ -61,8 +61,8 @@ check_err ()
   desc=$1 args=$2 err=$3
   (seq_ $args) >output || st=$?
   # Protect content emitted on stdout/stderr, to avoid sending to the
-  # TAP driver possible "Bail out!" directives generated by `seq_'.
-  # Use `grep -c' below for the same reason.
+  # TAP driver possible "Bail out!" directives generated by 'seq_'.
+  # Use 'grep -c' below for the same reason.
   sed 's/^/: /' output
   command_ok_ "$desc [exit status = 99]" test $st -eq 99
   command_ok_ "$desc [error message]" grep -c "seq_: $err" output
diff --git a/tests/self-check-tap.test b/tests/self-check-tap.test
index 371a5d4..6a2d132 100755
--- a/tests/self-check-tap.test
+++ b/tests/self-check-tap.test
@@ -16,7 +16,7 @@
 
 # Sanity check for the automake testsuite.
 # Make sure that $am_using_tap gets automatically defined by
-# `./defs-static', but can be overridden by the individual tests.
+# './defs-static', but can be overridden by the individual tests.
 
 . ./defs-static || exit 1
 
diff --git a/tests/self-check-unindent.tap b/tests/self-check-unindent.tap
index a5202dd..3591656 100755
--- a/tests/self-check-unindent.tap
+++ b/tests/self-check-unindent.tap
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Sanity check for the automake testsuite.
-# Check the `unindent' subroutine.
+# Check the 'unindent' subroutine.
 
 . ./defs || Exit 1
 
diff --git a/contrib/Makefile.am b/tests/silent-amopts.test
old mode 100644
new mode 100755
similarity index 71%
copy from contrib/Makefile.am
copy to tests/silent-amopts.test
index 91c1cab..f71ad13
--- a/contrib/Makefile.am
+++ b/tests/silent-amopts.test
@@ -1,27 +1,28 @@
-## Process this file with automake to create Makefile.in
-
-## Makefile for Automake contrib.
-
+#!/bin/sh
 # Copyright (C) 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/>.
 
-EXTRA_DIST = \
-  check-html.am \
-  multilib/README \
-  multilib/config-ml.in \
-  multilib/symlink-tree \
-  multilib/multilib.am \
-  multilib/multi.m4 \
-  README
+# Check that automake complaints if the 'silent-rules' option is
+# used in AUTOMAKE_OPTIONS.
+
+. ./defs || Exit 1
+
+echo AUTOMAKE_OPTIONS = silent-rules > Makefile.am
+
+$ACLOCAL
+AUTOMAKE_fails
+grep "^Makefile\.am:1:.*'silent-rules'.*AM_INIT_AUTOMAKE" stderr
+
+:
diff --git a/tests/silent-lex.test b/tests/silent-lex.test
index ff68eda..1855538 100755
--- a/tests/silent-lex.test
+++ b/tests/silent-lex.test
@@ -54,6 +54,9 @@ LDADD = $(LEXLIB)
 EOF
 
 cat > foo.l <<'EOF'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END"   return EOF;
 .
diff --git a/tests/silent-many-gcc.test b/tests/silent-many-gcc.test
index 708b9b7..8b457ca 100755
--- a/tests/silent-many-gcc.test
+++ b/tests/silent-many-gcc.test
@@ -19,7 +19,7 @@
 # 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.test', which should work with generic compilers.
 
 required='gcc g++ gfortran lex yacc'
 . ./defs || Exit 1
@@ -157,6 +157,9 @@ cat > foo3.f <<'EOF'
       end
 EOF
 cat > foo5.l <<'EOF'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END"   return EOF;
 .
@@ -202,7 +205,7 @@ $FGREP 'fo2-foo6.c' Makefile.in
 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.test'.
 for config_args in \
   "$depmodes"
 do
@@ -218,7 +221,7 @@ do
 
   # Ensure a clean rebuild.
   $MAKE clean
-  # This is required, since these files are not removed by `make clean'
+  # This is required, since these files are not removed by 'make clean'
   # (as dictated by the GNU Coding Standards).
   rm -f *foo5.c *foo6.[ch] sub/*baz5.c sub/*baz6.[ch]
 
diff --git a/tests/silent-many-generic.test b/tests/silent-many-generic.test
index 2f4cd9b..3949009 100755
--- a/tests/silent-many-generic.test
+++ b/tests/silent-many-generic.test
@@ -19,7 +19,7 @@
 # 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.test', which requires the GNU compilers
 # and forces the use of gcc depmode.
 
 required='cc c++ fortran fortran77 lex yacc'
@@ -110,17 +110,21 @@ test -n "`echo $CXX`" || AC_MSG_ERROR([C++ compiler not 
found], [77])
 test -n "`echo $FC`"  || AC_MSG_ERROR([Fortran compiler not found], [77])
 test -n "`echo $F77`" || AC_MSG_ERROR([Fortran 77 compiler not found], [77])
 
-# The SunStudio C++ compiler is unfortunately named `CC' (yuck!),
-# and this can cause problems with our grepping checks on the
-# output from make.  Avoid these problems by invoking a wrapper
-# script, as filtering the make output proved too fragile.
+# The SunStudio C++ compiler is unfortunately named 'sunCC' (or even just
+# 'CC', yuck!); similarly and the Portland group C++ compiler is named
+# 'pgCC'.  This can cause problems with our grepping checks on the output
+# from make.  Avoid these problems by invoking a wrapper script, as
+# filtering the make output proved too fragile.
 case " $CXX " in
-  *' CC '*|*'/CC '*)
-    AC_MSG_WARN([the C++ compiler '$CXX' seems to be named 'CC'])
+  *'CC '*)
+    AC_MSG_WARN([the C++ compiler '$CXX' name ends with 'CC'])
     AC_MSG_WARN([it will be wrapped with the custom script 'am--cxx'])
     echo '#!/bin/sh' > bin/am--cxx
     echo 'PATH=$saved_PATH; export PATH' >> bin/am--cxx
-    echo "exec $CXX \${1+"\$@"}" >> bin/am--cxx
+    echo "case \$# in" >> bin/am--cxx
+    echo "  0) exec $CXX ;;" >> bin/am--cxx
+    echo "  *) exec $CXX \"address@hidden" ;;" >> bin/am--cxx
+    echo "esac" >> bin/am--cxx
     chmod a+x bin/am--cxx
     CXX=am--cxx
 esac
@@ -180,6 +184,9 @@ cat > foo3.f <<'EOF'
       end
 EOF
 cat > foo5.l <<'EOF'
+%{
+#define YY_NO_UNISTD_H 1
+%}
 %%
 "END"   return EOF;
 .
@@ -239,7 +246,7 @@ do
 
   # Ensure a clean rebuild.
   $MAKE clean
-  # This is required, since these files are not removed by `make clean'
+  # This is required, since these files are not removed by 'make clean'
   # (as dictated by the GNU Coding Standards).
   rm -f *foo5.c *foo6.[ch] sub/*baz5.c sub/*baz6.[ch]
 
diff --git a/tests/silent-yacc-headers.test b/tests/silent-yacc-headers.test
index aaf0b30..63baaec 100755
--- a/tests/silent-yacc-headers.test
+++ b/tests/silent-yacc-headers.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check silent-rules mode for Yacc, when yacc-generated headers are
-# involved (i.e., the `-d' option is in *YFLAGS).
+# involved (i.e., the '-d' option is in *YFLAGS).
 
 required=yacc
 . ./defs || Exit 1
diff --git a/tests/silent-yacc.test b/tests/silent-yacc.test
index 11fa197..15db628 100755
--- a/tests/silent-yacc.test
+++ b/tests/silent-yacc.test
@@ -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.test'.
 
 required=yacc
 . ./defs || Exit 1
diff --git a/tests/silent3.test b/tests/silent3.test
index 21609f1..564a490 100755
--- a/tests/silent3.test
+++ b/tests/silent3.test
@@ -81,7 +81,7 @@ $MAKE V=1 >stdout || { cat stdout; Exit 1; }
 cat stdout
 grep ' -c' stdout
 grep ' -o libfoo' stdout
-# The libtool command line can contain e.g. a `--tag=CC' option.
+# The libtool command line can contain e.g. a '--tag=CC' option.
 sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && Exit 1
 
 :
diff --git a/tests/silent4.test b/tests/silent4.test
index cce38fc..44b7eb3 100755
--- a/tests/silent4.test
+++ b/tests/silent4.test
@@ -82,7 +82,7 @@ $MAKE V=1 >stdout || { cat stdout; Exit 1; }
 cat stdout
 grep ' -c' stdout
 grep ' -o libfoo' stdout
-# The libtool command line can contain e.g. a `--tag=CC' option.
+# The libtool command line can contain e.g. a '--tag=CC' option.
 sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && Exit 1
 
 :
diff --git a/tests/silent7.test b/tests/silent7.test
index d376c27..02ef287 100755
--- a/tests/silent7.test
+++ b/tests/silent7.test
@@ -85,7 +85,7 @@ grep 'GEN ' stdout && Exit 1
 grep 'cp ' stdout
 grep 'echo ' stdout
 
-# Ensure that setting `silent-rules' in a Makefile.am produces an error.
+# Ensure that setting 'silent-rules' in a Makefile.am produces an error.
 echo 'AUTOMAKE_OPTIONS = silent-rules' >> Makefile.am
 AUTOMAKE_fails --force
 
diff --git a/tests/silent8.test b/tests/silent8.test
index 257786a..a2fdb44 100755
--- a/tests/silent8.test
+++ b/tests/silent8.test
@@ -48,7 +48,7 @@ $MAKE V=0 dvi html info ps pdf >stdout || { cat stdout; Exit 
1; }
 cat stdout
 grep 'DVIPS    foo.ps' stdout || Exit 1
 grep 'MAKEINFO foo.html' stdout || Exit 1
-# NetBSD make will print `./foo.info' instead of `foo.info'.
+# NetBSD make will print './foo.info' instead of 'foo.info'.
 grep 'MAKEINFO.*foo.info' stdout || Exit 1
 grep 'TEXI2DVI foo.dvi' stdout || Exit 1
 grep 'TEXI2PDF foo.pdf' stdout || Exit 1
diff --git a/tests/silent9.test b/tests/silent9.test
index f8e017f..70195a1 100755
--- a/tests/silent9.test
+++ b/tests/silent9.test
@@ -81,7 +81,7 @@ $MAKE V=1 >stdout || { cat stdout; Exit 1; }
 cat stdout
 grep ' -c' stdout
 grep ' -o libfoo' stdout
-# The libtool command line can contain e.g. a `--tag=CC' option.
+# The libtool command line can contain e.g. a '--tag=CC' option.
 sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && Exit 1
 
 :
diff --git a/tests/silentcxx-gcc.test b/tests/silentcxx-gcc.test
index 7699ac8..d99f1e9 100755
--- a/tests/silentcxx-gcc.test
+++ b/tests/silentcxx-gcc.test
@@ -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.test', which should work with generic compilers.
 
 required=g++
 . ./defs || Exit 1
@@ -69,7 +69,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.test'.
 for config_args in \
   am_cv_CXX_dependencies_compiler_type=gcc
 do
diff --git a/tests/silentcxx.test b/tests/silentcxx.test
index 192178d..a41cc2d 100755
--- a/tests/silentcxx.test
+++ b/tests/silentcxx.test
@@ -16,7 +16,7 @@
 
 # Check silent-rules mode for C++.
 # 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.test', which requires the GNU C++ compiler
 # and forces the use of gcc depmode.
 
 required=c++
diff --git a/tests/specflg-dummy.test b/tests/specflg-dummy.test
index ae6473a..1486f4c 100755
--- a/tests/specflg-dummy.test
+++ b/tests/specflg-dummy.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that even "dummy" per-target flags triggers the use of renamed
-# objects.  I.e., a definition like `foo_CFLAGS = $(AM_CFLAGS)' should
+# objects.  I.e., a definition like 'foo_CFLAGS = $(AM_CFLAGS)' should
 # always cause Automake to trigger the semantics for per-target CFLAGS,
 # even if AM_CFLAGS is undefined. Similarly for other *FLAGS variables
 # (CXXFLAGS, YFLAGS, LDFLAGS, ...)
diff --git a/tests/specflg.test b/tests/specflg.test
index b4ffd00..9d5c73c 100755
--- a/tests/specflg.test
+++ b/tests/specflg.test
@@ -30,7 +30,7 @@ foo_SOURCES = foo.c
 foo_CFLAGS = -DBAR
 END
 
-# Make sure `compile' is required.
+# Make sure 'compile' is required.
 $ACLOCAL
 AUTOMAKE_fails
 grep 'required.*compile' stderr
diff --git a/tests/specflg2.test b/tests/specflg2.test
index be7ebb5..9f9569c 100755
--- a/tests/specflg2.test
+++ b/tests/specflg2.test
@@ -36,7 +36,7 @@ END
 
 : > ar-lib
 
-# Make sure `compile' is required.
+# Make sure 'compile' is required.
 $ACLOCAL
 AUTOMAKE_fails
 grep 'required.*compile' stderr
diff --git a/tests/spy-rm.tap b/tests/spy-rm.tap
new file mode 100755
index 0000000..af7ba2a
--- /dev/null
+++ b/tests/spy-rm.tap
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 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/>.
+
+# Check whether "rm -f" do not complain if called without file
+# operands.  We'd like to depend on this behaviour (which seems
+# to hold on all non-museum systems, and will soon be mandated
+# by POSIX as well) in future version of automake, to simplify
+# automake-provided cleanup rules.
+# References:
+#  <http://lists.gnu.org/archive/html/bug-autoconf/2012-02/msg00002.html>
+#  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10819>
+#  <http://austingroupbugs.net/view.php?id=542>
+
+am_create_testdir=empty
+. ./defs || Exit 1
+
+plan_ 10
+
+chk ()
+{
+  if test -f /bin/rm; then
+    command_ok_ "/bin/rm $*" /bin/rm "$@"
+  else
+    skip_ -r "/bin/rm not found"
+  fi
+  command_ok_ "rm $*" rm "$@"
+}
+
+chk -f
+chk -rf
+chk -fr
+chk -f -r
+chk -r -f
+
+:
diff --git a/tests/spy.test b/tests/spy.test
index 61fba4b..0d087a4 100755
--- a/tests/spy.test
+++ b/tests/spy.test
@@ -37,8 +37,8 @@
 # | belief that they were unportable.
 
 # On a related topic, the Autoconf manual has the following text:
-# |     `VPATH' and double-colon rules
-# |           Any assignment to `VPATH' causes Sun `make' to only execute
+# |     'VPATH' and double-colon rules
+# |           Any assignment to 'VPATH' causes Sun 'make' to only execute
 # |           the first set of double-colon rules.  (This comment has been
 # |           here since 1994 and the context has been lost.  It's probably
 # |           about SunOS 4.  If you can reproduce this, please send us a
@@ -57,11 +57,11 @@
 # Make attempts to run all matching rules.  However at least GNU Make,
 # NetBSD Make, and FreeBSD Make will detect that $@ was updated by the
 # first matching rule and skip remaining matches (with the above
-# example that means that unless `a' was declared PHONY, only "rule1"
-# will be appended to `a' if both b and c have changed).  Other
+# example that means that unless 'a' was declared PHONY, only "rule1"
+# will be appended to 'a' if both b and c have changed).  Other
 # implementations like OSF1 Make and HP-UX Make do not perform such a
 # check and execute all matching rules whatever they do ("rule1",
-# "rule2", abd "rule3" will all be appended to `a' if b and c have
+# "rule2", abd "rule3" will all be appended to 'a' if b and c have
 # changed).
 
 # So it seems only non-overlapping ::-rule may be portable.  This is
diff --git a/tests/stamph2.test b/tests/stamph2.test
index a7a3c34..59a373a 100755
--- a/tests/stamph2.test
+++ b/tests/stamph2.test
@@ -51,7 +51,7 @@ test -f sdir1/stamp-h5
 test -f sdir1/stamp-h6
 test -f sdir1/stamp-h7
 
-# Make sure `./config.status foo' creates the right stamp file.
+# Make sure './config.status foo' creates the right stamp file.
 # Report from Sander Niemeijer.
 
 rm -f stamp-h*
diff --git a/tests/stdlib2.test b/tests/stdlib2.test
index 749f22e..ce5158f 100755
--- a/tests/stdlib2.test
+++ b/tests/stdlib2.test
@@ -90,5 +90,5 @@ FOO = -module
 END
 
 AUTOMAKE_fails
-grep "Makefile.am:2:.*nonstandard'.*standard libtool module name" stderr
-grep 'Makefile.am:2:.*`nonstandard.la' stderr
+grep "Makefile.am:2:.*'nonstandard'.*standard libtool module name" stderr
+grep 'Makefile.am:2:.*nonstandard.la' stderr
diff --git a/tests/subcond2.test b/tests/subcond2.test
index d3e3679..0e9f451 100755
--- a/tests/subcond2.test
+++ b/tests/subcond2.test
@@ -39,8 +39,8 @@ SUBDIRS = src $(MAYBE_OPT)
 #      - src/result is always built
 #      - opt/result is built conditionally
 #
-# We rely on `distcheck' to run `check-local' and use
-# `sanity1' and `sanity2' as evidences that test-build was run.
+# We rely on 'distcheck' to run 'check-local' and use
+# 'sanity1' and 'sanity2' as evidences that test-build was run.
 
 if COND_OPT
 test-build: all
@@ -74,7 +74,7 @@ result: source
        cp $(srcdir)/source result
 END
 
-# We want in opt/ the same Makefile as in src/.  Let's exercise `include'.
+# We want in opt/ the same Makefile as in src/.  Let's exercise 'include'.
 cat >opt/Makefile.am << 'END'
 include ../src/Makefile.am
 END
diff --git a/tests/subcond3.test b/tests/subcond3.test
index 39b39d9..e84aa41 100755
--- a/tests/subcond3.test
+++ b/tests/subcond3.test
@@ -42,8 +42,8 @@ DIST_SUBDIRS = src opt
 #      - src/result is always built
 #      - opt/result is built conditionally
 #
-# We rely on `distcheck' to run `check-local' and use
-# `sanity1' and `sanity2' as evidences that test-build was run.
+# We rely on 'distcheck' to run 'check-local' and use
+# 'sanity1' and 'sanity2' as evidences that test-build was run.
 
 test-build: all
        test -f src/result
@@ -75,7 +75,7 @@ result: source
        cp $(srcdir)/source result
 END
 
-# We want in opt/ the same Makefile as in src/.  Let's exercise `include'.
+# We want in opt/ the same Makefile as in src/.  Let's exercise 'include'.
 cat >opt/Makefile.am << 'END'
 include ../src/Makefile.am
 END
diff --git a/tests/subdir2.test b/tests/subdir2.test
index 3ef4151..31e3c61 100755
--- a/tests/subdir2.test
+++ b/tests/subdir2.test
@@ -26,7 +26,7 @@ AC_CONFIG_FILES([one/Makefile one/two/Makefile])
 AC_OUTPUT
 END
 
-# Files required because we are using `--gnu'.
+# Files required because we are using '--gnu'.
 : > INSTALL
 : > NEWS
 : > README
diff --git a/tests/subdir4.test b/tests/subdir4.test
index 2094a1a..81528b2 100755
--- a/tests/subdir4.test
+++ b/tests/subdir4.test
@@ -29,7 +29,7 @@ AC_CONFIG_FILES([lib/Makefile src/Makefile])
 AC_OUTPUT
 END
 
-# Files required because we are using `--gnu'.
+# Files required because we are using '--gnu'.
 : > INSTALL
 : > NEWS
 : > README
diff --git a/tests/subdir5.test b/tests/subdir5.test
index ed8eb75..a74c746 100755
--- a/tests/subdir5.test
+++ b/tests/subdir5.test
@@ -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
+# 'subdir8.test' do it from a subdirectory.
 # PR automake/46
 
 . ./defs || Exit 1
@@ -69,7 +69,7 @@ grep '^SUBDIRS = *maude *$' Makefile
 test -f maude/Makefile
 
 # Then we add a new directory by modifying a file included (through
-# `m4_include') by configure.ac.
+# 'm4_include') by configure.ac.
 mkdir maude2
 # Modified configure dependencies must be newer than config.status.
 $sleep
diff --git a/tests/subdir8.test b/tests/subdir8.test
index f7a464c..ee9e0b0 100755
--- a/tests/subdir8.test
+++ b/tests/subdir8.test
@@ -15,7 +15,7 @@
 # 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
+# subdirectories.  The sister test 'subdir5.test' makes sure it works
 # when make is run from the top-level directory.
 # PR automake/46
 
diff --git a/tests/subdirbuiltsources.test b/tests/subdirbuiltsources.test
index 23c04f7..2f50708 100755
--- a/tests/subdirbuiltsources.test
+++ b/tests/subdirbuiltsources.test
@@ -31,7 +31,7 @@ AM_PROG_AR
 AC_OUTPUT
 END
 
-# Files required because we are using `--gnu'.
+# Files required because we are using '--gnu'.
 : > INSTALL
 : > NEWS
 : > README
diff --git a/tests/subobj11a.test b/tests/subobj11a.test
index b0e37fc..e3666ef 100755
--- a/tests/subobj11a.test
+++ b/tests/subobj11a.test
@@ -20,17 +20,17 @@
 #
 # Solaris 10 make fails with a message like:
 #
-#   make: ... can't find `/foo.mk': No such file or directory
-#   make: fatal error ... read of include file `/foo.mk' failed
+#   make: ... can't find '/foo.mk': No such file or directory
+#   make: fatal error ... read of include file '/foo.mk' failed
 #
-# (even if the file `foo.mk' exists). The error disappear by
-# collapsing the repeated slash `/' characters into a single one.
+# (even if the file 'foo.mk' exists). The error disappear by
+# collapsing the repeated slash '/' characters into a single one.
 #
 # GNU make shouldn't suffer from this bug; but we check for it
 # anyway -- better safe than sorry.
 #
-# See also sister "grepping" test `subobj11b.test', and related test
-# `subobj11c.test'.
+# See also sister "grepping" test 'subobj11b.test', and related test
+# 'subobj11c.test'.
 
 required=cc
 . ./defs || Exit 1
@@ -44,7 +44,7 @@ END
 cat > Makefile.am << 'END'
 AUTOMAKE_OPTIONS = subdir-objects
 bin_PROGRAMS = foo
-## The `.//' below is meant.
+## The './/' below is meant.
 foo_SOURCES = .//src/foo.c
 END
 
diff --git a/tests/subobj11c.test b/tests/subobj11c.test
index e3a05fb..8891ad2 100755
--- a/tests/subobj11c.test
+++ b/tests/subobj11c.test
@@ -17,7 +17,7 @@
 # Automatic dependency tracking with subdir-objects option active:
 # check for a pathological case of slash-collapsing in the name of
 # included makefile fragments (containing dependency info).
-# See also related test `subobj11a.test'.
+# See also related test 'subobj11a.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/subobj4.test b/tests/subobj4.test
index 8631d2b..6a3d221 100755
--- a/tests/subobj4.test
+++ b/tests/subobj4.test
@@ -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/>.
 
-# Make sure `../foo/foo.cpp' generates a rule.
+# Make sure '../foo/foo.cpp' generates a rule.
 # Report from Dave Brolley.
 
 . ./defs || Exit 1
diff --git a/tests/subobj8.test b/tests/subobj8.test
index da64f74..35b566f 100755
--- a/tests/subobj8.test
+++ b/tests/subobj8.test
@@ -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/>.
 
-# Make sure `compile' is included when subdir-objects is used in a subdir.
+# Make sure 'compile' is included when subdir-objects is used in a subdir.
 
 . ./defs || Exit 1
 
diff --git a/tests/subobj9.test b/tests/subobj9.test
index dfa70c1..f706edf 100755
--- a/tests/subobj9.test
+++ b/tests/subobj9.test
@@ -19,8 +19,8 @@
 # == Report ==
 # When using non-recursive make to build a libtoolize-library from
 # sources in a subdirectory, 'make distcheck' fails because of incomplete
-# cleanup. "make clean" tries to remove `*.o' and `.../<file>.lo' but
-# forgets `.../<file>.o'.
+# cleanup. "make clean" tries to remove '*.o' and '.../<file>.lo' but
+# forgets '.../<file>.o'.
 
 required='c++ libtoolize'
 . ./defs || Exit 1
@@ -83,7 +83,7 @@ $MAKE
 $MAKE distcheck >output 2>&1 || { cat output; Exit 1; }
 cat output
 # GNU Make used to complain that the Makefile contained two rules
-# for `src/.dirstamp' and `.//src/.dirstamp'.
+# for 'src/.dirstamp' and './/src/.dirstamp'.
 grep 'overriding commands' output && Exit 1
 
 :
diff --git a/tests/subpkg4.test b/tests/subpkg4.test
index 28ee763..f8e9a2c 100755
--- a/tests/subpkg4.test
+++ b/tests/subpkg4.test
@@ -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 to ensure `distdir' fixes the mode of files and directories
-# copied into `$(distdir)', even with sub-packages.
+# Test to ensure 'distdir' fixes the mode of files and directories
+# copied into '$(distdir)', even with sub-packages.
 
 . ./defs || Exit 1
 
diff --git a/tests/subst-no-trailing-empty-line.test 
b/tests/subst-no-trailing-empty-line.test
index 719ff1a..82b4e55 100755
--- a/tests/subst-no-trailing-empty-line.test
+++ b/tests/subst-no-trailing-empty-line.test
@@ -18,8 +18,8 @@
 # @substitutions@, automake should take care of appending an empty
 # variable to make sure that line cannot end up substituted as a blank
 # line (that would confuse HP-UX Make).
-# These checks have been introduced in commit `Release-1-9-254-g9d0eaef'
-# into the former test `subst2.test'.
+# These checks have been introduced in commit 'Release-1-9-254-g9d0eaef'
+# into the former test 'subst2.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/suffix.test b/tests/suffix.test
index 1490f6e..f9944cb 100755
--- a/tests/suffix.test
+++ b/tests/suffix.test
@@ -16,7 +16,7 @@
 
 # Make sure proper suffix rules for C compilation are produced, and
 # only once.
-# See also related test `suffix2.test'.
+# See also related test 'suffix2.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/suffix10.tap b/tests/suffix10.tap
index 7a0cfee..0ef7615 100755
--- a/tests/suffix10.tap
+++ b/tests/suffix10.tap
@@ -35,7 +35,7 @@ lib_LTLIBRARIES = libfoo.la
 libfoo_la_SOURCES = foo.x_
 .x_.y:
        rm -f $@ address@hidden
-## The leading `:;' works around a bug in bash <= 3.2.
+## The leading ':;' works around a bug in bash <= 3.2.
        :; { echo '/* autogenerated */' \
          && echo '%{' \
          && echo 'int yylex () {return 0;}' \
diff --git a/tests/suffix11.tap b/tests/suffix11.tap
index 6c897c3..113e4b3 100755
--- a/tests/suffix11.tap
+++ b/tests/suffix11.tap
@@ -16,7 +16,7 @@
 
 # Tests that Automake understands multiple suffix rules on the same line.
 # PR/371 and PR/372: Reported by Duncan Gibson.
-# We also check for suffixes containing `-'.
+# We also check for suffixes containing '-'.
 
 required=cc
 . ./defs || Exit 1
diff --git a/tests/suffix2.test b/tests/suffix2.test
index afd67d4..6dd2616 100755
--- a/tests/suffix2.test
+++ b/tests/suffix2.test
@@ -16,7 +16,7 @@
 
 # Make sure proper suffix rules for C compilation are produced,
 # and only once, even for libtool libraries.
-# See also related test `suffix.test'.
+# See also related test 'suffix.test'.
 required=libtoolize
 
 . ./defs || Exit 1
diff --git a/tests/suffix3.tap b/tests/suffix3.tap
index 23670ab..95a0ebe 100755
--- a/tests/suffix3.tap
+++ b/tests/suffix3.tap
@@ -43,7 +43,7 @@ command_ok_ "automake" $AUTOMAKE
 
 # The foo.cc intermediate step is implicit, it's a mistake if
 # Automake requires this file somewhere.  Also, Automake should
-# not require the file `foo.c' anywhere.
+# not require the file 'foo.c' anywhere.
 command_ok_ "intermediate files not mentioned" \
   not $FGREP foo.c Makefile.in
 # However Automake must figure that foo.zoo is eventually
@@ -66,7 +66,7 @@ END
 command_ok_ "make all" $MAKE all
 command_ok_ "make distcheck"  $MAKE distcheck
 
-# FIXME: should we check that intermediate file `foo.cc' has
+# FIXME: should we check that intermediate file 'foo.cc' has
 # been removed?  Or is this requiring too much from the make
 # implementation?
 
diff --git a/tests/suffix5.test b/tests/suffix5.test
index ad915aa..85a4c06 100755
--- a/tests/suffix5.test
+++ b/tests/suffix5.test
@@ -47,7 +47,7 @@ END
 
 for auxscript in ar-lib config.guess config.sub; do
   cp "$am_scriptdir/$auxscript" . \
-    || fatal_ "fetching auxiliary script \`$auxscript'"
+    || fatal_ "fetching auxiliary script '$auxscript'"
 done
 
 $ACLOCAL
diff --git a/tests/suffix6.test b/tests/suffix6.test
index 4b13ed0..29ffc4d 100755
--- a/tests/suffix6.test
+++ b/tests/suffix6.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Test to make sure Automake supports implicit rules with dot-less
-# extensions.  Also make sure that `.o' and `.obj' are handled like
-# `.$(OBJEXT)'.  See also related "semantic" tests suffix6b.test
+# extensions.  Also make sure that '.o' and '.obj' are handled like
+# '.$(OBJEXT)'.  See also related "semantic" tests suffix6b.test
 # and suffix6c.test.
 
 . ./defs || Exit 1
diff --git a/tests/suffix6c.test b/tests/suffix6c.test
index 1319e62..549f807 100755
--- a/tests/suffix6c.test
+++ b/tests/suffix6c.test
@@ -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 to make sure that `.o' and `.obj' are handled like `.$(OBJEXT)'.
+# Test to make sure that '.o' and '.obj' are handled like '.$(OBJEXT)'.
 # See also related "grepping" test suffix6.test.
 
 . ./defs || Exit 1
diff --git a/tests/suffix9.test b/tests/suffix9.test
index a38f143..2c1d73d 100755
--- a/tests/suffix9.test
+++ b/tests/suffix9.test
@@ -31,7 +31,7 @@ $ACLOCAL
 # Automake should follow the bottom route: x_ -> c -> o because
 # it is shorter.
 #
-# It should not take the "-> y ->" route.  We use `y' here so that
+# It should not take the "-> y ->" route.  We use 'y' here so that
 # then Automake will complains that YACC is not defined and the test will
 # fail when this happens.
 
diff --git a/tests/symlink2.test b/tests/symlink2.test
index f18fc28..46e26db 100755
--- a/tests/symlink2.test
+++ b/tests/symlink2.test
@@ -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 to make sure that `automake -a' redirects dangling symlinks.
+# Test to make sure that 'automake -a' redirects dangling symlinks.
 
 . ./defs || Exit 1
 
diff --git a/tests/tap-color.test b/tests/tap-color.test
index 10261cc..927b675 100755
--- a/tests/tap-color.test
+++ b/tests/tap-color.test
@@ -23,7 +23,7 @@ am_parallel_tests=yes
 TERM=ansi; export TERM
 
 esc=''
-# Escape `[' for grep, below.
+# Escape '[' for grep, below.
 red="$esc\[0;31m"
 grn="$esc\[0;32m"
 lgn="$esc\[1;32m"
diff --git a/tests/tap-exit.test b/tests/tap-exit.test
index f7a34c4..236e92d 100755
--- a/tests/tap-exit.test
+++ b/tests/tap-exit.test
@@ -16,7 +16,7 @@
 
 # TAP support:
 #  - an exit status != 0 of a test script causes an hard error
-#  - the `--ignore-exit' option causes the TAP test driver to ignore
+#  - the '--ignore-exit' option causes the TAP test driver to ignore
 #    exit statuses of the test scripts.
 
 am_parallel_tests=yes
diff --git a/tests/tap-functions.sh b/tests/tap-functions.sh
index 700904b..3a5db03 100644
--- a/tests/tap-functions.sh
+++ b/tests/tap-functions.sh
@@ -84,7 +84,7 @@ planned_=none
 # diag_ [EXPLANATION]
 # ------------------
 # Report the given text as TAP diagnostic.  Assumes the string denoting
-# TAP diagnostic lines is stored in the `$diag_string_' variable; this is
+# TAP diagnostic lines is stored in the '$diag_string_' variable; this is
 # done to allow better interplay with TAP drivers that allow such a string
 # to be configured.
 diag_ ()
@@ -92,7 +92,7 @@ diag_ ()
   test $# -eq 0 || echo "$diag_string_ $*"
 }
 
-# Used by the `diag_' function above.  User-overridable.
+# Used by the 'diag_' function above.  User-overridable.
 diag_string_="#"
 
 # warn_ [EXPLANATION]
@@ -156,7 +156,7 @@ result_ ()
   set -x # Restore shell xtraces.
 }
 
-#  Shorthands for common usages of `result_'.
+#  Shorthands for common usages of 'result_'.
 ok_ () { result_ 'ok' ${1+"$@"}; }
 not_ok_ () { result_ 'not ok' ${1+"$@"}; }
 skip_ () { result_ 'ok' -D SKIP ${1+"$@"}; }
@@ -174,7 +174,7 @@ skip_row_ ()
 
 # skip_all_ [REASON ...]
 # ----------------------
-# Skip all the tests in a test script.  Must be used before calling `plan_'
+# Skip all the tests in a test script.  Must be used before calling 'plan_'
 # or reporting any test result.  Can't be used from within a subshell.
 skip_all_ ()
 {
@@ -196,7 +196,7 @@ bailout_ ()
 
 # fatal_ [REASON ...]
 # -------------------
-# Same as `bailout_'; for compatibility with `plain-functions.sh'.
+# Same as 'bailout_'; for compatibility with 'plain-functions.sh'.
 fatal_ ()
 {
   bailout_ ${1+"$@"}
diff --git a/tests/tap-merge-stdout-stderr.test 
b/tests/tap-merge-stdout-stderr.test
index 7b14c7f..deb277b 100755
--- a/tests/tap-merge-stdout-stderr.test
+++ b/tests/tap-merge-stdout-stderr.test
@@ -59,7 +59,7 @@ cat stdout
 
 count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
 
-# See that the option `--no-merge' can override the effect of `--merge'.
+# See that the option '--no-merge' can override the effect of '--merge'.
 
 $MAKE check TEST_LOG_DRIVER_FLAGS=--no-merge >stdout \
   || { cat stdout; Exit 1; }
diff --git a/tests/tap-more.test b/tests/tap-more.test
index 643ca21..6f5d5fe 100755
--- a/tests/tap-more.test
+++ b/tests/tap-more.test
@@ -97,10 +97,10 @@ for try in 0 1; do
         run_make=$MAKE
         ;;
       *)
-        # Some make implementations (e.g., HP-UX) don't grok `-j',
-        # some require no space between `-j' and the number of jobs
+        # Some make implementations (e.g., HP-UX) don't grok '-j',
+        # some require no space between '-j' and the number of jobs
         # (e.g., older GNU make versions), and some *do* require a
-        # space between `-j' and the number of jobs (e.g., Solaris
+        # space between '-j' and the number of jobs (e.g., Solaris
         # dmake).  We need a runtime test to see what works.
         echo 'all:' > Makefile
         for run_make in "$MAKE -j3" "$MAKE -j 3" "$MAKE"; do
@@ -134,8 +134,8 @@ for try in 0 1; do
 
   # Failure.
 
-  # Use `echo' here, since Solaris 10 /bin/sh would try to optimize
-  # a `:' away after the first iteration, even if it is redirected.
+  # Use 'echo' here, since Solaris 10 /bin/sh would try to optimize
+  # a ':' away after the first iteration, even if it is redirected.
   echo dummy > not-skip
   echo dummy > bail-out
   $run_make check >stdout && { cat stdout; Exit 1; }
diff --git a/tests/tap-more2.test b/tests/tap-more2.test
index 253fdb9..3cefd58 100755
--- a/tests/tap-more2.test
+++ b/tests/tap-more2.test
@@ -17,7 +17,7 @@
 # More on TAP support:
 #  - more LOG_COMPILER at once for TAP tests
 #  - binary programs in $(TESTS)
-#  - interactions with `check_*' variables
+#  - interactions with 'check_*' variables
 
 required='cc native'
 am_parallel_tests=yes
diff --git a/tests/tap-no-spurious-summary.test 
b/tests/tap-no-spurious-summary.test
index 881dec9..3b69bf9 100755
--- a/tests/tap-no-spurious-summary.test
+++ b/tests/tap-no-spurious-summary.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # TAP support:
-#  - `:test-results:' directives in test scripts' output doesn't
+#  - ':test-results:' directives in test scripts' output doesn't
 #    originate spurious results in the testsuite summary
 
 am_parallel_tests=yes
diff --git a/tests/tap-no-spurious.test b/tests/tap-no-spurious.test
index a46ba5c..7cd1880 100755
--- a/tests/tap-no-spurious.test
+++ b/tests/tap-no-spurious.test
@@ -84,7 +84,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.test' for an explanation
 # of why we don't have a whitespace-prepended "Bail out!" line here.
 cat >> all.test <<'END'
 bailout
diff --git a/tests/tap-plan-leading-zero.test b/tests/tap-plan-leading-zero.test
index d680c69..577cfba 100755
--- a/tests/tap-plan-leading-zero.test
+++ b/tests/tap-plan-leading-zero.test
@@ -17,7 +17,7 @@
 # TAP support:
 #  - TAP plans with numbers having leading zeroes, as in "1..01"
 #  - TAP "SKIP" plans with multiple zeroes, as in "1..00 # SKIP"
-# This is consistent with the behaviour of the `prove' utility.
+# This is consistent with the behaviour of the 'prove' utility.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
diff --git a/tests/tap-plan-malformed.test b/tests/tap-plan-malformed.test
index 35c96e8..bff19d6 100755
--- a/tests/tap-plan-malformed.test
+++ b/tests/tap-plan-malformed.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # TAP support: a malformed TAP plan is not recognized.  The checks in
-# here should be consistent with the behaviour of the `prove' utility.
+# here should be consistent with the behaviour of the 'prove' utility.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
diff --git a/tests/tap-setup.sh b/tests/tap-setup.sh
index ee9d814..ab15505 100755
--- a/tests/tap-setup.sh
+++ b/tests/tap-setup.sh
@@ -17,7 +17,7 @@
 # Auxiliary shell script that copies the common data and files used by
 # many tests on TAP support into the current directory.  It should be
 # sourced by client test scripts, and assumes the auxiliary test
-# `tap-common-setup.test' has been run beforehand (it will error out
+# 'tap-common-setup.test' has been run beforehand (it will error out
 # if this is not the case).
 
 # Check that we are running from a proper directory: last thing we want
@@ -28,7 +28,7 @@ test -f ../defs-static && test -f ../defs \
 test ! -f Makefile.am || mv Makefile.am Makefile.am~ \
   || fatal_ "failed to save Makefile.am"
 
-test -d ../tap-common-setup.dir && cp -Rp ../tap-common-setup.dir/* . \
+test -d ../tap-common-setup.dir && cp -fpR ../tap-common-setup.dir/* . \
   || fatal_ "couldn't get precomputed data files"
 
 fetch_tap_driver
diff --git a/tests/tap-test-number-0.test b/tests/tap-test-number-0.test
index d9d1a5b..0782e17 100755
--- a/tests/tap-test-number-0.test
+++ b/tests/tap-test-number-0.test
@@ -16,7 +16,7 @@
 
 # TAP support:
 #  - a test result numbered as 0 is to be considered out-of-order
-# This is consistent with the behaviour of the `prove' utility.
+# This is consistent with the behaviour of the 'prove' utility.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
diff --git a/tests/tar-override.test b/tests/tar-override.test
index 393bae8..641ce86 100755
--- a/tests/tar-override.test
+++ b/tests/tar-override.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that the user can override the tar program used by "make dist"
-# at runtime, by redefining the `TAR' environment variable.
-# FIXME: currently this works only when the tar format used is `v7'
+# at runtime, by redefining the 'TAR' environment variable.
+# FIXME: currently this works only when the tar format used is 'v7'
 # FIXME: (which is the default one).
 
 . ./defs || Exit 1
diff --git a/tests/tar3.test b/tests/tar3.test
index ea46bb8..403ce99 100755
--- a/tests/tar3.test
+++ b/tests/tar3.test
@@ -29,7 +29,11 @@ END
 
 $ACLOCAL
 AUTOMAKE_fails
-grep 'configure.ac:2:.*mutually exclusive' stderr
+grep "^configure\.ac:2:.*mutually exclusive" stderr > tar-err
+cat tar-err
+test 1 = `wc -l < tar-err`
+grep "'tar-pax'" tar-err
+grep "'tar-v7'"  tar-err
 
 rm -rf autom4te.cache
 
@@ -43,4 +47,6 @@ END
 echo 'AUTOMAKE_OPTIONS = tar-pax' > Makefile.am
 
 AUTOMAKE_fails
-grep 'Makefile.am:1:.*tar-pax.*AM_INIT_AUTOMAKE' stderr
+grep '^Makefile\.am:1:.*tar-pax.*AM_INIT_AUTOMAKE' stderr
+
+:
diff --git a/tests/test-driver-create-log-dir.test 
b/tests/test-driver-create-log-dir.test
index 988331e..bfca0b9 100755
--- a/tests/test-driver-create-log-dir.test
+++ b/tests/test-driver-create-log-dir.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Custom test drivers: if a log file has a directory component (as in
-# e.g., `sub/foo.log'), the Automake test harness must ensure that
+# e.g., 'sub/foo.log'), the Automake test harness must ensure that
 # directory exists before calling any custom test driver.
 
 am_parallel_tests=yes
@@ -26,7 +26,7 @@ AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
-# The extra `.' components below are meant.
+# The extra '.' components below are meant.
 TESTS = sub/foo sub/subsub/bar.test ././sub1/./baz
 $(TESTS):
 LOG_DRIVER = $(srcdir)/checkdir-driver
diff --git a/tests/test-driver-custom-multitest-recheck.test 
b/tests/test-driver-custom-multitest-recheck.test
index 4bf9c00..267f0d5 100755
--- a/tests/test-driver-custom-multitest-recheck.test
+++ b/tests/test-driver-custom-multitest-recheck.test
@@ -18,8 +18,8 @@
 # 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'.
+# See also related tests 'test-driver-custom-multitest-recheck2.test'
+# and 'parallel-tests-recheck-override.test'.
 # Keep in sync with 'tap-recheck.test'.
 
 am_parallel_tests=yes
diff --git a/tests/test-driver-custom-multitest-recheck2.test 
b/tests/test-driver-custom-multitest-recheck2.test
index 274c34d..fa1fe0e 100755
--- a/tests/test-driver-custom-multitest-recheck2.test
+++ b/tests/test-driver-custom-multitest-recheck2.test
@@ -18,8 +18,8 @@
 # that allow multiple testcases in a single test script.  In particular,
 # check that this still works when we override $(TESTS) and $(TEST_LOGS)
 # at make runtime.
-# See also related tests `test-driver-custom-multitest-recheck.test' and
-# `parallel-tests-recheck-override.test'.
+# See also related tests 'test-driver-custom-multitest-recheck.test' and
+# 'parallel-tests-recheck-override.test'.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
@@ -141,8 +141,8 @@ for vpath in : false; do
   : No need to re-run a.test anymore, but c.test should be rerun,
   : as it contained an XPASS.  And this time, make it fail with
   : an hard error.
-  # Use `echo' here, since Solaris 10 /bin/sh would try to optimize
-  # a `:' away after the first iteration, even if it is redirected.
+  # Use 'echo' here, since Solaris 10 /bin/sh would try to optimize
+  # a ':' away after the first iteration, even if it is redirected.
   echo dummy > c.err
   $MAKE TEST_LOGS='a.log c.log' recheck >stdout && { cat stdout; Exit 1; }
   cat stdout
@@ -155,7 +155,7 @@ for vpath in : false; do
 
   : c.test contained and hard error the last time, so it should be re-run.
   : This time, make it pass
-  # Use `echo', not `:'; see comments above for why.
+  # Use 'echo', not ':'; see comments above for why.
   echo dummy > c.ok
   $MAKE TESTS='c.test a.test' recheck >stdout || { cat stdout; Exit 1; }
   cat stdout
diff --git a/tests/test-driver-custom-multitest.test 
b/tests/test-driver-custom-multitest.test
index 871660c..76445d6 100755
--- a/tests/test-driver-custom-multitest.test
+++ b/tests/test-driver-custom-multitest.test
@@ -124,7 +124,7 @@ for vpath in : false; do
   cat stdout
   cat test-suite.log
   # Couple of sanity checks.  These might need to be updated if the
-  # `trivial-test-driver' script is changed.
+  # 'trivial-test-driver' script is changed.
   $FGREP INVALID.NAME stdout test-suite.log && Exit 1
   test -f BAD.LOG && Exit 1
   test -f BAD.TRS && Exit 1
@@ -148,9 +148,9 @@ for vpath in : false; do
   grep "^ERROR: $tst\.t, testcase 6" stdout
 
   # Check that the content of, and only of, the test logs with at least
-  # one failing test case has been copied into `test-suite.log'.  Note
+  # one failing test case has been copied into 'test-suite.log'.  Note
   # that test logs containing skipped or xfailed test cases are *not*
-  # copied into `test-suite.log' -- a behaviour that deliberately differs
+  # copied into 'test-suite.log' -- a behaviour that deliberately differs
   # from the one of the built-in Automake test drivers.
   grep '%%' test-suite.log # For debugging.
   grep '%% fail %%' test-suite.log
diff --git a/tests/test-driver-custom-no-extra-driver.test 
b/tests/test-driver-custom-no-extra-driver.test
index b177181..31000af 100755
--- a/tests/test-driver-custom-no-extra-driver.test
+++ b/tests/test-driver-custom-no-extra-driver.test
@@ -16,7 +16,7 @@
 
 # Check that auxiliary script 'test-driver' doesn't get needlessly
 # installed or referenced if it's not used, i.e., if the user has
-# defined his own `*LOG_DRIVER' variables.
+# defined his own '*LOG_DRIVER' variables.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
diff --git a/tests/test-driver-custom.test b/tests/test-driver-custom.test
index 74e8a9e..60ce074 100755
--- a/tests/test-driver-custom.test
+++ b/tests/test-driver-custom.test
@@ -99,7 +99,7 @@ sed -e 's|@am_log_wflags@|am|' \
     -e 's|@log_wflags@|_|' \
     < wrapper.skel > bin/noext-wrapper
 
-# `test-wrapper' is deliberately not made executable.
+# 'test-wrapper' is deliberately not made executable.
 chmod a+x chk-wrapper bin/noext-wrapper
 
 # Not needed anymore.
diff --git a/tests/test-driver-is-distributed.test 
b/tests/test-driver-is-distributed.test
index 971b8bb..fb4e540 100755
--- a/tests/test-driver-is-distributed.test
+++ b/tests/test-driver-is-distributed.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check regression of parallel-tests:
-#  - `test-driver' script not correctly distributed when TESTS is
+#  - 'test-driver' script not correctly distributed when TESTS is
 #    defined in a subdir Makefile
 
 am_create_testdir=empty
diff --git a/tests/test-driver-strip-vpath.test 
b/tests/test-driver-strip-vpath.test
index 21bd9c3..9670188 100755
--- a/tests/test-driver-strip-vpath.test
+++ b/tests/test-driver-strip-vpath.test
@@ -33,7 +33,7 @@ AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
-# The directories of the `bar.test' and `baz.test' tests are deliberately
+# The directories of the 'bar.test' and 'baz.test' tests are deliberately
 # called as the source directory, to verify that the VPATH-stripping code
 # doesn't get too easily confused.
 # The $(empty) are for eliciting VPATH rewrites on make implementations
diff --git a/tests/test-driver-trs-suffix-registered.test 
b/tests/test-driver-trs-suffix-registered.test
index 00b6669..0c3734f 100755
--- a/tests/test-driver-trs-suffix-registered.test
+++ b/tests/test-driver-trs-suffix-registered.test
@@ -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/>.
 
-# parallel-tests support: the following are registered with `.SUFFIXES':
+# parallel-tests support: the following are registered with '.SUFFIXES':
 #  - .log
 #  - .trs (used by files that store test results and metadata)
 #  - .test if $(TEST_EXTENSIONS) is not defined
diff --git a/tests/test-metadata-global-log.test 
b/tests/test-metadata-global-log.test
index bbd9339..b10f481 100755
--- a/tests/test-metadata-global-log.test
+++ b/tests/test-metadata-global-log.test
@@ -17,8 +17,8 @@
 # Custom test drivers and parallel-tests harness: check the documented
 # semantics for deciding when the content of a test log file should be
 # copied in the global test-suite.log file.  Currently, this is done
-# with the use of the reStructuredText field `:copy-in-global-log:' in
-# the associated `.trs' files.
+# with the use of the reStructuredText field ':copy-in-global-log:' in
+# the associated '.trs' files.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
@@ -51,9 +51,9 @@ echo "$test_name: RUN"
 END
 chmod a+x passthrough-driver
 
-# The `:test-result:' and `:recheck:' fields and the first line of the
+# The ':test-result:' and ':recheck:' fields and the first line of the
 # log file should be be irrelevant for the decision of whether a test
-# output is to be copied in the `test-suite.log'.
+# output is to be copied in the 'test-suite.log'.
 
 cat > no-1.test <<END
 echo :test-result: SKIP >&5
@@ -99,7 +99,7 @@ echo :copy-in-global-log: yes >&5
 echo seen yes 1
 END
 
-# A lacking `:copy-in-global-log:' implies that the content of
+# A lacking ':copy-in-global-log:' implies that the content of
 # the log file should be copied.
 cat > yes-2.test <<END
 echo :test-result: PASS >&5
diff --git a/tests/test-metadata-global-result.test 
b/tests/test-metadata-global-result.test
index 8a6020c..b247444 100755
--- a/tests/test-metadata-global-result.test
+++ b/tests/test-metadata-global-result.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Parallel testsuite harness: check APIs for the registering the
-# "global test result" in `*.trs' files, as documented in the automake
+# "global test result" in '*.trs' files, as documented in the automake
 # manual.
 
 am_parallel_tests=yes
@@ -175,7 +175,7 @@ XFAIL: zar-doz
 ==============
 END
 
-# Whitespaces before and after `:global-test-result:' are handled OK.
+# Whitespaces before and after ':global-test-result:' are handled OK.
 
 echo "   $tab:global-test-result:PASS" > foo.test
 echo "${tab}${tab}:global-test-result:${tab}   ${tab}SKIP" > zar-doz.x
diff --git a/tests/test-metadata-results.test b/tests/test-metadata-results.test
index 91102a8..5978f7f 100755
--- a/tests/test-metadata-results.test
+++ b/tests/test-metadata-results.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Parallel testsuite harness: check APIs for the registering of test
-# results in `*.trs' files, as documented in the automake manual.
+# results in '*.trs' files, as documented in the automake manual.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
@@ -61,7 +61,7 @@ mk_check ()
   return $st
 }
 
-# This must be different from the one defined in `test/defs', as that
+# This must be different from the one defined in 'test/defs', as that
 # assumes that the driver does proper testsuite progress reporting.
 count_test_results ()
 {
@@ -84,7 +84,7 @@ $AUTOMAKE
 
 ./configure
 
-# Basic checks.  Also that that `:global-test-result:' fields and
+# Basic checks.  Also that that ':global-test-result:' fields and
 # "old-style" directives with format "RESULT: test-name" are now ignored.
 
 : > foo.test
diff --git a/tests/test-missing.test b/tests/test-missing.test
index 3f5a9bd..fbec0fd 100755
--- a/tests/test-missing.test
+++ b/tests/test-missing.test
@@ -55,7 +55,7 @@ cat output
 $FGREP 'zardoz3.log' output
 test ! -f test-suite.log
 
-# The errors should persist even after `test-suite.log'
+# The errors should persist even after 'test-suite.log'
 # has been created.
 
 : > zardoz.test
diff --git a/tests/test-trs-basic.test b/tests/test-trs-basic.test
index 1e16bd1..55206e9 100755
--- a/tests/test-trs-basic.test
+++ b/tests/test-trs-basic.test
@@ -15,8 +15,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check parallel harness features:
-#  - creation and removal of `.trs' auxiliary files
-#  - check some internals regarding the use of `.trs' files.
+#  - creation and removal of '.trs' auxiliary files
+#  - check some internals regarding the use of '.trs' files.
 
 am_parallel_tests=yes
 . ./defs || Exit 1
@@ -32,7 +32,7 @@ TEST_LOG_COMPILER = $(SHELL)
 SH_LOG_COMPILER = $(SHELL)
 
 ## Used to check some internal details.  And yes, the quotes around
-## `$bases' are deliberate: they check for whitespace normalization.
+## '$bases' are deliberate: they check for whitespace normalization.
 tb:
        $(am__set_TESTS_bases); echo "$$bases" > $@
 END
@@ -80,7 +80,7 @@ for vpath in : false; do
 done
 
 #
-# The `test-suite.stamp' file and the `.trs' files get created by
+# The 'test-suite.stamp' file and the '.trs' files get created by
 # "make check" and removed by "make clean" and "make mostlyclean".
 #
 
@@ -95,7 +95,7 @@ $MAKE clean
 test ! -f foo.trs
 test ! -f bar.trs
 test ! -f sub/zardoz.trs
-# Unrelated `.trs' files shouldn't be removed.
+# Unrelated '.trs' files shouldn't be removed.
 test -f unrelated.trs
 test -f sub/foo.trs
 
@@ -108,7 +108,7 @@ $MAKE mostlyclean
 test ! -f foo.trs
 test ! -f bar.trs
 test ! -f sub/zardoz.trs
-# Unrelated `.trs' files shouldn't be removed.
+# Unrelated '.trs' files shouldn't be removed.
 test -f unrelated.trs
 test -f sub/foo.trs
 
@@ -126,7 +126,7 @@ $MAKE TESTS='foo.test bar.sh' check
 test -f foo.trs
 test -f bar.trs
 test ! -f sub/zardoz.trs
-# "make clean" shouldn't remove `.trs' files for tests not in $(TESTS).
+# "make clean" shouldn't remove '.trs' files for tests not in $(TESTS).
 $MAKE TESTS=bar.sh clean
 test -f foo.trs
 test ! -f bar.trs
@@ -147,7 +147,7 @@ $MAKE TEST_LOGS='foo.log bar.log' check
 test -f foo.trs
 test -f bar.trs
 test ! -f sub/zardoz.trs
-# "make clean" shouldn't remove `.trs' files for tests whose log
+# "make clean" shouldn't remove '.trs' files for tests whose log
 # is not in $(TEST_LOGS).
 $MAKE TEST_LOGS=foo.log clean
 test ! -f foo.trs
diff --git a/tests/test-trs-recover.test b/tests/test-trs-recover.test
index 68fb86b..8acd270 100755
--- a/tests/test-trs-recover.test
+++ b/tests/test-trs-recover.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check parallel harness features:
-#  - recovery from deleted `.trs' files, in various scenarios
+#  - recovery from deleted '.trs' files, in various scenarios
 # This test is complex and tricky, but that's acceptable since we are
 # testing semantics that are potentially complex and tricky.
 
diff --git a/tests/test-trs-recover2.test b/tests/test-trs-recover2.test
index a048ce3..ba59743 100755
--- a/tests/test-trs-recover2.test
+++ b/tests/test-trs-recover2.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check parallel harness features:
-#  - recovery from unreadable `.trs' files, in various scenarios
+#  - recovery from unreadable '.trs' files, in various scenarios
 
 am_parallel_tests=yes
 . ./defs || Exit 1
diff --git a/tests/tests-environment-backcompat.test 
b/tests/tests-environment-backcompat.test
index f773cbd..61b2728 100755
--- a/tests/tests-environment-backcompat.test
+++ b/tests/tests-environment-backcompat.test
@@ -39,7 +39,7 @@ echo 'exit (0);' > bar.pl
 
 cat > baz.pl << 'END'
 # With "use strict" enacted, this will cause an error, since the
-# variable `$x' is not declared with `my' nor specified with an
+# variable '$x' is not declared with 'my' nor specified with an
 # explicit package name.
 $x = 0;
 exit ($x);
diff --git a/tests/tests-environment-fd-redirect.test 
b/tests/tests-environment-fd-redirect.test
index 0361aff..d62e537 100755
--- a/tests/tests-environment-fd-redirect.test
+++ b/tests/tests-environment-fd-redirect.test
@@ -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 for a behaviour of `TESTS_ENVIRONMENT' and `AM_TESTS_ENVIRONMENT'
+# Test for a behaviour of 'TESTS_ENVIRONMENT' and 'AM_TESTS_ENVIRONMENT'
 # w.r.t. file descriptor redirections which, although undocumented,
 # is nonetheless required by Gnulib's 'tests/init.sh' and by coreutils'
 # testsuite.
diff --git a/tests/transform3.test b/tests/transform3.test
new file mode 100755
index 0000000..aaa69cb
--- /dev/null
+++ b/tests/transform3.test
@@ -0,0 +1,87 @@
+#! /bin/sh
+# Copyright (C) 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 that --program-transform does not transform too much
+# stuff (in particular, pgklibdir, pkgdatadir and pkglibexecdir).
+
+required=cc
+. ./defs || Exit 1
+
+cat > configure.ac <<'END'
+AC_INIT([foo], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_PROG_CC
+AM_PROG_AR
+AC_PROG_RANLIB
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+bin_SCRIPTS = foo
+pkgdata_DATA = bar.txt
+pkglib_LIBRARIES = libzap.a
+pkglibexec_SCRIPTS = mu
+END
+
+cat > libzap.c <<'END'
+int zap (void)
+{
+  return 0;
+}
+END
+
+echo 'To be or not to be ...' > bar.txt
+
+cat > foo <<'END'
+#!/bin/sh
+exit 0
+END
+cp foo mu
+chmod a+x foo mu
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure --program-prefix=gnu- --prefix "`pwd`/inst"
+
+$MAKE install
+find inst # For debugging.
+test -f inst/bin/gnu-foo
+test -x inst/bin/gnu-foo
+test -f inst/share/foo/bar.txt
+test ! -d inst/share/gnu-foo
+test -f inst/lib/foo/libzap.a
+test ! -d inst/lib/gnu-foo
+test -f inst/libexec/foo/gnu-mu
+test -x inst/libexec/foo/gnu-mu
+test ! -d inst/libexec/gnu-foo
+
+$MAKE uninstall
+test `find inst -type f -print | wc -l` = 0
+
+# Opportunistically test for installdirs.
+rm -rf inst
+$MAKE installdirs
+test -d inst/share/foo
+test ! -d inst/share/gnu-foo
+test -d inst/lib/foo
+test ! -d inst/lib/gnu-foo
+test -d inst/libexec/foo
+test ! -d inst/libexec/gnu-foo
+
+:
diff --git a/tests/trivial-test-driver b/tests/trivial-test-driver
index 819865e..3968acb 100644
--- a/tests/trivial-test-driver
+++ b/tests/trivial-test-driver
@@ -20,12 +20,12 @@
 # test results per test script.
 #
 # The exit status of the wrapped script is ignored.  Lines in its stdout
-# and stderr beginning with `PASS', `FAIL', `XFAIL', `XPASS', `SKIP' or
-# `ERROR' count as a test case result with the obviously-corresponding
+# and stderr beginning with 'PASS', 'FAIL', 'XFAIL', 'XPASS', 'SKIP' or
+# 'ERROR' count as a test case result with the obviously-corresponding
 # outcome.  Every other line is ignored for what concerns the testsuite
 # outcome.
 #
-# This script is used at least by the `driver-custom-multitest*.test'
+# This script is used at least by the 'driver-custom-multitest*.test'
 # tests.
 #
 
diff --git a/tests/txinfo16.test b/tests/txinfo16.test
index 7ed194e..173a87a 100755
--- a/tests/txinfo16.test
+++ b/tests/txinfo16.test
@@ -79,9 +79,9 @@ $MAKE
 # it's up-to-date in $(srcdir).
 # This can be caused by a subtle issue related to VPATH handling
 # of version.texi (see also the comment in texi-vers.am): because
-# stamp-vti is newer than version.texi, the `version.texi: stamp-vti'
-# rule is always triggered.  Still that's not a reason for `make'
-# to think `version.texi' has been created...
+# stamp-vti is newer than version.texi, the 'version.texi: stamp-vti'
+# rule is always triggered.  Still that's not a reason for 'make'
+# to think 'version.texi' has been created...
 test ! -f main.info
 $MAKE dvi
 test -f main.dvi
diff --git a/tests/txinfo25.test b/tests/txinfo25.test
index cb6abaa..7aa66ae 100755
--- a/tests/txinfo25.test
+++ b/tests/txinfo25.test
@@ -97,9 +97,9 @@ $MAKE
 # it's up-to-date in $(srcdir).
 # This can be caused by a subtle issue related to VPATH handling
 # of version.texi (see also the comment in texi-vers.am): because
-# stamp-vti is newer than version.texi, the `version.texi: stamp-vti'
-# rule is always triggered.  Still that's not a reason for `make'
-# to think `version.texi' has been created...
+# stamp-vti is newer than version.texi, the 'version.texi: stamp-vti'
+# rule is always triggered.  Still that's not a reason for 'make'
+# to think 'version.texi' has been created...
 test -f main.info
 test ! -f other.info
 $MAKE dvi
diff --git a/tests/txinfo30.test b/tests/txinfo30.test
index b85ef0f..09ebd5e 100755
--- a/tests/txinfo30.test
+++ b/tests/txinfo30.test
@@ -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/>.
 
-# Make sure `missing texinfo' does not create empty files.
+# Make sure 'missing texinfo' does not create empty files.
 # Report from Bob Proulx.
 
 . ./defs || Exit 1
@@ -31,8 +31,8 @@ echo AC_OUTPUT >>configure.ac
 cat >makeinfo <<\EOF
 #!/bin/sh
 # This script
-# 1. fails so `missing' can take over
-# 2. does not understand `--version' so `missing' thinks `makeinfo' isn't
+# 1. fails so 'missing' can take over
+# 2. does not understand '--version' so 'missing' thinks 'makeinfo' isn't
 #    installed
 exec false
 EOF
@@ -42,6 +42,10 @@ chmod +x makeinfo
 PATH=`pwd`$PATH_SEPARATOR$PATH
 export PATH
 
+# Otherwise configure might pick up a working makeinfo from the
+# environment.  Seen in automake bug#10866.
+unset MAKEINFO || :
+
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE --add-missing
@@ -55,3 +59,5 @@ test -f bar.info
 rm -f bar.info
 $MAKE && Exit 1
 test ! -f bar.info
+
+:
diff --git a/tests/txinfo33.test b/tests/txinfo33.test
index d724824..4bdd767 100755
--- a/tests/txinfo33.test
+++ b/tests/txinfo33.test
@@ -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/>.
 
-# DVIS, PDFS, PSS, HTMLS should not be cleaned upon `mostlyclean'.
+# DVIS, PDFS, PSS, HTMLS should not be cleaned upon 'mostlyclean'.
 # Similar to txinfo25.test.
 
 required='makeinfo tex texi2dvi-o dvips'
diff --git a/tests/txinfo5.test b/tests/txinfo5.test
index da32cb6..9e42823 100755
--- a/tests/txinfo5.test
+++ b/tests/txinfo5.test
@@ -16,7 +16,7 @@
 
 # Test to make sure that texinfo.tex is not required by --cygnus.
 # Also check that TEXINFOS + cygnus work without requiring the
-# `-Wno-override' option.
+# '-Wno-override' option.
 # See also sister test txinfo5b.test.
 # Report from Ian Taylor.
 
diff --git a/tests/txinfo5b.test b/tests/txinfo5b.test
index a52be5a..c4eac53 100755
--- a/tests/txinfo5b.test
+++ b/tests/txinfo5b.test
@@ -25,7 +25,7 @@ AM_MAINTAINER_MODE
 END
 
 cat > Makefile.am << 'END'
-# Disable `override' warning to work around an unrelated
+# Disable 'override' warning to work around an unrelated
 # texi+cygnus bug.
 AUTOMAKE_OPTIONS = -Wno-override
 info_TEXINFOS = ian.texi
diff --git a/tests/txinfo6.test b/tests/txinfo6.test
index e8259d0..b289efe 100755
--- a/tests/txinfo6.test
+++ b/tests/txinfo6.test
@@ -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 to make sure `.txi' extension works.
+# Test to make sure '.txi' extension works.
 
 . ./defs || Exit 1
 
diff --git a/tests/uninstall-fail.test b/tests/uninstall-fail.test
index 69154bb..aee1fb5 100755
--- a/tests/uninstall-fail.test
+++ b/tests/uninstall-fail.test
@@ -26,10 +26,10 @@ mkdir d
 : > d/f
 chmod a-w d || skip "cannot make directories unwritable"
 
-# On Solaris 10, if `/bin/rm' is run with the `-f' option, it doesn't
+# On Solaris 10, if '/bin/rm' is run with the '-f' option, it doesn't
 # print any error message when failing to remove a file (due to e.g.,
 # "Permission denied").  Yikes.  We'll cater to this incompatibility
-# by relaxing a test below if a faulty `rm' is detected.
+# by relaxing a test below if a faulty 'rm' is detected.
 st=0; rm -f d/f 2>stderr || st=$?
 cat stderr >&2
 test $st -gt 0 || skip_ "can delete files from unwritable directories"
@@ -76,7 +76,7 @@ $MAKE uninstall >output 2>&1 && { cat output; Exit 1; }
 cat output
 #
 # Some shells, like Solaris 10 /bin/sh and /bin/ksh, do not report
-# the name of the `cd' builtin upon a chdir error:
+# the name of the 'cd' builtin upon a chdir error:
 #
 #   $ /bin/sh -c 'cd /none'
 #   /bin/sh: /none: does not exist
diff --git a/tests/vala-mix.test b/tests/vala-mix2.test
similarity index 63%
copy from tests/vala-mix.test
copy to tests/vala-mix2.test
index 2cd2146..4ac5444 100755
--- a/tests/vala-mix.test
+++ b/tests/vala-mix2.test
@@ -14,38 +14,28 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Vala sources and C sources in the same program.  Functional test.
+# Vala sources, C and C++ sources and C and C++ headers in the same
+# program.  Functional test.  See automake bug#10894.
 
-required='valac cc'
+required='valac cc c++ GNUmake'
 . ./defs || Exit 1
 
+set -e
+
 cat >> configure.ac <<'END'
 AC_PROG_CC
-AM_PROG_CC_C_O
+AC_PROG_CXX
 AM_PROG_VALAC
 AC_OUTPUT
 END
 
 cat > Makefile.am <<'END'
-bin_PROGRAMS = zardoz mu
+bin_PROGRAMS = zardoz
 AM_VALAFLAGS = --profile=posix
-zardoz_SOURCES = foo.vala bar.c
-mu_SOURCES = 1.vala 2.c
-mu_VALAFLAGS = $(AM_VALAFLAGS) --main=run
-mu_CFLAGS = -DHAVE_MU
-END
-
-if cross_compiling; then :; else
-  unindent >> Makefile.am <<'END'
-    check-local:
-       ./zardoz
-       ./mu
-       ./zardoz | grep "foo is alive"
-       ./mu | grep "Howdy, World!"
+zardoz_SOURCES = zardoz.vala foo.h bar.c baz.c zen.hh master.cxx
 END
-fi
 
-cat > foo.vala <<'END'
+cat > zardoz.vala <<'END'
 int main ()
 {
   stdout.printf ("foo is alive\n");
@@ -53,23 +43,30 @@ int main ()
 }
 END
 
-echo 'extern int i = 0;' > bar.c
+cat > foo.h <<'END'
+int foo;
+int bar (void);
+int baz (void);
+END
 
-cat > 1.vala <<'END'
-int run ()
-{
-  stdout.printf ("Howdy, World!\n");
-  return 0;
-}
+cat > bar.c <<'END'
+#include "foo.h"
+int bar (void) { return foo + baz (); }
 END
 
-cat > 2.c <<'END'
-#ifdef HAVE_MU
-int all_is_ok = 1;
-#else
-#error "HAVE_MU no defined"
-chocke me
-#endif
+cat > baz.c <<'END'
+#include "foo.h"
+extern int foo = 0;
+int baz (void) { return 0; }
+END
+
+cat > zen.hh <<'END'
+#include <iostream>
+END
+
+cat > master.cxx <<'END'
+#include "zen.hh"
+void chatty (void) { std::cout << "Hello, stranger!\n"; }
 END
 
 $ACLOCAL
@@ -80,14 +77,11 @@ $AUTOCONF
 
 $MAKE all
 ls -l # For debugging.
-$MAKE check
 
 have_generated_files ()
 {
-  test -f mu_vala.stamp
   test -f zardoz_vala.stamp
-  test -f foo.c
-  test -f 1.c
+  test -f zardoz.c
 }
 
 # Our vala-related rules must create stamp files and intermediate
@@ -98,12 +92,24 @@ have_generated_files
 $MAKE -q
 $MAKE -n | $FGREP vala.stamp && Exit 1
 
+# But are triggered when they should.
+for file in zardoz.vala foo.h bar.c baz.c zen.hh master.cxx; do
+  $sleep
+  echo '& choke me !' >> $file
+  $MAKE && Exit 1
+  $sleep
+  sed '$d' $file > t
+  mv -f t $file
+  $MAKE
+done
+
 # Check the distribution.
 $MAKE distcheck
 
 # Stamp files and intermediate C files should *not* be removed
 # by "make clean".
 $MAKE clean
+ls -l # For debugging.
 have_generated_files
 
 # But stamp files should be removed by "maintainer-clean" (the
diff --git a/tests/vala.test b/tests/vala.test
index b4e2d76..71c2ee6 100755
--- a/tests/vala.test
+++ b/tests/vala.test
@@ -27,8 +27,8 @@ END
 cat >> 'configure.ac' << 'END'
 AC_PROG_CC
 AC_PROG_CXX
-AC_PROG_LIBTOOL
 AM_PROG_AR
+AC_PROG_LIBTOOL
 AM_PROG_VALAC
 AC_CONFIG_FILES([sub/Makefile])
 AC_OUTPUT
diff --git a/tests/vala4.test b/tests/vala4.test
index 3fc06bc..2e776ed 100755
--- a/tests/vala4.test
+++ b/tests/vala4.test
@@ -40,7 +40,7 @@ chmod +x valac
 cwd=`pwd`
 
 # Use $cwd instead of `pwd` in the && list below to avoid a bug in
-# the way Solaris/Heirloom Sh handles `set -e'.
+# the way Solaris/Heirloom Sh handles 'set -e'.
 
 libtoolize
 $ACLOCAL
diff --git a/tests/vartypos.test b/tests/vartypos.test
index e3ea16e..eb924cc 100755
--- a/tests/vartypos.test
+++ b/tests/vartypos.test
@@ -44,32 +44,32 @@ $ACLOCAL
 AUTOMAKE_fails -Wno-extra-portability
 # The expected diagnostic is:
 # automake: warnings are treated as errors
-# Makefile.am:2: warning: variable `nodist_foo_SOURCES' is defined but no 
program or
-# Makefile.am:2: library has `foo' as canonical name (possible typo)
-# Makefile.am:1: warning: variable `foo_SOURCES' is defined but no program or
-# Makefile.am:1: library has `foo' as canonical name (possible typo)
-# Makefile.am:9: warning: variable `libfoo_a_SOURCES' is defined but no 
program or
-# Makefile.am:9: library has `libfoo_a' as canonical name (possible typo)
-# Makefile.am:10: warning: variable `nodist_libfoo_a_SOURCES' is defined but 
no program or
-# Makefile.am:10: library has `libfoo_a' as canonical name (possible typo)
-# Makefile.am:11: warning: variable `EXTRA_libfoo_a_SOURCES' is defined but no 
program or
-# Makefile.am:11: library has `libfoo_a' as canonical name (possible typo)
-# Makefile.am:3: warning: variable `EXTRA_foo_SOURCES' is defined but no 
program or
-# Makefile.am:3: library has `foo' as canonical name (possible typo)
-# Makefile.am:12: warning: variable `libfoo_a_LIBADD' is defined but no 
program or
-# Makefile.am:12: library has `libfoo_a' as canonical name (possible typo)
-# Makefile.am:4: warning: variable `foo_LDADD' is defined but no program or
-# Makefile.am:4: library has `foo' as canonical name (possible typo)
-# Makefile.am:5: warning: variable `foo_LDFLAGS' is defined but no program or
-# Makefile.am:5: library has `foo' as canonical name (possible typo)
-# Makefile.am:14: warning: variable `EXTRA_libfoo_a_DEPENDENCIES' is defined 
but no program or
-# Makefile.am:14: library has `libfoo_a' as canonical name (possible typo)
-# Makefile.am:7: warning: variable `EXTRA_foo_DEPENDENCIES' is defined but no 
program or
-# Makefile.am:7: library has `foo' as canonical name (possible typo)
-# Makefile.am:6: warning: variable `foo_DEPENDENCIES' is defined but no 
program or
-# Makefile.am:6: library has `foo' as canonical name (possible typo)
-# Makefile.am:13: warning: variable `libfoo_a_DEPENDENCIES' is defined but no 
program or
-# Makefile.am:13: library has `libfoo_a' as canonical name (possible typo)
+# Makefile.am:2: warning: variable 'nodist_foo_SOURCES' is defined but no 
program or
+# Makefile.am:2: library has 'foo' as canonical name (possible typo)
+# Makefile.am:1: warning: variable 'foo_SOURCES' is defined but no program or
+# Makefile.am:1: library has 'foo' as canonical name (possible typo)
+# Makefile.am:9: warning: variable 'libfoo_a_SOURCES' is defined but no 
program or
+# Makefile.am:9: library has 'libfoo_a' as canonical name (possible typo)
+# Makefile.am:10: warning: variable 'nodist_libfoo_a_SOURCES' is defined but 
no program or
+# Makefile.am:10: library has 'libfoo_a' as canonical name (possible typo)
+# Makefile.am:11: warning: variable 'EXTRA_libfoo_a_SOURCES' is defined but no 
program or
+# Makefile.am:11: library has 'libfoo_a' as canonical name (possible typo)
+# Makefile.am:3: warning: variable 'EXTRA_foo_SOURCES' is defined but no 
program or
+# Makefile.am:3: library has 'foo' as canonical name (possible typo)
+# Makefile.am:12: warning: variable 'libfoo_a_LIBADD' is defined but no 
program or
+# Makefile.am:12: library has 'libfoo_a' as canonical name (possible typo)
+# Makefile.am:4: warning: variable 'foo_LDADD' is defined but no program or
+# Makefile.am:4: library has 'foo' as canonical name (possible typo)
+# Makefile.am:5: warning: variable 'foo_LDFLAGS' is defined but no program or
+# Makefile.am:5: library has 'foo' as canonical name (possible typo)
+# Makefile.am:14: warning: variable 'EXTRA_libfoo_a_DEPENDENCIES' is defined 
but no program or
+# Makefile.am:14: library has 'libfoo_a' as canonical name (possible typo)
+# Makefile.am:7: warning: variable 'EXTRA_foo_DEPENDENCIES' is defined but no 
program or
+# Makefile.am:7: library has 'foo' as canonical name (possible typo)
+# Makefile.am:6: warning: variable 'foo_DEPENDENCIES' is defined but no 
program or
+# Makefile.am:6: library has 'foo' as canonical name (possible typo)
+# Makefile.am:13: warning: variable 'libfoo_a_DEPENDENCIES' is defined but no 
program or
+# Makefile.am:13: library has 'libfoo_a' as canonical name (possible typo)
 
 grep 'as canonical' stderr | grep -v ' .foo. ' | grep -v ' .libfoo_a. ' \
   && Exit 1
diff --git a/tests/vtexi.test b/tests/vtexi.test
index 09185a8..9d1bc24 100755
--- a/tests/vtexi.test
+++ b/tests/vtexi.test
@@ -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/>.
 
-# Basic checks and some regressions testing on `version.texi'
+# Basic checks and some regressions testing on 'version.texi'
 # support for texinfo files.
 
 . ./defs || Exit 1
@@ -53,10 +53,10 @@ grep '^\$(srcdir)/textutils\.info:.*[ /]version\.texi *$' 
Makefile.in
 $EGREP 'stamp-vti:.*textutils\.texi( .*)?$' Makefile.in
 $EGREP 'stamp-vti:.*\$\(top_srcdir\)/configure( .*)?$' Makefile.in
 
-# Check that the path to mdate-sh is correct.  Over escaping of `$'
-# etc. once led to `\$\(srcdir\)/mdate-sh'.
+# Check that the path to mdate-sh is correct.  Over escaping of '$'
+# etc. once led to '\$\(srcdir\)/mdate-sh'.
 # Filter out '$(srcdir)/mdate-sh'; there should be no occurrences
-# of `.../mdate-sh' left then.
+# of '.../mdate-sh' left then.
 sed 's,\$(srcdir)/mdate-sh,,g' Makefile.in | grep '/mdate-sh' && Exit 1
 
 :
diff --git a/tests/vtexi3.test b/tests/vtexi3.test
index 679199d..9dd3e67 100755
--- a/tests/vtexi3.test
+++ b/tests/vtexi3.test
@@ -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.test', which does similar checks, but
 # for version.texi only, and requires makeinfo, tex and texi2dvi.
 
 . ./defs || Exit 1
diff --git a/tests/vtexi4.test b/tests/vtexi4.test
index b422522..6038444 100755
--- a/tests/vtexi4.test
+++ b/tests/vtexi4.test
@@ -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.test', which does similar checks, but
 # for more vers*.texi files, and does not require makeinfo, tex and
 # texi2dvi.
 
diff --git a/tests/warning-groups-win-over-strictness.test 
b/tests/warning-groups-win-over-strictness.test
index 54adbc3..192e409 100755
--- a/tests/warning-groups-win-over-strictness.test
+++ b/tests/warning-groups-win-over-strictness.test
@@ -16,7 +16,7 @@
 
 # Check that explicitly-defined warning levels take precedence over
 # implicit strictness-implied warnings, even when these explicit warning
-# levels are "catch-all warnings" (such as `-Wall' and `-Wnone').
+# levels are "catch-all warnings" (such as '-Wall' and '-Wnone').
 # Since we are at it, also throw in *.am and *.m4 file inclusions.
 
 . ./defs || Exit 1
diff --git a/tests/warnopts.test b/tests/warnopts.test
index bb9cfb3..1662d91 100755
--- a/tests/warnopts.test
+++ b/tests/warnopts.test
@@ -44,9 +44,9 @@ END
 $ACLOCAL
 AUTOMAKE_fails
 # The expected diagnostic is
-#   Makefile.am:3: warning: variable `foo_SOURCES' is defined but no program or
-#                           library has `foo' as canonical name (possible typo)
-#   sub/Makefile.am:2: warning: `INCLUDES' is the old name for `AM_CPPFLAGS'
+#   Makefile.am:3: warning: variable 'foo_SOURCES' is defined but no program or
+#                           library has 'foo' as canonical name (possible typo)
+#   sub/Makefile.am:2: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS'
 grep '^Makefile.am:.*foo_SOURCES' stderr
 grep '^sub/Makefile.am:.*INCLUDES' stderr
 grep '^sub/Makefile.am:.*foo_SOURCES' stderr && Exit 1
@@ -57,7 +57,7 @@ test `grep -v 'warnings are treated as errors' stderr | wc 
-l` = 3
 # On fast machines the autom4te.cache created during the above run of
 # $AUTOMAKE is likely to have the same time stamp as the configure.ac
 # created below; thus causing traces for the old configure.ac to be
-# used.  We could do `$sleep', but it's faster to erase the
+# used.  We could do '$sleep', but it's faster to erase the
 # directory.  (Erase autom4te*.cache, not autom4te.cache, because some
 # bogus installations of Autoconf use a versioned cache).
 rm -rf autom4te*.cache
diff --git a/tests/yacc-basic.test b/tests/yacc-basic.test
index 71775f4..c8e0c91 100755
--- a/tests/yacc-basic.test
+++ b/tests/yacc-basic.test
@@ -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.test'.
 
 required='cc yacc'
 . ./defs || Exit 1
diff --git a/tests/yacc-clean-cxx.test b/tests/yacc-clean-cxx.test
index 5fc815e..7d9e1ae 100755
--- a/tests/yacc-clean-cxx.test
+++ b/tests/yacc-clean-cxx.test
@@ -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.test'.
 
 required=yacc
 . ./defs || Exit 1
@@ -33,7 +33,7 @@ AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
-# Use two subdirectories, one to test with `-d' in YFLAGS, the
+# Use two subdirectories, one to test with '-d' in YFLAGS, the
 # other one to test with empty YFLAGS.
 SUBDIRS = sub1 sub2
 END
diff --git a/tests/yacc-clean.test b/tests/yacc-clean.test
index 4ecd5b1..530f87f 100755
--- a/tests/yacc-clean.test
+++ b/tests/yacc-clean.test
@@ -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.test'.
 
 required='cc yacc'
 . ./defs || Exit 1
@@ -30,7 +30,7 @@ AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
-# Use two subdirectories, one to test with `-d' in YFLAGS, the
+# Use two subdirectories, one to test with '-d' in YFLAGS, the
 # other one to test with empty YFLAGS.
 SUBDIRS = sub1 sub2
 END
@@ -131,7 +131,7 @@ for target in clean distclean; do
 done
 
 cp config.sav config.status
-./config.status # Re-create `Makefile'.
+./config.status # Re-create 'Makefile'.
 
 $MAKE maintainer-clean
 ls -l . sub1 sub2
diff --git a/tests/yacc-cxx.test b/tests/yacc-cxx.test
index 396f736..1f4bf3b 100755
--- a/tests/yacc-cxx.test
+++ b/tests/yacc-cxx.test
@@ -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.test'.
 
 required=yacc
 . ./defs || Exit 1
@@ -128,7 +128,7 @@ test -f parse1.cc
 test -f parse2.c++
 test -f foo3-parse3.cxx
 test -f foo4-parse4.cpp
-./configure # we must re-create `Makefile'
+./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
 ls -l
 test ! -f parse1.cc
diff --git a/tests/yacc-d-basic.test b/tests/yacc-d-basic.test
index b3955b7..e82f335 100755
--- a/tests/yacc-d-basic.test
+++ b/tests/yacc-d-basic.test
@@ -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.test'.
 
 required='cc yacc'
 . ./defs || Exit 1
@@ -133,7 +133,7 @@ test -f $distdir/baz/zardoz-parse.h
 # Sanity check the distribution.
 $MAKE distcheck
 
-# While we are at it, make sure that `parse.c' and `parse.h' are erased
+# While we are at it, make sure that 'parse.c' and 'parse.h' are erased
 # by maintainer-clean, and not by distclean.
 $MAKE distclean
 test -f foo/parse.c
@@ -142,7 +142,7 @@ test -f bar/parse.c
 test -f bar/parse.h
 test -f baz/zardoz-parse.c
 test -f baz/zardoz-parse.h
-./configure # We must re-create `Makefile'.
+./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
 test ! -f foo/parse.c
 test ! -f foo/parse.h
diff --git a/tests/yacc-d-cxx.test b/tests/yacc-d-cxx.test
index 1a6ddec..a37de71 100755
--- a/tests/yacc-d-cxx.test
+++ b/tests/yacc-d-cxx.test
@@ -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.test'.
 
 required=yacc
 . ./defs || Exit 1
@@ -219,7 +219,7 @@ test -f baz/sub/parse.c++
 test -f baz/sub/parse.h++
 test -f qux/maude-parse.cxx
 test -f qux/maude-parse.hxx
-./configure # We must re-create `Makefile'.
+./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
 test ! -f foo/parse.cc
 test ! -f foo/parse.hh
diff --git a/tests/yacc-d-vpath.test b/tests/yacc-d-vpath.test
index dd74877..78a486a 100755
--- a/tests/yacc-d-vpath.test
+++ b/tests/yacc-d-vpath.test
@@ -15,12 +15,12 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test checks that dependent files are updated before including
-# in the distribution. `parse.c' depends on `parse.y'.  The latter is
-# updated so that `parse.c' should be rebuilt.  Then we are running
-# `make' and `make distdir' and check whether the version of `parse.c'
+# in the distribution. 'parse.c' depends on 'parse.y'.  The latter is
+# updated so that 'parse.c' should be rebuilt.  Then we are running
+# '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.test'.
 
 required='cc yacc'
 . ./defs || Exit 1
@@ -37,7 +37,7 @@ foo_SOURCES = parse.y foo.c
 AM_YFLAGS = -d
 END
 
-# Original parser, with `foobar'.
+# Original parser, with 'foobar'.
 cat > parse.y << 'END'
 %{
 int yylex () { return 0; }
@@ -70,7 +70,7 @@ cd sub
 
 $sleep
 
-# New parser, with `fubar'.
+# New parser, with 'fubar'.
 cat > ../parse.y << 'END'
 %{
 int yylex () { return 0; }
@@ -86,11 +86,11 @@ $MAKE distdir
 $FGREP fubar $distdir/parse.c
 $FGREP FUBAR $distdir/parse.h
 
-# Now check to make sure that `make dist' will rebuild the parser.
+# Now check to make sure that 'make dist' will rebuild the parser.
 
 $sleep
 
-# New parser, with `maude'.
+# New parser, with 'maude'.
 cat > ../parse.y << 'END'
 %{
 int yylex () { return 0; }
diff --git a/tests/yacc-deleted-headers.test b/tests/yacc-deleted-headers.test
index ec27518..cb6af0f 100755
--- a/tests/yacc-deleted-headers.test
+++ b/tests/yacc-deleted-headers.test
@@ -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/>.
 
-# Tests that we can recover from deleted headers generated by `yacc -d'.
+# Tests that we can recover from deleted headers generated by 'yacc -d'.
 
 required=yacc
 . ./defs || Exit 1
@@ -32,7 +32,7 @@ bin_PROGRAMS = p1 p2 p3 p4
 # The order in which files are listed in the p*_SOURCES variables
 # below is significant, since it causes make failures whenever
 # the proper definition of BUILT_SOURCES or the declaration of
-# extra dependencies for `main3.o' are removed.
+# extra dependencies for 'main3.o' are removed.
 p1_SOURCES = main1.c parse1.y
 p2_SOURCES = main2.c parse2.y
 p3_SOURCES = main3.c parse3.y parse3.h
@@ -126,7 +126,7 @@ test ! -r p2-parse2.h
 test -f parse3.h
 test ! -r parse4.h
 # Since we declared parse3.h into $(p3_SOURCES), make should be
-# able to rebuild it automatically before remaking `p3'.
+# able to rebuild it automatically before remaking 'p3'.
 rm -f $headers
 $MAKE clean-p3
 test ! -f parse3.h # Sanity check.
diff --git a/tests/yacc-dist-nobuild-subdir.test 
b/tests/yacc-dist-nobuild-subdir.test
index 05f76a9..5181cb5 100755
--- a/tests/yacc-dist-nobuild-subdir.test
+++ b/tests/yacc-dist-nobuild-subdir.test
@@ -81,6 +81,7 @@ chmod u+w .
 # Try to enable dependency tracking even with slow dependency
 # extractors, to improve coverage.
 ../configure --enable-dependency-tracking YACC=false
+
 $MAKE all YACC=false
 ls -l sub/*.[ch] && Exit 1
 
diff --git a/tests/yacc-dist-nobuild.test b/tests/yacc-dist-nobuild.test
index bdfaca6..6f02f11 100755
--- a/tests/yacc-dist-nobuild.test
+++ b/tests/yacc-dist-nobuild.test
@@ -76,9 +76,13 @@ cd build
 $MAKE
 
 # Sanity check.
-chmod u+w ../$distdir
-rm -f ../$distdir/parse.c
-chmod a-w ../$distdir
+cd ..
+chmod u+w $distdir
+rm -f $distdir/parse.c
+chmod a-w $distdir
+mkdir build2
+cd build2
+../$distdir/configure
 $MAKE >out 2>&1 && { cat out; Exit 1; }
 cat out
 $FGREP parse.c out
diff --git a/tests/yacc-line.test b/tests/yacc-line.test
index 1959048..90c5e2f 100755
--- a/tests/yacc-line.test
+++ b/tests/yacc-line.test
@@ -16,8 +16,8 @@
 
 # Check that automake yacc support ensures that yacc-generated C
 # files use correct "#line" directives.  Try also with the
-# `subdir-object' option enabled.
-# See also sister test `lex-line.test'.
+# 'subdir-object' option enabled.
+# See also sister test 'lex-line.test'.
 
 required=yacc
 . ./defs || Exit 1
@@ -101,7 +101,7 @@ for vpath in : false; do
   # Adjusted "#line" should not contain reference to the builddir.
   $EGREP '#.*line.*(build|\.\.).*\.y' $c_outputs && Exit 1
   # Adjusted "#line" should not contain reference to the default
-  # output file names, e.g., `y.tab.c' and `y.tab.h'.
+  # output file names, e.g., 'y.tab.c' and 'y.tab.h'.
   $EGREP '#.*line.*y\.tab\.' $c_outputs && Exit 1
   # Don't be excessively strict in grepping, to avoid spurious failures.
   grep '#.*line.*zardoz\.y' zardoz.c
diff --git a/tests/yacc-mix-c-cxx.test b/tests/yacc-mix-c-cxx.test
index 62f3260..82350c6 100755
--- a/tests/yacc-mix-c-cxx.test
+++ b/tests/yacc-mix-c-cxx.test
@@ -155,10 +155,10 @@ for try in 0 1; do
         # not override it.
         run_make=$MAKE;;
       *)
-        # Some make implementations (e.g., HP-UX) don't grok `-j',
-        # some require no space between `-j' and the number of jobs
+        # Some make implementations (e.g., HP-UX) don't grok '-j',
+        # some require no space between '-j' and the number of jobs
         # (e.g., older GNU make versions), and some *do* require a
-        # space between `-j' and the number of jobs (e.g., Solaris
+        # space between '-j' and the number of jobs (e.g., Solaris
         # dmake).  We need a runtime test to see what works.
         echo 'all:' > Makefile
         for run_make in "$MAKE -j3" "$MAKE -j 3" "$MAKE"; do
diff --git a/tests/yacc-pr204.test b/tests/yacc-pr204.test
index fa8d464..6507b51 100755
--- a/tests/yacc-pr204.test
+++ b/tests/yacc-pr204.test
@@ -16,7 +16,7 @@
 
 # For PR 204.
 # C sources derived from nodist_ yacc sources should not be distributed.
-# See also related test `yacc-nodist.test'.
+# See also related test 'yacc-nodist.test'.
 # The tests 'lex-nodist.test' and 'lex-pr204.test' does similar checks
 # for lex-generated C files.
 
diff --git a/tests/yacc2.test b/tests/yacc2.test
index 9578462..bfab752 100755
--- a/tests/yacc2.test
+++ b/tests/yacc2.test
@@ -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.test'.
 
 . ./defs || Exit 1
 
diff --git a/tests/yacc7.test b/tests/yacc7.test
index c7cd40e..a3602e9 100755
--- a/tests/yacc7.test
+++ b/tests/yacc7.test
@@ -40,7 +40,7 @@ check-dist: distdir
        test -f $(distdir)/foo.h
 END
 
-# The %union will cause Bison to output `#line's in y.tab.h too.
+# The %union will cause Bison to output '#line's in y.tab.h too.
 cat > foo.y << 'END'
 %union
 {
@@ -70,7 +70,7 @@ rm -f foo.h
 $MAKE foo.h
 test -f foo.h
 
-# Make sure `#line ... y.tab.h' gets replaced.
+# Make sure '#line ... y.tab.h' gets replaced.
 $FGREP 'y.tab.h' foo.h && Exit 1
 
 # Make distclean must not erase foo.c nor foo.h (by GNU standards) ...
@@ -81,7 +81,7 @@ $MAKE distclean
 test -f foo.h
 test -f foo.c
 # ... but maintainer-clean should.
-./configure # Re-create `Makefile'.
+./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
 test ! -f foo.h
 test ! -f foo.c
diff --git a/tests/yaccdry.test b/tests/yaccdry.test
index 445eb12..3100ce3 100755
--- a/tests/yaccdry.test
+++ b/tests/yaccdry.test
@@ -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/>.
 
-# Removal recovery rules for headers should not remove files with `make -n'.
+# Removal recovery rules for headers should not remove files with 'make -n'.
 
 required='cc yacc'
 . ./defs || Exit 1
diff --git a/tests/yaccpp.test b/tests/yaccpp.test
index c3a8b25..c065a50 100755
--- a/tests/yaccpp.test
+++ b/tests/yaccpp.test
@@ -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.test' and 'yacc-d-cxx.test',
 # which does much more in-depth checks (but requires an actual
 # Yacc program and a working C++ compiler).
 
diff --git a/tests/yaccvpath.test b/tests/yaccvpath.test
index 3ad8454..65ab53b 100755
--- a/tests/yaccvpath.test
+++ b/tests/yaccvpath.test
@@ -15,12 +15,12 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test checks that dependent files are updated before including
-# in the distribution. `parse.c' depends on `parse.y'. The later is
-# updated so that `parse.c' should be rebuild. Then we are running
-# `make' and `make distdir' and check whether the version of `parse.c'
+# in the distribution. 'parse.c' depends on 'parse.y'. The later is
+# updated so that 'parse.c' should be rebuild. Then we are running
+# '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.test'.
 
 required='cc yacc'
 . ./defs || Exit 1
@@ -36,7 +36,7 @@ bin_PROGRAMS = foo
 foo_SOURCES = parse.y foo.c
 END
 
-# Original parser, with `foobar'.
+# Original parser, with 'foobar'.
 cat > parse.y << 'END'
 %{
 int yylex () { return 0; }
@@ -63,7 +63,7 @@ cd sub
 
 $sleep
 
-# New parser, with `fubar'.
+# New parser, with 'fubar'.
 cat > ../parse.y << 'END'
 %{
 int yylex () { return 0; }
@@ -77,11 +77,11 @@ $MAKE
 $MAKE distdir
 $FGREP fubar $distdir/parse.c
 
-# Now check to make sure that `make dist' will rebuild the parser.
+# Now check to make sure that 'make dist' will rebuild the parser.
 
 $sleep
 
-# New parser, with `maude'.
+# New parser, with 'maude'.
 cat > ../parse.y << 'END'
 %{
 int yylex () { return 0; }
diff --git a/tests/yflags-cmdline-override.test 
b/tests/yflags-cmdline-override.test
index 8dd272e..6628066 100755
--- a/tests/yflags-cmdline-override.test
+++ b/tests/yflags-cmdline-override.test
@@ -32,12 +32,12 @@ cat > Makefile.am <<'END'
 bin_PROGRAMS = foo
 foo_SOURCES = foo.y
 # A minor automake wart: automake doesn't generate code to clean
-# `*.output' files generated by yacc (it's not even clear if that
+# '*.output' files generated by yacc (it's not even clear if that
 # would be useful in general, so it's probably better to be
 # conservative).
 CLEANFILES = foo.output
-# Another automake wart: `-d' flag won't be given at automake time,
-# so automake won't be able to generate code to clean `foo.h' :-(
+# Another automake wart: '-d' flag won't be given at automake time,
+# so automake won't be able to generate code to clean 'foo.h' :-(
 MAINTAINERCLEANFILES = foo.h
 END
 
diff --git a/tests/yflags-conditional.test b/tests/yflags-conditional.test
index c0b5a19..0cd09d2 100755
--- a/tests/yflags-conditional.test
+++ b/tests/yflags-conditional.test
@@ -22,7 +22,7 @@
 cat >> configure.ac <<'END'
 AC_PROG_CC
 
-# `YFLAGS' is AC_SUBST'd by AC_PROG_YACC by default, but we
+# 'YFLAGS' is AC_SUBST'd by AC_PROG_YACC by default, but we
 # don't want this, since it might confuse our error messages.
 # Also, AM_SUBST_NOTMAKE seems not to help about this.
 # So we simply define $(YACC) by hand.
@@ -131,13 +131,13 @@ grep '^Makefile4\.am:8:.*zardoz_YFLAGS.* conditional 
contents' stderr
 
 # Now let's check we avoid false positives.
 
-# Disable `gnu' warnings because we override the user variable `YFLAGS'.
+# Disable 'gnu' warnings because we override the user variable 'YFLAGS'.
 AUTOMAKE_fails -Wno-gnu Makefile5
 grep -v '^Makefile5\.am:.*zardoz_YFLAGS' stderr \
  | grep -v ': warnings are treated as errors' \
  | grep . && Exit 1
 
-# Disable `gnu' warnings because we override the user variable `YFLAGS'.
+# Disable 'gnu' warnings because we override the user variable 'YFLAGS'.
 $AUTOMAKE -Wno-gnu Makefile6
 
 :
diff --git a/tests/yflags-d-false-positives.test 
b/tests/yflags-d-false-positives.test
index 97b01f5..78820ca 100755
--- a/tests/yflags-d-false-positives.test
+++ b/tests/yflags-d-false-positives.test
@@ -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/>.
 
-# Check for false positives in automake recognition of `-d' in YFLAGS.
+# Check for false positives in automake recognition of '-d' in YFLAGS.
 
 . ./defs || Exit 1
 
diff --git a/tests/yflags-var-expand.test b/tests/yflags-var-expand.test
index bf9198e..d3bd0d4 100755
--- a/tests/yflags-var-expand.test
+++ b/tests/yflags-var-expand.test
@@ -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/>.
 
-# Check that automake expand variables when looking for `-d' in YFLAGS;
+# Check that automake expand variables when looking for '-d' in YFLAGS;
 # for example, the following is supposed to work:
 #  foo_flags = -d
 #  AM_YFLAGS = $(foo_flags)


hooks/post-receive
-- 
GNU Automake



reply via email to

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