Merge branch 'maint' into master.
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 22 Dec 2011 21:16:12 +0000 (22:16 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 22 Dec 2011 21:57:04 +0000 (22:57 +0100)
* m4/regex.m4: Bump serial number by some notches, for good
measure.  Prefer the deprecation message from maint over that
from master.
* m4/python.m4: Bump serial number.
* tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'.
(canon7.log): Likewise.
(extradep2.log): Likewise.
(ar-lib4.log): Likewise.
(ar-lib6a.log): Likewise.
(ar-lib6b.log): Likewise.
(vartypo2): Likewise.
(posixsubst-ltlibraries.log): Likewise.
* tests/defs: Adjust the path of the included `get.sh' scripts
generated by `libtool-macros.test' and `gettext-macros.test'.
* aclocal.m4: Delete, it's auto-generated now.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* m4/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.
* lib/Makefile.in: Likewise.
* lib/am/Makefile.in: Likewise.
* lib/Automake/Makefile.in: Likewise.
* lib/Automake/tests/Makefile.in: Likewise.
* .gitignore: Correctly ignored the autogenerated files
that are not committed anymore.

14 files changed:
1  2 
.gitignore
ChangeLog
HACKING
Makefile.am
NEWS
automake.in
configure.ac
doc/automake.texi
m4/python.m4
m4/regex.m4
tests/Makefile.am
tests/defs
tests/regex-obsolete.test
tests/silent-lex-generic.test

diff --cc .gitignore
@@@ -1,15 -1,14 +1,18 @@@
 -aclocal.m4
 -configure
 -autom4te.cache
 +/autom4te.cache
 +/aclocal
 +/automake
++/aclocal.m4
++/configure
 +/config.cache
 +/config.log
 +/config.status
 +/config.status.lineno
 +/configure.lineno
+ Makefile.in
  Makefile
 -aclocal
 -automake
 -config.cache
 -config.log
 -config.status
 -config.status.lineno
 -configure.lineno
 +cscope.files
 +cscope.in.out
 +cscope.out
 +cscope.po.out
  tags
  TAGS
diff --cc ChangeLog
+++ b/ChangeLog
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
++      Merge branch 'maint' into master.
++      * m4/regex.m4: Bump serial number by some notches, for good
++      measure.  Prefer the deprecation message from maint over that
++      from master.
++      * m4/python.m4: Bump serial number.
++      * tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'.
++      (canon7.log): Likewise.
++      (extradep2.log): Likewise.
++      (ar-lib4.log): Likewise.
++      (ar-lib6a.log): Likewise.
++      (ar-lib6b.log): Likewise.
++      (vartypo2): Likewise.
++      (posixsubst-ltlibraries.log): Likewise.
++      * tests/defs: Adjust the path of the included `get.sh' scripts
++      generated by `libtool-macros.test' and `gettext-macros.test'.
++      * aclocal.m4: Delete, it's auto-generated now. 
++      * configure: Likewise.
++      * Makefile.in: Likewise.
++      * doc/Makefile.in: Likewise.
++      * m4/Makefile.in: Likewise.
++      * tests/Makefile.in: Likewise.
++      * lib/Makefile.in: Likewise.
++      * lib/am/Makefile.in: Likewise.
++      * lib/Automake/Makefile.in: Likewise.
++      * lib/Automake/tests/Makefile.in: Likewise.
++      * .gitignore: Correctly ignored the autogenerated files
++      that are not committed anymore.
++
++2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
++
+       hacking: distribute it, and mention it in the ChangeLog
+       Not distributing the HACKING file might make it more difficult,
+       for some random curious user, to get informed about or interested
+       in the Automake development process, or to send us patches.
+       * Makefile.am (EXTRA_DIST): Add HACKING.
+       * HACKING: It's OK to distribute this file, and to mention it in
+       the ChangeLog.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       regex: deprecate the obsolete macro AM_WITH_REGEX
+       This is a backport of commit v1.11-433-g37b0aee.
+       Today, practically nobody uses the GNU rx library, which, according
+       to its own website <http://www.gnu.org/software/rx/rx.html>, has
+       been "decommissioned".  Consequently, the automake-provided macro
+       AM_WITH_REGEX is not used nor required anymore.  Deprecate it, so
+       that it will be possible to safely remove it in the next major
+       automake version.
+       * m4/regex.m4 (AM_WITH_REGEX): Give a warning of the class
+       `obsolete' when this macro is used.
+       * doc/automake.texi (Public Macros): Move description of
+       `AM_WITH_REGEX' from here ...
+       (Obsolete Macros): ... to here, and declare it as obsolete
+       and "to be removed in a future version".
+       * tests/regex-obsolete.test: New test.
+       * tests/Makefile.am (TESTS): Add it.
+       * NEWS: Update.
+       See also:
+       <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00131.html>
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       maint: distribute .xz tarballs, not .bz2 ones
+       Many GNU packages are moving towards xz-compressed tarballs, so
+       let's follow suit, by dropping the creation and distribution of
+       a bzip2-compressed tarball and switching to xz instead.
+       For compatibility and safeness, we will continue to create and
+       distribute a gzip-compressed tarball as well.
+       * configure.ac (AM_INIT_AUTOMAKE): Drop `dist-bzip2', add
+       `dist-xz'.
+       * NEWS: Update
+       Suggested by Jim Meyering.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       include: avoid "deleted .am file" problem
+       * automake.in (handle_configure): When processing `configure.am',
+       also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether
+       `MAKEFILE-IN-DEPS' is empty or not.
+       * lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?]
+       (%MAKEFILE-IN-DEPS%): New target without dependencies, to
+       avoid the "deleted .am file" problem.  Emit this only when
+       `?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an
+       "empty" dependency declaration.
+       * tests/deleted-am.test: Make grepping of error message stricter.
+       * tests/dist-missing-am.test: Likewise.
+       * tests/remake-deleted-am.test: New test.
+       * tests/remake-deleted-am-2.test: Likewise.
+       * tests/remake-deleted-am-subdir.test: Likewise.
+       * tests/remake-renamed-am.test: Likewise.
+       * tests/makefile-deps.test: Likewise.
+       * tests/Makefile.am (TESTS): Add the new tests.
+       * NEWS: Update.
+       Fixes automake bug#9768.
+       Report by Peter Johansson.
+       See also commit `Release-1-10-40-gd0ebf71', which fixed a similar
+       problem for .m4 files included by configure.ac.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       maint: better use of autoconf 2.68 features
+       * configure.ac: Now that Automake requires autoconf 2.68 for its
+       own bootstrapping and build system, we can assume that PACKAGE_URL
+       gets automatically AC_SUBT'd.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       cosmetics: use proper m4 quoting in configure.ac
+       * configure.ac (AC_CONFIG_SRCDIR): Use proper m4 quoting
+       for its arguments.
+       (AC_CONFIG_AUX_DIR): Likewise.
+       (AC_PROG_PATH): Likewise.
+ 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       tests: better handling of gettext and libtool requirements
+       This change fixes automake bug#9807.
+       Before this change, the automake testsuite only looked for the
+       `.m4' files containing libtool and gettext macros definitions in
+       the directory `${prefix}/share/aclocal' (and in the directories
+       specified by the `dirlist' file in there, if any), where ${prefix}
+       was the configure-time automake installation prefix (defaulting
+       to `/usr/local').
+       This approach had various shortcomings and disadvantages.  Let's
+       briefly describe the three major ones.
+       First, on most GNU/Linux systems, a libtool or gettext installed
+       from distro-provided packages (e.g., by dpkg on Debian/Ubuntu, or
+       by rmp on RedHat/Fedora) would have `/usr', not `/usr/local', as
+       its ${prefix}; so, trying to run the automake testsuite with a
+       simple "./configure && make && make check" would have failed to
+       execute the libtool and gettext tests on most GNU/Linux distros.
+       It's true that it was quite easy to work around this issue, by
+       creating a proper `/usr/local/share/aclocal/dirlist' file with
+       an entry pointing to `/usr/share/aclocal' (a workaround in fact
+       used by most automake developers); but the typical user wasn't
+       aware of the necessity of this trick, so the libtool and gettext
+       tests was usually skipped on testsuite runs "in the wild", thus
+       needlessly reducing coverage.
+       Second, the older testsuite behaviour made more difficult for
+       the developers to run the testsuite with non-default libtool or
+       gettext.  For example, assume the developer is working on a system
+       that has a default libtool version 1.5 installed in the /usr/local
+       hierarchy; to improve coverage, the developer installs also a more
+       modern libtool version, say 2.4, in its home directory, let's say
+       in ~/libtool-2.4; he then tries to run the automake testsuite with
+       this more modern libtool by doing an (apparently) simple:
+         $ PATH=$HOME/libtool-2.4:$PATH make check
+       But the automake testsuite would still look for libtool macros in
+       /usr/local/share/aclocal, not in ~/libtool-2.4/share/aclocal, so
+       the wrong version of the macros would be picked up, and the tests
+       would either fail spuriously or (which would be worse) pass without
+       truly covering the libtool version the developers was thinking to
+       be testing with.
+       Worse again, the automake testsuite would *unconditionally* look
+       for libtool macros in /usr/local/share/aclocal, so even something
+       like:
+         $ export ACLOCAL_PATH=$HOME/libtool-2.4/share/aclocal
+         $ PATH=$HOME/libtool-2.4:$PATH make check
+       wouldn't work.
+       Third and last, during a "make distcheck", automake is configured
+       with a ${prefix} pointing to a proper subdirectory of the build
+       directory (usually `pwd`/_inst), which gets created on-the-fly;
+       in this case, with the old approach, the automake testsuite never
+       found the libtool and gettext macro files, ans so the libtool and
+       gettext tests was *always* skipped in a "make distcheck".
+       * tests/libtool-macros.test: New helper test, looking (with the
+       help of the `libtoolize' script) for libtool macro files required
+       by most libtool tests, and making them easily accessible.
+       * tests/gettext-macros.test: New helper test, looking (with the
+       help of the `libtoolize' script) for libtool macro files required
+       by most libtool tests, and making them easily accessible.
+       * tests/defs.in: Update to make it rely on the results and setups
+       of `libtool-macros.test' and `gettext-macros.test'.
+       * tests/Makefile.am: Declare dependency of all the logs of libtool
+       tests from `libtool-macros.log', and all the logs of gettext tests
+       from `gettext-macros.log'.
+       (TESTS): Add the new tests.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       fix: typos and grammaros in comments of the new test
+       * tests/get-sysconf.test: Fix few typos, grammaros and botched
+       wording.  Reported by Eric Blake.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       tests: report useful system information in 'test-suite.log'
+       It has already happened various times that a user has run the
+       automake testsuite, experienced a failure, read the messages
+       telling him "See tests/test-suite.log" and "Please report to
+       bug-automake@gnu.org", and done exactly that -- sending us only
+       the contents of `tests/test-suite.log', which are usually not
+       enough to start debugging the reported failure.  So we have to
+       ask him for more details, and usually also for the `config.log'
+       file generated by configure.  It's time to fix this recurring
+       feedback inefficiency.  We do so by creating a dummy test case
+       that takes care of copying the contents of `config.log', plus
+       other useful system information, in the final `test-suite.log'.
+       * tests/get-sysconf.test: New test, gathering system information
+       and then always terminating with a SKIP, so that its output gets
+       copied in `test-suite.log'.
+       * tests/Makefile.am (TESTS): Add it.
+ 2011-12-07  Reuben Thomas  <rrt@sc3d.org>  (tiny change)
+       python: remove relics for Python 1.5 support
+       * m4/python.m4: The comments in here claim to support only
+       Python >= 2.0, yet this file still has specific support for
+       Python 1.5.  Just remove it, python 1.5 is 12 years old now,
+       and practically defunct.
+       * NEWS: Update.
+       See also commit `Release-1-10-205-gd5bec12', "Support for
+       Python 3.0, drop support for pre-2.0."
+ 2011-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       configure: remove extraneous 'eval's from AM_RUN_LOG invocations
+       * configure.ac: Remove extra 'eval's from AM_RUN_LOG invocations;
+       for example, instead of "AM_RUN_LOG([eval $PERL --version])",
+       simply use "AM_RUN_LOG([$PERL --version])"
+ 2011-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       configure: report TeX version in config.log
+       * configure.ac: If possible, report the version of the selected
+       TeX program; this should render the logs more informative.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       maint: snapshots from `maint' are still development snapshots
+       The maintenance-oriented development line in the `maint' branch,
+       while being usually pretty stable and 99% backward-compatible,
+       is not always right off production-quality; but until now, the
+       Automake package version declared in configure.ac hid this fact,
+       since it appeared to be the version of a stable release (e.g.,
+       11.1).  Fix this.
+       * configure.ac (AC_INIT): Bump version to "1.11.0a".
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       configure: print proper message for test releases
+       * configure.ac: If the current release is detected to be a test
+       release or a development snapshot, print a proper warning for
+       the user.
+       * README-alpha: Delete, it's obsolete now (and in fact this file
+       hasn't been touched in eleven years, since release 1.4b or so).
+       * HACKING (Release procedure): Don't say to update README-alpha.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       devel: help in comparing Makefile.in from different commits
+       Now that the generated Makefile.in, configure and aclocal.m4 files
+       are no longer committed in Automake's git repository, a simple
+       "git diff" or "git log" no longer shows if and how a change in
+       Automake results in changes to the Makefile.in files and/or
+       configure script of its own build system.  Still, the ability to
+       peek so easily at such differences has proved itself quite useful
+       in the past, often revealing inconsistencies and blunders, and
+       sometimes even bugs; so it would be a pity to lose that altogether.
+       With this change, we add a new maintainer recipe that re-introduces
+       much of that capability, by generating and comparing on the fly the
+       Makefile.in, configure and aclocal.m4 derived from two arbitrary
+       commits of the Automake repository.
+       * Makefile.am (autodiffs, compare-autodiffs): New phony targets.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       repo: don't commit generated files in the git repository anymore
+       It has been quite some time since autoconf and libtool have stopped
+       committing the generated autotools files in their git repositories,
+       with no significant ill effects we're aware of.  It's true that the
+       autoconf bootstrap process has now the minor annoyance that a
+       pre-installed autoconf is required to complete it; but luckily
+       automake will not have a similar annoyance, since our bootstrap
+       script take care, through some hoops, to use the very automake and
+       aclocal versions from the current git checkout to generate the
+       required aclocal.m4 and Makefile.in files.  In fact, this has been
+       a necessity also in the past, because automake has been known to
+       use in its own build system new development features that hadn't
+       been present in any previously released automake distribution.
+       * .gitignore: Ignore configure, aclocal.m4, and all the
+       Makefile.in files.
+       * configure.ac (AC_PREREQ): New macro call, to require the
+       latest autoconf (2.68 for the moment).
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       missing: don't try to re-run tar with a munged command line
+       * lib/missing: If the default `tar' program fails with the given
+       arguments, and GNU tar is not available, don't try to re-run the
+       default `tar' with a munged command line (e.g., ditching possibly
+       unportable options), as that could be subtly alter the intended
+       semantics (and maybe even create a somewhat corrupted tarball).
+       Also, it's worth noting that the main purpose of the `missing'
+       script is to allow a non-developer to build the package in the
+       face of slightly-skewed timestamps, not to provide wrappers for
+       all the maintainer tools -- so we don't have to try too hard
+       when `missing' is just called to wrap `tar'.
+       * tests/missing-tar.test: New test.
+       * tests/Makefile.am (TESTS): Add it.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       missing: inform the user if GNU tar is called
+       * lib/missing: If the code trying to run GNU tar is reached, it
+       means that the previous attempt to run the default tar program
+       has failed, very likely producing some error message.  At this
+       point, just running GNU tar without further comments might be
+       confusing.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       missing: if GNU tar exists but fails when called, give up
+       * lib/missing: If the code trying to run GNU tar is reached,
+       don't continue if the invoked GNU tar program fails, as there
+       is little point in doing so (and can even be confusing and
+       counter-productive).
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       missing: miscellaneous fixlets
+       * lib/missing: Some shells, such as Solaris or FreeBSD /bin/sh,
+       warn about missing programs before performing redirections.
+       Therefore, where we have to silently check whether a program
+       exists, perform redirections on a subshell.
+       Remove redundant uses of double-quotes in variable definitions.
+       Delete an extra blank line.
+ 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       maint: remove executable bit from automake.in
+       * automake.in: This file is not meant to be executed, only to
+       be preprocessed to create the `automake' script; so don't leave
+       it executable.
+ 2011-12-20  Peter Rosin  <peda@lysator.liu.se>
+       tests: fix spurious failure on systems lacking unistd.h
+       This is for automake bug#10324.
+       * tests/silent-lex-generic.test (foo.l): Add a dummy #define of
+       YY_NO_UNISTD_H, so that the generated foo.c file won't require
+       unistd.h to be present (it is not present when compiling with,
+       e.g., MSVC 9).
  2011-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
  
        test defs: hack to support autoconf-wrapper programs
diff --cc HACKING
Simple merge
diff --cc Makefile.am
Simple merge
diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -1,12 -1,21 +1,16 @@@
 -New in 1.11.0a:
 +New in 1.11a:
  
 -* WARNING: Future backward-incompatibilities!
 +* Changes to automake:
  
 -  - The Automake support for automatic de-ANSI-fication will be removed in
 -    the next major Automake release (1.12).
 +  - automake now generates silenced rules for texinfo outputs.
  
 -  - The `--acdir' option of aclocal is deprecated, and will probably be
 -    removed in the next major Automake release (1.12).
 -
 -  - The exact order in which the directories in the aclocal macro
 -    search path are looked up is probably going to be changed in the
 -    next Automake release (1.12).
 +  - The deprecated options `--output-dir', `--Werror' and `--Wno-error'
 +    have been removed.
  
