From: Stefano Lattarini Date: Thu, 22 Dec 2011 21:16:12 +0000 (+0100) Subject: Merge branch 'maint' into master. X-Git-Tag: ng-0.5a~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72c8dcb2f15d3a70fa43b6a8592072ddd22e6bb3;p=thirdparty%2Fautomake.git 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. --- 72c8dcb2f15d3a70fa43b6a8592072ddd22e6bb3 diff --cc .gitignore index 68a7fdea9,fe6542989..96d603ea0 --- a/.gitignore +++ b/.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 index cff870716,26e4a2dee..0a2405869 --- a/ChangeLog +++ b/ChangeLog @@@ -1,3 -1,326 +1,356 @@@ ++2011-12-22 Stefano Lattarini ++ ++ 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 + + 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 + + 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 , 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: + + + 2011-12-22 Stefano Lattarini + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 (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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 test defs: hack to support autoconf-wrapper programs diff --cc NEWS index 9db43aad4,db448a913..4ec0e1d71 --- a/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 @@@ -17,18 -26,14 +21,24 @@@ 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 configure.ac index 043a4d865,1ae68c581..7df2e3987 --- a/configure.ac +++ b/configure.ac @@@ -16,13 -17,11 +17,11 @@@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . + AC_PREREQ([2.68]) -AC_INIT([GNU Automake], [1.11.0a], [bug-automake@gnu.org]) +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. diff --cc m4/python.m4 index a7c1dd76e,ee3eb956a..bcdb6949e --- a/m4/python.m4 +++ b/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 index a453930ea,93558408b..8eeec68f4 --- a/m4/regex.m4 +++ b/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 # ------------- diff --cc tests/Makefile.am index cf1bc927d,5ac0e4826..20ff3acec --- a/tests/Makefile.am +++ b/tests/Makefile.am @@@ -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 = \ + get-sysconf.test \ + self-check-env-sanitize.test \ + self-check-report.test \ -aclibobj.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 += $(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 + -EXTRA_DIST = ChangeLog-old gen-parallel-tests $(TESTS) - distcheck-missing-m4.log distcheck-outdated-m4.log: distcheck-hook-m4.am EXTRA_DIST += distcheck-hook-m4.am diff --cc tests/defs index 7199d8921,aa8eb6335..047f49f17 --- a/tests/defs +++ b/tests/defs @@@ -597,104 -357,20 +597,57 @@@ d 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 . -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 into pattern space. - /^$/{ # No prior x, go prepare it. - g # Copy this 1st non-blank line into pattern space. - s/^\(['"$tab"' ]*\).*/x\1/ # Prepare x in pattern space. - } # Now: x in pattern and in hold. - G # Build x\n in pattern space, and - h # duplicate it into hold space. - s/\n.*$// # Restore x in pattern space, and - x # exchange with the above duplicate in hold space. - s/^x\(.*\)\n\1// # Remove leading from . - s/^x.*\n// # Restore when there is no leading . -' - -# 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 diff --cc tests/regex-obsolete.test index 572441316,c28302527..b1563095b --- a/tests/regex-obsolete.test +++ b/tests/regex-obsolete.test @@@ -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 . --# 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