automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, yacc-work, updated. v1.11-6


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, yacc-work, updated. v1.11-625-ga9edac6
Date: Thu, 15 Dec 2011 22:15:45 +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=a9edac6c6e0c33d6571d6ef5ce0bbf682459c3bc

The branch, yacc-work has been updated
       via  a9edac6c6e0c33d6571d6ef5ce0bbf682459c3bc (commit)
       via  30bd6d1e53fbc31ef3431893e4db3efe9ad799ee (commit)
       via  acd3ff403ae131a7882fb8a38402f519463291c1 (commit)
       via  ccbb437e8102c4cf3779aaef9dc3e06364c4aa02 (commit)
       via  e94a2808b5b885b3c780fadeabceef5a302d8077 (commit)
       via  9c78ef3d74b138432801f72f5f8f50c7433d03b5 (commit)
       via  9508ef35139a066171cb6aedfa63000482477495 (commit)
       via  6416c6b854a6a24070d93c426f0f668657558af8 (commit)
       via  f2d8555cadc9969195a3b715d5f01cb24705d8c7 (commit)
       via  b2b292816d660a844e249225b9fd9bbacc6f718a (commit)
       via  38087e06a5a13bb1bcc89bb773da3cf48aafcc8b (commit)
       via  beff03e0d0754e8ad8dadc5e2ece853bcba2689f (commit)
       via  c3d589126cded2a41c3782e49b209f6d18e5a4e6 (commit)
       via  c8e01d581a7e7c2445a139def46939a547951746 (commit)
       via  7dbb5500f658405e8862a90f1bb17d0c82a27f54 (commit)
       via  6346183ddc86743708ecf796acca88a6e93171e3 (commit)
       via  ca0ba5df0fb8d3a62919b878ee30fa573dde6f93 (commit)
       via  053534fc5718ad3aea4f2f1c5817d2a114fe5699 (commit)
       via  a7983a0f81d2135387138b563acac6ad0fb0f5f8 (commit)
       via  39a0fd0267ca5aab3d7c4677586181c355233eef (commit)
       via  6bceecd1b429f661ecca3e819051149d3be6af90 (commit)
       via  237b93207fcf50e49540ce2d604a9b6fe312d713 (commit)
       via  833741419e4df9adcf1a1aa86088e562e0ba46ad (commit)
       via  d2ef3f5bed77203bb8da5c5a0134a0dfa8c367d9 (commit)
       via  a4eeb5323ac00cd6dbbb571a738bf2ee9f8ef209 (commit)
       via  4bae0177efccaf64ce4d04ecae3a8389c81a83e2 (commit)
       via  eaa53725d148cbda064fc598aa6a2a422e9cc422 (commit)
       via  75ae56f04be065936501f579ad1aa999f5b19b3b (commit)
       via  eae36caf547319469b378d12b90a9f82338fa322 (commit)
       via  77d7a6f7ddd3feec2913d3b190e5d22c3629a155 (commit)
       via  18f250e8c8d3c1b3b667937447515fd05095754e (commit)
       via  c615147195e1248a5e896a38623fa085861460d2 (commit)
       via  d9ea65c09108dc08c5d4526fc8b60e1df84bf00a (commit)
       via  549f3844cc9bca0dfd28d5631e0229922c7e709f (commit)
       via  00eb9d62eb40a0c6c5962279fe0978bd76eec2c3 (commit)
       via  f6195336ab991069afc63a06c1cee03699ae4b4c (commit)
      from  91ea62abccb87e2a1ae989bae95640d8913d2970 (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 a9edac6c6e0c33d6571d6ef5ce0bbf682459c3bc
Merge: 91ea62a 30bd6d1
Author: Stefano Lattarini <address@hidden>
Date:   Thu Dec 15 18:41:22 2011 +0100

    Merge branch 'maint' into 'yacc-work'
    
    Extra edits:
      * tests/silent-lex.test: Provide a dummy `yywrap()' function, to
      avoid link errors on systems that doesn't provide a "lex library".
      See also commit `v1.11-546-gca0ba5d'.
    
    Commits merged from maint (34 commits):
      readme: reference webpages for automake mailing lists
      readme: update advice about testsuite execution
      readme: don't reference the old homepage at sources.redhat.com
      hacking: some more fixlets
      * NEWS: Fix typo in 'make dist-bzip2' description.
      release: don't run "make distcheck" automatically
      hacking: update on-line documentation for stable releases only
      hacking: described release procedure applies to beta releases too
      readme: the documentation is production quality now
      hacking: tell about platform-testers mailing list
      hacking: we don't use sources.redhat.com anymore
      hacking: miscellaneous minor fixes
      dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
      news: fix typos, grammaros and suboptimal wording
      maint: sync auxiliary files from upstream
      tests: fix spurious failures due to missing 'yywrap()' function
      depcomp: spelling fix
      tests: fix 'distcheck-override-infodir.test' on Cygwin
      cosmetics: typofix in comments
      coverage: undistributed '.am' and '.m4' files are diagnosed
      coverage: required but missing '.am' and '.m4' files are diagnosed
      coverage: expose automake bug#10111 in the testsuite
      fix: regenerate doc/Makefile
      texinfo: work around Solaris 10 xpg4 shell bug in install rules
      configure: report perl version in config.log
      tests: fix spurious failure with older install-info
      maintcheck: fix spurious failure in 'color2.test'
      tests: fix spurious error in 'uninstall-fail.test' on Solaris
      tests: fix typo in 'uninstall-fail.test'
      tests: avoid a spurious failure of 'ltinit.test' MinGW
      tests: testsuite is now safe to run with dmake in parallel mode
      tests: fix spurious failures w.r.t. parallel make and colorization
      Merge branch 'fix-pr9579' into maint
      tests: fix spurious failure in 'distcheck-override-infodir.test'
      tests: avoid another failure of 'uninstall-fail.test' on Solaris

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

Summary of changes:
 ChangeLog                             |  284 +++++++++++++++++++++++++-
 HACKING                               |   47 ++--
 Makefile.am                           |    6 +-
 Makefile.in                           |    8 +-
 NEWS                                  |   62 +++---
 README                                |   30 ++-
 README-alpha                          |    3 -
 THANKS                                |    1 +
 configure                             |    6 +
 configure.ac                          |    2 +
 doc/Makefile.in                       |    9 +-
 doc/automake.texi                     |   10 +
 lib/am/distdir.am                     |    8 +-
 lib/am/texinfos.am                    |   14 +-
 lib/config.guess                      |   15 +-
 lib/config.sub                        |   23 ++-
 lib/depcomp                           |    4 +-
 lib/texinfo.tex                       |  376 ++++++++++++++++++++++++++++-----
 tests/Makefile.am                     |    6 +
 tests/Makefile.in                     |    6 +
 tests/README                          |    4 -
 tests/color2.test                     |   33 ++-
 tests/cond35.test                     |    6 +
 tests/defs.in                         |    8 +-
 tests/deleted-am.test                 |   65 ++++++
 tests/deleted-m4.test                 |   67 ++++++
 tests/dist-missing-am.test            |   70 ++++++
 tests/dist-missing-included-m4.test   |   70 ++++++
 tests/dist-missing-m4.test            |   72 +++++++
 tests/distcheck-override-infodir.test |   10 +-
 tests/install-info-dir.test           |    8 +
 tests/lex3.test                       |    6 +
 tests/ltinit.test                     |    2 +-
 tests/remake-am-pr10111.test          |   64 ++++++
 tests/remake-m4-pr10111.test          |   62 ++++++
 tests/silent-lex.test                 |    3 +
 tests/silent-many-gcc.test            |    7 +-
 tests/silent-many-generic.test        |    5 +
 tests/uninstall-fail.test             |   39 +++-
 39 files changed, 1339 insertions(+), 182 deletions(-)
 create mode 100755 tests/deleted-am.test
 create mode 100755 tests/deleted-m4.test
 create mode 100755 tests/dist-missing-am.test
 create mode 100755 tests/dist-missing-included-m4.test
 create mode 100755 tests/dist-missing-m4.test
 create mode 100644 tests/remake-am-pr10111.test
 create mode 100644 tests/remake-m4-pr10111.test

diff --git a/ChangeLog b/ChangeLog
index 83e7a52..aeb8da8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,285 @@
+2011-12-15  Stefano Lattarini  <address@hidden>
+
+       Merge branch 'maint' into 'yacc-work'
+       * tests/silent-lex.test: Provide a dummy `yywrap()' function, to
+       avoid link errors on systems that doesn't provide a "lex library".
+       See also commit `v1.11-546-gca0ba5d'.
+
+2011-12-14  Stefano Lattarini  <address@hidden>
+
+       readme: reference webpages for automake mailing lists
+       * README: Rationalize and reorganize the (brief) description of
+       the automake mailing lists.   In particular, instead of suggesting
+       the reader to write to the `-request' addresses to subscribe to
+       mailing lists, point him to the relevant webpages, where he can
+       also subscribe via a web form.
+
+2011-12-14  Stefano Lattarini  <address@hidden>
+
+       readme: update advice about testsuite execution
+       * README: Now that the automake testsuite uses the parallel-tests
+       driver, there is no need for the user to capture the stdout of
+       "make check" to determine which tests have failed: a detailed log
+       is automatically saved into the `tests/test-suite.log' file.
+       Since we are at it, improve the wording by dropping an extra
+       "please".
+
+2011-12-14  Stefano Lattarini  <address@hidden>
+
+       readme: don't reference the old homepage at sources.redhat.com
+       * README: Don't reference the old homepage at sources.redhat.com,
+       which is no longer active; reference the homepage on www.gnu.org
+       instead.  See also automake bug#10157 and bug#10248.
+       * tests/README: Likewise, and remove related extra-pedantic advice
+       about copyright papers for test cases (we'll ask for those papers
+       explicitly when we think they are warranted).
+
+2011-12-12  Stefano Lattarini  <address@hidden>
+
+       hacking: some more fixlets
+       * HACKING (Release Procedure): Place the list of pre-release
+       bootstrap-and-test commands on a line of its own, so it's easy to
+       select and then paste it into a terminal window.
+       Fix the explanation of "make git-release", as, since the previous
+       change, "make git-release" would simply run "make dist" rather
+       than "make distcheck".
+       Suggestion from Jim Meyering.
+
+2011-12-12  Peter Rosin  <address@hidden>
+
+       * NEWS: Fix typo in 'make dist-bzip2' description.
+
+2011-12-10  Stefano Lattarini  <address@hidden>
+
+       release: don't run "make distcheck" automatically
+       * Makefile.am (git-dist): The developers should test extensively
+       before finally creating the release tarball; so don't run "make
+       distcheck" on their behalf here; instead ...
+       * HACKING (Release procedure): ... state here that "make check"
+       and "make distcheck" should be run before calling "make git-dist".
+
+2011-12-09  Jim Meyering  <address@hidden>
+           Stefano Lattarini  <address@hidden>
+
+       dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
+       Before the present change, automake-generated `dist-xz' rule used
+       a hard-coded `xz -9'.  That was a problem because on this front,
+       xz differs from gzip and bzip2.  While the latter two don't incur
+       any run-time decompression penalty for using a higher compression
+       level, specifying -9 with xz imposes a potentially fatal virtual
+       memory requirement on any client that wants to decompress your
+       tar.xz file.
+       People have complained that a tarball compressed with -9 cannot
+       be uncompressed in a low-memory environment (wrt-based embedded).
+       Hence, instead of defaulting to -9, which is useful only for very
+       large tarballs, it defaults to -e (equivalent to -6e).  This
+       limits the default memory requirements imposed on decompressors,
+       yet still gives very good compression ratios.
+       * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made
+       it impossible to override.  Actually don't default to -9, either,
+       since that induced inordinately large virtual memory usage when
+       merely decompressing.  Instead, use its XZ_OPT envvar, defaulting
+       to -e if not defined.  Suggested by Lasse Collin.
+       (dist, dist-all) [?XZ?]: Likewise
+       (dist-bzip2): Similarly, do not hard-code -9, but do continue to
+       use -9 by default.  Honor the BZIP2 envvar.
+       (dist, dist-all) [?BZIP2?]: Likewise
+       * NEWS: Update.
+       * doc/automake.texi (The Types of Distributions): Describe the
+       newly enabled environment variables.
+
+2011-12-09  Stefano Lattarini  <address@hidden>
+
+       * NEWS: Fix typos, grammaros and suboptimal wording.
+       Reported by Jim Meyering.
+
+2011-12-07  Stefano Lattarini  <address@hidden>
+
+       maint: sync auxiliary files from upstream
+       * lib/texinfo.tex: Synced from upstream, by "make fetch".
+       * lib/config.guess: Likewise.
+       * lib/config.sub: Likewise.
+
+2011-12-04  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failures due to missing 'yywrap()' function
+
+       The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
+       the "lex library" expected to provide a `yywrap' function (function
+       which is required to link most lex-generated programs).  On the
+       contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
+       fail, configure declares that no lex library is needed, and simply
+       proceeds with the configuration process -- only for the build to
+       possibly fail later, at make time.
+
+       This behaviour is intended; the Autoconf manual reads:
+        ``You are encouraged to use Flex in your sources, since it is
+          both more pleasant to use than plain Lex and the C source it
+          produces is portable.  In order to ensure portability, however,
+          you must either provide a function `yywrap' or, if you don't use
+          it (e.g., your scanner has no `#include'-like feature), simply
+          include a `%noyywrap' statement in the scanner's source.''
+
+       This AC_PROG_LEX behaviour is causing some spurious failures of
+       the Automake testsuite in environments which lack a proper library
+       providing `yywrap' (this happens for example on Fedora-based
+       systems).   The proper workaround is to simply provide a fall-back
+       implementation of `yywrap' in our lexers.
+
+       See also partially-overlapping commit `v1.11-871-geb147a1' (from
+       the 'testsuite-work' branch), which was motivated by similar
+       spurious failures experienced when cross-compiling.
+
+       From a report by Jim Meyering:
+       
<http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
+
+       * tests/cond35.test: Provide a dummy `yywrap' function.
+       * tests/lex3.test: Likewise.
+       * tests/silent-lex-generic.test: Likewise.
+       * tests/silent-lex-gcc.test: Likewise.
+       * tests/silent-many-generic.test: Likewise.
+       * tests/silent-many-gcc.test: Likewise.
+
+2011-12-04  Paul Eggert  <address@hidden>
+
+       depcomp: spelling fix
+       * lib/depcomp (-h): Fix misspelling in usage diagnostic.
+
+2011-11-28  Peter Rosin  <address@hidden>
+
+       tests: fix 'distcheck-override-infodir.test' on Cygwin
+       * tests/distcheck-override-infodir.test (Makefile.am): Do not add
+       any `/' between $(DESTDIR) and the following paths.  Otherwise,
+       when $(DESTDIR) is empty, the recipes will try to access files
+       with a leading double slash, which have an implementation-defined
+       interpretation (e.g., for Cygwin, they mean UNC paths).
+
+2011-11-24  Stefano Lattarini  <address@hidden>
+
+       cosmetics: typofix in comments
+       * tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
+       * THANKS: Update.
+       Reported by Krzysztof Żelechowski.
+
+2011-11-22  Stefano Lattarini  <address@hidden>
+
+       coverage: undistributed '.am' and '.m4' files are diagnosed
+       The stub rules emitted to work around the "deleted header problem"
+       for `.m4' files (included by autoconf in e.g., configure.ac) and
+       for `.am' files (included by automake in e.g., Makefile.am) should
+       not prevent "make" from correctly complaining when such a required
+       file is missing from a distribution tarball.
+       * tests/dist-missing-am.test: New test.
+       * tests/dist-missing-m4.test: Likewise.
+       * tests/dist-missing-included-m4.test: Likewise.
+       * tests/Makefile.am (TESTS): Add them.
+       Suggestion by Ralf Wildenhues.
+
+2011-11-22  Stefano Lattarini  <address@hidden>
+
+       coverage: required but missing '.am' and '.m4' files are diagnosed
+       The stub rules emitted to work around the "deleted header problem"
+       for `.m4' files (included by autoconf in e.g., configure.ac) and
+       for `.am' files (included by automake in e.g., Makefile.am) should
+       not prevent the remake rules from correctly erroring out when a
+       still-required file is missing.
+       * tests/deleted-am.test: New test.
+       * tests/deleted-m4.test: Likewise.
+       * tests/Makefile.am (TESTS): Add them.
+
+2011-11-22  Stefano Lattarini  <address@hidden>
+
+       coverage: expose automake bug#10111 in the testsuite
+       * tests/remake-am-pr10111.test: New test, xfailing.
+       * tests/remake-m4-pr10111.test: Likewise.
+       * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
+
+2011-11-19  Stefano Lattarini  <address@hidden>
+
+       texinfo: work around Solaris 10 xpg4 shell bug in install rules
+       * lib/am/texinfos.am (install-html-am): Use an extra variable
+       indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh.
+       Bug revealed by a failure of `txinfo21.test'.  See also:
+       <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
+       <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
+
+2011-11-17  Stefano Lattarini  <address@hidden>
+
+       configure: report perl version in config.log
+       * configure.ac: Report the version of the selected perl interpreter
+       in config.log; this should render the logs more informative.
+
+2011-11-13  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failure with older install-info
+       * tests/install-info-dir.test (foo.texi): Also add proper
+       address@hidden', address@hidden' and address@hidden' directive, 
otherwise
+       older versions of `install-info' (e.g., 4.8) will fail to create
+       the `dir' index file in ${infodir}.
+       Problem revealed by a failure on NetBSD 5.1.
+
+2011-11-12  Stefano Lattarini  <address@hidden>
+
+       maintcheck: fix spurious failure in 'color2.test'
+       * tests/color2.test: Avoid creative quoting to avoid a spurious
+       failure of the `sc_tests_Exit_not_exit' maintainer check.
+
+2011-11-12  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious error in 'uninstall-fail.test' on Solaris
+       * tests/uninstall-fail.test: Solaris 10 /usr/xpg4/bin/sh can add
+       a line number before the `:' in the error messages issued by shell
+       builtins.  Account for that in our grepping of make output.
+
+2011-11-12  Stefano Lattarini  <address@hidden>
+
+       tests: fix typo in 'uninstall-fail.test'
+       * tests/uninstall-fail.test: Always use `$rm_f_is_silent_on_error'
+       instead of the bogus `$rm_f_is_silent_on_failure'.
+
+2011-11-10  Stefano Lattarini  <address@hidden>
+
+       tests: avoid a spurious failure of 'ltinit.test' MinGW
+       * tests/ltinit.test: Be laxer in grepping configure output, to
+       avoid spurious failures on systems which lack POSIX dynamic
+       linking (e.g., MinGW), or when cross-compiling for such systems.
+       See also commit `v1.11-855-ge9e5d4a'.
+       Report and suggestion from Peter Rosin.
+
+2011-11-08  Stefano Lattarini  <address@hidden>
+
+       tests: testsuite is now safe to run with dmake in parallel mode
+       * tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
+       and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
+       in parallel mode, and which might confuse make processes spawned
+       by our testsuite.
+
+2011-11-08  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failures w.r.t. parallel make and colorization
+       * tests/color2.test: Skip the test if the $MAKE program fails to
+       consider the standard output as a tty when spawned by `expect'.
+       This is required for make implementations, like FreeBSD make and
+       Solaris dmake, that redirect the output of recipes to temporary
+       files or pipes when run in parallel mode.  Since we are at it,
+       simplify the detection of a working `expect' program, and throw
+       in other minor simplifications.
+
+2011-11-07  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failure in 'distcheck-override-infodir.test'
+       * tests/distcheck-override-infodir.test ($required): Add
+       'install-info'.
+
+2011-11-07  Stefano Lattarini  <address@hidden>
+
+       tests: avoid another failure of 'uninstall-fail.test' on Solaris
+       * tests/uninstall-fail.test: 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.  Cater to this incompatibility, by relaxing the test when
+       a faulty `rm' is detected.
+
 2011-11-03  Zack Weinberg <address@hidden>  (tiny change)
            Stefano Lattarini  <address@hidden>
 
@@ -20,7 +302,7 @@
 
        info: allow user to inhibit creation/update of '${infodir}/dir'
        With this change, we allow the user to request the install-info
-       rules not to update the `${infodir}/dir' file, by exporting the
+       rules not to update the `${infodir}/dir' file, by setting the
        environment variable `AM_UPDATE_INFO_DIR' to the value "no".
        This is especially useful to distro packagers, and is a definite
        improvement over our previous hack of looking whether the
diff --git a/HACKING b/HACKING
index 873243c..8c437ed 100644
--- a/HACKING
+++ b/HACKING
@@ -10,12 +10,18 @@
 ================================================================
 = Administrivia
 
+* The correct response to most actual bugs is to write a new test case
+  which demonstrates the bug.  Then fix the bug, re-run the test suite,
+  and check everything in.
+
 * If you incorporate a change from somebody on the net:
   First, if it is a large change, you must make sure they have signed the
   appropriate paperwork.
   Second, be sure to add their name and email address to THANKS
 
 * If a change fixes a test, mention the test in the ChangeLog entry.
+  If a change fixes a bug registered in the Automake debbugs tracker,
+  mention the bug number in the ChangeLog entry.
 
 * If somebody reports a new bug, mention his name in the ChangeLog entry
   and in the test case you write.  Put him into THANKS.
@@ -24,10 +30,6 @@
   sure to add a test case for it, and to reference such test case from
   a proper Texinfo comment.
 
-* The correct response to most actual bugs is to write a new test case
-  which demonstrates the bug.  Then fix the bug, re-run the test suite,
-  and check everything in.
-
 * Some files in the automake package are not owned by automake.  These
   files should never be edited here.  These files are
       COPYING (from FSF),
@@ -151,9 +153,9 @@
 
 * 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 be merged later.  The next branch may serve as
-  common ground for feature merging and testing, should they not be ready
-  for master yet.
+  which the feature should or might be merged later.  The next branch may
+  serve as common ground for feature merging and testing, should they not
+  be ready for master yet.
 
 * For merges from branches other than maint, prefer 'git merge --log' over
   plain 'git merge', so that a later 'git log' gives an indication of which
@@ -184,6 +186,10 @@
 ================================================================
 = Release procedure
 
+* The steps outlined here are meant to be followed for alpha and stable
+  releases as well.  Where differences are expected, they will be
+  explicitly described.
+
 * 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.)
@@ -197,13 +203,14 @@
 
 * Update ChangeLog.
 
-* Run ./bootstrap, ./configure, make.
+* Run this:
+  ./bootstrap && ./configure && make && make check && make distcheck
 
 * Run `make release-stats' if release statistics in doc/automake.texi
   have not been updated yet.
 
 * Run `make git-release'.
-  This will run distcheck to create the tarballs, commit the last
+  This will run "make dist" to create the tarballs, commit the last
   NEWS/configure.ac/ChangeLog changes, tag the repository, sign
   the tarballs, and upload them.
   Use `make GNUPLOADFLAGS="--user key" git-release' to sign with
@@ -215,18 +222,7 @@
 * Don't forget to `git push' your changes so they appear in the public
   git tree.
 
-* Update the web pages at sources.redhat.com:
-  - bump version in index.rst,
-  - add entry to news.rst,
-  - run `make' to update .html files,
-  - create manuals:
-      cd doc
-      make pdf
-      make html MAKEINFOFLAGS=--no-split
-  - copy automake.html and automake.pdf to web cvs,
-  - add ChangeLog entry and commit.
-
-* Update the manuals at www.gnu.org:
+* For stable releases, update the manuals at www.gnu.org:
   - Generate manuals:
     cd doc
     wget 
"http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh";
@@ -237,9 +233,12 @@
   - Check for link errors, fix them, recheck until convergence:
     <http://validator.w3.org/checklink>
 
-* Send announcement at least to address@hidden, and
-  address@hidden  If not an alpha, announcement must also go to
-  address@hidden  Copy this announcement into the NEWS feed at
+* Send the announcement at least to <address@hidden> and
+  <address@hidden>.  If the release is a stable one, the announcement
+  must also go to <address@hidden>; if it is an alpha or beta release,
+  announcement should be sent also to <address@hidden>, to
+  maximize the possibility of early testing on exotic or proprietary
+  systems.  Finally, copy the announcement into the NEWS feed at
   <https://savannah.gnu.org/projects/automake>.
 
 -----
diff --git a/Makefile.am b/Makefile.am
index 51eeb23..d0dc846 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -568,8 +568,10 @@ git-dist: maintainer-check
          echo "NEWS not updated; not releasing" 1>&2; \
          exit 1;                               \
        fi
-## Build the distribution
-       $(MAKE) $(AM_MAKEFLAGS) distcheck
+## Build the distribution.  We expect the developer to have already run
+## "make check" and "make distcheck" on his own (as required in the
+## HACKING file, section "Release procedure").
+       $(MAKE) $(AM_MAKEFLAGS) dist
 ## Finally, if anything was successful, commit the last changes and tag
 ## the release in the repository.  We don't use RCS keywords so it's OK
 ## to distribute the files before they were committed.
diff --git a/Makefile.in b/Makefile.in
index 9a03035..3045353 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -671,7 +671,7 @@ dist-gzip: distdir
        tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz
        $(am__remove_distdir)
 dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c 
>$(distdir).tar.bz2
        $(am__remove_distdir)
 
 dist-lzma: distdir
@@ -679,7 +679,7 @@ dist-lzma: distdir
        $(am__remove_distdir)
 
 dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -9 -c >$(distdir).tar.xz
+       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c 
>$(distdir).tar.xz
        $(am__remove_distdir)
 
 dist-tarZ: distdir
@@ -697,7 +697,7 @@ dist-zip: distdir
 
 dist dist-all: distdir
        tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c 
>$(distdir).tar.bz2
        $(am__remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
@@ -1256,7 +1256,7 @@ git-dist: maintainer-check
          echo "NEWS not updated; not releasing" 1>&2; \
          exit 1;                               \
        fi
-       $(MAKE) $(AM_MAKEFLAGS) distcheck
+       $(MAKE) $(AM_MAKEFLAGS) dist
        cd $(srcdir) && git commit -a -s && \
           git tag -s "v$(VERSION)" -m "Release $(VERSION)"
 
diff --git a/NEWS b/NEWS
index 130d244..e707c74 100644
--- a/NEWS
+++ b/NEWS
@@ -27,17 +27,22 @@ New in 1.11.0a:
   - The `lzma' compression scheme and associated automake option `dist-lzma'
     is obsoleted by `xz' and `dist-xz' due to upstream changes.
 
+  - You may adjust the compression options used in dist-xz and dist-bzip2.
+    The default is now merely -e for xz, but still -9 for bzip;  you may
+    specify a different level via the XZ_OPT and BZIP2 envvars respectively.
+    E.g., "make dist-xz XZ_OPT=-7" or "make dist-bzip2 BZIP2=-5"
+
   - The py-compile script now accepts empty arguments passed to the options
     `--destdir' and `--basedir', and complains about unrecognized options.
     Moreover, a non-option argument or a special `--' argument terminates
     the list of options.
 
   - A developer that needs to pass specific flags to configure at "make
-    distcheck" time can now, and indeed he's advised to, do so by defining
+    distcheck" time can now, and indeed is advised to, do so by defining
     the developer-reserved makefile variable AM_DISTCHECK_CONFIGURE_FLAGS,
     instead of the old DISTCHECK_CONFIGURE_FLAGS.
     The DISTCHECK_CONFIGURE_FLAGS variable should now be reserved for the
-    user; still, the old Makefile.am files that used to define it should
+    user; still, the old Makefile.am files that used to define it will
     still continue to work as before.
 
   - When using DejaGnu-based testsuites, the user can extend the `site.exp'
@@ -78,17 +83,15 @@ Bugs fixed in 1.11.0a:
     or "redefinition of TEST_EXTENSIONS), or even, in some situations,
     silently producing broken `Makefile.in' files.
 
-  - The `silent-rules' option now also silences all compile rules if dependency
-    tracking is disabled.  Also, when `silent-rules' is not used, the output 
from
-    `make' does not contain spurious extra lines with only a backslash in them
-    any more; it now again matches that from pre-1.11 Automake.
-
-  - The `dist-xz' option now uses `xz -9' for maximum compression.
+  - The `silent-rules' option now truly silences all compile rules, even
+    when dependency tracking is disabled.  Also, when `silent-rules' is
+    not used, `make' output no longer contains spurious backslash-only
+    lines, thus once again matching what Automake did before 1.11.
 
   - The AM_COND_IF macro also works if the shell expression for the conditional
     is no longer valid for the condition.
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - "make distcheck" now correctly complains also when "make uninstall"
     leaves one and only one file installed in $(prefix).
@@ -112,17 +115,17 @@ Bugs fixed in 1.11.0a:
   - AM_PROG_GCJ uses AC_CHECK_TOOLS to look for `gcj' now, so that prefixed
     tools are preferred in a cross-compile setup.
 
-  - Several scripts as well as the parallel-tests testsuite driver now
-    exit with the right exit status upon receiving a signal.
+  - Several scripts and the parallel-tests testsuite driver now exit with
+    the right exit status upon receiving a signal.
 
-  - A per-Makefile.am setting of -Werror does not carry over to the
-    handling of other Makefile.am files any more.
+  - A per-Makefile.am setting of -Werror does not erroneously carry over
+    to the handling of other Makefile.am files.
 
-  - The order of Yacc and Lex flags is fixed to be consistent with other
+  - The order of Yacc and Lex flags is now consistent with that of other
     languages: $(AM_YFLAGS) comes before $(YFLAGS), and $(AM_LFLAGS) before
     $(LFLAGS), so that the user variables override the developer variables.
 
-  - Rules generated by Automake now try harder to not change any files when
+  - Rules generated by Automake now try harder not to change any files when
     `make -n' is invoked.  Fixes include compilation of Emacs Lisp, Vala, or
     Yacc source files and the rule to update config.h.
 
@@ -130,13 +133,13 @@ Bugs fixed in 1.11.0a:
     make bug triggered by sources containing repeated slashes when the
     `subdir-objects' option was used.
 
-  - The parallel-tests driver now does not produce erroneous results
-    with Tru64/OSF 5.1 sh upon unreadable log files any more.
+  - The parallel-tests driver no longer produces erroneous results with
+    Tru64/OSF 5.1 sh upon unreadable log files.
 
-  - The makedepend and hp depmodes now works better with VPATH builds.
+  - The makedepend and hp depmodes now work better with VPATH builds.
 
-  - Java sources specified with check_JAVA are not compiled anymore upon
-    "make all", but only upon "make check".
+  - Java sources specified with check_JAVA are no longer compiled for
+    "make all", but only for "make check".
 
   - Automake now detects the presence of the `-d' flag in the various
     `*YFLAGS' variables even when their definitions involve indirections
@@ -151,14 +154,13 @@ Bugs fixed in 1.11.0a:
     and error out if `javadir' is undefined, instead of silently producing
     a broken Makefile.in.
 
-  - Now aclocal and automake, when they've to spawn autoconf or autom4te
-    processes, honour the configure-time definitions of AUTOCONF and
-    AUTOM4TE.
+  - aclocal and automake now honour the configure-time definitions of
+    AUTOCONF and AUTOM4TE when they spawn autoconf or autom4te processes.
 
-  - The `install-info' recipe does not try anymore to guess whether the
+  - The `install-info' recipe no longer tries to guess whether the
     `install-info' program is from Debian or from GNU, and adaptively
-    change its behaviour; this has proven to be frail and easy to regress.
-
+    change its behaviour; this has proven to be frail and easy to
+    regress.
 
 New in 1.11:
 
@@ -330,7 +332,7 @@ New in 1.11:
 
 Bugs fixed in 1.11:
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Fix aix dependency tracking for libtool objects.
 
@@ -663,7 +665,7 @@ New in 1.9:
 
 Bugs fixed in 1.8.5:
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Define DIST_SUBDIRS even when the `no-dist' or `cygnus' options are used
     so that `make distclean' and `make maintainer-clean' can work.
@@ -676,7 +678,7 @@ Bugs fixed in 1.8.5:
 
 Bugs fixed in 1.8.4:
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Fix AM_PATH_PYTHON to correctly display $PYTHON when it has been
     overridden by the user.
@@ -703,7 +705,7 @@ Bugs fixed in 1.8.4:
 
 Bugs fixed in 1.8.3:
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Quote filenames in installation rules, in case $DESTDIR, $prefix,
     or any of the other *dir variables contain a space.
diff --git a/README b/README
index eb49e71..3f2414f 100644
--- a/README
+++ b/README
@@ -23,23 +23,31 @@ Automake has a test suite.  Use
 
        make check
 
-to run it.  Capture its output in case of failing tests.  For more
-information, please see the file tests/README.
+to run it.  For more information, see the file tests/README.
 
 Automake has a page on the web.  See:
 
-       http://sources.redhat.com/automake/
+       http://www.gnu.org/software/automake/
 
-The mailing list address@hidden is for discussion of Automake and
-its interactions with other configuration/portability tools like
-Autoconf or Libtool.  Write to address@hidden if you want to
-join.
+Automake also has three mailing lists:
 
-Mail suggestions and bug reports to address@hidden, patches
-to address@hidden
+  * address@hidden
+    For general discussions of Automake and its interactions with other
+    configuration/portability tools like Autoconf or Libtool.
 
-New releases are announced to address@hidden  Write to
address@hidden if you want to receive them.
+  * address@hidden
+    Where to send bug reports and feature requests.
+
+  * address@hidden
+    Where to send patches, and discuss the automake development process
+    and the  design of new features.
+
+To obtain more information about these list, or to subscribe to them,
+refer to <http://www.gnu.org/software/automake/#mailinglists>
+
+New releases are announced to address@hidden  If you want to
+be informed, subscribe to that list by following the instructions at
+<http://lists.gnu.org/mailman/listinfo/autotools-announce>.
 
 -----
 
diff --git a/README-alpha b/README-alpha
index 193a6dd..820bf73 100644
--- a/README-alpha
+++ b/README-alpha
@@ -1,9 +1,6 @@
 This is a test release of this package.  Using it more or less
 implicitly signs you up to help me find whatever problems you report.
 
-The documentation still needs more work.  Suggestions welcome.
-Patches even more welcome.
-
 Please send comments and problem reports about this test release to
 address@hidden  This program will get better only if you report the
 problems you encounter.
diff --git a/THANKS b/THANKS
index 7e6de25..e9da06c 100644
--- a/THANKS
+++ b/THANKS
@@ -189,6 +189,7 @@ Kevin P. Fleming.   address@hidden
 Kevin Ryde             address@hidden
 Kevin Street           address@hidden
 Klaus Reichl           address@hidden
+Krzysztof Żelechowski address@hidden
 L. Peter Deutsch       address@hidden
 Ladislav Strojil       address@hidden
 Larry Jones            address@hidden
diff --git a/configure b/configure
index 88a63ce..ec711be 100755
--- a/configure
+++ b/configure
@@ -2337,6 +2337,12 @@ fi
 if test -z "$PERL"; then
    as_fn_error $? "perl not found" "$LINENO" 5
 fi
+# Save details about the selected perl interpreter in config.log.
+{ echo "$as_me:$LINENO: eval $PERL --version" >&5
+   (eval $PERL --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
 $PERL -e 'require 5.006;' || {
    as_fn_error $? "perl 5.6 or better is required; perl 5.8.2 or better
 is recommended.  If you have several perl versions
diff --git a/configure.ac b/configure.ac
index d781951..4a4cc2a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,6 +61,8 @@ AC_PATH_PROG(PERL, perl)
 if test -z "$PERL"; then
    AC_MSG_ERROR([perl not found])
 fi
+# Save details about the selected perl interpreter in config.log.
+AM_RUN_LOG([eval $PERL --version])
 $PERL -e 'require 5.006;' || {
    AC_MSG_ERROR(
 [perl 5.6 or better is required; perl 5.8.2 or better
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 9726e8c..fb72eb4 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -687,13 +687,14 @@ install-html-am: $(HTMLS)
        for p in $$list; do \
          if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
          $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
+         d2=$$d$$p; \
+         if test -d "$$d2"; then \
            echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
            $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+           echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
          else \
-           list2="$$list2 $$d$$p"; \
+           list2="$$list2 $$d2"; \
          fi; \
        done; \
        test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
diff --git a/doc/automake.texi b/doc/automake.texi
index fdd0a86..eca7d77 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -8649,9 +8649,13 @@ Automake generates rules to provide archives of the 
project for
 distributions in various formats.  Their targets are:
 
 @table @asis
address@hidden BZIP2
 @item @code{dist-bzip2}
 Generate a bzip2 tar archive of the distribution.  bzip2 archives are
 frequently smaller than gzipped archives.
+By default, this rule makes @samp{bzip2} use a compression option of
address@hidden  To make it use a different one, set the @env{BZIP2}
+environment variable.  For example, @samp{make dist-bzip2 BZIP2=-7}.
 @trindex dist-bzip2
 
 @item @code{dist-gzip}
@@ -8669,10 +8673,16 @@ instead.
 Generate a shar archive of the distribution.
 @trindex dist-shar
 
address@hidden XZ_OPT
 @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
address@hidden  To make it use a different one, set the @env{XZ_OPT}
+environment variable.  For example, run this command to use the
+default compression ratio, but with a progress indicator:
address@hidden dist-xz XZ_OPT=-7e}.
 @trindex dist-xz
 
 @item @code{dist-zip}
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index 41ff14a..f685ec1 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -341,7 +341,7 @@ dist-gzip: distdir
 ?BZIP2?DIST_ARCHIVES += $(distdir).tar.bz2
 .PHONY: dist-bzip2
 dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c 
>$(distdir).tar.bz2
        $(am__remove_distdir)
 
 ?LZMA?DIST_ARCHIVES += $(distdir).tar.lzma
@@ -353,7 +353,7 @@ dist-lzma: distdir
 ?XZ?DIST_ARCHIVES += $(distdir).tar.xz
 .PHONY: dist-xz
 dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -9 -c >$(distdir).tar.xz
+       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c 
>$(distdir).tar.xz
        $(am__remove_distdir)
 
 ?COMPRESS?DIST_ARCHIVES += $(distdir).tar.Z
@@ -395,9 +395,9 @@ endif %?SUBDIRS%
 
 dist dist-all: distdir
 ?GZIP? tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz
-?BZIP2?        tardir=$(distdir) && $(am__tar) | bzip2 -9 -c 
>$(distdir).tar.bz2
+?BZIP2?        tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c 
>$(distdir).tar.bz2
 ?LZMA? tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-?XZ?   tardir=$(distdir) && $(am__tar) | xz -9 -c >$(distdir).tar.xz
+?XZ?   tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c 
>$(distdir).tar.xz
 ?COMPRESS?     tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 ?SHAR? shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 ?ZIP?  -rm -f $(distdir).zip
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index 80712cf..5314dec 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -161,13 +161,19 @@ install-html-am: $(HTMLS)
        for p in $$list; do \
          if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
          $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
+## This indirection is required to work around a bug of the Solaris 10
+## shell /usr/xpg4/bin/sh.  The description of the bug can be found at
+## <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
+## and the report of the original failure can be found at automake
+## bug#10026 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
+         d2=$$d$$p; \
+         if test -d "$$d2"; then \
            echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
            $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+           echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
          else \
-           list2="$$list2 $$d$$p"; \
+           list2="$$list2 $$d2"; \
          fi; \
        done; \
        test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
diff --git a/lib/config.guess b/lib/config.guess
index b02565c..8152efd 100755
--- a/lib/config.guess
+++ b/lib/config.guess
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011 Free Software Foundation, Inc.
 
-timestamp='2011-06-03'
+timestamp='2011-11-11'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -792,13 +792,12 @@ EOF
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit ;;
     *:FreeBSD:*:*)
-       case ${UNAME_MACHINE} in
-           pc98)
-               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 
's/[-(].*//'` ;;
+       UNAME_PROCESSOR=`/usr/bin/uname -p`
+       case ${UNAME_PROCESSOR} in
            amd64)
                echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 
's/[-(].*//'` ;;
            *)
-               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed 
-e 's/[-(].*//'` ;;
+               echo ${UNAME_PROCESSOR}-unknown-freebsd`echo 
${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
        esac
        exit ;;
     i*:CYGWIN*:*)
@@ -807,6 +806,9 @@ EOF
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
+    i*:MSYS*:*)
+       echo ${UNAME_MACHINE}-pc-msys
+       exit ;;
     i*:windows32*:*)
        # uname -m includes "-pc" on this system.
        echo ${UNAME_MACHINE}-mingw32
@@ -903,6 +905,9 @@ EOF
     frv:Linux:*:*)
        echo frv-unknown-linux-gnu
        exit ;;
+    hexagon:Linux:*:*)
+       echo hexagon-unknown-linux-gnu
+       exit ;;
     i*86:Linux:*:*)
        LIBC=gnu
        eval $set_cc_for_build