+   - The obsolescent AM_WITH_REGEX  macro has been deprecated (since the
+     GNU rx library has been decommissioned), and will be removed in the
+     next major Automake release (1.12).
  * Changes to aclocal:
  
    - The `--acdir' option is deprecated.  Now you should use the new options
      automake internal acdir (by default ${prefix}/share/aclocal-APIVERSION)
      and before the system acdir (by default ${prefix}/share/aclocal).
  
 +  - The exact order in which the directories in the aclocal macro
 +    search path are looked up is probably going to be changed in the
 +    next Automake release (1.12).
 +
 +* New targets:
 +
 +  - New `cscope' target to build a cscope database for the source tree.
 +
  * Miscellaneous changes:
  
 +  - The `dist' and `dist-all' targets now can run compressors in parallel.
 +
+   - Automake is now distributed as a gzip-compressed and an xz-compressed
+     tarball.  Previously, bzip2 was used instead of xz.
+   - The last relics of Python 1.5 support have been removed from the
+     AM_PATH_PYTHON macro.
    - The `lzma' compression scheme and associated automake option `dist-lzma'
      is obsoleted by `xz' and `dist-xz' due to upstream changes.
  
diff --cc automake.in
Simple merge
diff --cc configure.ac
  # You should have received a copy of the GNU General Public License
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
 -AC_INIT([GNU Automake], [1.11.0a], [bug-automake@gnu.org])