diff --git a/lib/config.sub b/lib/config.sub
index f9fcdc8..e76eaf4 100755
--- a/lib/config.sub
+++ b/lib/config.sub
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011 Free Software Foundation, Inc.
 
-timestamp='2011-06-03'
+timestamp='2011-11-11'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -251,13 +251,17 @@ case $basic_machine in
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | 
alpha64pca5[67] \
        | am33_2.0 \
        | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | 
avr32 \
+        | be32 | be64 \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
+       | epiphany \
        | fido | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
+       | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
        | maxq | mb | microblaze | mcore | mep | metag \
@@ -291,7 +295,7 @@ case $basic_machine in
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
-       | rx \
+       | rl78 | rx \
        | score \
        | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | 
shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
@@ -357,6 +361,7 @@ case $basic_machine in
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
+       | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | clipper-* | craynv-* | cydra-* \
@@ -365,8 +370,10 @@ case $basic_machine in
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
+       | le32-* | le64-* \
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@@ -400,7 +407,7 @@ case $basic_machine in
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
-       | romp-* | rs6000-* | rx-* \
+       | rl78-* | romp-* | rs6000-* | rx-* \
        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* 
| sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | 
sparclet-* \
@@ -809,10 +816,18 @@ case $basic_machine in
        ms1-*)
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
+       msys)
+               basic_machine=i386-pc
+               os=-msys
+               ;;
        mvs)
                basic_machine=i370-ibm
                os=-mvs
                ;;
+       nacl)
+               basic_machine=le32-unknown
+               os=-nacl
+               ;;
        ncr3000)
                basic_machine=i486-ncr
                os=-sysv4
@@ -1332,7 +1347,7 @@ case $os in
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* 
\
              | -mingw32* | -linux-gnu* | -linux-android* \
              | -linux-newlib* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
diff --git a/lib/depcomp b/lib/depcomp
index 2fe40a9..5621fd4 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-04-16.09; # UTC
+scriptversion=2011-12-04.11; # UTC
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2011,
 # Free Software Foundation, Inc.
@@ -44,7 +44,7 @@ Environment variables:
   object      Object file output by `PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <address@hidden>.
diff --git a/lib/texinfo.tex b/lib/texinfo.tex
index fd22fd6..d831117 100644
--- a/lib/texinfo.tex
+++ b/lib/texinfo.tex
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2011-05-23.16}
+\def\texinfoversion{2011-11-09.15}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -116,6 +116,7 @@
 % Set up fixed words for English if not already set.
 \ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
 \ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
+\ifx\putworderror\undefined     \gdef\putworderror{error}\fi
 \ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
 \ifx\putwordin\undefined        \gdef\putwordin{in}\fi
 \ifx\putwordIndexIsEmpty\undefined       \gdef\putwordIndexIsEmpty{(Index is 
empty)}\fi
@@ -1194,29 +1195,31 @@ output) for that.)}
     \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
     \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
     %
-    % pdftex (and the PDF format) support .png, .jpg, .pdf (among
-    % others).  Let's try in that order.
+    % pdftex (and the PDF format) support .pdf, .png, .jpg (among
+    % others).  Let's try in that order, PDF first since if
+    % someone has a scalable image, presumably better to use that than a
+    % bitmap.
     \let\pdfimgext=\empty
     \begingroup
-      \openin 1 #1.png \ifeof 1
-        \openin 1 #1.jpg \ifeof 1
-          \openin 1 #1.jpeg \ifeof 1
-            \openin 1 #1.JPG \ifeof 1
-              \openin 1 #1.pdf \ifeof 1
-                \openin 1 #1.PDF \ifeof 1
+      \openin 1 #1.pdf \ifeof 1
+        \openin 1 #1.PDF \ifeof 1
+          \openin 1 #1.png \ifeof 1
+            \openin 1 #1.jpg \ifeof 1
+              \openin 1 #1.jpeg \ifeof 1
+                \openin 1 #1.JPG \ifeof 1
                   \errhelp = \nopdfimagehelp
                   \errmessage{Could not find image file #1 for pdf}%
-                \else \gdef\pdfimgext{PDF}%
+                \else \gdef\pdfimgext{JPG}%
                 \fi
-              \else \gdef\pdfimgext{pdf}%
+              \else \gdef\pdfimgext{jpeg}%
               \fi
-            \else \gdef\pdfimgext{JPG}%
+            \else \gdef\pdfimgext{jpg}%
             \fi
-          \else \gdef\pdfimgext{jpeg}%
+          \else \gdef\pdfimgext{png}%
           \fi
-        \else \gdef\pdfimgext{jpg}%
+        \else \gdef\pdfimgext{PDF}%
         \fi
-      \else \gdef\pdfimgext{png}%
+      \else \gdef\pdfimgext{pdf}%
       \fi
       \closein 1
     \endgroup
@@ -2372,7 +2375,9 @@ end
   \else\ifx\next-%
   \else\ifx\next.%
   \else\ptexslash
-  \fi\fi\fi}
+  \fi\fi\fi
+  \aftersmartic
+}
 
 % like \smartslanted except unconditionally uses \ttsl, and no ic.
 % @var is set to this for defun arguments.
@@ -2382,9 +2387,15 @@ end
 % ttsl for book titles, do we?
 \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
 
+\def\aftersmartic{}
+\def\var#1{%
+  \let\saveaftersmartic = \aftersmartic
+  \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+  \smartslanted{#1}%
+}
+
 \let\i=\smartitalic
 \let\slanted=\smartslanted
-\def\var#1{\smartslanted{#1}}
 \let\dfn=\smartslanted
 \let\emph=\smartitalic
 
@@ -2480,7 +2491,7 @@ end
     \plainfrenchspacing
     #1%
   }%
-  \null
+  \null % reset spacefactor to 1000
 }
 
 % We *must* turn on hyphenation at `-' and `_' in @code.