+ AC_PREREQ([2.68])
 +AC_INIT([GNU Automake], [1.11a], [bug-automake@gnu.org])
  
- m4_ifndef([AC_PACKAGE_URL],
-         [AC_SUBST([PACKAGE_URL], [http://www.gnu.org/software/automake/])])
- AC_CONFIG_SRCDIR(automake.in)
- AC_CONFIG_AUX_DIR(lib)
+ AC_CONFIG_SRCDIR([automake.in])
+ AC_CONFIG_AUX_DIR([lib])
  
  AC_CANONICAL_BUILD
  
@@@ -36,8 -35,7 +35,8 @@@ AC_SUBST([am_AUTORECONF], ["${AUTORECON
  AC_SUBST([am_AUTOHEADER], ["${AUTOHEADER-autoheader}"])
  AC_SUBST([am_AUTOUPDATE], ["${AUTOUPDATE-autoupdate}"])
  
- AM_INIT_AUTOMAKE([1.10a dist-bzip2 filename-length-max=99 color-tests
 -AM_INIT_AUTOMAKE([1.10a dist-xz filename-length-max=99 color-tests parallel-tests])
++AM_INIT_AUTOMAKE([1.10a dist-xz filename-length-max=99 color-tests
 +                parallel-tests silent-rules])
  
  # The API version is the base version.  We must guarantee
  # compatibility for all releases with the same API version.
Simple merge
diff --cc m4/python.m4
@@@ -10,7 -10,7 +10,7 @@@
  # gives unlimited permission to copy and/or distribute it,
  # with or without modifications, as long as this notice is preserved.
  
- # serial 8
 -# serial 2
++# serial 9
  
  # AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
  # ---------------------------------------------------------------------------
diff --cc m4/regex.m4
@@@ -8,7 -8,7 +8,7 @@@
  # gives unlimited permission to copy and/or distribute it,
  # with or without modifications, as long as this notice is preserved.
  
- # serial 8
 -# serial 10
++# serial 15
  
  # AM_WITH_REGEX
  # -------------
@@@ -106,14 -45,17 +106,17 @@@ XFAIL_TESTS += $(instspc_xfail_tests
  
  # Some testsuite-influential variables should be overridable from the
  # test scripts, but not from the environment.
 -TESTS_ENVIRONMENT = \
 +AM_TESTS_ENVIRONMENT = \
    test x"$$me" = x || unset me; \
    test x"$$required" = x || unset required; \
 -  test x"$$parallel_tests" = x || unset parallel_tests;
 +  test x"$$parallel_tests" = x || unset parallel_tests; \
 +  test x"$$original_AUTOMAKE" = x || unset original_AUTOMAKE; \
 +  test x"$$original_ACLOCAL" = x || unset original_ACLOCAL;
  
  TESTS = \
 -aclibobj.test \
+ get-sysconf.test \
+ self-check-env-sanitize.test \
+ self-check-report.test \
  aclocal.test \
  aclocal3.test \
  aclocal4.test \
@@@ -888,16 -729,12 +893,20 @@@ remake-subdir-gnu.test 
  remake-subdir.test \
  remake-subdir2.test \
  remake-subdir-long-time.test \
 +remake-gnulib-add-acsubst.test \
 +remake-gnulib-add-header.test \
 +remake-gnulib-remove-header.test \
 +remake-moved-m4-file.test \
 +remake-deleted-m4-file.test \
 +remake-renamed-m4-file.test \
 +remake-renamed-m4-macro-and-file.test \
 +remake-renamed-m4-macro.test \
  remake-am-pr10111.test \
  remake-m4-pr10111.test \
+ remake-deleted-am.test \
+ remake-deleted-am-2.test \
+ remake-deleted-am-subdir.test \
+ remake-renamed-am.test \
  pr8365-remake-timing.test \
  regex.test \
  regex-obsolete.test \
@@@ -1129,19 -930,74 +1138,89 @@@ yacc-d-vpath.test 
  yacc-dist-nobuild-subdir.test \
  yflags.test \
  yflags2.test \
 +yflags-cmdline-override.test \
 +yflags-conditional.test \
 +yflags-d-false-positives.test \
 +yflags-force-override.test \
 +yflags-force-conditional.test \
 +yflags-var-expand.test \
+ libtool-macros.test \
+ gettext-macros.test \
  $(parallel_tests)
  
 -EXTRA_DIST = ChangeLog-old gen-parallel-tests $(TESTS)
 -
 +EXTRA_DIST += $(TESTS)
 +
 +# Dependencies valid for each test case.
 +$(TEST_LOGS): defs defs-static aclocal-$(APIVERSION) automake-$(APIVERSION)
 +
+ # FIXME: make these automatically computed once we are merged into
+ # FIXME: the `testsuite-work' branch.
++ar-lib4.log: libtool-macros.log
++ar-lib6a.log: libtool-macros.log
++ar-lib6b.log: libtool-macros.log
++canon6.log: libtool-macros.log
++canon7.log: libtool-macros.log
+ depcomp4.log: libtool-macros.log
+ depcomp7.log: libtool-macros.log
+ depcomp8b.log: libtool-macros.log
++extradep2.log: libtool-macros.log
+ fort5.log: libtool-macros.log
+ instdir-ltlib.log: libtool-macros.log
+ instfail-libtool.log: libtool-macros.log
+ ldadd.log: libtool-macros.log
+ ldflags.log: libtool-macros.log
+ libobj13.log: libtool-macros.log
+ libtoo10.log: libtool-macros.log
+ libtoo11.log: libtool-macros.log
+ libtool.log: libtool-macros.log
+ libtool2.log: libtool-macros.log
+ libtool3.log: libtool-macros.log
+ libtool5.log: libtool-macros.log
+ libtool6.log: libtool-macros.log
+ libtool7.log: libtool-macros.log
+ libtool8.log: libtool-macros.log
+ libtool9.log: libtool-macros.log
+ listval.log: libtool-macros.log
+ ltcond.log: libtool-macros.log
+ ltcond2.log: libtool-macros.log
+ ltconv.log: libtool-macros.log
+ ltdeps.log: libtool-macros.log
+ ltinit.log: libtool-macros.log
+ ltinstloc.log: libtool-macros.log
+ ltlibobjs.log: libtool-macros.log
+ ltlibsrc.log: libtool-macros.log
+ ltorder.log: libtool-macros.log
+ nobase-libtool.log: libtool-macros.log
+ pr211.log: libtool-macros.log
+ pr300-ltlib.log: libtool-macros.log
+ pr307.log: libtool-macros.log
+ pr401b.log: libtool-macros.log
+ pr72.log: libtool-macros.log
+ reqd2.log: libtool-macros.log
+ silent3.log: libtool-macros.log
+ silent4.log: libtool-macros.log
+ silent9.log: libtool-macros.log
+ stdlib2.log: libtool-macros.log
+ strip3.log: libtool-macros.log
+ subobj9.log: libtool-macros.log
+ suffix10.log: libtool-macros.log
+ suffix2.log: libtool-macros.log
+ suffix5.log: libtool-macros.log
+ suffix8.log: libtool-macros.log
+ vala.log: libtool-macros.log
+ vala1.log: libtool-macros.log
+ vala2.log: libtool-macros.log
+ vala3.log: libtool-macros.log
+ vala4.log: libtool-macros.log
+ vala5.log: libtool-macros.log
+ # FIXME: make these automatically computed once we are merged into
+ # FIXME: the `testsuite-work' branch.
+ gettext.log: gettext-macros.log
+ gettext2.log: gettext-macros.log
+ gettext3.log: gettext-macros.log
+ subcond.log: gettext-macros.log
  distcheck-missing-m4.log distcheck-outdated-m4.log: distcheck-hook-m4.am
  EXTRA_DIST += distcheck-hook-m4.am
  
diff --cc tests/defs
    esac
  done
  
 -
 -# Always use an absolute srcdir.  Otherwise symlinks made in subdirs
 -# of the test dir just won't work.
 -case "$srcdir" in
 - [\\/]* | ?:[\\/]*)
 +# Using just `$testbuilddir' for the check here is ok, since the
 +# further temporary subdirectory where the test will be run is
 +# ensured not to contain any whitespace character.
 +case $testbuilddir in
 +  *\ *|*\     *)
 +    case " $required " in
 +      *' libtool '* | *' libtoolize '* )
 +        echo "$me: libtool/libtoolized cannot cope correctly" >&2
 +        echo "$me: with spaces in the build tree" >&2
 +        exit 77
 +        ;;
 +    esac
      ;;
 +esac
  
 - *)
 -    srcdir=`CDPATH=: && cd "$srcdir" && pwd`
 -    ;;
 +# This test is necessary, although Automake's configure script bails out
 +# when $srcdir contains spaces.  This is because $testsrcdir is in not
 +# configure-time $srcdir, but is instead configure-time $abs_srcdir, and
 +# that is allowed to contain spaces.
 +case $testsrcdir in
 +  *\ * |*\    *)
 +    case " $required " in
 +      *' libtool '* | *' libtoolize '* | *' gettext '* )
 +        echo "$me: our testsuite setup cannot cope correctly with spaces" >&2
 +        echo "$me: in the source tree for libtool/gettext tests" >&2
 +        exit 77
 +        ;;
 +   esac
 +   ;;
  esac
  
 -curdir=`pwd`
 +# We might need extra macros, e.g., from Libtool or Gettext.
- # Find them on the system.
- # Use `-I $top_testsrcdir/m4' in addition to `--acdir=$top_testsrcdir/m4',
- # because the other `-I' directories added for libtool and gettext might
- # contain files from an old version of Automake that we don't want to use.
- # Use `-Wno-syntax' because we do not want our test suite to fail because
- # some third-party .m4 file is underquoted.
- case " $required " in
-   *' libtool '* | *' libtoolize '* | *' gettext '* )
-     aclocaldir=$testprefix/share/aclocal
-     extra_includes=""
-     if test -f $aclocaldir/dirlist; then
-        extra_includes=`
-        <$aclocaldir/dirlist \
-        sed  's/#.*//;s/[       ][      ]*$//g' \
-        | while read dir; do test ! -d "$dir" || echo "-I $dir"; done`
-     else :; fi
-     libtool_found=no
-     gettext_found=no
-     for d in $extra_includes $aclocaldir ; do
-       test "x$d" != x-I || continue
-       if test -f "$d/libtool.m4"; then
-         libtool_found=yes
-       fi
-       if test -f "$d/gettext.m4"; then
-         gettext_found=yes
-       fi
-     done
-     case " $required " in
-       *' libtool '*|*' libtoolize '*)
-         if test $libtool_found != yes; then
-           echo "$me: libtool/libtoolize is required, but libtool.m4 wasn't" >&2
-           echo "$me: found in directories $aclocaldir $extra_includes" >&2
-           exit 77
-         fi
-         ;;
-       *' gettext '*)
-         if test $gettext_found != yes; then
-           echo "$me: gettext is required, but gettext.m4 wasn't found" >&2
-           echo "$me: in directories $aclocaldir $extra_includes" >&2
-           exit 77
-         fi
-         ;;
-     esac
-     ACLOCAL="$ACLOCAL -Wno-syntax -I $top_testsrcdir/m4 $extra_includes -I $aclocaldir"
-     unset libtool_found gettext_found
-     unset extra_includes aclocaldir
-     ;;
- esac
++case " $required " in *\ libtool*) . ./libtool-macros.dir/get.sh;; esac
++case " $required " in *\ gettext*) . ./gettext-macros.dir/get.sh;; esac
 +
 +
 +## ---------------------------------------------------------------- ##
 +##  Create and set up of the temporary directory used by the test.  ##
 +##  Set up of the exit trap for cleanup of said directory.          ##
 +## ---------------------------------------------------------------- ##
 +
 +# This might be used in testcases checking distribution-related features.
 +# Test scripts are free to override this if they need to.
 +distdir=$me-1.0
 +
 +# The subdirectory where the current test script will run and write its
 +# temporary/data files.  This will be created shortly, and will be removed
 +# by the cleanup trap below if the test passes.  If the test doesn't pass,
 +# this directory will be kept, to facilitate debugging.
  testSubDir=$me.dir
 +
  test ! -d $testSubDir || {
    find $testSubDir -type d ! -perm -700 -exec chmod u+rwx {} ";"
    rm -rf $testSubDir
@@@ -743,11 -421,141 +696,12 @@@ don
    echo "AC_CONFIG_FILES([Makefile])"
  } >configure.in
  
 -# 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
 -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
 -# files into unwanted directories.
 -unset DESTDIR
 -unset prefix exec_prefix bindir datarootdir datadir docdir dvidir
 -unset htmldir includedir infodir libdir libexecdir localedir mandir
 -unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir
 -# Unset variables that might change the "make distcheck" behaviour.
 -unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS
 -# Also unset variables that control our test driver.  While not
 -# conceptually independent, they cause some changed semantics we
 -# need to control (and test for) in some of the tests to ensure
 -# backward-compatible behavior.
 -unset TESTS_ENVIRONMENT AM_TESTS_ENVIRONMENT
 -unset DISABLE_HARD_ERRORS
 -unset AM_COLOR_TESTS
 -unset TESTS
 -unset TEST_LOG_COMPILER
 -unset TEST_LOGS
 -unset RECHECK_LOGS
 -unset VERBOSE
 -
 -echo "=== Running test $0"
 -
 -# We might need extra macros, e.g., from Libtool or Gettext.
 -case " $required " in *\ libtool*) . ../libtool-macros.dir/get.sh;; esac
 -case " $required " in *\ gettext*) . ../gettext-macros.dir/get.sh;; esac
 -
 -testaclocaldir='@abs_top_srcdir@/m4'
 -
 -# POSIX no longer requires 'egrep' and 'fgrep',
 -# but some hosts lack 'grep -E' and 'grep -F'.
 -EGREP='@EGREP@'
 -FGREP='@FGREP@'
 -
 -# The amount we should wait after modifying files depends on the platform.
 -# For instance, Windows '95, '98 and ME have 2-second granularity
 -# and can be up to 3 seconds in the future w.r.t. the system clock.
 -sleep='sleep @MODIFICATION_DELAY@'
 -
 -# The tests call `make -e' but we do not want $srcdir from the environment
 -# to override the definition from the Makefile.
 -testsrcdir=$srcdir
 -unset srcdir
 -
 -# An old timestamp that can be given to a file, in "touch -t" format.
 -# The time stamp should be portable to all file systems of interest.
 -# Just for fun, choose the exact time of the announcement of the GNU project
 -# in UTC; see <http://www.gnu.org/gnu/initial-announcement.html>.
 -old_timestamp=198309271735.59
 -
 -# is_newest FILE FILES
 -# --------------------
 -# Return false if any file in FILES is newer than FILE.
 -# Resolve ties in favor of FILE.
 -is_newest ()
 -{
 -  is_newest_files=`find "$@" -newer "$1"`
 -  test -z "$is_newest_files"
 -}
 -
 -# using_gmake
 -# -----------
 -# Return success if $MAKE is GNU make, return failure otherwise.
 -using_gmake ()
 -{
 -  # Use --version AND -v, because SGI Make doesn't fail on --version.
 -  # Also grep for GNU because newer versions of FreeBSD make do
 -  # not complain about `--version' (they seem to silently ignore it).
 -  $MAKE --version -v | grep GNU
 -}
 -
 -# AUTOMAKE_run status [options...]
 -# --------------------------------
 -# Run Automake with OPTIONS, and fail if automake
 -# does not exit with STATUS.
 -AUTOMAKE_run ()
 -{
 -  expected_exitcode=$1
 -  shift
 -  exitcode=0
 -  $AUTOMAKE ${1+"$@"} >stdout 2>stderr || exitcode=$?
 -  cat stderr >&2
 -  cat stdout
 -  test $exitcode = $expected_exitcode || Exit 1
 -}
 -# AUTOMAKE_fails [options...]
 -# ---------------------------
 -# Run Automake with OPTIONS, and fail if automake
 -# does not exit with STATUS.
 -AUTOMAKE_fails ()
 -{
 -  AUTOMAKE_run 1 ${1+"$@"}
 -}
 -
 -commented_sed_unindent_prog='
 -  /^$/b                    # Nothing to do for empty lines.
 -  x                        # Get x<indent> into pattern space.
 -  /^$/{                    # No prior x<indent>, go prepare it.
 -    g                      # Copy this 1st non-blank line into pattern space.
 -    s/^\(['"$tab"' ]*\).*/x\1/   # Prepare x<indent> in pattern space.
 -  }                        # Now: x<indent> in pattern and <line> in hold.
 -  G                        # Build x<indent>\n<line> in pattern space, and
 -  h                        # duplicate it into hold space.
 -  s/\n.*$//                # Restore x<indent> in pattern space, and
 -  x                        # exchange with the above duplicate in hold space.
 -  s/^x\(.*\)\n\1//         # Remove leading <indent> from <line>.
 -  s/^x.*\n//               # Restore <line> when there is no leading <indent>.
 -'
 -
 -# unindent [input files...]
 -# -------------------------
 -# Remove the "proper" amount of leading whitespace from the given files,
 -# and output the result on stdout.  That amount is determined by looking
 -# at the leading whitespace of the first non-blank line in the input
 -# files.  If no input file is specified, standard input is implied.
 -unindent ()
 -{
 -  if test x"$sed_unindent_prog" = x; then
 -    sed_unindent_prog=`printf '%s\n' "$commented_sed_unindent_prog" | sed -e "s/  *# .*//"`
 -  fi
 -  sed "$sed_unindent_prog" ${1+"$@"}
 -}
 -sed_unindent_prog="" # Avoid interferences from the environment.
 +## ---------------- ##
 +##  Ready to go...  ##
 +## ---------------- ##
  
 -# Turn on shell traces.
  set -x
 +set -e
  
  pwd
@@@ -14,7 -14,7 +14,7 @@@
  # You should have received a copy of the GNU General Public License
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
--# Check tha the AM_WITH_REGEX macro is reported as obsolete.
++# Check that the AM_WITH_REGEX macro is reported as obsolete.
  
  . ./defs || Exit 1
  
Simple merge