@@ -2762,6 +2773,7 @@ end
   \ifx\temp\empty \else
     \space ({\unsepspaces \ignorespaces \temp \unskip})%
   \fi
+  \null % reset \spacefactor=1000
 }
 
 % @abbr for "Comput. J." and the like.
@@ -2774,6 +2786,7 @@ end
   \ifx\temp\empty \else
     \space ({\unsepspaces \ignorespaces \temp \unskip})%
   \fi
+  \null % reset \spacefactor=1000
 }
 
 % @asis just yields its argument.  Used with @table, for example.
@@ -2979,7 +2992,7 @@ end
 {\tentt \global\dimen0 = 3em}% Width of the box.
 \dimen2 = .55pt % Thickness of rules
 % The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
 %
 \setbox\errorbox=\hbox to \dimen0{\hfil
    \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
@@ -3955,13 +3968,13 @@ end
 %        If so, set to same dimension as multitablelinespace.
 \ifdim\multitableparskip>\multitablelinespace
 \global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+                                      % than skip between lines in the table.
 \fi%
 \ifdim\multitableparskip=0pt
 \global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+                                      % than skip between lines in the table.
 \fi}
 
 
@@ -5855,7 +5868,6 @@ end
   % This is purely so the last item on the list is a known \penalty >
   % 10000.  This is so \startdefun can avoid allowing breakpoints after
   % section headings.  Otherwise, it would insert a valid breakpoint between:
-  %
   %   @section sec-whatever
   %   @deffn def-whatever
   \penalty 10001
@@ -6273,6 +6285,12 @@ end
   \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
   % Flag to tell @lisp, etc., not to narrow margin.
   \let\nonarrowing = t%
+  %
+  % If this cartouche directly follows a sectioning command, we need the
+  % \parskip glue (backspaced over by default) or the cartouche can
+  % collide with the section heading.
+  \ifnum\lastpenalty>10000 \vskip\parskip \fi
+  %
   \vbox\bgroup
       \baselineskip=0pt\parskip=0pt\lineskip=0pt
       \carttop
@@ -6286,7 +6304,7 @@ end
              \lineskip=\normlskip
              \parskip=\normpskip
              \vskip -\parskip
-             \comment % For explanation, see the end of \def\group.
+             \comment % For explanation, see the end of def\group.
 }
 \def\Ecartouche{%
               \ifhmode\par\fi
@@ -7242,9 +7260,15 @@ end
 \def\macroxxx#1{%
   \getargs{#1}% now \macname is the macname and \argl the arglist
   \ifx\argl\empty       % no arguments
-     \paramno=0
+     \paramno=0\relax
   \else
      \expandafter\parsemargdef \argl;%
+     \if\paramno>256\relax
+       \ifx\eTeXversion\thisisundefined
+         \errhelp = \EMsimple
+         \errmessage{You need eTeX to compile a file with macros with more 
than 256 arguments}
+       \fi
+     \fi
   \fi
   \if1\csname ismacro.\the\macname\endcsname
      \message{Warning: redefining \the\macname}%
@@ -7294,9 +7318,17 @@ end
 \def\getmacname#1 #2\relax{\macname={#1}}
 \def\getmacargs#1{\def\argl{#1}}
 
+% For macro processing make @ a letter so that we can make Texinfo private 
macro names.
address@hidden
+\catcode address@hidden
+
 % Parse the optional {params} list.  Set up \paramno and \paramlist
-% so \defmacro knows what to do.  Define \macarg.blah for each blah
-% in the params list to be ##N where N is the position in that list.
+% so \defmacro knows what to do.  Define \macarg.BLAH for each BLAH
+% in the params list to some hook where the argument si to be expanded.  If
+% there are less than 10 arguments that hook is to be replaced by ##N where N
+% is the position in that list, that is to say the macro arguments are to be
+% defined `a la TeX in the macro body.  
+%
 % That gets used by \mbodybackslash (above).
 %
 % We need to get `macro parameter char #' into several definitions.
@@ -7306,12 +7338,33 @@ end
 %
 % The same technique is used to protect \eatspaces till just before
 % the macro is used.
-
+%
+% If there are 10 or more arguments, a different technique is used, where the
+% hook remains in the body, and when macro is to be expanded the body is
+% processed again to replace the arguments.
+%
+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
+% argument N value and then \edef  the body (nothing else will expand because 
of
+% the catcode regime underwhich the body was input).
+%
+% If you compile with TeX (not eTeX), and you have macros with 10 or more
+% arguments, you need that no macro has more than 256 arguments, otherwise an
+% error is produced.
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
   \let\xeatspaces\relax
   \parsemargdefxxx#1,;,%
+  % In case that there are 10 or more arguments we parse again the arguments
+  % list to set new definitions for the \macarg.BLAH macros corresponding to
+  % each BLAH argument. It was anyhow needed to parse already once this list
+  % in order to count the arguments, and as macros with at most 9 arguments
+  % are by far more frequent than macro with 10 or more arguments, defining
+  % twice the \macarg.BLAH macros does not cost too much processing power.
+  \ifnum\paramno<10\relax\else
+    \paramno0\relax
+    \parsemmanyargdef@@#1,;,% 10 or more arguments
+  \fi
 }
 \def\parsemargdefxxx#1,{%
   \if#1;\let\next=\relax
@@ -7322,16 +7375,205 @@ end
     \edef\paramlist{\paramlist\hash\the\paramno,}%
   \fi\next}
 
+\def\parsemmanyargdef@@#1,{%
+  \if#1;\let\next=\relax
+  \else 
+    \let\next=\parsemmanyargdef@@
+    \edef\tempb{\eatspaces{#1}}%
+    \expandafter\def\expandafter\tempa
+       \expandafter{\csname macarg.\tempb\endcsname}%
+    % Note that we need some extra \noexpand\noexpand, this is because we
+    % don't want \the  to be expanded in the \parsermacbody  as it uses an
+    % \xdef .
+    \expandafter\edef\tempa
+      {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
+    \advance\paramno by 1\relax
+  \fi\next}
+
 % These two commands read recursive and nonrecursive macro bodies.
 % (They're different since rec and nonrec macros end differently.)
 %
+
+\catcode address@hidden
 address@hidden macro%
 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
 address@hidden rmacro%
 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\catcode address@hidden
+
address@hidden
address@hidden
address@hidden@}%
address@hidden@}%
+
+% This macro is expanded during the Texinfo macro expansion, not during its
+% definition.  It gets all the arguments values and assigns them to macros
+% macarg.ARGNAME
+%
+% #1 is the macro name
+% #2 is the list of argument names
+% #3 is the list of argument values
address@hidden
+  address@hidden
+  address@hidden Need to keep a copy for parameter expansion.
+  \def\paramlist{#2,address@hidden
+  \def\macroname{#1}%
+  \begingroup
+  \macroargctxt
+  \def\argvaluelist{#3,address@hidden
+  address@hidden
+  address@hidden
+    \setemptyargvalues@
+  \else
+    \getargvals@@
+  \fi
+}
+
+% 
+\def\getargvals@@{%
+  \ifx\paramlist\nilm@
+      % Some sanity check needed here that \argvaluelist is also empty.
+      \ifx\argvaluelist\nillm@
+      \else
+        \errhelp = \EMsimple
+        \errmessage{Too many arguments in macro `\macroname'!}%
+      \fi
+      \let\next\macargexpandinbody@
+  \else
+    \ifx\argvaluelist\nillm@
+       % No more arguments values passed to macro.  Set remaining named-arg
+       % macros to empty.
+       \let\next\setemptyargvalues@
+    \else
+      % pop current arg name into address@hidden
+      address@hidden@address@hidden@}%
+      address@hidden
+       % pop current argument value into address@hidden
+      address@hidden@address@hidden@}%
+      address@hidden
+       % Here address@hidden is the current arg name and address@hidden is the 
current arg value.
+       % First place the new argument macro definition into address@hidden
+       address@hidden
+       \expandafter\let\csname address@hidden
+       address@hidden
+         \csname address@hidden
+       address@hidden@tempe{\the\macname}}%
+       address@hidden@tempd\macargdeflist@
+       \let\next\getargvals@@
+    \fi
+  \fi
+  \next
+}
+
address@hidden
+  \expandafter\expandafter\expandafter\def
+  \expandafter\expandafter\expandafter#2%
+  \expandafter\expandafter\expandafter{%
+  \expandafter#1#2}%
+}
+
+% Replace arguments by their values in the macro body, and place the result
+% in macro address@hidden
address@hidden
+  %  To do this we use the property that token registers that are \the'ed
+  % within an \edef  expand only once. So we are going to place all argument
+  % values into respective token registers.
+  %
+  % First we save the token context, and initialize argument numbering.
+  \begingroup
+    \paramno0\relax
+    % Then, for each argument number #N, we place the corresponding argument
+    % value into a new token list register \toks#N
+    address@hidden@,;,%
+    % Then, we expand the body so that argument are replaced by their
+    % values. The trick for values not to be expanded themselves is that they
+    % are within tokens and that tokens expand only once in an \edef .
+    address@hidden mac.\macroname .body\endcsname}%
+    % Now we restore the token stack pointer to free the token list registers
+    % which we have used, but we make sure that expanded body is saved after
+    % group.
+    \expandafter
+  \endgroup
+  address@hidden@tempc}%
+  }
+
address@hidden 
+  %% Define the named-macro outside of this group and then close this group. 
+  \expandafter
+  \endgroup
+  \macargdeflist@
+  % First the replace in body the macro arguments by their values, the result
+  % is in address@hidden .
+  \macvalstoargs@
+  % Then we point at the \norecurse or \gobble (for recursive) macro value
+  % with address@hidden .
+  address@hidden mac.\macroname .recurse\endcsname
+  % Depending on whether it is recursive or not, we need some tailing
+  % \egroup .
+  address@hidden
+     address@hidden
+  \else
+     address@hidden
+  \fi
+  % And now we do the real job:
+  address@hidden@address@hidden@tempc}%
+  address@hidden
+}
+
address@hidden,{%
+  \if#1;\let\next\relax
+  \else
+    \let\next\putargsintokens@
+    % First we allocate the new token list register, and give it a temporary
+    % alias address@hidden .
+    address@hidden
+    % Then we place the argument value into that token list register.
+    address@hidden macarg.#1\endcsname
+    address@hidden@tempa}%
+    \advance\paramno by 1\relax
+  \fi
+  \next
+}
+
+% Save the token stack pointer into macro #1
address@hidden
+% Restore the token stack pointer from number in macro #1
address@hidden
+% newtoks that can be used non \outer .
+\def\texinonouternewtoks{\alloc@ 5\toks \toksdef address@hidden
+
+% Tailing missing arguments are set to empty
address@hidden
+  \ifx\paramlist\nilm@
+    \let\next\macargexpandinbody@
+  \else
+    address@hidden@
+    \let\next\setemptyargvalues@
+  \fi
+  \next
+}
+
address@hidden,address@hidden
+  address@hidden
+    \expandafter\def\csname macarg.#1\endcsname{}}%
+  address@hidden@tempa\macargdeflist@
+  \def\paramlist{#2}%
+}
+
+% #1 is the element target macro
+% #2 is the list macro
+% #3,#4\endargs@ is the list value
address@hidden,address@hidden
+   \def#1{#3}%
+   \def#2{#4}%
+}
address@hidden,address@hidden
+   \long\def#1{#3}%
+   \long\def#2{#4}%
+}
 
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
+% This defines a Texinfo @macro. There are eight cases: recursive and
+% nonrecursive macros of zero, one, up to nine, and many arguments.
 % Much magic with \expandafter here.
 % \xdef is used so that macro definitions will survive the file
 % they're defined in; @include reads the file inside a group.
@@ -7350,17 +7592,25 @@ end
          \expandafter\noexpand\csname\the\macname xxx\endcsname}%
       \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
          \egroup\noexpand\scanmacro{\temp}}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-        \csname\the\macname xxx\endcsname
-          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+    \else
+      \ifnum\paramno<10\relax % at most 9
+        \expandafter\xdef\csname\the\macname\endcsname{%
+           \bgroup\noexpand\macroargctxt
+           \noexpand\csname\the\macname xx\endcsname}%
+        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+        \expandafter\expandafter
+        \expandafter\xdef
+        \expandafter\expandafter
+          \csname\the\macname xxx\endcsname
+            \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+      \else % 10 or more
+        \expandafter\xdef\csname\the\macname\endcsname{%
+          address@hidden
+        }%    
+        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+        \global\expandafter\let\csname mac.\the\macname 
.recurse\endcsname\gobble
+      \fi
     \fi
   \else
     \ifcase\paramno
@@ -7377,23 +7627,33 @@ end
         \egroup
         \noexpand\norecurse{\the\macname}%
         \noexpand\scanmacro{\temp}\egroup}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \expandafter\noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-      \csname\the\macname xxx\endcsname
-      \paramlist{%
-          \egroup
-          \noexpand\norecurse{\the\macname}%
-          \noexpand\scanmacro{\temp}\egroup}%
+    \else % at most 9
+      \ifnum\paramno<10\relax
+        \expandafter\xdef\csname\the\macname\endcsname{%
+           \bgroup\noexpand\macroargctxt
+           \expandafter\noexpand\csname\the\macname xx\endcsname}%
+        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+        \expandafter\expandafter
+        \expandafter\xdef
+        \expandafter\expandafter
+        \csname\the\macname xxx\endcsname
+        \paramlist{%
+            \egroup
+            \noexpand\norecurse{\the\macname}%
+            \noexpand\scanmacro{\temp}\egroup}%
+      \else % 10 or more:
+        \expandafter\xdef\csname\the\macname\endcsname{%
+          address@hidden
+        }%
+        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+        \global\expandafter\let\csname mac.\the\macname 
.recurse\endcsname\norecurse
+      \fi
     \fi
   \fi}
 
+\catcode address@hidden
+
 \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
 
 % \braceorline decides whether the next nonwhitespace character is a
@@ -7856,7 +8116,7 @@ end
 % space to prevent strange expansion errors.)
 \def\supereject{\par\penalty -20000\footnoteno =0 }
 
-% @footnotestyle is meaningful for info output only.
+% @footnotestyle is meaningful for Info output only.
 \let\footnotestyle=\comment
 
 {\catcode address@hidden
@@ -7919,6 +8179,8 @@ end
   % expands into a box, it must come within the paragraph, lest it
   % provide a place where TeX can split the footnote.
   \footstrut
+  %
+  % Invoke rest of plain TeX footnote routine.
   address@hidden
 }
 }%end \catcode address@hidden
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 22d058b..24e58de 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -28,6 +28,8 @@ gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
 
@@ -302,6 +304,8 @@ dejagnu-relative-srcdir.test \
 dejagnu-siteexp-extend.test \
 dejagnu-siteexp-append.test \
 dejagnu-siteexp-useredit.test \
+deleted-am.test \
+deleted-m4.test \
 depacl2.test \
 depcomp.test \
 depcomp2.test \
@@ -732,6 +736,8 @@ remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
 remake-subdir-long-time.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 945c44d..c28c0c7 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -299,6 +299,8 @@ gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
 
@@ -586,6 +588,8 @@ dejagnu-relative-srcdir.test \
 dejagnu-siteexp-extend.test \
 dejagnu-siteexp-append.test \
 dejagnu-siteexp-useredit.test \
+deleted-am.test \
+deleted-m4.test \
 depacl2.test \
 depcomp.test \
 depcomp2.test \
@@ -1016,6 +1020,8 @@ remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
 remake-subdir-long-time.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/README b/tests/README
index ca17c4f..561f426 100644
--- a/tests/README
+++ b/tests/README
@@ -195,7 +195,3 @@ Do not
   sub-make may not pass `prefix=/opt' along).  Use the following
   instead:
     prefix=/opt $MAKE -e install
-
-  Do not send a test case without signing a copyright disclaimer.
-  See http://sources.redhat.com/automake/contribute.html or
-  ask <address@hidden> for details.
diff --git a/tests/color2.test b/tests/color2.test
index 306aa04..bc97313 100755
--- a/tests/color2.test
+++ b/tests/color2.test
@@ -38,16 +38,32 @@ case `echo "$std" | grep .` in
   *) echo "$me: grep can't parse nonprinting characters" >&2; Exit 77;;
 esac
 
-# Check that we have a working expect program.
-cat >expect-check <<'END'
-#! /usr/bin/expect -f
-spawn $env(THE_SYSTEM_SHELL) -c :
-expect eof
+# 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"
+
+# Also, if the $MAKE program fails to consider the standard output as a
+# tty (this happens with e.g., BSD make and Solaris dmake when they're
+# run in parallel mode; see the autoconf manual), there is little point
+# in proceeding.
+cat > Makefile <<'END'
+all:
+## Creaive quoting in the `echo' below to avoid risk of spurious output
+## matches by `expect', below.
+       @test -t 1 && echo "stdout" "is" "a" "tty"
 END
-THE_SYSTEM_SHELL=/bin/sh expect -f expect-check || {
-    echo "$me: failed to find a working expect program" >&2
-    Exit 77
+cat > expect-check <<'END'
+spawn $env(MAKE)
+expect {
+  "stdout is a tty" { exit 0 }
+  default { exit 1 }
 }
+exit 1
+END
+MAKE=$MAKE expect -f expect-check \
+  || skip_ "make spawned by expect should have a tty stdout"
+rm -f check Makefile
 
 # Do the tests.
 
@@ -108,7 +124,6 @@ test_no_color ()
 }
 
 cat >expect-make <<'END'
-#! /usr/bin/expect -f
 spawn $env(MAKE) -e check
 expect eof
 END
diff --git a/tests/cond35.test b/tests/cond35.test
index 6e8fba4..68ede32 100755
--- a/tests/cond35.test
+++ b/tests/cond35.test
@@ -61,6 +61,12 @@ test `grep tparse.h: Makefile.in | wc -l` = 1
 cat > tscan.l << 'END'
 %%
 "END"   return EOF;
+%%
+/* Avoid possible link errors. */
+int yywrap (void)
+{
+  return 1;
+}
 END
 
 cat > tparse.y << 'END'
diff --git a/tests/defs.in b/tests/defs.in
index b99ce97..36d9f44 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -406,11 +406,13 @@ cd ./$testSubDir
   echo "AC_CONFIG_FILES([Makefile])"
 } >configure.in
 
-# Unset some MAKE... variables that may cause $MAKE to act like a
-# recursively invoked sub-make.  Any $MAKE invocation in a test is
+# Unset some make-related variables that may cause $MAKE to act like
+# a recursively invoked sub-make.  Any $MAKE invocation in a test is
 # conceptually an independent invocation, not part of the main
 # 'automake' build.
-unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL __MKLVL__ MAKE_JOBS_FIFO
+unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL
+unset __MKLVL__ MAKE_JOBS_FIFO                     # For BSD make.
+unset DMAKE_CHILD DMAKE_DEF_PRINTED DMAKE_MAX_JOBS # For Solaris dmake.
 # Unset verbosity flag.
 unset V
 # Also unset variables that will let `make -e install' divert
diff --git a/tests/deleted-am.test b/tests/deleted-am.test
new file mode 100755
index 0000000..cc82e79
--- /dev/null
+++ b/tests/deleted-am.test
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# The stub rules emitted to work around the "deleted header problem"
+# 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.
+
+. ./defs || Exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+echo 'include $(top_srcdir)/foobar.am' > Makefile.am
+echo 'include zardoz.am' > foobar.am
+: > zardoz.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE
+
+rm -f zardoz.am
+$MAKE >output 2>&1 && { cat output; Exit 1; }
+cat output
+# FIXME: enable this stricter grepping, once bug#9768 has been taken
+# FIXME: care of.
+## This error will come from automake, not make, so we can be stricter
+## in our grepping of it.
+# grep 'cannot open.*zardoz\.am' output
+grep 'zardoz\.am' output
+grep 'foobar\.am' output && Exit 1 # No spurious error, please.
+
+# Try  with one less indirection.
+: > foobar.am
+$AUTOMAKE Makefile
+./config.status Makefile
+$MAKE # Sanity check.
+rm -f foobar.am
+$MAKE >output 2>&1 && { cat output; Exit 1; }
+cat output
+# FIXME: enable this stricter grepping, once bug#9768 has been taken
+# FIXME: care of.
+## This error will come from automake, not make, so we can be stricter
+## in our grepping of it.
+# grep 'cannot open.*foobar\.am' output
+grep 'foobar\.am' output
+
+:
diff --git a/tests/deleted-m4.test b/tests/deleted-m4.test
new file mode 100755
index 0000000..6b0b9af
--- /dev/null
+++ b/tests/deleted-m4.test
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# The stub rules emitted to work around the "deleted header problem"
+# 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.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+echo 'm4_include([zardoz.m4])' > foobar.m4
+: > zardoz.m4
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE
+
+rm -f zardoz.m4
+$MAKE >output 2>&1 && { cat output; Exit 1; }
+cat output
+# This error will come from aclocal, not make, so we can be stricter
+# in our grepping of it.
+grep ' foobar\.m4:1:.*zardoz\.m4.*does not exist' output
+# No spurious errors, please.
+$FGREP -v ' foobar.m4:1:' output | $FGREP 'foobar.m4' && Exit 1
+
+# Try with one less indirection.
+: > foobar.m4
+$ACLOCAL --force
+$AUTOCONF
+./configure
+$MAKE # Sanity check.
+rm -f foobar.m4
+$MAKE >output 2>&1 && { cat output; Exit 1; }
+cat output
+# This error will come from aclocal, not make, so we can be stricter
+# in our grepping of it.
+grep 'foobar\.m4.*does not exist' output
+# No spurious errors, please (ok, this is really paranoid).
+$FGREP 'zardoz.m4' output && Exit 1
+
+:
diff --git a/tests/dist-missing-am.test b/tests/dist-missing-am.test
new file mode 100755
index 0000000..49e82aa
--- /dev/null
+++ b/tests/dist-missing-am.test
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# 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.
+# See discussion about automake bug#9768.
+
+. ./defs || Exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am <<'END'
+include $(srcdir)/foobar.am
+include $(srcdir)/zardoz.am
+END
+
+: > foobar.am
+: > zardoz.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# 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
+  $MAKE distdir
+  test -f $distdir/zardoz.am # Sanity check.
+  rm -f $distdir/zardoz.am
+  if $vpath; then
+    # We can't just build in a subdirectory of $distdir, otherwise
+    # we'll hit automake bug#10111.
+    mkdir vpath-distcheck
+    cd vpath-distcheck
+    ../$distdir/configure
+  else
+    cd $distdir
+    ./configure
+  fi
+  $MAKE >output 2>&1 && { cat output; Exit 1; }
+  cat output
+# FIXME: enable this stricter grepping, once bug#9768 has been taken
+# FIXME: care of.
+#  # This error comes from automake, not make, so we can be stricter
+#  # in our grepping of it.
+#  grep 'cannot open.*zardoz\.am' output
+  grep 'foobar\.am' output && Exit 1 # No spurious error, please.
+  cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
+done
+
+:
diff --git a/tests/dist-missing-included-m4.test 
b/tests/dist-missing-included-m4.test
new file mode 100755
index 0000000..56ba24c
--- /dev/null
+++ b/tests/dist-missing-included-m4.test
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# 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.
+# See discussion about automake bug#9768.
+# See also sister test `dist-missing-m4.test'.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+m4_include([zardoz.m4])
+AC_OUTPUT
+END
+
+: > foobar.m4
+: > zardoz.m4
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# 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
+  $MAKE distdir
+  test -f $distdir/zardoz.m4 # Sanity check.
+  rm -f $distdir/zardoz.m4
+  if $vpath; then
+    # We can't just build in a subdirectory of $distdir, otherwise
+    # we'll hit automake bug#10111.
+    mkdir vpath-distcheck
+    cd vpath-distcheck
+    ../$distdir/configure
+  else
+    cd $distdir
+    ./configure
+  fi
+  $MAKE >output 2>&1 && { cat output; Exit 1; }
+  cat output
+  # This error will come from automake, not make, so we can be stricter
+  # in our grepping of it.
+  grep 'zardoz\.m4.*does not exist' output
+  grep 'foobar\.m4' output && Exit 1 # No spurious error, please.
+  cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
+done
+
+:
diff --git a/tests/dist-missing-m4.test b/tests/dist-missing-m4.test
new file mode 100755
index 0000000..a2618e9
--- /dev/null
+++ b/tests/dist-missing-m4.test
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# 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.
+# See discussion about automake bug#9768.
+# See also sister test `dist-missing-included-m4.test'.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_pattern_forbid([^MY_])
+MY_FOOBAR || exit 1
+MY_ZARDOZ || exit 1
+AC_OUTPUT
+END
+
+mkdir m4
+echo 'AC_DEFUN([MY_FOOBAR], [:])' > m4/foobar.m4
+echo 'AC_DEFUN([MY_ZARDOZ], [:])' > m4/zardoz.m4
+
+echo 'ACLOCAL_AMFLAGS = -I m4' > Makefile.am
+
+$ACLOCAL -I m4
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# 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
+  $MAKE distdir
+  test -f $distdir/m4/zardoz.m4 # Sanity check.
+  rm -f $distdir/m4/zardoz.m4
+  if $vpath; then
+    # We can't just build in a subdirectory of $distdir, otherwise
+    # we'll hit automake bug#10111.
+    mkdir vpath-distcheck
+    cd vpath-distcheck
+    ../$distdir/configure
+  else
+    cd $distdir
+    ./configure
+  fi
+  $MAKE >output 2>&1 && { cat output; Exit 1; }
+  cat output
+  # This error will come from autoconf, not make, so we can be stricter
+  # in our grepping of it.
+  grep 'possibly undefined .*MY_ZARDOZ' output
+  grep 'MY_FOOBAR' output && Exit 1 # No spurious error, please.
+  cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
+done
+
+:
diff --git a/tests/distcheck-override-infodir.test 
b/tests/distcheck-override-infodir.test
index 8c54cfb..3cf38c5 100755
--- a/tests/distcheck-override-infodir.test
+++ b/tests/distcheck-override-infodir.test
@@ -17,7 +17,7 @@
 # Check that we can override ${infodir} while having distcheck still
 # working.  Relate to automake bug#9579.
 
-required='makeinfo tex texi2dvi'
+required='makeinfo tex texi2dvi install-info'
 . ./defs || Exit 1
 
 set -e
@@ -32,11 +32,11 @@ info_TEXINFOS = main.texi
 ## Sanity check.
 installcheck-local:
        if test x$${infodir+set} != xset; then \
-         ls -l "$(DESTDIR)/$(prefix)/blah/blah/foobar/" || exit 1; \
-         test -f "$(DESTDIR)/$(prefix)/blah/blah/foobar/dir" || exit 1; \
+         ls -l "$(DESTDIR)$(prefix)/blah/blah/foobar/" || exit 1; \
+         test -f "$(DESTDIR)$(prefix)/blah/blah/foobar/dir" || exit 1; \
        else \
-         ls -l "$(DESTDIR)/$$infodir/" || exit 1; \
-         test -f "$(DESTDIR)/$$infodir/dir" || exit 1; \
+         ls -l "$(DESTDIR)$$infodir/" || exit 1; \
+         test -f "$(DESTDIR)$$infodir/dir" || exit 1; \
        fi
 END
 
diff --git a/tests/install-info-dir.test b/tests/install-info-dir.test
index f75b115..044bf6d 100755
--- a/tests/install-info-dir.test
+++ b/tests/install-info-dir.test
@@ -43,6 +43,14 @@ END
 cat > foo.texi << 'END'
 \input texinfo
 @setfilename foo.info
address@hidden 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 foo
address@hidden Dummy utilities
address@hidden
+* Foo: (foo).  Does nothing at all, but has a nice name.
address@hidden direntry
 @node Top
 Hello world!
 @bye
diff --git a/tests/lex3.test b/tests/lex3.test
index 91fc253..eabeb22 100755
--- a/tests/lex3.test
+++ b/tests/lex3.test
@@ -51,6 +51,12 @@ main ()
   else
     return 1;
 }
+
+/* Avoid possible link errors. */
+int yywrap (void)
+{
+  return 1;
+}
 END
 
 $ACLOCAL
diff --git a/tests/ltinit.test b/tests/ltinit.test
index b4eaad6..85705e0 100755
--- a/tests/ltinit.test
+++ b/tests/ltinit.test
@@ -55,7 +55,7 @@ $AUTOMAKE -a
 cwd=`pwd`
 ./configure --prefix="$cwd/inst" >stdout || { cat stdout; Exit 1; }
 cat stdout
-grep '^checking.*dlopen' stdout
+grep '^checking.*dlfcn\.h.* no$' stdout || grep '^checking.*dlopen' stdout
 
 $MAKE
 $MAKE install
diff --git a/tests/remake-am-pr10111.test b/tests/remake-am-pr10111.test
new file mode 100644
index 0000000..6f622f8
--- /dev/null
+++ b/tests/remake-am-pr10111.test
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2011 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 our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+AC_OUTPUT
+END
+
+: > foobar.am
+
+cat > Makefile.am <<'END'
+include $(srcdir)/foobar.am
+$(srcdir)/foobar.am:
+## Creative quoting to avoid spurious matches in the grepping
+## of Makefile.in, later.
+       echo '#' 'foobar' 'was 'here' '#' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.am
+$MAKE
+grep '# foobar was here #' ../Makefile.in
+$MAKE distcheck
+
+:
diff --git a/tests/remake-m4-pr10111.test b/tests/remake-m4-pr10111.test
new file mode 100644
index 0000000..2d89c25
--- /dev/null
+++ b/tests/remake-m4-pr10111.test
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2011 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 our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+AC_OUTPUT
+END
+
+: > foobar.m4
+
+cat > Makefile.am <<'END'
+$(srcdir)/foobar.m4:
+       echo ': foobar was here :' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.m4
+$MAKE
+grep ': foobar was here :' ../configure
+$MAKE distcheck
+
+:
diff --git a/tests/silent-lex.test b/tests/silent-lex.test
index 23863d3..ce1dc5b 100755
--- a/tests/silent-lex.test
+++ b/tests/silent-lex.test
@@ -58,6 +58,9 @@ cat > foo.l <<'EOF'
 "END"   return EOF;
 .
 %%
+/* Avoid possible link errors. */
+int yywrap (void) { return 1; }
+int   main (void) { return 0; }
 EOF
 cp foo.l sub/bar.l
 
diff --git a/tests/silent-many-gcc.test b/tests/silent-many-gcc.test
index 6515c19..a9b423c 100755
--- a/tests/silent-many-gcc.test
+++ b/tests/silent-many-gcc.test
@@ -163,6 +163,11 @@ cat > foo5.l <<'EOF'
 "END"   return EOF;
 .
 %%
+/* Avoid possible link errors. */
+int yywrap (void)
+{
+  return 1;
+}
 EOF
 cat > foo6.y <<'EOF'
 %{
@@ -193,7 +198,7 @@ $FGREP 'fo2-foo6.c' Makefile.in
 
 # Force gcc ("fast") depmode.
 # This apparently useless "for" loop is here to simplify the syncing
-# with sister test `silent-many-gcc.test'.
+# with sister test `silent-many-generic.test'.
 for config_args in \
   am_cv_CC_dependencies_compiler_type=gcc
 do
diff --git a/tests/silent-many-generic.test b/tests/silent-many-generic.test
index 2a328ea..2844289 100755
--- a/tests/silent-many-generic.test
+++ b/tests/silent-many-generic.test
@@ -165,6 +165,11 @@ cat > foo5.l <<'EOF'
 "END"   return EOF;
 .
 %%
+/* Avoid possible link errors. */
+int yywrap (void)
+{
+  return 1;
+}
 EOF
 cat > foo6.y <<'EOF'
 %{
diff --git a/tests/uninstall-fail.test b/tests/uninstall-fail.test
index 14a843b..529d8f3 100755
--- a/tests/uninstall-fail.test
+++ b/tests/uninstall-fail.test
@@ -27,7 +27,19 @@ set -e
 mkdir d
 : > d/f
 chmod a-w d || skip "cannot make directories unwritable"
-rm -f d/f && skip_ "can delete files from unwritable directories"
+
+# 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.
+st=0; rm -f d/f 2>stderr || st=$?
+cat stderr >&2
+test $st -gt 0 || skip_ "can delete files from unwritable directories"
+if grep 'rm:' stderr; then
+  rm_f_is_silent_on_error=no
+else
+  rm_f_is_silent_on_error=yes
+fi
 
 cat >> configure.in << 'END'
 AC_OUTPUT
@@ -53,15 +65,34 @@ mkdir $inst $inst/share
 chmod a-w $inst/share
 $MAKE uninstall >output 2>&1 && { cat output; Exit 1; }
 cat output
-grep "rm: .*foobar\.txt" output
+if test $rm_f_is_silent_on_error = yes; then
+  : "rm -f" is silent on errors, skip the grepping of make output
+else
+  grep "rm: .*foobar\.txt" output
+fi
 
 chmod a-rwx $inst/share
 (cd $inst/share) && skip_ "cannot make directories fully unreadable"
 
 $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.
-$EGREP "(cd|sh): .*$inst/share" output
+# the name of the `cd' builtin upon a chdir error:
+#
+#   $ /bin/sh -c 'cd /none'
+#   /bin/sh: /none: does not exist
+#
+# In addition, some shells, like Solaris 10 /usr/xpg4/bin/sh, also print
+# a line number in the error message *if the command contains newlines*:
+#
+#   $ /usr/xpg4/bin/sh -c 'cd unreadable'
+#   /usr/xpg4/bin/sh: unreadable: permission denied
+#   $ /usr/xpg4/bin/sh -c '\
+#   > \
+#   > cd unreadable'
+#   /usr/xpg4/bin/sh[3]: unreadable: permission denied
+#
+$EGREP "(cd|sh)(\[[0-9]*[0-9]\])?: .*$inst/share" output
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

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