[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, tests-init, updated. v1.11-
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, tests-init, updated. v1.11-410-gb191caa |
Date: |
Sat, 06 Nov 2010 20:56: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=b191caac0e3ddb749d552565e4804d93a36b470e
The branch, tests-init has been updated
via b191caac0e3ddb749d552565e4804d93a36b470e (commit)
via 4555c818e5ae6a90a8116e9c5b5b1ff6a65929c0 (commit)
via f7adc0f46ecd072da071e5d6f166988e4288285e (commit)
via d3369343ca79dd1fd112c35eaa20f65bf43cdc02 (commit)
via 6afea5000636292d3aa7e8933aa61a0d851fa5ad (commit)
via 0c615cdc89beb544dedc7ee665e9e68e86f3468c (commit)
via bbfe77bf4eb6bfbc30f5a02b10f9c5494471803f (commit)
via c371d52f338cd511361e27347af7ff7678ecabc8 (commit)
via d7c1679b14c1ab691927f3243df1cb3cbb2360aa (commit)
via e1181261dfd80b3046f1219e8fcfbb99707288f5 (commit)
via d3134dcba601c678a932066a99d1c91a56fc190d (commit)
via a7ba28fd1f3c094aa878b779b883ea185dcaa10e (commit)
via 86739cb38ddc8f0c30f51bd24ebf2c45c0584dff (commit)
via 450bd4552836caf7a3f562532efddf9ac775833b (commit)
via 17a7a6fc74a440b8bc5c02d0089ebdafe000ca62 (commit)
via 6da46f316146c3c6c5ea1741a69e16ecd40620d0 (commit)
via 98d4fcff80f6cee71067be96f19cafd30c0e005f (commit)
via 2e5b3599df31bc4958f61cf22b9b0ad9d45b86e4 (commit)
via 78e08c867007864ef740936c3af3fdd1238b9792 (commit)
via 51e3b6841a474d129fc25077e42dea38ec181cd6 (commit)
via 0498520e65fed0222d07190b6124d3de92c6044c (commit)
via 99d9b7eab9d01b4585ddc03c8c99767bb73e061e (commit)
via c35a65c05d1cf4f8d95ce546ae4c7b2d6bd19ac5 (commit)
via 145c2d0d024e2213a5c833427b4281fb55001709 (commit)
via f6b05bd1bce89168db265d8464464562c54fa72e (commit)
via b8c1325a9f839efbd7cbab203eca8d2a26e2ff66 (commit)
via f19b07647af068030866b7bc94710e930a6fccb9 (commit)
via 6edafbb503ed5d81f963fb8eeec7595c8158d828 (commit)
via f133e575101d91b1160a40c1846ef7bd6d1a6bf2 (commit)
via 3ec8321119d12023058cf6bb92d04c7e1a648676 (commit)
via 319d2c66df5240c9231f75f40d77c89cda4df87d (commit)
via 973c5463aa0f8f1eb27cfdb0f358989b704618bb (commit)
via 333c18a898e9042938be0e5709ec46ff0ead0797 (commit)
via c3eab9af747bcb32d477fe242f6fd19d65fca323 (commit)
via 9e126f15eef21b220cae7f1b3556c26ac19e29d0 (commit)
via 614b643eca8361f9d5a5295d25482d07c34016af (commit)
via ea1a4174a8328f0bbd6afa0110ac4e9dfafc1b71 (commit)
via a82bc0d5cfea18fc96476c23a4fb2d458af09c89 (commit)
via a25c6733a0e78fd7aef28e560e027bcef9684e96 (commit)
via 067455ce40bfa4c7234d46368ab64efb893ab808 (commit)
via 6bc306097ad74dfafd445243f69a13bda2139505 (commit)
via 20abe4e50f9beb3bf36a6b8796d7230caa92813a (commit)
via 627f0a91fce4a715f871334342d4bdd877670dc2 (commit)
via c423cdb4bb1d9719376fb54b35e3da9ce422a816 (commit)
via 7b0ff55f0ba84bbb4fad6e2af4d1c3bf03d6cfb8 (commit)
via 0431dc4403e5c611bc1009f0cf47b20f26407994 (commit)
via 580054fa204718b4cddab94b2364f2a52db789d0 (commit)
via 3cf074bb74da6d54e83e0f2e0cf0de8907fe00fb (commit)
via 35597a759c91a414460eb8d4f9e138a64f317944 (commit)
via 978dfcf5d79630e656a6c1e99a7a8cf2a838688a (commit)
via 27d06b631ca93d1fb9fc3a21013c8fd096270d9c (commit)
via e09f00c8aada78d19c199bb6f7743330dc086afa (commit)
via fd7d4da2cb4d4817776fd6b8637060f5351134e3 (commit)
via 59db71ca887b2cc5b84eb05d1abeb588d3bfea47 (commit)
via 452bfacee9fd543eb87d1bddd4af106142e12778 (commit)
via adf64b4bfdc8e58ff9d3f927ded85b2329cb6bb6 (commit)
via 1584b61754dc50232be326972035102bf4c716c5 (commit)
via 77dc6c1bf2dc893a2c393229c2b656668694120e (commit)
via 1946eadee8f7a342a338048a89161c98e5353ff3 (commit)
via 4e8b21e113d49633c55004217bd26dab8b5d7401 (commit)
via d76d91ae1b12c4730dc897cdb25a1d41af499ac0 (commit)
via a5413de9ad483b1094eab71636ce4b6fee3b0218 (commit)
via f94d28bca672bb877bcc7a6d4133a2ec765dd03d (commit)
via f0b4323ac83c8e2bb57ebece361905cf1bcaa07e (commit)
via 6da812929950242d5647e6e8742653bbb6aaa781 (commit)
via e335d8bc66314034cfd8435572c23e781c6df922 (commit)
via f60e9ae2043125f1db170a5dd0e18546bd92303b (commit)
via 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835 (commit)
via ccb31f6a93cd6076067b5bf120b4478afdad31bf (commit)
via d6bb3cf28168727af9abb1546f3bbdc31debe534 (commit)
via 0a99a243f943f02f97e9fc2df5020d33997a76d0 (commit)
via 529421a033c9937a853ef0a315a57f230c3a3bc4 (commit)
from adba8e96113e4883ec568babd14709538fc696c6 (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 b191caac0e3ddb749d552565e4804d93a36b470e
Merge: adba8e9 4555c81
Author: Stefano Lattarini <address@hidden>
Date: Sat Nov 6 21:48:49 2010 +0100
Merge branch 'master' into tests-init
-----------------------------------------------------------------------
Summary of changes:
.cvsignore | 14 -
ChangeLog | 470 ++++++++++++++++++++++++++++-
ChangeLog.03 | 2 +-
HACKING | 16 +-
Makefile.am | 43 +++-
Makefile.in | 42 ++-
NEWS | 19 ++
THANKS | 2 +
aclocal.m4 | 4 +-
automake.in | 33 +-
bootstrap | 3 +-
configure | 145 ++++++----
doc/.cvsignore | 14 -
doc/automake.texi | 161 +++++++++--
lib/.cvsignore | 1 -
lib/Automake/.cvsignore | 2 -
lib/Automake/ChannelDefs.pm | 2 +-
lib/Automake/Channels.pm | 4 +-
lib/Automake/Configure_ac.pm | 2 +-
lib/Automake/FileUtils.pm | 2 +-
lib/Automake/Rule.pm | 2 +-
lib/Automake/Struct.pm | 4 +-
lib/Automake/Variable.pm | 2 +-
lib/Automake/Version.pm | 4 +-
lib/Automake/XFile.pm | 2 +-
lib/Automake/tests/.cvsignore | 1 -
lib/Automake/tests/Makefile.in | 61 ++--
lib/am/.cvsignore | 1 -
lib/am/check.am | 16 +-
lib/am/distdir.am | 6 +-
lib/am/library.am | 4 +-
lib/am/lisp.am | 25 +-
lib/am/ltlibrary.am | 4 +-
lib/am/program.am | 4 +-
lib/am/remake-hdr.am | 8 +-
lib/ar-lib | 4 +-
lib/compile | 36 ++-
lib/depcomp | 62 ++++-
m4/.cvsignore | 1 -
m4/depend.m4 | 2 +-
m4/dmalloc.m4 | 7 +-
m4/python.m4 | 4 +-
m4/sanity.m4 | 26 ++-
m4/silent.m4 | 23 +-
tests/.cvsignore | 10 -
tests/.gitignore | 5 +-
tests/Makefile.am | 89 +++++-
tests/Makefile.in | 215 ++++++++++---
tests/README | 7 +-
tests/acloca10.test | 5 +-
tests/acloca18.test | 6 +
tests/aclocal9.test | 4 +-
tests/ar-lib.test | 13 +-
tests/{exdir3.test => autohdrdry.test} | 26 +-
tests/backcompat.test | 66 ++++
tests/backcompat2.test | 67 ++++
tests/backcompat3.test | 153 ++++++++++
tests/backcompat4.test | 64 ++++
tests/backcompat5.test | 119 ++++++++
tests/backcompat6.test | 105 +++++++
tests/colon4.test | 11 +-
tests/compile2.test | 6 +-
tests/compile3.test | 2 +-
tests/compile6.test | 98 ++++++
tests/confh.test | 35 ++-
tests/confh4.test | 6 +-
tests/confh6.test | 2 +
tests/confh7.test | 1 +
tests/{condman3.test => confh8.test} | 63 ++--
tests/defs.in | 9 +-
tests/dmalloc.test | 61 ++++
tests/extradep.test | 104 +++++++
tests/extradep2.test | 86 ++++++
tests/{tags2.test => help-depend.test} | 29 +-
tests/{colon2.test => help-depend2.test} | 25 +-
tests/{mdate6.test => help-dmalloc.test} | 24 +-
tests/{colon2.test => help-init.test} | 22 +-
tests/{tags2.test => help-lispdir.test} | 28 +-
tests/help-maintainer.test | 58 ++++
tests/{mdate6.test => help-multilib.test} | 23 +-
tests/{mdate6.test => help-regex.test} | 23 +-
tests/{tags2.test => help-silent.test} | 33 +-
tests/{mdate6.test => help-upc.test} | 23 +-
tests/help.test | 28 +-
tests/{help.test => help2.test} | 32 +-
tests/help3.test | 61 ++++
tests/help4.test | 55 ++++
tests/init.test | 29 ++-
tests/install2.test | 5 +-
tests/insthook.test | 4 +-
tests/instmany-mans.test | 5 +-
tests/instmany-python.test | 4 +-
tests/instmany.test | 4 +-
tests/instspc-tests.sh | 301 ++++++++++++++++++
tests/instspc.test | 187 ------------
tests/lex3.test | 2 +-
tests/{lisp7.test => lispdry.test} | 24 +-
tests/man4.test | 4 +-
tests/missing6.test | 9 +-
tests/mkinst3.test | 2 +-
tests/mmode.test | 5 +-
tests/mmodely.test | 5 +-
tests/multlib.test | 2 +-
tests/pr9.test | 1 -
tests/python11.test | 6 +-
tests/txinfo30.test | 4 +-
tests/vartypo2.test | 71 +++++
tests/vartypos.test | 90 ++++++
tests/{condhook2.test => yaccdry.test} | 42 ++-
109 files changed, 3200 insertions(+), 798 deletions(-)
delete mode 100644 .cvsignore
delete mode 100644 doc/.cvsignore
delete mode 100644 lib/.cvsignore
delete mode 100644 lib/Automake/.cvsignore
delete mode 100644 lib/Automake/tests/.cvsignore
delete mode 100644 lib/am/.cvsignore
delete mode 100644 m4/.cvsignore
delete mode 100644 tests/.cvsignore
copy tests/{exdir3.test => autohdrdry.test} (71%)
create mode 100755 tests/backcompat.test
create mode 100755 tests/backcompat2.test
create mode 100755 tests/backcompat3.test
create mode 100755 tests/backcompat4.test
create mode 100755 tests/backcompat5.test
create mode 100755 tests/backcompat6.test
create mode 100755 tests/compile6.test
copy tests/{condman3.test => confh8.test} (50%)
create mode 100755 tests/dmalloc.test
create mode 100755 tests/extradep.test
create mode 100755 tests/extradep2.test
copy tests/{tags2.test => help-depend.test} (61%)
copy tests/{colon2.test => help-depend2.test} (59%)
copy tests/{mdate6.test => help-dmalloc.test} (68%)
copy tests/{colon2.test => help-init.test} (68%)
copy tests/{tags2.test => help-lispdir.test} (64%)
create mode 100755 tests/help-maintainer.test
copy tests/{mdate6.test => help-multilib.test} (69%)
copy tests/{mdate6.test => help-regex.test} (70%)
copy tests/{tags2.test => help-silent.test} (56%)
copy tests/{mdate6.test => help-upc.test} (67%)
copy tests/{help.test => help2.test} (59%)
create mode 100755 tests/help3.test
create mode 100755 tests/help4.test
create mode 100755 tests/instspc-tests.sh
delete mode 100755 tests/instspc.test
copy tests/{lisp7.test => lispdry.test} (78%)
create mode 100755 tests/vartypo2.test
create mode 100755 tests/vartypos.test
copy tests/{condhook2.test => yaccdry.test} (63%)
diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index 0151972..0000000
--- a/.cvsignore
+++ /dev/null
@@ -1,14 +0,0 @@
-Makefile
-aclocal
-automake
-config.cache
-config.log
-config.status
-configure.scan
-*.log
-log
-diffs
-*.patch
-*.tar.*
-autom4te.cache
-Fetchdir
diff --git a/ChangeLog b/ChangeLog
index 42e97f6..657ea37 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,453 @@
+2010-11-06 Stefano Lattarini <address@hidden>
+
+ New tests on obsoleted usages of automake/autoconf macros (such
+ as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
+ * tests/backcompat.test: New test script.
+ * tests/backcompat2.test: Likewise.
+ * tests/backcompat3.test: Likewise.
+ * tests/backcompat4.test: Likewise.
+ * tests/backcompat5.test: Likewise.
+ * tests/backcompat6.test: Likewise.
+ * tests/init.test: Extended and improved, esp. by trying more
+ combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
+ arguments.
+ * tests/Makefile.am (TESTS): Updated.
+
+2010-11-06 Stefano Lattarini <address@hidden>
+
+ Fix bug in rules for creating vala vapi/header files.
+ * automake.in (lang_vala_finish_target): Add forgotten "fi" in an
+ if control structure in a generated make rules. Bug introduced
+ by previous commit `v1.11-221-gd7c1679', and revealed by failure
+ of test `vala2.test'.
+
+2010-11-01 Ralf Wildenhues <address@hidden>
+
+ Fix and document rules to not touch the tree with `make -n'.
+ * doc/automake.texi (Multiple Outputs): Document the problem of
+ modifications during dry-run execution, propose solution.
+ * NEWS: Update.
+ * automake.in (lang_vala_finish_target): Split recipe so the
+ stamp file is not removed with GNU `make -n'.
+ (lang_yacc_target_hook): Separate removal of parser output file
+ and header remaking.
+ * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
+ passed to make, take care not to remove any files in that case.
+ * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
+ %STAMP% file from induced remaking of config header.
+ * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
+ New tests.
+ * tests/Makefile.am (TESTS): Update.
+
+2010-11-05 Stefano Lattarini <address@hidden>
+
+ Fix potential bug in generated tests `instpc-*.test'.
+ This bug is due to the changes introduced by the recently-merged
+ "tests-init" branch. In that branch, `tests/defs' didn't define
+ anymore `$srcdir', instead defininig directly `$testsrcdir'; but
+ the generated tests were using `$srcdir', hence the bug.
+ Luckily, since the Automake parallel test driver automatically
+ exports `srcdir' to a proper value, that prevented the bug from
+ manifesting itself.
+ * tests/Makefile.am ($(instspc_tests)): In the generated test
+ scripts, use `$testsrcdir', not `$srcdir'.
+
+2010-11-03 Stefano Lattarini <address@hidden>
+
+ Overhauled and modularized tests in `instspc.test'.
+ The test `instspc.test' was way too big and fragile. Its running
+ time was very long. It also produced a log that was nearly
+ unreadable due to its length, making it very difficult to find
+ out the reason for failures.
+ Also, it was too much monolithic, with a single (maybe spurious)
+ failure in a corner case causing the whole test to fail (even if
+ everything worked as expected in the other 99% of cases).
+ The present change should solve these problems, by separating
+ `instspc.test' into many smaller, self-contained, auto-generated
+ tests.
+ * tests/instspc.test: Removed.
+ * tests/instspc-tests.sh: New script, fulfilling a double role:
+ 1. it generates a Makefile.am snippet `tests/instspc-tests.am',
+ containing the definition of a list of new tests which will take
+ over the older `instspc.test', and
+ 2. it is sourced by said generated tests with proper parameters
+ pre-set, to run the "meat" of the checks.
+ This apparent abuse is indeed required because the test generation
+ code and test execution code are inevitably intertwined.
+ * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
+ snippet, which (among the other things) defines ...
+ (instspc_tests): ... this new macro, containing the list of the
+ newly generated `instspc*.test' tests, and ...
+ (instspc_xfail_tests): ... this new macro, containing the list
+ of the `instspc*.test' tests expected to fail.
+ ($(instspc_tests)): New rule, generates the `instspc*.test' tests.
+ ($(instspc_tests:.test=.log)): New rule, registers the dependency
+ of all `instspc*.test' tests on the `instspc-tests.sh' script.
+ (TESTS): Add `$(instspc_tests)', remove `instspc.test'.
+ (XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
+ (EXTRA_DIST): Distribute instspc-tests.sh.
+ (MAINTAINERCLEANFILES): Added $(instspc_tests).
+ Other minor cosmetic changes.
+ * bootstrap: Generate instspc-tests.am.
+ * tests/.gitignore: Updated.
+
+2010-11-01 Ralf Wildenhues <address@hidden>
+
+ Add FAQ entry for bug reporting instructions.
+ * doc/automake.texi (Reporting Bugs): New section.
+ (Introduction): Refer to it.
+
+2010-10-07 Peter Rosin <address@hidden>
+
+ depcomp: add new one-pass depmode for MSVC 7 and later.
+ * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
+ make use of the -showIncludes option added in MSVC 7.
+ * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
+ similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
+ support the -o option.
+
+2010-10-05 Jim Meyering <address@hidden>
+
+ dist-xz, dist-bzip2: don't hard-code -9: honor envvar settings
+ * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that
+ made it impossible to override. Instead, use its XZ_OPT envvar,
+ defaulting to -9 if not defined. Thus no change in behavior
+ when XZ_OPT is not set, and now, this rule honors the setting
+ of that envvar when it is set. Suggested by Lasse Collin.
+ (dist-bzip2): Likewise for it's corresponding envvar: BZIP2.
+ * NEWS (Miscellaneous changes): Mention it.
+ * doc/automake.texi (The Types of Distributions): Describe the
+ newly enabled environment variables.
+
+2010-10-04 Stefano Lattarini <address@hidden>
+
+ Add support for newer python versions.
+ * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
+ _AM_PYTHON_INTERPRETER_LIST. Since we are at it, break a long
+ line and fix indentation.
+ * THANKS: Updated.
+ From a report by Thomas Klausner.
+
+ Add test for `AM_WITH_DMALLOC' macro.
+ * tests/dmalloc.test: New test.
+ * tests/Makefile.am (TESTS): Update.
+
+ Fix nits and bugs in tests `help*.test'.
+ * tests/help4.test: Fix broken sed commands used to strip `-W...'
+ flags away from "$AUTOMAKE" and "$ACLOCAL".
+ * tests/help3.test: Likewise, and fix a botched comment.
+ * tests/help.test: Likewise. Also, use "AUTOMAKE_fails ..."
+ instead of "$AUTOMAKE ... && Exit 1", for consistency and to
+ please maintainet-check.
+ * tests/help2.test: Likewise.
+
+2010-10-03 Stefano Lattarini <address@hidden>
+ Ralf Wildenhues <address@hidden>
+
+ Improve tests `help*.test' (also fixes maintcheck failures).
+ * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
+ flags stripped away rather than hard-coded `automake-$APIVERSION',
+ to better honour user-overrides. Similarly for aclocal.
+ * tests/help2.test: Likewise.
+ * tests/help3.test: Likewise.
+ * tests/help4.test: Likewise.
+
+2010-10-03 Ralf Wildenhues <address@hidden>
+
+ tests: fix ar-lib.test for echo that interprets backslashes.
+ * tests/ar-lib.test: Use printf instead of echo. Avoid test -a.
+ More robust quoting.
+
+2010-10-03 Ralf Wildenhues <address@hidden>
+
+ maintainer-check coverage for variables before rules.
+ * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
+ around the test directories.
+ (sc_tests_makefile_variable_order): New rule with a heuristic to
+ catch ordering violations.
+
+ Document and fix expansion of variables before rules.
+ * doc/automake.texi (General Operation): Document that variables
+ are expanded before rules.
+ * lib/am/check.am (am__check_post): Reword a bit so it does not
+ get matched as a rule.
+ Suggestion by Ben Pfaff.
+
+2010-10-02 Ralf Wildenhues <address@hidden>
+
+ Coverage and minor fixes for variable typo detection.
+ * automake.in (check_typos): Remove `EXTRA_' prefix when
+ computing canonical name.
+ * tests/vartypo2.test, tests/vartypos.test: New tests.
+ * tests/Makefile.am (TESTS): Update.
+
+ Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
+ * automake.in (handle_programs, handle_libraries)
+ (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
+ * doc/automake.texi (Linking, Program and Library Variables)
+ (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
+ * lib/am/library.am (%LIBRARY%): Also depend on
+ $(EXTRA_%XLIBRARY%_DEPENDENCIES).
+ * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
+ (%XLTLIBRARY%_DEPENDENCIES).
+ * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
+ $(EXTRA_%XPROGRAM%_DEPENDENCIES).
+ * tests/extradep.test, tests/extradep2.test: New tests.
+ * tests/Makefile.am (TESTS): Update.
+ * NEWS: Update.
+ Suggested by Eric Blake.
+
+ tests: avoid running into timing issues due to sanity change.
+ * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
+ Insert strategic sleep before aclocal reruns, to ensure files
+ are newer.
+ * tests/python11.test: Use --force for repeated autotools runs.
+ Reports from the NixOS Hydra build daemon via Ludovic Courtès.
+
+ Fix timestamp issues by ensuring configure takes at least a second.
+ * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
+ start a sleep in the background and wait for it to finish
+ before creating config.status, hopefully fixing all spurious
+ testsuite failures involving botched time stamps.
+ * NEWS: Update.
+ Reports by Ludovic Courtès, Peter Breitenlohner, and others.
+
+2010-10-02 Ralf Wildenhues <address@hidden>
+
+ Revert "parallel-tests: avoid command-line length limit issue."
+ This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
+ because it re-opened the bug fixed by v1.11-10-g218e678.
+
+ 2010-09-07 Ralf Wildenhues <address@hidden>
+
+ parallel-tests: avoid command-line length limit issue.
+ * automake.in (handle_tests): New argument $makefile, new
+ substitution %MAKEFILE%.
+ (generate_makefile): Adjust.
+ * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
+ sanitized TEST_LOGS value as makefile snippet on standard
+ input to $(MAKE), to avoid exceeding the command line limit on
+ w32 (MSYS).
+ * NEWS: Update.
+ Report by Bob Friesenhahn.
+
+2010-09-26 Stefano Lattarini <address@hidden>
+
+ Extend tests on `--help' and `--version' options.
+ * tests/help.test: Create a new empty directory and chdir into
+ it, rather than removing already present files. Run the aclocal
+ and automake wrapper scripts directly, instead of relying on
+ $AUTOMAKE and $ACLOCAL. Be sure to correctly match literal dots
+ in aclocal's and automake's stderr. Add a trailing `:' command.
+ * tests/help2.test: New test, checking that options `--help' and
+ `--version' works in directories with broken `configure.in'.
+ * tests/help3.test: New test, checking that options `--help' and
+ `--version' take precedence on the other options.
+ * tests/help4.test: New test, checking that the first among the
+ `--help' and `--version' options to be specified on the command
+ line wins.
+ * tests/Makefile.am (TESTS): Updated.
+
+2010-09-25 Stefano Lattarini <address@hidden>
+
+ Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
+ * tests/compile2.test: Do no uselessly (implicitly) repeat the
+ computation of PATH_SEPARATOR again.
+ * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
+ extending/redefining PATH.
+ * tests/instmany-python.test: Likewise.
+ * tests/instmany.test: Likewise.
+ * tests/man4.test: Likewise.
+ * tests/mkinst3.test: Likewise.
+ * tests/mmodely.test: Likewise.
+ * tests/multlib.test: Likewise.
+ * tests/txinfo30.test: Likewise.
+ * tests/README (Section "Writing test cases" subsection "Do"):
+ Updated.
+ * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
+ (syntax_check_rules): Updated.
+
+ Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
+ * tests/defs.in ($APIVERSION): New AC_SUBST'd variable.
+ ($ACLOCAL, $AUTOMAKE): Use it.
+ ($PATH_SEPARATOR): New AC_SUBST'd variables.
+ ($PATH): Use it.
+
+2010-09-22 Stefano Lattarini <address@hidden>
+
+ Manual: be more agnostic w.r.t. version control system used.
+ * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
+ directories as a type of probably-unwanted files that are copied
+ regardless when adding directories to EXTRA_DIST.
+ (The dist Hook): Show a dist-hook example which removes Subversion
+ `.svn' private directories from distdir, rather than CVS private
+ directories.
+ (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
+ the version control system used.
+
+ Manual: index refer to target "git-dist", not "cvs-dist".
+ * doc/automake.texi (General Operation): Index the non-standard
+ example about "git-dist" under the "git-dist" label, not under
+ the "cvs-dist" one.
+
+ Perl modules: remove references to "Automake CVS repository".
+ * lib/Automake/Channels.pm: Update comments to refer to "Automke's
+ git repository" rather than to "Automake's CVS repository".
+ * lib/Automake/Configure_ac.pm: Likewise.
+ * lib/Automake/FileUtils.pm: Likewise.
+ * lib/Automake/Struct.pm: Likewise.
+ * lib/Automake/XFile.pm: Likewise.
+ * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
+ branches" rather than "CVS branches".
+
+ Remove obsolete .cvsignore files.
+ * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
+ lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
+ m4/.cvsignore, tests/.cvsignore: Files deleted. Even when using
+ savannah's CVS readonly mirror there's no way to commit back to
+ the real repository, so this files are not worth maintaining or
+ keeping around.
+
+2010-09-21 Stefano Lattarini <address@hidden>
+
+ * m4/dmalloc.m4: Bump serial number and copyright years.
+
+2010-09-20 Stefano Lattarini <address@hidden>
+
+ Fix broken link in `AM_WITH_DMALLOC' help screen.
+ * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
+ `http://www.dmalloc.com', not to the dmalloc tarball there (which
+ seems to have been removed, substituted by multiple release
+ tarballs now).
+
+2010-09-21 Peter Rosin <address@hidden>
+
+ compile: implement library search to support MSVC static linking
+ * lib/compile (func_cl_wrapper): Implement library search and
+ -static option so that the user can select whether to prefer
+ dll import libraries or static libraries. This enables MSVC to
+ link against dlls generated by libtool without requiring libtool
+ or workarounds such as -lfoo.dll etc. Makes the tests/static.at
+ test case in libtool pass.
+ * tests/compile3.test: Don't trip up if there happens to exist
+ a "foo" library in the library search path.
+ * tests/compile6.test: New test, verifying the library search.
+ * tests/Makefile.am (TESTS): Update.
+
+2010-09-17 Eric Blake <address@hidden>
+
+ Avoid triple-space after period.
+ * automake.in (handle_single_transform): Avoid 3 spaces at
+ sentence end.
+ * ChangeLog.03: Likewise.
+ * lib/Automake/ChannelDefs.pm: Likewise.
+ * lib/Automake/Channels.pm (_print_message): Likewise.
+ * lib/Automake/Rule.pm (rule): Likewise.
+ * lib/Automake/Variable.pm (var): Likewise.
+ * lib/am/distdir.am: Likewise.
+ * tests/insthook.test: Likewise.
+
+2010-09-15 Stefano Lattarini <address@hidden>
+
+ Test automake-generated portions of configure help screen.
+ * tests/help-depend.test: New test.
+ * tests/help-depend2.test: Likewise.
+ * tests/help-dmalloc.test: Likewise.
+ * tests/help-init.test: Likewise.
+ * tests/help-lispdir.test: Likewise.
+ * tests/help-maintainer.test: Likewise.
+ * tests/help-multilib.test: Likewise.
+ * tests/help-regex.test: Likewise.
+ * tests/help-silent.test: Likewise.
+ * tests/help-upc.test: Likewise.
+ * tests/mmode.test: Remove tests on `configure --help' output,
+ they are supersed by tests in `help-maintainer.test'.
+ * tests/Makefile.am (TESTS): Update.
+
+2010-09-14 Stefano Lattarini <address@hidden>
+
+ * tests/README: Don't put GCS mandated tools in $required.
+
+2010-09-13 Ralf Wildenhues <address@hidden>
+
+ * HACKING: Hint at old commits with `git describe' output.
+
+2010-09-14 Stefano Lattarini <address@hidden>
+
+ Prefer `$(am__cd)' to plain `cd' in our Makefiles.
+ * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
+ (release-stats): Use `$(am__cd)' rather than plain `cd'.
+ * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
+
+2010-09-12 Stefano Lattarini <address@hidden>
+
+ Fix regression in test `colon4.test'.
+ * tests/colon4.test: Fix botched editing to `configure.in'
+ that made the test useless. Since we are at it, improve
+ comments and make grepping of generated Makefile.in slighty
+ stricter.
+ Regression introduced by change "Modernize, improve and/or
+ extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
+
+2010-09-08 Stefano Lattarini <address@hidden>
+
+ Do not require "gzip" explicitly in tests.
+ The gzip utility is simply expected to be present on any decent
+ target system for Automake. So it's pointless to put it in
+ $required.
+ * tests/install2.test ($required): Do not require "gzip".
+ * tests/lex3.test: Likewise.
+ * tests/pr9.test: Likewise.
+ From a suggestion by Ralf Wildenhues.
+
+2010-09-09 Stefano Lattarini <address@hidden>
+
+ Use AS_HELP_STRING in AM_SILENT_RULES.
+ * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
+ help message regarding configure options `--enable-silent-rules'
+ and `--disable-silent-rules'. Also throw in a couple of cosmetic
+ changes in the related `case' statement (indentation, balancing
+ of parentheses).
+ * THANKS: Update.
+ From a report by Jeff A. Daily.
+
+2010-09-08 Stefano Lattarini <address@hidden>
+
+ Make some `confh*.test' tests more "semantic" (plus tweakings).
+ * tests/confh.test: Run "autoconf", "configure" and "make check",
+ instead of munging/grepping the generated `Makefile.in'.
+ * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
+ white spaces. Do not create usless dummy source file `foo.c'
+ and useless dummy header file `acconfig.h'.
+ (configure.in): Remove superfluous call to `AC_OUTPUT'.
+ * tests/confh6.test: Add trailing `:' command.
+ * tests/confh7.test: In comments, add reference to ...
+ * tests/confh8.test: ... this new test, "semantic" sister
+ of `confh7.test'.
+ * tests/Makefile.am (TESTS): Updated.
+ Prompted by a report from Ralf Wildenhues.
+
+2010-09-08 Stefano Lattarini <address@hidden>
+
+ Remove useless whitespace padding in XFAIL_TESTS definition.
+ * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
+
+2010-09-07 Ralf Wildenhues <address@hidden>
+
+ parallel-tests: avoid command-line length limit issue.
+ * automake.in (handle_tests): New argument $makefile, new
+ substitution %MAKEFILE%.
+ (generate_makefile): Adjust.
+ * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
+ sanitized TEST_LOGS value as makefile snippet on standard
+ input to $(MAKE), to avoid exceeding the command line limit on
+ w32 (MSYS).
+ * NEWS: Update.
+ Report by Bob Friesenhahn.
+
+ Posix 2008 requires make to set errexit.
+ * lib/am/check.am: Update comment.
+
2010-09-06 Stefano Lattarini <address@hidden>
Tests defs: remove variable $testaclocaldir.
@@ -40,12 +490,28 @@
* tests/defs.in: Stricter (and more correct) detection of wheter
libtool, libtoolize and/or gettext are in $required.
+
+2010-08-27 Stefano Lattarini <address@hidden>
+
+ Fix bug in test missing6.test.
+ * tests/missing6.test: Fix the hack used to edit `configure.in',
+ to avoid producing a configure script that breaks with shells
+ that do not support $LINENO. Also throw in a couple of cosmetic
+ changes.
+
+2010-09-02 Peter Rosin <address@hidden>
+
+ Make ar-lib support backslashed files in archives.
+ * lib/ar-lib: If an archive member contains a backslash, make sure
+ it is escaped when the archive member is extracted.
+ * tests/ar-lib.test: Test the above.
+
2010-08-31 Peter Rosin <address@hidden>
Do file name conversion for object files in the compile wrapper.
* lib/compile (func_cl_wrapper): Do file name conversion for object
files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
- * lib/compile4.test: Test the above.
+ * tests/compile4.test: Test the above.
2010-08-21 Ralf Wildenhues <address@hidden>
@@ -104,7 +570,7 @@
file extension as C++, unless it's given a hint. So hint about
.cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
.c, .cpp, .CPP, .lib, .LIB and .Lib files.
- * lib/compile3.test: Test the C++ hinting.
+ * tests/compile3.test: Test the C++ hinting.
2010-08-12 Peter Rosin <address@hidden>
diff --git a/ChangeLog.03 b/ChangeLog.03
index aa31380..eb5b251 100644
--- a/ChangeLog.03
+++ b/ChangeLog.03
@@ -1325,7 +1325,7 @@
Makefile.am into DIST_COMMON here.
* lib/am/configure.am (DIST_COMMON): Do it here, and use
%MAKEFILE-AM% and %MAKEFILE-IN% so that items in DIST_COMMON
- actually match the targets. Prefix `configure' with `$(srcdir)/'
+ actually match the targets. Prefix `configure' with `$(srcdir)/'
to match the target.
* tests/remake4.test: New file.
* tests/Makefile.am (TESTS): Add remake4.test.
diff --git a/HACKING b/HACKING
index d5de1d4..dc727d3 100644
--- a/HACKING
+++ b/HACKING
@@ -33,16 +33,16 @@
Most of them are updated before release with `make fetch'.
* Changes other than bug fixes must be mentioned in NEWS. Important
- bug fixes should be mentioned in NES, too.
+ bug fixes should be mentioned in NEWS, too.
================================================================
= Naming
* We've adopted the convention that internal AC_SUBSTs should be
- named with a leading `am__', and internally generated targets should
- be named with a leading `am--'. This convention is very new
- (as of Feb 7 2001) and so it isn't yet universally used. But all
- new code should use it.
+ named with a leading `am__', and internally generated targets
+ should be named with a leading `am--'. This convention, although
+ in place from at least February 2001, isn't yet universally used.
+ But all new code should use it.
We used to use `_am_' as the prefix for an internal AC_SUBST.
However, it turns out that NEWS-OS 4.2R complains if a Makefile
@@ -98,8 +98,8 @@
not installed as "autoconf", pass it explicitly (along with the
accompanying "autom4te") when calling `bootstrap' and `configure'.
For example:
- $ AUTOCONF=autoconf2.65 AUTOM4TE=autom4te2.65 ./bootstrap
- $ ./configure AUTOCONF=autoconf2.65 AUTOM4TE=autom4te2.65
+ $ AUTOCONF=autoconf2.67 AUTOM4TE=autom4te2.67 ./bootstrap
+ $ ./configure AUTOCONF=autoconf2.67 AUTOM4TE=autom4te2.67
* Dependent files aclocal.m4, configure and Makefile.in in all
directories should be up to date in the git repository, so that
@@ -143,6 +143,8 @@
the active branches descending from the buggy commit. This offers a
simple way to fix the bug consistently and effectively.
+* When referring to older commits, use 'git describe' output as pointer.
+
* There may be a number of longer-lived feature branches for new developments.
They should be based off of a common ancestor of all active branches to
which the feature should be merged later. The next branch may serve as
diff --git a/Makefile.am b/Makefile.am
index 3dd2a18..a5df109 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -111,7 +111,8 @@ recheck:
esac; \
done; \
for subdir in $(TEST_SUBDIRS); do \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) || eval $$failcom; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) \
+ || eval $$failcom; \
done; \
test -z "$$fail"
@@ -123,7 +124,7 @@ recheck:
# Ensure tests are world-executable
dist-hook:
- cd $(distdir)/tests && chmod a+rx *.test
+ $(am__cd) $(distdir)/tests && chmod a+rx *.test
# Perl coverage statistics.
@@ -192,7 +193,9 @@ sc_tests_required_after_defs \
sc_tests_overriding_macros_on_cmdline \
sc_tests_plain_sleep \
sc_tests_plain_egrep_fgrep \
+sc_tests_PATH_SEPARATOR \
sc_tests_logs_duplicate_prefixes \
+sc_tests_makefile_variable_order \
sc_mkdir_p \
sc_perl_at_substs \
sc_unquoted_DESTDIR \
@@ -465,9 +468,10 @@ sc_tests_plain_egrep_fgrep:
## Rule to ensure that the testsuite has been run before. We don't depend on
`check'
## here, because that would be very wasteful in the common case. We could run
## `make check RECHECK_LOGS=' and avoid toplevel races with
AM_RECURSIVE_TARGETS.
+## Suggest keeping test directories around for greppability of the Makefile.in
files.
sc_ensure_testsuite_has_run:
@if test ! -f tests/test-suite.log; then \
- echo "Run \`make check' before \`maintainer-check'" >&2; \
+ echo "Run \`env keep_testdirs=yes make check' before
\`maintainer-check'" >&2; \
exit 1; \
fi
.PHONY: sc_ensure_testsuite_has_run
@@ -480,6 +484,31 @@ sc_tests_logs_duplicate_prefixes:
sc_ensure_testsuite_has_run
exit 1; \
fi
+## Ensure variables are listed before rules in Makefile.in files we generate.
+sc_tests_makefile_variable_order: sc_ensure_testsuite_has_run
+ @for file in `find tests -name Makefile.in -print`; do \
+ latevars=`sed -n \
+ -e :x -e 's/#.*//' \
+ -e '/\\\\$$/{' -e N -e 'b x' -e '}' \
+## Literal TAB.
+ -e '1,/^ /d' \
+## Allow @ so we match conditionals.
+ -e '/^ address@hidden,\} *=/p' $$file`; \
+ if test -n "$$latevars"; then \
+ echo 'Ensure variables are expanded before rules' >&2; \
+ echo "Variables are expanded too late in $$file:" >&2; \
+ echo "$$latevars" | sed 's/^/ /' >&2; \
+ exit 1; \
+ fi; \
+ done
+
+## Using `:' as a PATH separator is not portable.
+sc_tests_PATH_SEPARATOR:
+ @if grep -E '\bPATH=.*:.*' $(srcdir)/tests/*.test ; then \
+ echo "Use \`$$PATH_SEPARATOR', not \`:', in PATH definitions above."
1>&2; \
+ exit 1; \
+ fi
+
sc_mkdir_p:
@if grep 'mkdir_p' $(srcdir)/automake.in \
$(srcdir)/lib/am/*.am $(srcdir)/tests/*.test; then \
@@ -530,7 +559,7 @@ git-dist: maintainer-check
## 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.
- cd $(srcdir) && git commit -a -s && \
+ $(am__cd) $(srcdir) && git commit -a -s && \
git tag -s "v$(VERSION)" -m "Release $(VERSION)"
git-release: git-dist
@@ -552,7 +581,7 @@ git-diff:
## Check our path lengths.
path-check: distdir
- (cd $(distdir) && \
+ ($(am__cd) $(distdir) && \
## FIXME there's got to be a better way! pathchk should take the list
## of files on stdin, at least.
find . -print | xargs pathchk -p); \
@@ -584,7 +613,7 @@ fetch:
rm -rf Fetchdir > /dev/null 2>&1
mkdir Fetchdir
## If a get fails then that is a problem.
- (cd Fetchdir && \
+ ($(am__cd) Fetchdir && \
$(WGET_SV_GIT_CF)config.guess -O config.guess && \
$(WGET_SV_GIT_CF)config.sub -O config.sub && \
$(WGET_SV_CVS)texinfo/texinfo/doc/texinfo.tex -O texinfo.tex && \
@@ -621,7 +650,7 @@ release-stats: ps
aml=`cat $$dot_am_files | wc -l` && \
m4f=`ls -1 $(srcdir)/m4/*.m4 | wc -l` && \
m4l=`cat $(srcdir)/m4/*.m4 | wc -l` && \
- doc_text=`cd doc && LC_ALL=C pstops 0 automake.ps unused.ps 2>&1` && \
+ doc_text=`$(am__cd) doc && LC_ALL=C pstops 0 automake.ps unused.ps
2>&1` && \
echo "$$doc_text" && \
rm -f doc/unused.ps && \
doc=`echo "$$doc_text" | sed -n 's/.*Wrote \([1-9][0-9]*\)
pages.*/\1/p'` && \
diff --git a/Makefile.in b/Makefile.in
index 3a89eba..d9cff86 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -314,7 +314,9 @@ sc_tests_required_after_defs \
sc_tests_overriding_macros_on_cmdline \
sc_tests_plain_sleep \
sc_tests_plain_egrep_fgrep \
+sc_tests_PATH_SEPARATOR \
sc_tests_logs_duplicate_prefixes \
+sc_tests_makefile_variable_order \
sc_mkdir_p \
sc_perl_at_substs \
sc_unquoted_DESTDIR \
@@ -649,7 +651,7 @@ dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c
>$(distdir).tar.gz
$(am__post_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__post_remove_distdir)
dist-lzip: distdir
@@ -661,7 +663,7 @@ dist-lzma: distdir
$(am__post_remove_distdir)
dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -9 -c >$(distdir).tar.xz
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--9} xz -c
>$(distdir).tar.xz
$(am__post_remove_distdir)
dist-tarZ: distdir
@@ -925,7 +927,8 @@ recheck:
esac; \
done; \
for subdir in $(TEST_SUBDIRS); do \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) || eval $$failcom; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) \
+ || eval $$failcom; \
done; \
test -z "$$fail"
@@ -933,7 +936,7 @@ recheck:
# Ensure tests are world-executable
dist-hook:
- cd $(distdir)/tests && chmod a+rx *.test
+ $(am__cd) $(distdir)/tests && chmod a+rx *.test
check-coverage-run recheck-coverage-run: all
$(mkinstalldirs) $(PERL_COVERAGE_DB)
@@ -1186,7 +1189,7 @@ sc_tests_plain_egrep_fgrep:
sc_ensure_testsuite_has_run:
@if test ! -f tests/test-suite.log; then \
- echo "Run \`make check' before \`maintainer-check'" >&2; \
+ echo "Run \`env keep_testdirs=yes make check' before
\`maintainer-check'" >&2; \
exit 1; \
fi
.PHONY: sc_ensure_testsuite_has_run
@@ -1197,6 +1200,27 @@ sc_tests_logs_duplicate_prefixes:
sc_ensure_testsuite_has_run
exit 1; \
fi
+sc_tests_makefile_variable_order: sc_ensure_testsuite_has_run
+ @for file in `find tests -name Makefile.in -print`; do \
+ latevars=`sed -n \
+ -e :x -e 's/#.*//' \
+ -e '/\\\\$$/{' -e N -e 'b x' -e '}' \
+ -e '1,/^ /d' \
+ -e '/^ address@hidden,\} *=/p' $$file`; \
+ if test -n "$$latevars"; then \
+ echo 'Ensure variables are expanded before rules' >&2; \
+ echo "Variables are expanded too late in $$file:" >&2; \
+ echo "$$latevars" | sed 's/^/ /' >&2; \
+ exit 1; \
+ fi; \
+ done
+
+sc_tests_PATH_SEPARATOR:
+ @if grep -E '\bPATH=.*:.*' $(srcdir)/tests/*.test ; then \
+ echo "Use \`$$PATH_SEPARATOR', not \`:', in PATH definitions above."
1>&2; \
+ exit 1; \
+ fi
+
sc_mkdir_p:
@if grep 'mkdir_p' $(srcdir)/automake.in \
$(srcdir)/lib/am/*.am $(srcdir)/tests/*.test; then \
@@ -1239,7 +1263,7 @@ git-dist: maintainer-check
exit 1; \
fi
$(MAKE) $(AM_MAKEFLAGS) distcheck
- cd $(srcdir) && git commit -a -s && \
+ $(am__cd) $(srcdir) && git commit -a -s && \
git tag -s "v$(VERSION)" -m "Release $(VERSION)"
git-release: git-dist
@@ -1260,7 +1284,7 @@ git-diff:
> $(PACKAGE)-$$prevno-$(VERSION).diff
path-check: distdir
- (cd $(distdir) && \
+ ($(am__cd) $(distdir) && \
find . -print | xargs pathchk -p); \
estatus=$$?; \
find $(distdir) -type d '!' -perm -200 -exec chmod u+w {} ';'; \
@@ -1270,7 +1294,7 @@ path-check: distdir
fetch:
rm -rf Fetchdir > /dev/null 2>&1
mkdir Fetchdir
- (cd Fetchdir && \
+ ($(am__cd) Fetchdir && \
$(WGET_SV_GIT_CF)config.guess -O config.guess && \
$(WGET_SV_GIT_CF)config.sub -O config.sub && \
$(WGET_SV_CVS)texinfo/texinfo/doc/texinfo.tex -O texinfo.tex && \
@@ -1302,7 +1326,7 @@ release-stats: ps
aml=`cat $$dot_am_files | wc -l` && \
m4f=`ls -1 $(srcdir)/m4/*.m4 | wc -l` && \
m4l=`cat $(srcdir)/m4/*.m4 | wc -l` && \
- doc_text=`cd doc && LC_ALL=C pstops 0 automake.ps unused.ps 2>&1` && \
+ doc_text=`$(am__cd) doc && LC_ALL=C pstops 0 automake.ps unused.ps
2>&1` && \
echo "$$doc_text" && \
rm -f doc/unused.ps && \
doc=`echo "$$doc_text" | sed -n 's/.*Wrote \([1-9][0-9]*\)
pages.*/\1/p'` && \
diff --git a/NEWS b/NEWS
index c0f3ebd..0a824dd 100644
--- a/NEWS
+++ b/NEWS
@@ -17,12 +17,27 @@ New in 1.11a:
- "make dist" can now create lzip-compressed tarballs.
+ - You may adjust the compression options used in dist-xz and dist-bzip2.
+ The default is still -9 for each, but 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-xz BZIP2=-5"
+
- Messages of types warning or error from `automake' and `aclocal' are now
prefixed with the respective type, and presence of -Werror is noted.
- The `compile' script now converts some options for MSVC for a better
user experience. Similarly, the new `ar-lib' script wraps Microsoft lib.
+ - Automake's early configure-time sanity check now tries to avoid sleeping
+ for a second, which slowed down cached configure runs noticeably. In that
+ case, it will check back at the end of the configure script to ensure that
+ at least one second has passed, to avoid time stamp issues with makefile
+ rules rerunning autotools programs.
+
+ - For programs and libraries, automake now detects EXTRA_foo_DEPENDENCIES and
+ adds them to the normal list of dependencies, but without overwriting the
+ foo_DEPENDENCIES variable, which is normally computed by automake.
+
Bugs fixed in 1.11a:
- Lots of minor bugfixes.
@@ -70,6 +85,10 @@ Bugs fixed in 1.11a:
- The order of Yacc and Lex flags is fixed to be consistent with 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
+ `make -n' is invoked. Fixes include compilation of Emacs Lisp, Vala, or
+ Yacc source files and the rule to update config.h.
New in 1.11:
diff --git a/THANKS b/THANKS
index 810a700..f53e7ee 100644
--- a/THANKS
+++ b/THANKS
@@ -146,6 +146,7 @@ Jared Davis address@hidden
Jason Duell address@hidden
Jason Molenda address@hidden
Jeff Bailey address@hidden
+Jeff A. Daily address@hidden
Jeff Garzik address@hidden
Jeff Squyres address@hidden
Jens Elkner address@hidden
@@ -337,6 +338,7 @@ Theodoros V. Kalamatianos address@hidden
Thien-Thi Nguyen address@hidden
Thomas Fitzsimmons address@hidden
Thomas Gagne address@hidden
+Thomas Klausner address@hidden
Thomas Morgan address@hidden
Thomas Schwinge address@hidden
Thomas Tanner address@hidden
diff --git a/aclocal.m4 b/aclocal.m4
index 6cbae15..c43a368 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -13,8 +13,8 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
-[m4_warning([this file was generated for autoconf 2.67.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically
`autoreconf'.])])
diff --git a/automake.in b/automake.in
index c0c5289..db45e52 100644
--- a/automake.in
+++ b/automake.in
@@ -2005,7 +2005,7 @@ sub handle_single_transform ($$$$$%)
# Each item on this list is a reference to a list consisting
# of four values followed by additional transform flags for
- # file_contents. The four values are the derived flag prefix
+ # file_contents. The four values are the derived flag prefix
# (e.g. for `foo_CFLAGS', it is `foo'), the name of the
# source file, the base name of the output file, and
# the extension for the object file.
@@ -2678,6 +2678,7 @@ sub handle_programs
"use `${xname}_LDADD', not `${xname}_LIBADD'");
set_seen ($xname . '_DEPENDENCIES');
+ set_seen ('EXTRA_' . $xname . '_DEPENDENCIES');
set_seen ($xname . '_LDFLAGS');
# Determine program to use for link.
@@ -2789,6 +2790,7 @@ sub handle_libraries
# Make sure we at look at this.
set_seen ($xlib . '_DEPENDENCIES');
+ set_seen ('EXTRA_' . $xlib . '_DEPENDENCIES');
&handle_source_transform ($xlib, $onelib, $obj, $where,
NONLIBTOOL => 1, LIBTOOL => 0);
@@ -2968,6 +2970,7 @@ sub handle_ltlibraries
# Make sure we look at these.
set_seen ($xlib . '_LDFLAGS');
set_seen ($xlib . '_DEPENDENCIES');
+ set_seen ('EXTRA_' . $xlib . '_DEPENDENCIES');
# Generate support for conditional object inclusion in
# libraries.
@@ -3070,7 +3073,7 @@ sub check_typos ()
for my $cond ($var->conditions->conds)
{
- $varname =~ /^(?:nobase_)?(?:dist_|nodist_)?(.*)_[[:alnum:]]+$/;
+ $varname =~
/^(?:EXTRA_)?(?:nobase_)?(?:dist_|nodist_)?(.*)_[[:alnum:]]+$/;
msg_var ('syntax', $var, "variable `$varname' is defined but no"
. " program or\nlibrary has `$1' as canonical name"
. " (possible typo)")
@@ -5991,11 +5994,11 @@ sub lang_vala_finish_target ($$)
{
foreach my $file ($var->value_as_list_recursive)
{
- $output_rules .= "\$(srcdir)/$file:
\$(srcdir)/${derived}_vala.stamp\n".
- "address@hidden test -f \$@; then :; else \\\n".
- "\t rm -f \$(srcdir)/${derived}_vala.stamp; \\\n".
- "\t \$(am__cd) \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS)
${derived}_vala.stamp; \\\n".
- "\tfi\n"
+ $output_rules .= "\$(srcdir)/$file:
\$(srcdir)/${derived}_vala.stamp\n"
+ . "address@hidden test -f \$@; then :; else rm -f
\$(srcdir)/${derived}_vala.stamp; fi\n"
+ . "address@hidden test -f \$@; then :; else \\\n"
+ . "\t \$(am__cd) \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS)
${derived}_vala.stamp; \\\n"
+ . "\tfi\n"
if $file =~ s/(.*)\.vala$/$1.c/;
}
}
@@ -6011,11 +6014,11 @@ sub lang_vala_finish_target ($$)
'--vapi', '--internal-vapi', '--gir')))
{
my $headerfile = $flag;
- $output_rules .= "\$(srcdir)/$headerfile:
\$(srcdir)/${derived}_vala.stamp\n".
- "address@hidden test -f \$@; then :; else \\\n".
- "\t rm -f \$(srcdir)/${derived}_vala.stamp; \\\n".
- "\t \$(am__cd) \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS)
${derived}_vala.stamp; \\\n".
- "\tfi\n";
+ $output_rules .= "\$(srcdir)/$headerfile:
\$(srcdir)/${derived}_vala.stamp\n"
+ . "address@hidden test -f \$@; then :; else rm -f
\$(srcdir)/${derived}_vala.stamp; fi\n"
+ . "address@hidden test -f \$@; then :; else \\\n"
+ . "\t \$(am__cd) \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS)
${derived}_vala.stamp; \\\n"
+ . "\tfi\n";
# valac is not used when building from dist tarballs
# distribute the generated files
@@ -6110,10 +6113,8 @@ sub lang_yacc_target_hook
$output_rules .=
"$condstr${header}: $output\n"
# Recover from removal of $header
- . "address@hidden test ! -f \$@; then \\\n"
- . "$condstr\t rm -f $output; \\\n"
- . "$condstr\t \$(MAKE) \$(AM_MAKEFLAGS) $output; \\\n"
- . "$condstr\telse :; fi\n";
+ . "address@hidden test ! -f \$@; then rm -f $output; else :; fi\n"
+ . "address@hidden test ! -f \$@; then \$(MAKE) \$(AM_MAKEFLAGS)
$output; else :; fi\n";
}
# Distribute the generated file, unless its .y source was
# listed in a nodist_ variable. (&handle_source_transform
diff --git a/bootstrap b/bootstrap
index 9f1a8d8..41f1f4e 100755
--- a/bootstrap
+++ b/bootstrap
@@ -103,9 +103,10 @@ dosubst m4/amversion.in m4/amversion.m4
# Create temporary replacement for automake.
dosubst automake.in automake.tmp
-# Create tests/parallel-tests.am.
+# Create required makefile snippets.
cd tests
$BOOTSTRAP_SHELL ./gen-parallel-tests > parallel-tests.am
+$BOOTSTRAP_SHELL ./instspc-tests.sh --generate-makefile > instspc-tests.am
cd ..
# Run the autotools.
diff --git a/configure b/configure
index b7f3e9b..169d82d 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for GNU Automake 1.11a.
+# Generated by GNU Autoconf 2.68 for GNU Automake 1.11a.
#
# Report bugs to <address@hidden>.
#
@@ -91,6 +91,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -216,11 +217,18 @@ IFS=$as_save_IFS
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -1053,7 +1061,7 @@ Try \`$0 --help' for more information"
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option}
${target_alias=$ac_option}
+ : "${build_alias=$ac_option} ${host_alias=$ac_option}
${target_alias=$ac_option}"
;;
esac
@@ -1268,8 +1276,8 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')
+ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')
Report bugs to <address@hidden>.
GNU Automake home page: <http://www.gnu.org/software/automake/>.
@@ -1337,7 +1345,7 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
GNU Automake configure 1.11a
-generated by GNU Autoconf 2.67
+generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@@ -1354,7 +1362,7 @@ This file contains any messages produced by compilers
while
running configure, to aid debugging if configure makes a mistake.
It was created by GNU Automake $as_me 1.11a, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -1741,7 +1749,7 @@ $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
@@ -1801,7 +1809,7 @@ am__api_version='1.11a'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible
install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -1898,14 +1906,14 @@ esac
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
+ am_has_slept=no
for am_try in 1 2; do
- echo timestamp > conftest.file
+ echo "timestamp, slept: $am_has_slept" > conftest.file
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$*" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
- rm -f conftest.file
if test "$*" != "X $srcdir/configure conftest.file" \
&& test "$*" != "X conftest.file $srcdir/configure"; then
@@ -1921,6 +1929,7 @@ if (
fi
# Just in case.
sleep 1
+ am_has_slept=yes
done
test "$2" = conftest.file
)
@@ -1933,6 +1942,16 @@ Check your system clock" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+
+fi
+rm -f conftest.file
+
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
@@ -1982,7 +2001,7 @@ if test "$cross_compiling" != no; then
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
@@ -2022,7 +2041,7 @@ if test -z "$ac_cv_prog_STRIP"; then
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
@@ -2075,7 +2094,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p"
>&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
- if test "${ac_cv_path_mkdir+set}" = set; then :
+ if ${ac_cv_path_mkdir+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2126,7 +2145,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
@@ -2166,7 +2185,7 @@ done
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
@@ -2207,10 +2226,10 @@ if test "${enable_silent_rules+set}" = set; then :
enableval=$enable_silent_rules;
fi
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=1;;
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
esac
AM_BACKSLASH='\'
@@ -2300,7 +2319,7 @@ AUTOMAKE="perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\"
\"`pwd`/automake\" --libd
set dummy perl; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PERL+set}" = set; then :
+if ${ac_cv_path_PERL+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PERL in
@@ -2349,7 +2368,7 @@ installed, select the one Automake should use using
# We require ithreads support, and version 5.7.2 for CLONE.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PERL supports
ithreads" >&5
$as_echo_n "checking whether $PERL supports ithreads... " >&6; }
-if test "${am_cv_prog_PERL_ithreads+set}" = set; then :
+if ${am_cv_prog_PERL_ithreads+:} false; then :
$as_echo_n "(cached) " >&6
else
if $PERL -e '
@@ -2384,7 +2403,7 @@ fi
set dummy tex; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_TEX+set}" = set; then :
+if ${ac_cv_prog_TEX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$TEX"; then
@@ -2432,7 +2451,7 @@ HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"}
required_autoconf_version=2.62
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether autoconf is
installed" >&5
$as_echo_n "checking whether autoconf is installed... " >&6; }
-if test "${am_cv_autoconf_installed+set}" = set; then :
+if ${am_cv_autoconf_installed+:} false; then :
$as_echo_n "(cached) " >&6
else
if { echo "$as_me:$LINENO: eval $am_AUTOCONF --version" >&5
@@ -2455,7 +2474,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether autoconf works" >&5
$as_echo_n "checking whether autoconf works... " >&6; }
-if test "${am_cv_autoconf_works+set}" = set; then :
+if ${am_cv_autoconf_works+:} false; then :
$as_echo_n "(cached) " >&6
else
mkdir conftest
@@ -2481,7 +2500,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether autoconf is recent
enough" >&5
$as_echo_n "checking whether autoconf is recent enough... " >&6; }
-if test "${am_cv_autoconf_version+set}" = set; then :
+if ${am_cv_autoconf_version+:} false; then :
$as_echo_n "(cached) " >&6
else
mkdir conftest
@@ -2507,7 +2526,7 @@ fi
# Test for ln. We need use it to install the versioned binaries.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln works" >&5
$as_echo_n "checking whether ln works... " >&6; }
-if test "${am_cv_prog_ln+set}" = set; then :
+if ${am_cv_prog_ln+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -2542,7 +2561,7 @@ esac
# Test for things needed by the test suite.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long
lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
@@ -2605,7 +2624,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -2672,7 +2691,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
$as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -2740,7 +2759,7 @@ $as_echo "$ac_cv_path_FGREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether /bin/sh has working
'set -e' with exit trap" >&5
$as_echo_n "checking whether /bin/sh has working 'set -e' with exit trap... "
>&6; }
-if test "${am_cv_sh_errexit_works+set}" = set; then :
+if ${am_cv_sh_errexit_works+:} false; then :
$as_echo_n "(cached) " >&6
else
if /bin/sh -ec "trap 'exit \$?' 0; (exit 77); exit 77"; test $? = 77
@@ -2835,10 +2854,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var
contains a newline" >&2;} ;;
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
+ if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache
$cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -2905,9 +2935,16 @@ LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
+if test -n "$am_sleep_pid"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files
are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+ wait $am_sleep_pid
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+ fi
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -3008,6 +3045,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3315,7 +3353,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling.
ac_log="
This file was extended by GNU Automake $as_me 1.11a, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -3370,7 +3408,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //;
s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
GNU Automake config.status 1.11a
-configured by $0, generated by GNU Autoconf 2.67,
+configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -3520,9 +3558,10 @@ fi
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp=
+ tmp= ac_tmp=
trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
@@ -3530,12 +3569,13 @@ $debug ||
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -3557,7 +3597,7 @@ else
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
@@ -3585,7 +3625,7 @@ done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
@@ -3633,7 +3673,7 @@ t delim
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
@@ -3665,7 +3705,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
@@ -3724,7 +3764,7 @@ do
for ac_f
do
case $ac_f in
- -) ac_f="$tmp/stdin";;
+ -) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be
DOS-style,
# because $ac_f cannot contain `:'.
@@ -3759,7 +3799,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
@@ -3896,21 +3936,22 @@ s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk"
>$tmp/out \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z
"$ac_out"; } &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a
reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable
\`datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
- rm -f "$tmp/stdin"
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- -) cat "$tmp/out" && rm -f "$tmp/out";;
- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
diff --git a/doc/.cvsignore b/doc/.cvsignore
deleted file mode 100644
index a3ce790..0000000
--- a/doc/.cvsignore
+++ /dev/null
@@ -1,14 +0,0 @@
-Makefile
-automake.info*
-automake.dvi
-automake-[0-9].*
-*.log
-log
-diffs
-automake.vrs automake.cps automake.tr automake.op automake.cv
-automake.ov automake.toc automake.pg automake.ky automake.tp
-automake.vr automake.fn automake.cp automake.aux
-automake.cm automake.ps automake.html
-*.gz
-stamp-vti
-version.texi
diff --git a/doc/automake.texi b/doc/automake.texi
index 45d398f..5ae565c 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -343,6 +343,7 @@ Frequently Asked Questions about Automake
* Multiple Outputs:: Writing rules for tools with many output files
* Hard-Coded Install Paths:: Installing to hard-coded locations
* Debugging Make Rules:: Strategies when things don't work as expected
+* Reporting Bugs:: Feedback on bugs and feature requests
History of Automake
@@ -424,8 +425,7 @@ to be built.
@cindex Reporting bugs
@cindex E-mail, bug reports
-Mail suggestions and bug reports for Automake to
address@hidden@value{PACKAGE_BUGREPORT}}.
+For more information on bug reports, @xref{Reporting Bugs}.
@node Autotools Introduction
@chapter An Introduction to the Autotools
@@ -1759,12 +1759,12 @@ for instance, a @code{bin_PROGRAMS} variable definition
will cause rules
for compiling and linking programs to be generated.
@cindex Non-standard targets
address@hidden @code{cvs-dist}, non-standard example
address@hidden cvs-dist
address@hidden @code{git-dist}, non-standard example
@trindex git-dist
The variable definitions and rules in the @file{Makefile.am} are
-copied verbatim into the generated file. This allows you to add
+copied mostly verbatim into the generated file, with all variable
+definitions preceding all rules. This allows you to add almost
arbitrary code into the generated @file{Makefile.in}. For instance,
the Automake distribution includes a non-standard rule for the
@code{git-dist} target, which the Automake maintainer uses to make
@@ -4699,11 +4699,12 @@ this purpose.
@cindex @code{_DEPENDENCIES}, defined
@vindex maude_DEPENDENCIES
address@hidden EXTRA_maude_DEPENDENCIES
It is also occasionally useful to have a program depend on some other
target that is not actually part of that program. This can be done
-using the @address@hidden variable. Each program
-depends on the contents of such a variable, but no further
-interpretation is done.
+using either the @address@hidden or the
address@hidden@var{prog}_DEPENDENCIES} variable. Each program depends on
+the contents both variables, but no further interpretation is done.
Since these dependencies are associated to the link rule used to
create the programs they should normally list files used by the link
@@ -4726,6 +4727,10 @@ generated.
@ref{Conditional Sources} shows a situation where @code{_DEPENDENCIES}
may be used.
+The @address@hidden may be useful for cases where
+you merely want to augment the @command{automake}-generated
address@hidden@var{prog}_DEPENDENCIES} rather than replacing it.
+
@cindex @code{LDADD} and @option{-l}
@cindex @option{-l} and @code{LDADD}
We recommend that you avoid using @option{-l} options in @code{LDADD}
@@ -5593,6 +5598,7 @@ option, so they should not be mode-specific options
(those belong to
the compiler or linker flags). @xref{Libtool Flags}.
@item maude_DEPENDENCIES
address@hidden EXTRA_maude_DEPENDENCIES
It is also occasionally useful to have a target (program or library)
depend on some other file that is not actually part of that target.
This can be done using the @code{_DEPENDENCIES} variable. Each
@@ -5623,6 +5629,10 @@ compilation using an @code{AC_SUBST} variable that
contains a list of
objects. @xref{Conditional Sources}, and @ref{Conditional Libtool
Sources}.
+The @code{EXTRA_*_DEPENDENCIES} variable may be useful for cases where
+you merely want to augment the @command{automake}-generated
address@hidden variable rather than replacing it.
+
@item maude_LINK
You can override the linker on a per-program basis. By default the
linker is chosen according to the languages used by the program. For
@@ -5833,9 +5843,10 @@ However there is no need to list the corresponding
sources in
automatically adds @samp{$(LIBOBJS)} and @samp{$(ALLOCA)} to the
dependencies, and it will discover the list of corresponding source
files automatically (by tracing the invocations of the
address@hidden Autoconf macros). However, if you have already
-defined @samp{*_DEPENDENCIES} explicitly for an unrelated reason, then
-you have to add these variables manually.
address@hidden Autoconf macros). If you have already defined
address@hidden explicitly for an unrelated reason, then you
+either need to add these variables manually, or use
address@hidden instead of @samp{*_DEPENDENCIES}.
These variables are usually used to build a portability library that
is linked with all the programs of the project. We now review a
@@ -8255,8 +8266,8 @@ subdirectories in @code{EXTRA_DIST}.
You can also mention a directory in @code{EXTRA_DIST}; in this case the
entire directory will be recursively copied into the distribution.
Please note that this will also copy @emph{everything} in the directory,
-including CVS/RCS version control files. We recommend against using
-this feature.
+including, e.g., Subversion's @file{.svn} private directories or CVS/RCS
+version control files. We recommend against using this feature.
@vindex SUBDIRS
@vindex DIST_SUBDIRS
@@ -8317,7 +8328,7 @@ recursively included by specifying a directory in
EXTRA_DIST:
EXTRA_DIST = doc
dist-hook:
- rm -rf `find $(distdir)/doc -name CVS`
+ rm -rf `find $(distdir)/doc -type d -name .svn`
@end example
@vindex distdir
@@ -8447,9 +8458,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
@option{-9}.
+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}
@@ -8472,10 +8487,15 @@ 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 @option{-9}.
+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: @samp{make dist-xz XZ_OPT=-7e}.
@trindex dist-xz
@item @code{dist-zip}
@@ -10379,6 +10399,7 @@ lists.
* Multiple Outputs:: Writing rules for tools with many output files
* Hard-Coded Install Paths:: Installing to hard-coded locations
* Debugging Make Rules:: Strategies when things don't work as expected
+* Reporting Bugs:: Feedback on bugs and feature requests
@end menu
@node CVS
@@ -10563,9 +10584,10 @@ Besides the warning, when a tool is missing,
@command{missing} will
attempt to fix timestamps in a way that allows the build to continue.
For instance, @command{missing} will touch @file{configure} if
@command{autoconf} is not installed. When all distributed files are
-kept under CVS, this feature of @command{missing} allows a user
address@hidden no maintainer tools} to build a package off CVS, bypassing
-any timestamp inconsistency implied by @samp{cvs update}.
+kept under version control, this feature of @command{missing} allows a
+user @emph{with no maintainer tools} to build a package off its version
+control repository, bypassing any timestamp inconsistency (implied by
+e.g.@: @samp{cvs update} or @samp{git clone}).
If the required tool is installed, @command{missing} will run it and
won't attempt to continue after failures. This is correct during
@@ -10620,9 +10642,9 @@ swayed by Fran@,{c}ois's arguments, and got rid of
@code{AM_MAINTAINER_MODE} in all of his packages.
Still many people continue to use @code{AM_MAINTAINER_MODE}, because
-it helps them working on projects where all files are kept under CVS,
-and because @command{missing} isn't enough if you have the wrong
-version of the tools.
+it helps them working on projects where all files are kept under version
+control, and because @command{missing} isn't enough if you have the
+wrong version of the tools.
@node Wildcards
@@ -11398,11 +11420,15 @@ data.h data.w data.x: data.c
fi
@end example
-However there are now two minor problems in this setup. One is related
+However there are now three minor problems in this setup. One is related
to the timestamp ordering of @file{data.h}, @file{data.w},
address@hidden, and @file{data.c}. The other one is a race condition
address@hidden, and @file{data.c}. Another one is a race condition
if a parallel @command{make} attempts to run multiple instances of the
-recover block at once.
+recover block at once. Finally, the recursive rule breaks @samp{make -n}
+when run with GNU @command{make} (as well as some other @command{make}
+implementations), as it may remove @file{data.h} even when it should not
+(@pxref{MAKE Variable, , How the @code{MAKE} Variable Works, make,
+The GNU Make Manual}).
Let us deal with the first problem. @command{foo} outputs four files,
but we do not know in which order these files are created. Suppose
@@ -11510,8 +11536,8 @@ elc-stamp: $(ELFILES)
@@mv -f elc-temp $@@
$(ELCFILES): elc-stamp
-## Recover from the removal of $@@
@@if test -f $@@; then :; else \
+## Recover from the removal of $@@
trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
if mkdir elc-lock 2>/dev/null; then \
## This code is being executed by the first process.
@@ -11524,10 +11550,58 @@ $(ELCFILES): elc-stamp
while test -d elc-lock; do sleep 1; done; \
## Succeed if and only if the first process succeeded.
test -f elc-stamp; exit $$?; \
address@hidden $$
fi; \
fi
@end example
+
+These solutions all still suffer from the third problem, namely that
+they break the promise that @samp{make -n} should not cause any actual
+changes to the tree. For those solutions that do not create lock files,
+it is possible to split the recover rules into two separate recipe
+commands, one of which does all work but the recursion, and the
+other invokes the recursive @samp{$(MAKE)}. The solutions involving
+locking could act upon the contents of the @samp{MAKEFLAGS} variable,
+but parsing that portably is not easy (@pxref{The Make Macro MAKEFLAGS,,,
+autoconf, The Autoconf Manual}). Here is an example:
+
address@hidden
+ELFILES = one.el two.el three.el @dots{}
+ELCFILES = $(ELFILES:=c)
+
+elc-stamp: $(ELFILES)
+ @@rm -f elc-temp
+ @@touch elc-temp
+ $(elisp_comp) $(ELFILES)
+ @@mv -f elc-temp $@@
+
+$(ELCFILES): elc-stamp
+## Recover from the removal of $@@
+ @@dry=; for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=*|--*);; \
+ *n*) dry=:;; \
+ esac; \
+ done; \
+ if test -f $@@; then :; else \
+ $$dry trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
+ if $$dry mkdir elc-lock 2>/dev/null; then \
+## This code is being executed by the first process.
+ $$dry rm -f elc-stamp; \
+ $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
+ $$dry rmdir elc-lock; \
+ else \
+## This code is being executed by the follower processes.
+## Wait until the first process is done.
+ while test -d elc-lock && test -z "$$dry"; do \
@c $$
+ sleep 1; \
+ done; \
+## Succeed if and only if the first process succeeded.
+ $$dry test -f elc-stamp; exit $$?; \
+ fi; \
+ fi
address@hidden example
For completeness it should be noted that GNU @command{make} is able to
express rules with multiple output files using pattern rules
@@ -11718,6 +11792,45 @@ a debugger.
@end itemize
address@hidden Reporting Bugs
address@hidden Reporting Bugs
+
+Most nontrivial software has bugs. Automake is no exception. Although
+we cannot promise we can or will fix a bug, and we might not even agree
+that it is a bug, we want to hear about problems you encounter. Often we
+agree they are bugs and want to fix them.
+
+To make it possible for us to fix a bug, please report it. In order to
+do so effectively, it helps to know when and how to do it.
+
+Before reporting a bug, it is a good idea to see if it is already known.
+You can look at the @uref{http://debbugs.gnu.org/, GNU Bug Tracker}
+and the @uref{http://lists.gnu.org/@/archive/@/html/@/bug-automake/,
+bug-automake mailing list archives} for previous bug reports. We
+previously used a
address@hidden://sourceware.org/@/cgi-bin/@/gnatsweb.pl?database=automake,
+Gnats database} for bug tracking, so some bugs might have been reported
+there already. Please do not use it for new bug reports, however.
+
+If the bug is not already known, it should be reported. It is very
+important to report bugs in a way that is useful and efficient. For
+this, please familiarize yourself with
address@hidden://www.chiark.greenend.org.uk/@/~sgtatham/@/bugs.html, How to
+Report Bugs Effectively} and
address@hidden://catb.org/@/~esr/@/faqs/@/smart-questions.html, How to Ask
+Questions the Smart Way}. This helps you and developers to save time
+which can then be spent on fixing more bugs and implementing more
+features.
+
+For a bug report, a feature request or other suggestions, please send
+email to @address@hidden This will then open a new
+bug in the @uref{http://debbugs.gnu.org/@/automake, bug tracker}. Be
+sure to include the versions of Autoconf and Automake that you use.
+Ideally, post a minimal @file{Makefile.am} and @file{configure.ac} that
+reproduces the problem you encounter. If you have encountered test
+suite failures, please attach the @file{tests/test-suite.log} file.
+
+
@node History
@chapter History of Automake
diff --git a/lib/.cvsignore b/lib/.cvsignore
deleted file mode 100644
index f3c7a7c..0000000
--- a/lib/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/lib/Automake/.cvsignore b/lib/Automake/.cvsignore
deleted file mode 100644
index bbad8cb..0000000
--- a/lib/Automake/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Config.pm
diff --git a/lib/Automake/ChannelDefs.pm b/lib/Automake/ChannelDefs.pm
index 57948bd..470e6c7 100644
--- a/lib/Automake/ChannelDefs.pm
+++ b/lib/Automake/ChannelDefs.pm
@@ -80,7 +80,7 @@ Fatal errors. Use C<&fatal> to send messages over this
channel.
=item C<error>
-Common errors. Use C<&error> to send messages over this channel.
+Common errors. Use C<&error> to send messages over this channel.
=item C<error-gnu>
diff --git a/lib/Automake/Channels.pm b/lib/Automake/Channels.pm
index aeed4db..06f0443 100644
--- a/lib/Automake/Channels.pm
+++ b/lib/Automake/Channels.pm
@@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
###############################################################
-# The main copy of this file is in Automake's CVS repository. #
+# The main copy of this file is in Automake's git repository. #
# Updates should be sent to address@hidden #
###############################################################
@@ -503,7 +503,7 @@ sub _print_message ($$%)
my $msg = _format_message ($location, $message, %opts);
if ($opts{'partial'})
{
- # Incomplete message. Store, don't print.
+ # Incomplete message. Store, don't print.
$partial .= $msg;
return;
}
diff --git a/lib/Automake/Configure_ac.pm b/lib/Automake/Configure_ac.pm
index 4f0e445..3574035 100644
--- a/lib/Automake/Configure_ac.pm
+++ b/lib/Automake/Configure_ac.pm
@@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
###############################################################
-# The main copy of this file is in Automake's CVS repository. #
+# The main copy of this file is in Automake's git repository. #
# Updates should be sent to address@hidden #
###############################################################
diff --git a/lib/Automake/FileUtils.pm b/lib/Automake/FileUtils.pm
index e39750d..ba7afc0 100644
--- a/lib/Automake/FileUtils.pm
+++ b/lib/Automake/FileUtils.pm
@@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
###############################################################
-# The main copy of this file is in Automake's CVS repository. #
+# The main copy of this file is in Automake's git repository. #
# Updates should be sent to address@hidden #
###############################################################
diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm
index d9d9ae0..b603120 100644
--- a/lib/Automake/Rule.pm
+++ b/lib/Automake/Rule.pm
@@ -488,7 +488,7 @@ sub suffixes ()
=item C<rule ($rulename)>
Return the C<Automake::Rule> object for the rule
-named C<$rulename> if defined. Return 0 otherwise.
+named C<$rulename> if defined. Return 0 otherwise.
=cut
diff --git a/lib/Automake/Struct.pm b/lib/Automake/Struct.pm
index 9745779..ae42db2 100644
--- a/lib/Automake/Struct.pm
+++ b/lib/Automake/Struct.pm
@@ -1,5 +1,5 @@
# autoconf -- create `configure' using m4 macros
-# Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2006, 2010 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
@@ -21,7 +21,7 @@
# we would have two packages defining the same symbols. Boom.
###############################################################
-# The main copy of this file is in Automake's CVS repository. #
+# The main copy of this file is in Automake's git repository. #
# Updates should be sent to address@hidden #
###############################################################
diff --git a/lib/Automake/Variable.pm b/lib/Automake/Variable.pm
index f75ec10..9b2c838 100644
--- a/lib/Automake/Variable.pm
+++ b/lib/Automake/Variable.pm
@@ -354,7 +354,7 @@ sub reset ()
=item C<var ($varname)>
Return the C<Automake::Variable> object for the variable
-named C<$varname> if defined. Return 0 otherwise.
+named C<$varname> if defined. Return 0 otherwise.
=cut
diff --git a/lib/Automake/Version.pm b/lib/Automake/Version.pm
index 8b2a7bc..347f8f6 100644
--- a/lib/Automake/Version.pm
+++ b/lib/Automake/Version.pm
@@ -1,4 +1,4 @@
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2010 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
@@ -39,7 +39,7 @@ C<MICRO> are digits, C<ALPHA> is a character, and C<FORK> any
alphanumeric word.
Usually, C<ALPHA> is used to label alpha releases or intermediate
-snapshots, C<FORK> is used for CVS branches or patched releases, and
+snapshots, C<FORK> is used for git branches or patched releases, and
C<MICRO> is used for bug fixes releases on the C<MAJOR.MINOR> branch.
For the purpose of ordering, C<1.4> is the same as C<1.4.0>, but
diff --git a/lib/Automake/XFile.pm b/lib/Automake/XFile.pm
index 67298f9..4ba84ce 100644
--- a/lib/Automake/XFile.pm
+++ b/lib/Automake/XFile.pm
@@ -17,7 +17,7 @@
# Written by Akim Demaille <address@hidden>.
###############################################################
-# The main copy of this file is in Automake's CVS repository. #
+# The main copy of this file is in Automake's git repository. #
# Updates should be sent to address@hidden #
###############################################################
diff --git a/lib/Automake/tests/.cvsignore b/lib/Automake/tests/.cvsignore
deleted file mode 100644
index f3c7a7c..0000000
--- a/lib/Automake/tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in
index 34e58db..dd5b61b 100644
--- a/lib/Automake/tests/Makefile.in
+++ b/lib/Automake/tests/Makefile.in
@@ -122,7 +122,7 @@ am__text_box = $(AWK) '{ \
print line; \
}'
# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL). This contradicts POSIX. Work around the problem
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
# To be inserted before the command running the test. Creates the
@@ -145,6 +145,35 @@ elif test -f "$$f"; then dir=;
\
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
$(TESTS_ENVIRONMENT)
+# To be appended to the command running the test. Handle the stdout
+# and stderr redirection, and catch the exit status.
+am__check_post = \
+>address@hidden 2>&1; \
+estatus=$$?; \
+if test -n '$(DISABLE_HARD_ERRORS)' \
+ && test $$estatus -eq 99; then \
+ estatus=1; \
+fi; \
+TERM=$$__SAVED_TERM; export TERM; \
+$(am__tty_colors); \
+xfailed=PASS; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ xfailed=XFAIL;; \
+esac; \
+case $$estatus.$$xfailed in \
+ 0.XFAIL) col=$$red; res=XPASS;; \
+ 0.*) col=$$grn; res=PASS ;; \
+ 77.*) col=$$blu; res=SKIP ;; \
+ 99.*) col=$$red; res=FAIL ;; \
+ *.XFAIL) col=$$lgn; res=XFAIL;; \
+ *.*) col=$$red; res=FAIL ;; \
+esac; \
+echo "$${col}$$res$${std}: $$f"; \
+echo "$$res: $$f (exit: $$estatus)" | \
+ $(am__rst_section) >$@; \
+cat address@hidden >>$@; \
+rm -f address@hidden
RECHECK_LOGS = $(TEST_LOGS)
AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
TEST_SUITE_LOG = test-suite.log
@@ -314,36 +343,6 @@ CTAGS:
cscope cscopelist:
-# To be appended to the command running the test. Handle the stdout
-# and stderr redirection, and catch the exit status.
-am__check_post = \
->address@hidden 2>&1; \
-estatus=$$?; \
-if test -n '$(DISABLE_HARD_ERRORS)' \
- && test $$estatus -eq 99; then \
- estatus=1; \
-fi; \
-TERM=$$__SAVED_TERM; export TERM; \
-$(am__tty_colors); \
-xfailed=PASS; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- xfailed=XFAIL;; \
-esac; \
-case $$estatus:$$xfailed in \
- 0:XFAIL) col=$$red; res=XPASS;; \
- 0:*) col=$$grn; res=PASS ;; \
- 77:*) col=$$blu; res=SKIP ;; \
- 99:*) col=$$red; res=FAIL ;; \
- *:XFAIL) col=$$lgn; res=XFAIL;; \
- *:*) col=$$red; res=FAIL ;; \
-esac; \
-echo "$${col}$$res$${std}: $$f"; \
-echo "$$res: $$f (exit: $$estatus)" | \
- $(am__rst_section) >$@; \
-cat address@hidden >>$@; \
-rm -f address@hidden
-
$(TEST_SUITE_LOG): $(TEST_LOGS)
@$(am__sh_e_setup); \
list='$(TEST_LOGS)'; \
diff --git a/lib/am/.cvsignore b/lib/am/.cvsignore
deleted file mode 100644
index f3c7a7c..0000000
--- a/lib/am/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/lib/am/check.am b/lib/am/check.am
index e519391..c953be8 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -87,7 +87,7 @@ am__text_box = $(AWK) '{ \
}'
# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL). This contradicts POSIX. Work around the problem
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
@@ -128,13 +128,13 @@ case " $(XFAIL_TESTS) " in
\
*[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
xfailed=XFAIL;; \
esac; \
-case $$estatus:$$xfailed in \
- 0:XFAIL) col=$$red; res=XPASS;; \
- 0:*) col=$$grn; res=PASS ;; \
- 77:*) col=$$blu; res=SKIP ;; \
- 99:*) col=$$red; res=FAIL ;; \
- *:XFAIL) col=$$lgn; res=XFAIL;; \
- *:*) col=$$red; res=FAIL ;; \
+case $$estatus.$$xfailed in \
+ 0.XFAIL) col=$$red; res=XPASS;; \
+ 0.*) col=$$grn; res=PASS ;; \
+ 77.*) col=$$blu; res=SKIP ;; \
+ 99.*) col=$$red; res=FAIL ;; \
+ *.XFAIL) col=$$lgn; res=XFAIL;; \
+ *.*) col=$$red; res=FAIL ;; \
esac; \
echo "$${col}$$res$${std}: $$f"; \
echo "$$res: $$f (exit: $$estatus)" | \
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index fd82838..185d34c 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -140,7 +140,7 @@ endif %?TOPDIR_P%
## we are not stripping a legitimate filename that starts with the
## same pattern as $(srcdir)?
## Well, it can't happen without the Makefile author distributing
-## something out of the distribution (which is bad). As an example,
+## something out of the distribution (which is bad). As an example,
## consider `EXTRA_DIST = ../bar'. This is an issue if $srcdir is `..',
## however getting this value for srcdir is impossible: `EXTRA_DIST = ../bar'
## implies we are in a subdirectory (so `../bar' is within the package),
@@ -345,7 +345,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__post_remove_distdir)
?LZIP?DIST_ARCHIVES += $(distdir).tar.lz
@@ -363,7 +363,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--9} xz -c
>$(distdir).tar.xz
$(am__post_remove_distdir)
?COMPRESS?DIST_ARCHIVES += $(distdir).tar.Z
diff --git a/lib/am/library.am b/lib/am/library.am
index ce94e5e..db096c7 100644
--- a/lib/am/library.am
+++ b/lib/am/library.am
@@ -1,5 +1,5 @@
## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994, 1995, 1996, 1999, 2003, 2009 Free Software
+## Copyright (C) 1994, 1995, 1996, 1999, 2003, 2009, 2010 Free Software
## Foundation, Inc.
## This program is free software; you can redistribute it and/or modify
@@ -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/>.
-%LIBRARY%: $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_DEPENDENCIES) %DIRSTAMP%
+%LIBRARY%: $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_DEPENDENCIES)
$(EXTRA_%XLIBRARY%_DEPENDENCIES) %DIRSTAMP%
%SILENT%-rm -f %LIBRARY%
%VERBOSE%$(%XLIBRARY%_AR) %LIBRARY% $(%XLIBRARY%_OBJECTS)
$(%XLIBRARY%_LIBADD)
%SILENT%$(RANLIB) %LIBRARY%
diff --git a/lib/am/lisp.am b/lib/am/lisp.am
index 3449d18..ab45b30 100644
--- a/lib/am/lisp.am
+++ b/lib/am/lisp.am
@@ -1,6 +1,6 @@
## automake - create Makefile.in from Makefile.am
## Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-## 2007, 2008, 2009 Free Software Foundation, Inc.
+## 2007, 2008, 2009, 2010 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
@@ -49,7 +49,16 @@ $(am__ELCFILES): elc-stamp
##
## Do not call `make elc-stamp' if emacs is not available, because it would
## be useless.
- @if test "$(EMACS)" != no && test ! -f $@; then \
+##
+## If `make -n' is called, do not execute any command in the recipe that
+## changes the tree; however, invoke the recursive make for debuggability.
+ @dry=; for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=*|--*);; \
+ *n*) dry=:;; \
+ esac; \
+ done; \
+ if test "$(EMACS)" != no && test ! -f $@; then \
## If `make -j' is used and more than one file has been erased, several
## processes can execute this block. We have to make sure that only
## the first one will run `$(MAKE) $(AM_MAKEFLAGS) elc-stamp', and the
@@ -58,18 +67,18 @@ $(am__ELCFILES): elc-stamp
## There is a race here if only one child of make receive a signal.
## In that case the build may fail. We remove elc-stamp when we receive
## a signal so we are sure the build will succeed the next time.
- trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
- if mkdir elc-lock 2>/dev/null; then \
+ $$dry trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
+ if $$dry mkdir elc-lock 2>/dev/null; then \
## This code is being executed by the first process.
- rm -f elc-stamp; \
+ $$dry rm -f elc-stamp; \
$(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
- rmdir elc-lock; \
+ $$dry rmdir elc-lock; \
else \
## This code is being executed by the follower processes.
## Wait until the first process is done.
- while test -d elc-lock; do sleep 1; done; \
+ while test -d elc-lock && test -z "$$dry"; do sleep 1; done; \
## Succeed if and only if the first process succeeded.
- test -f elc-stamp; exit $$?; \
+ $$dry test -f elc-stamp; exit $$?; \
fi; \
else : ; fi
diff --git a/lib/am/ltlibrary.am b/lib/am/ltlibrary.am
index 9455234..3cd2941 100644
--- a/lib/am/ltlibrary.am
+++ b/lib/am/ltlibrary.am
@@ -1,5 +1,5 @@
## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994, 1995, 1996, 2003, 2005, 2008, 2009 Free Software
+## Copyright (C) 1994, 1995, 1996, 2003, 2005, 2008, 2009, 2010 Free Software
## Foundation, Inc.
## This program is free software; you can redistribute it and/or modify
@@ -14,5 +14,5 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-%LTLIBRARY%: $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_DEPENDENCIES) %DIRSTAMP%
+%LTLIBRARY%: $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_DEPENDENCIES)
$(EXTRA_%XLTLIBRARY%_DEPENDENCIES) %DIRSTAMP%
%VERBOSE%$(%XLINK%) %RPATH% $(%XLTLIBRARY%_OBJECTS)
$(%XLTLIBRARY%_LIBADD) $(LIBS)
diff --git a/lib/am/program.am b/lib/am/program.am
index 7e568e7..c0e188f 100644
--- a/lib/am/program.am
+++ b/lib/am/program.am
@@ -1,5 +1,5 @@
## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994, 1995, 1996, 1997, 2001, 2003, 2005, 2009
+## Copyright (C) 1994, 1995, 1996, 1997, 2001, 2003, 2005, 2009, 2010
## Free Software Foundation, Inc.
## This program is free software; you can redistribute it and/or modify
@@ -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/>.
-%PROGRAM%%EXEEXT%: $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_DEPENDENCIES) %DIRSTAMP%
+%PROGRAM%%EXEEXT%: $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_DEPENDENCIES)
$(EXTRA_%XPROGRAM%_DEPENDENCIES) %DIRSTAMP%
## Remove program before linking. Otherwise the link will fail if the
## program is running somewhere. FIXME: this could be a loss if
## you're using an incremental linker. Maybe we should think twice?
diff --git a/lib/am/remake-hdr.am b/lib/am/remake-hdr.am
index 5077be2..35f4a46 100644
--- a/lib/am/remake-hdr.am
+++ b/lib/am/remake-hdr.am
@@ -1,6 +1,6 @@
## automake - create Makefile.in from Makefile.am
## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004, 2005,
-## 2008, 2009 Free Software Foundation, Inc.
+## 2008, 2009, 2010 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
@@ -20,10 +20,8 @@
%CONFIG_H%: %STAMP%
## Recover from removal of CONFIG_HEADER
- @if test ! -f $@; then \
- rm -f %STAMP%; \
- $(MAKE) $(AM_MAKEFLAGS) %STAMP%; \
- else :; fi
+ @if test ! -f $@; then rm -f %STAMP%; else :; fi
+ @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) %STAMP%; else :; fi
%STAMP%: %CONFIG_H_DEPS% $(top_builddir)/config.status
diff --git a/lib/ar-lib b/lib/ar-lib
index ef03430..4883fef 100755
--- a/lib/ar-lib
+++ b/lib/ar-lib
@@ -2,7 +2,7 @@
# Wrapper for Microsoft lib.exe
me=ar-lib
-scriptversion=2010-08-12.16; # UTC
+scriptversion=2010-09-02.19; # UTC
# Copyright (C) 2010 Free Software
# Foundation, Inc.
@@ -219,7 +219,7 @@ elif test -n "$extract"; then
esac
done
else
- $AR -NOLOGO -LIST "$archive" | while read member
+ $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
do
$AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
done
diff --git a/lib/compile b/lib/compile
index 77f8f31..46caccc 100755
--- a/lib/compile
+++ b/lib/compile
@@ -1,7 +1,7 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
-scriptversion=2010-08-31.19; # UTC
+scriptversion=2010-09-21.14; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010 Free Software
# Foundation, Inc.
@@ -80,10 +80,12 @@ func_file_conv ()
}
# func_cl_wrapper cl arg...
-# Adjust compile command to suite cl
+# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
+ lib_path=
+ shared=:
linker_opts=
for arg
do
@@ -113,13 +115,41 @@ func_cl_wrapper ()
shift
;;
-l*)
- set x "$@" "${1#-l}.lib"
+ lib=${1#-l}
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ set x "$@" "$dir/$lib.dll.lib"
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ set x "$@" "$dir/$lib.lib"
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ test "$found" != yes && set x "$@" "$lib.lib"
shift
;;
-L*)
func_file_conv "${1#-L}"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
linker_opts="$linker_opts -LIBPATH:$file"
;;
+ -static)
+ shared=false
+ ;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
diff --git a/lib/depcomp b/lib/depcomp
index df8eea7..c3163be 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -1,10 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2010-10-07.20; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+# 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
@@ -90,10 +90,18 @@ if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
- cygpath_u="sed s,\\\\\\\\,/,g"
+ cygpath_u='sed s,\\\\,/,g'
depmode=msvisualcpp
fi
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@@ -405,6 +413,52 @@ tru64)
rm -f "$tmpdepfile"
;;
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test "$stat" = 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/ \1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/ /
+ G
+ p
+}' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
diff --git a/m4/.cvsignore b/m4/.cvsignore
deleted file mode 100644
index f3c7a7c..0000000
--- a/m4/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/m4/depend.m4 b/m4/depend.m4
index 8304180..652c4c0 100644
--- a/m4/depend.m4
+++ b/m4/depend.m4
@@ -110,7 +110,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
break
fi
;;
- msvisualcpp | msvcmsys)
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok `-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
diff --git a/m4/dmalloc.m4 b/m4/dmalloc.m4
index 4499015..aea5f9d 100644
--- a/m4/dmalloc.m4
+++ b/m4/dmalloc.m4
@@ -3,20 +3,19 @@
## From Franc,ois Pinard ##
## ----------------------------------- ##
-# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005
+# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2010
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
AC_DEFUN([AM_WITH_DMALLOC],
[AC_MSG_CHECKING([if malloc debugging is wanted])
AC_ARG_WITH(dmalloc,
-[ --with-dmalloc use dmalloc, as in
- http://www.dmalloc.com/dmalloc.tar.gz],
+[ --with-dmalloc use dmalloc, as in http://www.dmalloc.com],
[if test "$withval" = yes; then
AC_MSG_RESULT(yes)
AC_DEFINE(WITH_DMALLOC,1,
diff --git a/m4/python.m4 b/m4/python.m4
index 1dc3985..50e1538 100644
--- a/m4/python.m4
+++ b/m4/python.m4
@@ -37,8 +37,8 @@ AC_DEFUN([AM_PATH_PYTHON],
dnl Find a Python interpreter. Python versions prior to 2.0 are not
dnl supported. (2.0 was released on October 16, 2000).
m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
- [python python2 python3 python3.1 python3.0 python2.6
python2.5 python2.4 python2.3 python2.2 dnl
-python2.1 python2.0])
+[python python2 python3 python3.2 python3.1 python3.0 python2.7 dnl
+ python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0])
m4_if([$1],[],[
dnl No version check is needed.
diff --git a/m4/sanity.m4 b/m4/sanity.m4
index db87c8b..94e1e51 100644
--- a/m4/sanity.m4
+++ b/m4/sanity.m4
@@ -1,13 +1,13 @@
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008, 2009
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008, 2009, 2010
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 6
+# serial 7
# AM_SANITY_CHECK
# ---------------
@@ -32,14 +32,14 @@ esac
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
+ am_has_slept=no
for am_try in 1 2; do
- echo timestamp > conftest.file
+ echo "timestamp, slept: $am_has_slept" > conftest.file
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
- rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
@@ -55,6 +55,7 @@ if (
fi
# Just in case.
sleep 1
+ am_has_slept=yes
done
test "$[2]" = conftest.file
)
@@ -65,4 +66,19 @@ else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT(yes)
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+ AC_CONFIG_COMMANDS_PRE(
+ [if test -n "$am_sleep_pid"; then
+ AC_MSG_CHECKING([that generated files are newer than configure])
+ wait $am_sleep_pid
+ AC_MSG_RESULT([done])
+ fi])
+fi
+rm -f conftest.file
+])
diff --git a/m4/silent.m4 b/m4/silent.m4
index 6d2a1a2..432dd45 100644
--- a/m4/silent.m4
+++ b/m4/silent.m4
@@ -1,24 +1,29 @@
## -*- Autoconf -*-
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
+# serial 2
# AM_SILENT_RULES([DEFAULT])
# --------------------------
# Enable less verbose build rules; with the default set to DEFAULT
# (`yes' being less verbose, `no' or empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[ --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: `make V=1')])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: `make V=0')])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\'
diff --git a/tests/.cvsignore b/tests/.cvsignore
deleted file mode 100644
index 69d3d43..0000000
--- a/tests/.cvsignore
+++ /dev/null
@@ -1,10 +0,0 @@
-*.log
-Makefile
-aclocal
-automake
-defs
-diffs
-log
-*.dir
-aclocal-*
-automake-*
diff --git a/tests/.gitignore b/tests/.gitignore
index 61b0783..ff89b40 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -1,9 +1,12 @@
aclocal-*
automake-*
defs
+instspc-tests.am
parallel-tests.am
*.dir
*.log
*.log-t
*-p.test
-*-p.test-t
+instspc-*-build.test
+instspc-*-install.test
+*.test-t
diff --git a/tests/Makefile.am b/tests/Makefile.am
index f4fba45..d5ae622 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -16,17 +16,21 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-XFAIL_TESTS = \
-all.test \
-auxdir2.test \
-cond17.test \
-gcj6.test \
+MAINTAINERCLEANFILES =
+EXTRA_DIST = ChangeLog-old
+
+XFAIL_TESTS = \
+all.test \
+auxdir2.test \
+cond17.test \
+gcj6.test \
txinfo5.test
+
include $(srcdir)/parallel-tests.am
$(srcdir)/parallel-tests.am: gen-parallel-tests Makefile.am
- $(AM_V_GEN)(cd $(srcdir) && $(SHELL) ./gen-parallel-tests) >$@
+ $(AM_V_GEN)($(am__cd) $(srcdir) && $(SHELL) ./gen-parallel-tests) >$@
$(parallel_tests): Makefile.am
$(AM_V_at)rm -f $@ address@hidden
@@ -51,7 +55,44 @@ $(parallel_tests): Makefile.am
} > address@hidden
$(AM_V_at)chmod a+rx address@hidden && mv -f address@hidden $@
-MAINTAINERCLEANFILES = $(parallel_tests)
+MAINTAINERCLEANFILES += $(parallel_tests)
+EXTRA_DIST += gen-parallel-tests
+
+
+include $(srcdir)/instspc-tests.am
+
+$(srcdir)/instspc-tests.am: instspc-tests.sh Makefile.am
+ $(AM_V_GEN)($(am__cd) $(srcdir) \
+ && $(SHELL) ./instspc-tests.sh --generate-makefile) >$@
+
+$(instspc_tests): Makefile.am
+ $(AM_V_at)rm -f $@ address@hidden
+ $(AM_V_GEN) :; \
+ base=`expr 'x/$@' : 'x.*/instspc-\(.*\)\.test$$'`; \
+ name=`expr x"$$base" : x'\(.*\)-'`; \
+ action=`expr x"$$base" : x'.*-\(.*\)'`; \
+ { \
+ echo '#!/bin/sh'; \
+ echo '# DO NOT EDIT! GENERATED AUTOMATICALLY!'; \
+ echo; \
+ echo '# Ensure proper definition of $$testsrcdir.'; \
+ echo 'am_skip_defs=yes'; \
+ echo '. ./defs || exit 99'; \
+ echo 'test -n "$$testsrcdir" || exit 99 # sanity check'; \
+ echo; \
+ echo "instspc_test_name='$$name'"; \
+ echo "instspc_action='test-$$action'"; \
+ echo ". \$$testsrcdir/instspc-tests.sh"; \
+ } > address@hidden
+ $(AM_V_at)chmod a+rx address@hidden && mv -f address@hidden $@
+
+# All instspc*.test tests work by sourcing the instspc-tests.sh script.
+$(instspc_tests:.test=.log): instspc-tests.sh
+
+MAINTAINERCLEANFILES += $(instspc_tests)
+EXTRA_DIST += instspc-tests.sh
+XFAIL_TESTS += $(instspc_xfail_tests)
+
TESTS = \
aclibobj.test \
@@ -117,11 +158,18 @@ autohdr.test \
autohdr2.test \
autohdr3.test \
autohdr4.test \
+autohdrdry.test \
automake.test \
auxdir.test \
auxdir2.test \
auxdir3.test \
auxdir4.test \
+backcompat.test \
+backcompat2.test \
+backcompat3.test \
+backcompat4.test \
+backcompat5.test \
+backcompat6.test \
backsl.test \
backsl2.test \
backsl3.test \
@@ -182,6 +230,7 @@ compile2.test \
compile3.test \
compile4.test \
compile5.test \
+compile6.test \
compile_f90_c_cxx.test \
compile_f_c_cxx.test \
cond.test \
@@ -247,6 +296,7 @@ confh4.test \
confh5.test \
confh6.test \
confh7.test \
+confh8.test \
confincl.test \
conflnk.test \
conflnk2.test \
@@ -310,6 +360,7 @@ distdir.test \
distlinks.test \
distlinksbrk.test \
distname.test \
+dmalloc.test \
dollar.test \
dollarvar.test \
dollarvar2.test \
@@ -343,6 +394,8 @@ extra9.test \
extra10.test \
extra11.test \
extra12.test \
+extradep.test \
+extradep2.test \
f90only.test \
flavor.test \
flibs.test \
@@ -376,6 +429,19 @@ gnits2.test \
gnits3.test \
header.test \
help.test \
+help2.test \
+help3.test \
+help4.test \
+help-depend.test \
+help-depend2.test \
+help-dmalloc.test \
+help-init.test \
+help-lispdir.test \
+help-maintainer.test \
+help-multilib.test \
+help-regex.test \
+help-silent.test \
+help-upc.test \
hfs.test \
hosts.test \
implicit.test \
@@ -411,7 +477,7 @@ instman2.test \
instmany.test \
instmany-mans.test \
instmany-python.test \
-instspc.test \
+$(instspc_tests) \
interp.test \
interp2.test \
java.test \
@@ -471,6 +537,7 @@ lisp5.test \
lisp6.test \
lisp7.test \
lisp8.test \
+lispdry.test \
listval.test \
location.test \
longline.test \
@@ -783,6 +850,8 @@ vala5.test \
vars.test \
vars3.test \
vartar.test \
+vartypos.test \
+vartypo2.test \
version.test \
version2.test \
version3.test \
@@ -809,13 +878,15 @@ yacc5.test \
yacc6.test \
yacc7.test \
yacc8.test \
+yaccdry.test \
yaccpp.test \
yaccvpath.test \
yflags.test \
yflags2.test \
$(parallel_tests)
-EXTRA_DIST = ChangeLog-old gen-parallel-tests $(TESTS)
+EXTRA_DIST += $(TESTS)
+
# Each test case depends on defs, aclocal, and automake.
$(TEST_LOGS): defs aclocal-$(APIVERSION) automake-$(APIVERSION)
diff --git a/tests/Makefile.in b/tests/Makefile.in
index af80fdb..deab171 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -50,7 +50,7 @@ POST_UNINSTALL = :
build_triplet = @build@
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/aclocal.in $(srcdir)/automake.in $(srcdir)/defs.in \
- $(srcdir)/parallel-tests.am
+ $(srcdir)/instspc-tests.am $(srcdir)/parallel-tests.am
subdir = tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
@@ -125,7 +125,7 @@ am__text_box = $(AWK) '{ \
print line; \
}'
# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL). This contradicts POSIX. Work around the problem
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
# To be inserted before the command running the test. Creates the
@@ -148,6 +148,35 @@ elif test -f "$$f"; then dir=;
\
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
$(TESTS_ENVIRONMENT)
+# To be appended to the command running the test. Handle the stdout
+# and stderr redirection, and catch the exit status.
+am__check_post = \
+>address@hidden 2>&1; \
+estatus=$$?; \
+if test -n '$(DISABLE_HARD_ERRORS)' \
+ && test $$estatus -eq 99; then \
+ estatus=1; \
+fi; \
+TERM=$$__SAVED_TERM; export TERM; \
+$(am__tty_colors); \
+xfailed=PASS; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ xfailed=XFAIL;; \
+esac; \
+case $$estatus.$$xfailed in \
+ 0.XFAIL) col=$$red; res=XPASS;; \
+ 0.*) col=$$grn; res=PASS ;; \
+ 77.*) col=$$blu; res=SKIP ;; \
+ 99.*) col=$$red; res=FAIL ;; \
+ *.XFAIL) col=$$lgn; res=XFAIL;; \
+ *.*) col=$$red; res=FAIL ;; \
+esac; \
+echo "$${col}$$res$${std}: $$f"; \
+echo "$$res: $$f (exit: $$estatus)" | \
+ $(am__rst_section) >$@; \
+cat address@hidden >>$@; \
+rm -f address@hidden
RECHECK_LOGS = $(TEST_LOGS)
AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
TEST_SUITE_LOG = test-suite.log
@@ -250,20 +279,79 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-XFAIL_TESTS = \
-all.test \
-auxdir2.test \
-cond17.test \
-gcj6.test \
-txinfo5.test
-
-parallel_tests = check-p.test check10-p.test check11-p.test \
- check2-p.test check3-p.test check4-p.test check5-p.test \
- check6-p.test check7-p.test check8-p.test check9-p.test \
- color-p.test color2-p.test comment9-p.test dejagnu-p.test \
- exeext4-p.test maken3-p.test maken4-p.test pr401-p.test \
- pr401b-p.test pr401c-p.test
-MAINTAINERCLEANFILES = $(parallel_tests)
+MAINTAINERCLEANFILES = $(parallel_tests) $(instspc_tests)
+EXTRA_DIST = ChangeLog-old gen-parallel-tests instspc-tests.sh \
+ $(TESTS)
+XFAIL_TESTS = all.test auxdir2.test cond17.test gcj6.test txinfo5.test \
+ $(instspc_xfail_tests)
+parallel_tests = backcompat5-p.test check-p.test check10-p.test \
+ check11-p.test check2-p.test check3-p.test check4-p.test \
+ check5-p.test check6-p.test check7-p.test check8-p.test \
+ check9-p.test color-p.test color2-p.test comment9-p.test \
+ dejagnu-p.test exeext4-p.test maken3-p.test maken4-p.test \
+ pr401-p.test pr401b-p.test pr401c-p.test
+instspc_tests = instspc-squote-build.test instspc-squote-install.test \
+ instspc-dquote-build.test instspc-dquote-install.test \
+ instspc-bquote-build.test instspc-bquote-install.test \
+ instspc-sharp-build.test instspc-sharp-install.test \
+ instspc-dollar-build.test instspc-dollar-install.test \
+ instspc-bang-build.test instspc-bang-install.test \
+ instspc-bslash-build.test instspc-bslash-install.test \
+ instspc-ampersand-build.test instspc-ampersand-install.test \
+ instspc-percent-build.test instspc-percent-install.test \
+ instspc-leftpar-build.test instspc-leftpar-install.test \
+ instspc-rightpar-build.test instspc-rightpar-install.test \
+ instspc-pipe-build.test instspc-pipe-install.test \
+ instspc-caret-build.test instspc-caret-install.test \
+ instspc-tilde-build.test instspc-tilde-install.test \
+ instspc-qmark-build.test instspc-qmark-install.test \
+ instspc-star-build.test instspc-star-install.test \
+ instspc-plus-build.test instspc-plus-install.test \
+ instspc-minus-build.test instspc-minus-install.test \
+ instspc-comma-build.test instspc-comma-install.test \
+ instspc-colon-build.test instspc-colon-install.test \
+ instspc-semicol-build.test instspc-semicol-install.test \
+ instspc-equal-build.test instspc-equal-install.test \
+ instspc-less-build.test instspc-less-install.test \
+ instspc-more-build.test instspc-more-install.test \
+ instspc-at-build.test instspc-at-install.test \
+ instspc-lqbrack-build.test instspc-lqbrack-install.test \
+ instspc-rqbrack-build.test instspc-rqbrack-install.test \
+ instspc-lcbrack-build.test instspc-lcbrack-install.test \
+ instspc-rcbrack-build.test instspc-rcbrack-install.test \
+ instspc-space-build.test instspc-space-install.test \
+ instspc-tab-build.test instspc-tab-install.test \
+ instspc-linefeed-build.test instspc-linefeed-install.test \
+ instspc-backspace-build.test instspc-backspace-install.test \
+ instspc-formfeed-build.test instspc-formfeed-install.test \
+ instspc-carriageret-build.test \
+ instspc-carriageret-install.test \
+ instspc-quadrigraph0-build.test \
+ instspc-quadrigraph0-install.test \
+ instspc-quadrigraph1-build.test \
+ instspc-quadrigraph1-install.test \
+ instspc-quadrigraph2-build.test \
+ instspc-quadrigraph2-install.test \
+ instspc-quadrigraph3-build.test \
+ instspc-quadrigraph3-install.test \
+ instspc-quadrigraph4-build.test \
+ instspc-quadrigraph4-install.test instspc-a_b-build.test \
+ instspc-a_b-install.test instspc-a__b-build.test \
+ instspc-a__b-install.test instspc-a_lf_b-build.test \
+ instspc-a_lf_b-install.test instspc-dotdotdot-build.test \
+ instspc-dotdotdot-install.test instspc-dosdrive-build.test \
+ instspc-dosdrive-install.test instspc-miscglob1-build.test \
+ instspc-miscglob1-install.test instspc-miscglob2-build.test \
+ instspc-miscglob2-install.test
+instspc_xfail_tests = instspc-squote-build.test \
+ instspc-dquote-build.test instspc-bquote-build.test \
+ instspc-sharp-build.test instspc-dollar-build.test \
+ instspc-bslash-build.test instspc-ampersand-build.test \
+ instspc-linefeed-build.test instspc-quadrigraph0-build.test \
+ instspc-a_lf_b-build.test instspc-squote-install.test \
+ instspc-dquote-install.test instspc-bquote-install.test \
+ instspc-sharp-install.test instspc-dollar-install.test \
+ instspc-linefeed-install.test instspc-a_lf_b-install.test
TESTS = \
aclibobj.test \
aclocal.test \
@@ -328,11 +416,18 @@ autohdr.test \
autohdr2.test \
autohdr3.test \
autohdr4.test \
+autohdrdry.test \
automake.test \
auxdir.test \
auxdir2.test \
auxdir3.test \
auxdir4.test \
+backcompat.test \
+backcompat2.test \
+backcompat3.test \
+backcompat4.test \
+backcompat5.test \
+backcompat6.test \
backsl.test \
backsl2.test \
backsl3.test \
@@ -393,6 +488,7 @@ compile2.test \
compile3.test \
compile4.test \
compile5.test \
+compile6.test \
compile_f90_c_cxx.test \
compile_f_c_cxx.test \
cond.test \
@@ -458,6 +554,7 @@ confh4.test \
confh5.test \
confh6.test \
confh7.test \
+confh8.test \
confincl.test \
conflnk.test \
conflnk2.test \
@@ -521,6 +618,7 @@ distdir.test \
distlinks.test \
distlinksbrk.test \
distname.test \
+dmalloc.test \
dollar.test \
dollarvar.test \
dollarvar2.test \
@@ -554,6 +652,8 @@ extra9.test \
extra10.test \
extra11.test \
extra12.test \
+extradep.test \
+extradep2.test \
f90only.test \
flavor.test \
flibs.test \
@@ -587,6 +687,19 @@ gnits2.test \
gnits3.test \
header.test \
help.test \
+help2.test \
+help3.test \
+help4.test \
+help-depend.test \
+help-depend2.test \
+help-dmalloc.test \
+help-init.test \
+help-lispdir.test \
+help-maintainer.test \
+help-multilib.test \
+help-regex.test \
+help-silent.test \
+help-upc.test \
hfs.test \
hosts.test \
implicit.test \
@@ -622,7 +735,7 @@ instman2.test \
instmany.test \
instmany-mans.test \
instmany-python.test \
-instspc.test \
+$(instspc_tests) \
interp.test \
interp2.test \
java.test \
@@ -682,6 +795,7 @@ lisp5.test \
lisp6.test \
lisp7.test \
lisp8.test \
+lispdry.test \
listval.test \
location.test \
longline.test \
@@ -994,6 +1108,8 @@ vala5.test \
vars.test \
vars3.test \
vartar.test \
+vartypos.test \
+vartypo2.test \
version.test \
version2.test \
version3.test \
@@ -1020,18 +1136,18 @@ yacc5.test \
yacc6.test \
yacc7.test \
yacc8.test \
+yaccdry.test \
yaccpp.test \
yaccvpath.test \
yflags.test \
yflags2.test \
$(parallel_tests)
-EXTRA_DIST = ChangeLog-old gen-parallel-tests $(TESTS)
all: all-am
.SUFFIXES:
.SUFFIXES: .html .log .test
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/parallel-tests.am
$(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/parallel-tests.am
$(srcdir)/instspc-tests.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -1076,36 +1192,6 @@ CTAGS:
cscope cscopelist:
-# To be appended to the command running the test. Handle the stdout
-# and stderr redirection, and catch the exit status.
-am__check_post = \
->address@hidden 2>&1; \
-estatus=$$?; \
-if test -n '$(DISABLE_HARD_ERRORS)' \
- && test $$estatus -eq 99; then \
- estatus=1; \
-fi; \
-TERM=$$__SAVED_TERM; export TERM; \
-$(am__tty_colors); \
-xfailed=PASS; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- xfailed=XFAIL;; \
-esac; \
-case $$estatus:$$xfailed in \
- 0:XFAIL) col=$$red; res=XPASS;; \
- 0:*) col=$$grn; res=PASS ;; \
- 77:*) col=$$blu; res=SKIP ;; \
- 99:*) col=$$red; res=FAIL ;; \
- *:XFAIL) col=$$lgn; res=XFAIL;; \
- *:*) col=$$red; res=FAIL ;; \
-esac; \
-echo "$${col}$$res$${std}: $$f"; \
-echo "$$res: $$f (exit: $$estatus)" | \
- $(am__rst_section) >$@; \
-cat address@hidden >>$@; \
-rm -f address@hidden
-
$(TEST_SUITE_LOG): $(TEST_LOGS)
@$(am__sh_e_setup); \
list='$(TEST_LOGS)'; \
@@ -1377,6 +1463,7 @@ uninstall-am:
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am recheck recheck-html uninstall uninstall-am
+backcompat5-p.log: backcompat5.test
check-p.log: check.test
check10-p.log: check10.test
check11-p.log: check11.test
@@ -1400,7 +1487,7 @@ pr401b-p.log: pr401b.test
pr401c-p.log: pr401c.test
$(srcdir)/parallel-tests.am: gen-parallel-tests Makefile.am
- $(AM_V_GEN)(cd $(srcdir) && $(SHELL) ./gen-parallel-tests) >$@
+ $(AM_V_GEN)($(am__cd) $(srcdir) && $(SHELL) ./gen-parallel-tests) >$@
$(parallel_tests): Makefile.am
$(AM_V_at)rm -f $@ address@hidden
@@ -1425,6 +1512,34 @@ $(parallel_tests): Makefile.am
} > address@hidden
$(AM_V_at)chmod a+rx address@hidden && mv -f address@hidden $@
+$(srcdir)/instspc-tests.am: instspc-tests.sh Makefile.am
+ $(AM_V_GEN)($(am__cd) $(srcdir) \
+ && $(SHELL) ./instspc-tests.sh --generate-makefile) >$@
+
+$(instspc_tests): Makefile.am
+ $(AM_V_at)rm -f $@ address@hidden
+ $(AM_V_GEN) :; \
+ base=`expr 'x/$@' : 'x.*/instspc-\(.*\)\.test$$'`; \
+ name=`expr x"$$base" : x'\(.*\)-'`; \
+ action=`expr x"$$base" : x'.*-\(.*\)'`; \
+ { \
+ echo '#!/bin/sh'; \
+ echo '# DO NOT EDIT! GENERATED AUTOMATICALLY!'; \
+ echo; \
+ echo '# Ensure proper definition of $$testsrcdir.'; \
+ echo 'am_skip_defs=yes'; \
+ echo '. ./defs || exit 99'; \
+ echo 'test -n "$$testsrcdir" || exit 99 # sanity check'; \
+ echo; \
+ echo "instspc_test_name='$$name'"; \
+ echo "instspc_action='test-$$action'"; \
+ echo ". \$$testsrcdir/instspc-tests.sh"; \
+ } > address@hidden
+ $(AM_V_at)chmod a+rx address@hidden && mv -f address@hidden $@
+
+# All instspc*.test tests work by sourcing the instspc-tests.sh script.
+$(instspc_tests:.test=.log): instspc-tests.sh
+
# Each test case depends on defs, aclocal, and automake.
$(TEST_LOGS): defs aclocal-$(APIVERSION) automake-$(APIVERSION)
diff --git a/tests/README b/tests/README
index 7037591..88da783 100644
--- a/tests/README
+++ b/tests/README
@@ -111,7 +111,9 @@ Do
Cite the PR number (if any), and the original reporter (if any), so
we can find or ask for information if needed.
- Use `required=...' for required tools.
+ Use `required=...' for required tools. Do not explicitly require
+ tools which can be taken for granted because they're listed in the
+ GNU Coding Standards (for example, `gzip').
Include ./defs in every test script (see existing tests for examples
of how to do this).
@@ -152,6 +154,9 @@ Do
Use `Exit' rather than `exit' to abort a test.
+ Use `$PATH_SEPARATOR', not hard-coded `:', as the separator of
+ PATH's entries.
+
It's more important to make sure that a feature works, than
make sure that Automake's output looks correct. It might look
correct and still fail to work. In other words, prefer
diff --git a/tests/acloca10.test b/tests/acloca10.test
index 7716f2a..c89e80c 100755
--- a/tests/acloca10.test
+++ b/tests/acloca10.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2005, 2010 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
@@ -55,6 +55,7 @@ grep MACRO3 aclocal.m4
test ! -f m4_1/macro.m4
test ! -f m4_2/macro.m4
+$sleep
$ACLOCAL -I m4_2 -I m4_1
$AUTOCONF
./configure
@@ -65,6 +66,7 @@ grep MACRO3 aclocal.m4
test ! -f m4_1/macro.m4
test ! -f m4_2/macro.m4
+$sleep
ACLOCAL_TESTSUITE_FLAGS='-I m4_1 -I m4_2'
$ACLOCAL --install
$AUTOCONF
@@ -77,6 +79,7 @@ test -f m4_1/macro.m4
test ! -f m4_2/macro.m4
cp aclocal.m4 copy.m4
+$sleep
echo '#GREPME' >>dirlist-test/macro.m4
$ACLOCAL --install
$AUTOCONF
diff --git a/tests/acloca18.test b/tests/acloca18.test
index 2599b2c..6756fb3 100755
--- a/tests/acloca18.test
+++ b/tests/acloca18.test
@@ -73,6 +73,7 @@ $AUTOCONF
grep macro11 foo
grep macro21 foo
+$sleep
rm -f foo
$ACLOCAL --install
$AUTOCONF
@@ -80,6 +81,7 @@ $AUTOCONF
grep macro12 foo
grep macro23 foo
+$sleep
ACLOCAL_TESTSUITE_FLAGS='-I 4 -I 1 -I 2 -I 3'
rm -f foo
$ACLOCAL --install --dry-run
@@ -88,6 +90,7 @@ $AUTOCONF
grep macro12 foo
grep macro23 foo
+$sleep
rm -f foo
$ACLOCAL --install
$AUTOCONF
@@ -95,12 +98,14 @@ $AUTOCONF
grep macro14 foo
grep macro23 foo
+$sleep
ACLOCAL_TESTSUITE_FLAGS='-I 4 -I 1 -I 2'
rm -f foo
$ACLOCAL --install 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
grep 'macro.*AM_MACRO2.*not found' stderr
+$sleep
ACLOCAL_TESTSUITE_FLAGS='-I 4 -I 1'
rm -f foo
$ACLOCAL --install
@@ -110,6 +115,7 @@ grep macro14 foo
grep macro21 foo
+$sleep
mkdir dirlist-test
cat >dirlist-test/m1.m4 <<EOF
#serial 456
diff --git a/tests/aclocal9.test b/tests/aclocal9.test
index 325f6ae..a9657fc 100755
--- a/tests/aclocal9.test
+++ b/tests/aclocal9.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2010 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
@@ -42,6 +42,8 @@ $AUTOCONF
grep macro11 foo
grep macro21 foo
+$sleep
+
$ACLOCAL -I m4_2 -I m4_1
$AUTOCONF
./configure
diff --git a/tests/ar-lib.test b/tests/ar-lib.test
index d3f5f01..c788778 100755
--- a/tests/ar-lib.test
+++ b/tests/ar-lib.test
@@ -22,13 +22,15 @@ set -e
cp "$top_testsrcdir/lib/ar-lib" .
-# Use a dummy lib, since lib isn't readily available on all systems
+# Use a dummy lib, since lib isn't readily available on all systems.
cat >lib <<'END'
#! /bin/sh
-if test x"$2" = x-LIST -a $3 = fake.lib; then
+if test x"$2" = x-LIST && test x"$3" = xfake.lib; then
echo fake.obj
+elif test x"$2" = x-LIST && test x"$3" = xfake2.lib; then
+ printf "%s\n" "dir\\fake2.obj"
else
- echo "lib $@"
+ printf "%s\n" "lib $*"
fi
END
@@ -77,4 +79,9 @@ test x"$opts" = x"lib -NOLOGO -EXTRACT:foo.obj foo.lib"
opts=`./ar-lib ./lib -lib -LTCG x foo.lib foo.obj`
test x"$opts" = x"lib -lib -LTCG -NOLOGO -EXTRACT:foo.obj foo.lib"
+# Check if ar-lib can extract backslashed members
+touch fake2.lib
+opts=`./ar-lib ./lib x fake2.lib`
+test x"$opts" = x"lib -NOLOGO -EXTRACT:dir\\fake2.obj fake2.lib"
+
:
diff --git a/tests/exdir3.test b/tests/autohdrdry.test
similarity index 71%
copy from tests/exdir3.test
copy to tests/autohdrdry.test
index d51bdf9..b501e76 100755
--- a/tests/exdir3.test
+++ b/tests/autohdrdry.test
@@ -1,5 +1,5 @@
-#! /bin/sh
-# Copyright (C) 2007 Free Software Foundation, Inc.
+#!/bin/sh
+# Copyright (C) 2010 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
@@ -14,24 +14,32 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test to make sure pkgdatadir can be overridden via AC_SUBST.
+# Removal recovery rules for AC_CONFIG_HEADERS should not remove files
+# with `make -n'.
. ./defs || Exit 1
set -e
cat >>configure.in <<'EOF'
-AC_SUBST([pkgdatadir], ["FOO"])
+AC_PROG_CC
+AC_CONFIG_HEADERS([config.h])
AC_OUTPUT
EOF
-cat > Makefile.am << 'EOF'
-showme:
- @echo $(pkgdatadir)
-EOF
+: >Makefile.am
$ACLOCAL
$AUTOCONF
+$AUTOHEADER
$AUTOMAKE
+
./configure
-$MAKE showme | grep FOO
+$MAKE
+
+rm -f config.h
+$MAKE -n
+test -f stamp-h1
+test ! -f config.h
+
+:
diff --git a/tests/backcompat.test b/tests/backcompat.test
new file mode 100755
index 0000000..3367db2
--- /dev/null
+++ b/tests/backcompat.test
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test usage of AM_INIT_AUTOMAKE with two ot three arguments, for
+# backward-compatibility.
+
+. ./defs || Exit 1
+
+set -e
+
+cat > Makefile.am <<'END'
+.PHONY: test display
+
+## Might be useful for debugging.
+display:
+ ## The following should be substituted by AM_INIT_AUTOMAKE.
+ @echo PACKAGE = $(PACKAGE)
+ @echo VERSION = $(VERSION)
+ ## The following should not be substituted, as we used the
+ ## old form of AC_INIT.
+ @echo PACKAGE_NAME = $(PACKAGE_NAME)
+ @echo PACKAGE_VERSION = $(PACKAGE_VERSION)
+ @echo PACKAGE_TARNAME = $(PACKAGE_TARNAME)
+ @echo PACKAGE_STRING = $(PACKAGE_STRING)
+
+test: display
+ test x'$(PACKAGE)' = x'FooBar'
+ test x'$(VERSION)' = x'0.7.1'
+ test x'$(PACKAGE_NAME)' = x
+ test x'$(PACKAGE_VERSION)' = x
+ test x'$(PACKAGE_TARNAME)' = x
+ test x'$(PACKAGE_STRING)' = x
+END
+
+for ac_init in 'AC_INIT' 'AC_INIT([Makefile.am])'; do
+ for am_extra_args in '' ', []' ', [:]' ', [false]'; do
+ rm -rf autom4te*.cache config* Makefile.in Makefile
+ cat > configure.in <<END
+$ac_init
+AM_INIT_AUTOMAKE([FooBar], [0.7.1]$am_extra_args)
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+ cat configure.in # might be useful for debugging
+ $ACLOCAL
+ $AUTOCONF
+ $AUTOMAKE
+ ./configure
+ $MAKE test
+ done
+done
+
+:
diff --git a/tests/backcompat2.test b/tests/backcompat2.test
new file mode 100755
index 0000000..0967720
--- /dev/null
+++ b/tests/backcompat2.test
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2010 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/>.
+
+# Backward-compatibility test: check that AM_INIT_AUTOMAKE with two or
+# three arguments does AC_DEFINE the symbols PACKAGE and VERSION iff the
+# third argument is empty or non-existent.
+
+. ./defs || Exit 1
+
+set -e
+
+# A trick to make the test run muuuch faster, by avoiding repeated
+# runs of aclocal (one order of magnitude improvement in speed!).
+echo 'AC_INIT(x,0) AM_INIT_AUTOMAKE' > configure.in
+$ACLOCAL
+rm -rf configure.in autom4te.*
+
+cat > config.h.in <<'END'
+#undef PACKAGE
+#undef VERSION
+END
+
+for am_arg3 in ':' 'false' '#' ' '; do
+ cat > configure.in <<END
+AC_INIT
+AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE([pkgname], [pkgversion], [$am_arg3])
+AC_OUTPUT
+END
+ cat configure.in # might be useful for debugging
+ $AUTOCONF
+ ./configure
+ cat config.h # might be useful for debugging
+ # The non-empty third argument should prevent PACKAGE and VERSION
+ # from being AC_DEFINE'd.
+ $EGREP 'pkg(name|version)' config.h && Exit 1
+done
+
+for am_extra_args in '' ',' ', []'; do
+ cat > configure.in <<END
+AC_INIT
+AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE([pkgname], [pkgversion]$am_extra_args)
+AC_OUTPUT
+END
+ cat configure.in # might be useful for debugging
+ $AUTOCONF
+ ./configure
+ cat config.h # might be useful for debugging
+ grep '^ *# *define *PACKAGE *"pkgname" *$' config.h
+ grep '^ *# *define *VERSION *"pkgversion" *$' config.h
+done
+
+:
diff --git a/tests/backcompat3.test b/tests/backcompat3.test
new file mode 100755
index 0000000..f07eaff
--- /dev/null
+++ b/tests/backcompat3.test
@@ -0,0 +1,153 @@
+#! /bin/sh
+# Copyright (C) 2010 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/>.
+
+# Backward-compatibility test: check what happens when AC_INIT and
+# AM_INIT_AUTOMAKE are both given two or more arguments.
+
+. ./defs || Exit 1
+
+set -e
+
+empty=''
+
+cat > Makefile.am <<'END'
+## Leading `:;' here required to work around bugs of (at least) bash 3.2
+got: Makefile
+ @:; { \
+ echo 'PACKAGE = $(PACKAGE)'; \
+ echo 'VERSION = $(VERSION)'; \
+ echo 'PACKAGE_NAME = $(PACKAGE_NAME)'; \
+ echo 'PACKAGE_VERSION = $(PACKAGE_VERSION)'; \
+ echo 'PACKAGE_STRING = $(PACKAGE_STRING)'; \
+ echo 'PACKAGE_TARNAME = $(PACKAGE_TARNAME)'; \
+ echo 'PACKAGE_BUGREPORT = $(PACKAGE_BUGREPORT)'; \
+ echo 'PACKAGE_URL = $(PACKAGE_URL)'; \
+ } >$@
+END
+
+
+### Run 1 ###
+
+cat > configure.in <<END
+AC_INIT([ac_name], [ac_version])
+AM_INIT_AUTOMAKE([am_name], [am_version])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat configure.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+cat >exp <<END
+PACKAGE = am_name
+VERSION = am_version
+PACKAGE_NAME = ac_name
+PACKAGE_VERSION = ac_version
+PACKAGE_STRING = ac_name ac_version
+PACKAGE_TARNAME = ac_name
+PACKAGE_BUGREPORT = $empty
+PACKAGE_URL = $empty
+END
+
+$MAKE got
+
+diff exp got
+
+
+### Run 2 ###
+
+cat > configure.in <<'END'
+dnl# `AC_INIT' in Autoconf <= 2.63 doesn't have an URL argument.
+dnl# Luckily, `AC_AUTOCONF_VERSION' and `m4_version_prereq' are
+dnl# both present in autoconf 2.62, which we require; so that we
+dnl# can at least use the following workaround.
+m4_version_prereq([2.64],
+ [AC_INIT([ac_name], [ac_version], [ac_bugreport], [ac_tarname],
+ [ac_url])],
+ [AC_INIT([ac_name], [ac_version], [ac_bugreport], [ac_tarname])
+ AC_SUBST([PACKAGE_URL], [ac_url])])
+AM_INIT_AUTOMAKE([am_name], [am_version])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat configure.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+cat >exp <<END
+PACKAGE = am_name
+VERSION = am_version
+PACKAGE_NAME = ac_name
+PACKAGE_VERSION = ac_version
+PACKAGE_STRING = ac_name ac_version
+PACKAGE_TARNAME = ac_tarname
+PACKAGE_BUGREPORT = ac_bugreport
+PACKAGE_URL = ac_url
+END
+
+$MAKE got
+
+diff exp got
+
+
+### Run 3 ###
+
+cat > configure.in <<END
+AC_INIT([ac_name], [ac_version])
+AM_INIT_AUTOMAKE([am_name], [am_version], [am_foo_quux])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat configure.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+cat >exp <<END
+PACKAGE = am_name
+VERSION = am_version
+PACKAGE_NAME = ac_name
+PACKAGE_VERSION = ac_version
+PACKAGE_STRING = ac_name ac_version
+PACKAGE_TARNAME = ac_name
+PACKAGE_BUGREPORT = $empty
+PACKAGE_URL = $empty
+END
+
+$MAKE got
+
+diff exp got
+
+$FGREP am_foo_quux Makefile.in Makefile configure config.status && Exit 1
+
+
+### Done ###
+
+:
diff --git a/tests/backcompat4.test b/tests/backcompat4.test
new file mode 100755
index 0000000..1bee059
--- /dev/null
+++ b/tests/backcompat4.test
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2010 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/>.
+
+# Backward-compatibility: AC_OUTPUT with arguments.
+
+. ./defs || Exit 1
+
+set -e
+
+mkdir sub
+: > Makefile.am
+: > zardoz
+: > foo.in
+: > foo1.in
+: > foo2.in
+: > foo3.in
+: > sub/bar.in
+
+ls -l # might be useful for debugging
+
+for args in \
+ 'foo' \
+ 'foo:foo1.in' \
+ 'foo:zardoz' \
+ 'foo:sub/bar.in' \
+ 'foo:foo1.in:foo2.in' \
+ 'foo:zardoz:zardoz' \
+ 'foo:foo1.in:foo2.in:foo3.in' \
+ 'foo:foo1.in:foo2.in:sub/bar.in:foo3.in' \
+; do
+ cat >configure.in <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([$args])
+AC_OUTPUT
+END
+ $ACLOCAL
+ $AUTOMAKE Makefile
+ mv -f Makefile.in Makefile.acf
+ cat >configure.in <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_OUTPUT([$args])
+END
+ $ACLOCAL
+ $AUTOMAKE Makefile
+ mv -f Makefile.in Makefile.aco
+ diff Makefile.acf Makefile.aco
+done
+
+:
diff --git a/tests/backcompat5.test b/tests/backcompat5.test
new file mode 100755
index 0000000..b68316d
--- /dev/null
+++ b/tests/backcompat5.test
@@ -0,0 +1,119 @@
+#! /bin/sh
+# Copyright (C) 2010 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/>.
+
+# Backward-compatibility test: try to build and distribute a package
+# using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT.
+# This script can also serve as mild stress-testing for Automke.
+# See also the similar test `backcompat6.test'.
+
+. ./defs || Exit 1
+
+set -e
+
+# Yuck!
+cat > configure.in <<'END'
+dnl. Everything here is *deliberately* underquoted!
+AC_INIT(src/foo.input)
+AM_INIT_AUTOMAKE(foo, 1.0)
+AC_CONFIG_FILES(Makefile:mkfile.in)
+AC_OUTPUT(hacky/Makefile src/Makefile data/Makefile tests/Makefile)
+END
+
+distdir=foo-1.0
+
+cat > mkfile.am <<'END'
+SUBDIRS = src data tests hacky
+installcheck-local:
+ grep DataDataData $(DESTDIR)$(prefix)/data/$(PACKAGE)-$(VERSION)/bar
+END
+
+mkdir hacky src tests data
+
+echo 'This is a dummy package' > README
+
+cat > src/foo.input <<'END'
+#!sh
+echo Zardoz
+END
+
+cat > tests/a.test <<'END'
+#!/bin/sh
+"$srcdir/../src/foo" | grep Zardoz
+END
+chmod a+x tests/a.test
+
+cat > data/bar <<'END'
+line1
+line2
+line3
+END
+
+cat >hacky/Makefile.am <<'END'
+dist-hook:
+ find $(top_distdir) -print ## useful for debugging
+ chmod a+rx $(top_distdir)/tests/*.test
+END
+
+cat > src/Makefile.am <<'END'
+dist_bin_SCRIPTS = foo
+foo: foo.input
+ sed '1s,^#!.*$$,#!/bin/sh,' $(srcdir)/foo.input >$@
+ chmod a+x $@
+EXTRA_DIST = foo.input
+DISTCLEANFILES = foo
+END
+
+cat > data/Makefile.am <<'END'
+nodist_data_DATA = bar
+datadir = $(prefix)/data/$(PACKAGE)-$(VERSION)
+bar:
+ echo DataDataData >$@
+distclean-local:
+ rm -f bar
+END
+
+cat > tests/Makefile.am <<'END'
+TESTS = a.test
+EXTRA_DIST = $(TESTS)
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+ls -l . hacky src data tests # useful for debugging
+test ! -f mkfile
+$MAKE
+$MAKE distdir
+test ! -f $distdir/Makefile.in
+test ! -f $distdir/data/bar
+test -f $distdir/src/foo
+diff README $distdir/README
+diff mkfile.in $distdir/mkfile.in
+diff tests/a.test $distdir/tests/a.test
+diff src/foo.input $distdir/src/foo.input
+
+$MAKE check
+$MAKE distcheck
+
+test -f $distdir.tar.gz
+
+chmod a-x tests/a.test
+# dist-hook should take care of making test files executables
+$MAKE distcheck
+
+:
diff --git a/tests/backcompat6.test b/tests/backcompat6.test
new file mode 100755
index 0000000..534ecb1
--- /dev/null
+++ b/tests/backcompat6.test
@@ -0,0 +1,105 @@
+#! /bin/sh
+# Copyright (C) 2010 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/>.
+
+# Backward-compatibility test: try to build and distribute a package
+# using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT.
+# This script can also serve as mild stress-testing for Automke.
+# See also the similar test `backcompat5.test'.
+
+. ./defs || Exit 1
+
+set -e
+
+# Anyone doing something like this in a real-life package probably
+# deserves to be killed.
+cat > configure.in <<'END'
+dnl. Everything here is *deliberately* underquoted!
+AC_INIT(quux.c)
+PACKAGE=nonesuch-zardoz
+VERSION=nonesuch-0.1
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_SUBST(one,1)
+two=2
+AC_SUBST(two, $two)
+three=3
+AC_SUBST(three)
+AC_PROG_CC
+AC_CONFIG_HEADERS(config.h:config.hin)
+AC_OUTPUT(Makefile foo.got:foo1.in:foo2.in:foo3.in)
+END
+
+echo @one@ > foo1.in
+echo @two@ > foo2.in
+echo @three@ > foo3.in
+
+cat >config.hin <<'END'
+#undef PACKAGE
+#undef VERSION
+END
+
+cat >> Makefile.am <<'END'
+bin_PROGRAMS = foo
+foo_SOURCES = quux.c
+DISTCLEANFILES = *.tmp
+check-local:
+ rm -f exp got
+ echo 'PACKAGE = nonesuch-zardoz' > exp.tmp
+ echo 'VERSION = nonesuch-0.1' >> exp.tmp
+ echo 'PACKAGE = $(PACKAGE)' > got1.tmp
+ echo 'VERSION = $(VERSION)' >> got1.tmp
+ ./foo > got2.tmp
+ cat exp.tmp
+ cat got1.tmp
+ cat got2.tmp
+ diff exp.tmp got1.tmp
+ diff exp.tmp got2.tmp
+END
+
+cat > quux.c <<'END'
+#include <config.h>
+#include <stdio.h>
+int main (void)
+{
+ printf("PACKAGE = %s\nVERSION = %s\n", PACKAGE, VERSION);
+ return 0;
+}
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+
+cat >foo.exp <<'END'
+1
+2
+3
+END
+
+diff foo.exp foo.got
+
+$MAKE
+$MAKE check
+
+distdir=nonesuch-zardoz-nonesuch-0.1
+$MAKE distdir
+test -f $distdir/quux.c
+test ! -f $distdir/foo.got
+
+$MAKE distcheck
+
+:
diff --git a/tests/colon4.test b/tests/colon4.test
index 97a4479..9af6b4e 100755
--- a/tests/colon4.test
+++ b/tests/colon4.test
@@ -15,8 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Make sure ":" works with files automake generates.
-# This test is for multiple ":"s.
+# Make sure multiple ":"s in AC_CONFIG_FILES do not generate broken
+# rebuild rules.
# Test from Maciej W. Rozycki.
. ./defs || Exit 1
@@ -24,7 +24,7 @@
set -e
cat >> configure.in <<END
-AC_CONFIG_FILES([zardoz:two:three])
+AC_CONFIG_FILES([zardoz:one:two:three])
AC_OUTPUT
END
@@ -36,6 +36,7 @@ END
$ACLOCAL
$AUTOMAKE
-# The rule should regenerate the file "zardoz".
-grep '^zardoz:one:two' Makefile.in && Exit 1
+# The rule should regenerate the file "zardoz", not a meaningless
+# file "'zardoz:one:two".
+$FGREP 'zardoz:one:two' Makefile.in && Exit 1
Exit 0
diff --git a/tests/compile2.test b/tests/compile2.test
index e3069d0..2f812c5 100755
--- a/tests/compile2.test
+++ b/tests/compile2.test
@@ -66,11 +66,7 @@ test -f "$amtest_object"
# Absolute w32 paths should be accepted.
# Do not actually run this test on anything that could be w32.
test -d "C:\\" && Exit 77
-# This test is taken from Autoconf's _AS_PATH_SEPARATOR_PREPARE.
-(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- Exit 77
-}
+case $PATH_SEPARATOR in ';'|':');; *) Exit 77;; esac
amtest_source='C:\libltdl\libltdl\slist.c'
amtest_object='C:\libltdl\libltdl\libltdl_libltdl_la-slist.obj'
diff --git a/tests/compile3.test b/tests/compile3.test
index e7b8b6d..d8c7d3b 100755
--- a/tests/compile3.test
+++ b/tests/compile3.test
@@ -31,7 +31,7 @@ END
chmod +x ./cl
# Check if compile handles "-o foo", -I, -l, -L, -Xlinker -Wl,
-opts=`./compile ./cl foo.c -o foo -lbar -Lgazonk -Ibaz -Xlinker foobar
-Wl,-foo,bar`
+opts=`LIB= ./compile ./cl foo.c -o foo -lbar -Lgazonk -Ibaz -Xlinker foobar
-Wl,-foo,bar`
test x"$opts" = x"foo.c -Fefoo bar.lib -Ibaz -link -LIBPATH:gazonk foobar -foo
bar"
# Check if compile handles "-o foo.obj"
diff --git a/tests/compile6.test b/tests/compile6.test
new file mode 100755
index 0000000..0f09e84
--- /dev/null
+++ b/tests/compile6.test
@@ -0,0 +1,98 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure `compile' searches libraries correctly
+
+. ./defs || Exit 1
+
+set -e
+
+cp "$testsrcdir/../lib/compile" .
+
+# Use a dummy cl, since cl isn't readily available on all systems
+cat >cl <<'END'
+#! /bin/sh
+echo "$@"
+END
+
+chmod +x ./cl
+
+mkdir syslib
+:> syslib/foo.lib
+
+syslib=`pwd`/syslib
+LIB=$syslib
+export LIB
+
+mkdir lib
+:> lib/bar.lib
+:> lib/bar.dll.lib
+
+# Check if compile library search correctly
+opts=`./compile ./cl foo.c -o foo -Llib -lbar -lfoo`
+test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link
-LIBPATH:lib"
+
+# Check if -static makes compile avoid bar.dll.lib
+opts=`./compile ./cl foo.c -o foo -Llib -static -lbar -lfoo`
+test x"$opts" = x"foo.c -Fefoo lib/bar.lib $syslib/foo.lib -link -LIBPATH:lib"
+
+:> syslib/bar.lib
+:> syslib/bar.dll.lib
+
+# Check if compile finds bar.dll.lib in syslib
+opts=`./compile ./cl foo.c -o foo -lbar -lfoo`
+test x"$opts" = x"foo.c -Fefoo $syslib/bar.dll.lib $syslib/foo.lib"
+
+# Check if compile prefers -L over $LIB
+opts=`./compile ./cl foo.c -o foo -Llib -lbar -lfoo`
+test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link
-LIBPATH:lib"
+
+mkdir lib2
+:> lib2/bar.dll.lib
+
+# Check if compile avoids bar.dll.lib in lib2 when -static
+opts=`./compile ./cl foo.c -o foo -Llib2 -static -lbar -lfoo`
+test x"$opts" = x"foo.c -Fefoo $syslib/bar.lib $syslib/foo.lib -link
-LIBPATH:lib2"
+
+# Check if compile gets two different bar libraries when -static
+# is added in the middle
+opts=`./compile ./cl foo.c -o foo -Llib2 -Llib -lbar -static -lbar`
+test x"$opts" = x"foo.c -Fefoo lib2/bar.dll.lib lib/bar.lib -link
-LIBPATH:lib2 -LIBPATH:lib"
+
+# Check if compile gets the correct bar.dll.lib
+opts=`./compile ./cl foo.c -o foo -Llib -Llib2 -lbar -lfoo`
+test x"$opts" = x"foo.c -Fefoo lib/bar.dll.lib $syslib/foo.lib -link
-LIBPATH:lib -LIBPATH:lib2"
+
+# Check if compile gets the correct bar.dll.lib
+opts=`./compile ./cl foo.c -o foo -Llib2 -Llib -lbar -lfoo`
+test x"$opts" = x"foo.c -Fefoo lib2/bar.dll.lib $syslib/foo.lib -link
-LIBPATH:lib2 -LIBPATH:lib"
+
+mkdir "sys lib2"
+:> "sys lib2/foo.dll.lib"
+
+syslib2="`pwd`/sys lib2"
+LIB="$syslib2;$LIB"
+
+# Check if compile handles spaces in $LIB and that it prefers the order
+# in a multi-component $LIB.
+opts=`./compile ./cl foo.c -o foo -lfoo`
+test x"$opts" = x"foo.c -Fefoo $syslib2/foo.dll.lib"
+
+# Check if compile handles the 2nd directory in a multi-component $LIB.
+opts=`./compile ./cl foo.c -o foo -static -lfoo`
+test x"$opts" = x"foo.c -Fefoo $syslib/foo.lib"
+
+:
diff --git a/tests/confh.test b/tests/confh.test
index 552ce5c..34674cc 100755
--- a/tests/confh.test
+++ b/tests/confh.test
@@ -24,29 +24,36 @@ set -e
cat >> configure.in << 'END'
AM_CONFIG_HEADER([include/config.h])
+AC_OUTPUT
END
-: > Makefile.am
-: > acconfig.h
+cat > Makefile.am << 'END'
+.PHONY: test1 test2
+test1:
+ @echo DIST_COMMON = $(DIST_COMMON) ## for debugging
+ echo ' ' $(DIST_COMMON) ' ' | grep '[ /]acconfig\.h '
+test2: distdir
+ ls -l $(distdir)/* ## for debugging
+ test -f $(distdir)/acconfig.h
+check-local: test1 test2
+END
mkdir include
-: > include/Makefile.am
: > include/config.h.in
+: > acconfig.h
+
+# The test used to fail if `include/Makefile.am' was created (!)
+: > include/Makefile.am
$ACLOCAL
+$AUTOCONF
$AUTOMAKE
-perl -ne '
-if (s/^DIST_COMMON *=//)
-{
- $_ .= <> while (s/\\$//);
- $_ = " $_ ";
- s/\s+/ /g;
- print "$_\n";
- exit 0;
-}' Makefile.in > dc.txt
-cat dc.txt # might be useful for debugging.
-$FGREP ' acconfig.h ' dc.txt
+./configure
+
+$MAKE test1
+$MAKE test2
+$MAKE distcheck
# Make sure re-running automake in a different way generates same
# Makefile.in.
diff --git a/tests/confh4.test b/tests/confh4.test
index bab2d53..8e36cfa 100755
--- a/tests/confh4.test
+++ b/tests/confh4.test
@@ -31,7 +31,6 @@ cat >> configure.in << 'END'
AC_CONFIG_FILES([include/Makefile])
AM_CONFIG_HEADER([include/config.h])
AC_PROG_CC
-AC_OUTPUT
END
cat > Makefile.am << 'END'
@@ -39,9 +38,6 @@ bin_PROGRAMS = foo
foo_SOURCES = foo.c
END
-: > foo.c
-: > acconfig.h
-
mkdir include
: > include/Makefile.am
: > include/config.h.in
@@ -49,6 +45,6 @@ mkdir include
$ACLOCAL
$AUTOMAKE
-grep '^DEFAULT_INCLUDES =.* -I\$(top_builddir)/include' Makefile.in
+grep '^ *DEFAULT_INCLUDES *=.* -I\$(top_builddir)/include' Makefile.in
:
diff --git a/tests/confh6.test b/tests/confh6.test
index de55be7..532a2fd 100755
--- a/tests/confh6.test
+++ b/tests/confh6.test
@@ -45,3 +45,5 @@ $MAKE subdir/config.h
$FGREP gRePmE subdir/config.h
$MAKE distcheck
+
+:
diff --git a/tests/confh7.test b/tests/confh7.test
index 3d0e54a..4e4f7da 100755
--- a/tests/confh7.test
+++ b/tests/confh7.test
@@ -16,6 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test to make sure several config headers are allowed.
+# See also sister "semantic" test `confh8.test'.
. ./defs || Exit 1
diff --git a/tests/condman3.test b/tests/confh8.test
similarity index 50%
copy from tests/condman3.test
copy to tests/confh8.test
index ff93daf..df985ec 100755
--- a/tests/condman3.test
+++ b/tests/confh8.test
@@ -14,52 +14,55 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Make sure conditionals work with man pages.
+# Test to make sure several config headers are allowed.
+# See also sister "minimalistic" test `confh7.test'.
. ./defs || Exit 1
set -e
cat >> configure.in << 'END'
-AM_CONDITIONAL([COND], [test x"$FOO" = x"true"])
+AM_CONFIG_HEADER([one.h two.h])
AC_OUTPUT
END
cat > Makefile.am << 'END'
-if COND
-man_MANS = foo.1
-else
-man_MANS = bar.2
-endif
-
-.PHONY: test1 test2
-test1:
- test -f $(mandir)/man1/foo.1
- test ! -f $(mandir)/man2/bar.2
-test2:
- test ! -f $(mandir)/man1/foo.1
- test -f $(mandir)/man2/bar.2
+.PHONY: test0 test1 test2
+test0:
+ @echo DIST_COMMON = $(DIST_COMMON) ## for debugging
+ echo ' ' $(DIST_COMMON) ' ' | grep '[ /]one\.h\.in '
+ echo ' ' $(DIST_COMMON) ' ' | grep '[ /]two\.h\.in '
+ : Processed header files should not be distributed.
+ if echo ' ' $(DIST_COMMON) ' ' | grep '\.h '; then \
+ exit 1; \
+ else \
+ exit 0; \
+ fi
+test1: all
+ test -f one.h
+ test -f two.h
+test2: distdir
+ ls -l $(distdir)/* ## for debugging
+ test -f $(distdir)/one.h.in
+ test -f $(distdir)/two.h.in
+ : Processed header files should not be distributed.
+ test ! -r $(distdir)/one.h
+ test ! -r $(distdir)/two.h
+check-local: test0 test1 test2
END
+: > one.h.in
+: > two.h.in
+
$ACLOCAL
-$AUTOMAKE
$AUTOCONF
+$AUTOMAKE
-mkdir dir1
-cd dir1
-../configure FOO=true --prefix="`pwd`/_inst"
-sed -n '/man_MANS/p' Makefile # useful for debugging
-: > foo.1
-$MAKE install
-$MAKE test1
+./configure
-cd ..
-mkdir dir2
-cd dir2
-../configure FOO=false --prefix="`pwd`/_inst"
-sed -n '/man_MANS/p' Makefile # useful for debugging
-: > bar.2
-$MAKE install
+$MAKE test0
+$MAKE test1
$MAKE test2
+$MAKE distcheck
:
diff --git a/tests/defs.in b/tests/defs.in
index f73edd4..fe67b0f 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -58,6 +58,9 @@ test -f "$testsrcdir/defs.in" || {
me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'`
+APIVERSION='@APIVERSION@'
+PATH_SEPARATOR='@PATH_SEPARATOR@'
+
# Make sure we override the user shell.
SHELL='@SHELL@'
export SHELL
@@ -70,7 +73,7 @@ test -z "$AUTOUPDATE" && AUTOUPDATE=autoupdate
test -z "$MISSING" && MISSING=$top_testsrcdir/lib/missing
# Use -Werror because this also turns some Perl warnings into error.
# (Tests for which this is inappropriate should use -Wno-error.)
-test -z "$ACLOCAL" && ACLOCAL="address@hidden@ -Werror"
+test -z "$ACLOCAL" && ACLOCAL="aclocal-$APIVERSION -Werror"
# Extra flags to pass to aclocal before all other flags added by this script.
ACLOCAL_TESTSUITE_FLAGS=
export ACLOCAL_TESTSUITE_FLAGS
@@ -81,9 +84,9 @@ export ACLOCAL_TESTSUITE_FLAGS
# -Werror by default. Tests for which this is inappropriate
# (e.g. when testing that a warning is enabled by a specific switch)
# should use -Wnone or/and -Wno-error
-test -z "$AUTOMAKE" && AUTOMAKE="address@hidden@ --foreign -Werror -Wall"
+test -z "$AUTOMAKE" && AUTOMAKE="automake-$APIVERSION --foreign -Werror -Wall"
-PATH="address@hidden@$PATH"
+PATH="`pwd`$PATH_SEPARATOR$PATH"
echo "$PATH"
# Some shells forget to export modified environment variables.
# (See note about `export' in the Autoconf manual.)
diff --git a/tests/dmalloc.test b/tests/dmalloc.test
new file mode 100755
index 0000000..629c949
--- /dev/null
+++ b/tests/dmalloc.test
@@ -0,0 +1,61 @@
+#! /bin/sh
+# Copyright (C) 2010 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/>.
+
+# Simple checks on the `AM_WITH_DMALLOC' macro.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_HEADERS([config.h])
+AM_WITH_DMALLOC
+AC_SUBST([LDFLAGS])
+AC_OUTPUT
+END
+
+cat > config.h.in <<'END'
+#undef WITH_DMALLOC
+END
+
+cat > Makefile.am <<'END'
+check-with-dmalloc:
+## The AM_WITH_DMALLOC assumes that the user is a developer, so that
+## he is expected to install and make available the `dmalloc' library
+## by his own. So we just check that proper linker and libs flags get
+## added.
+ echo ' ' $(LDFLAGS) ' ' | grep ' -g '
+ echo ' ' $(LIBS) ' ' | grep ' -ldmalloc '
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+cat config.h # debug info
+grep '^ */\* *# *undef *WITH_DMALLOC *\*/ *$' config.h
+
+./configure --without-dmalloc
+cat config.h # debug info
+grep '^ */\* *# *undef *WITH_DMALLOC *\*/ *$' config.h
+
+./configure --with-dmalloc
+cat config.h # debug info
+grep '^# *define *WITH_DMALLOC *1 *$' config.h
+$MAKE check-with-dmalloc
+
+:
diff --git a/tests/extradep.test b/tests/extradep.test
new file mode 100755
index 0000000..d84182d
--- /dev/null
+++ b/tests/extradep.test
@@ -0,0 +1,104 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test EXTRA_*_DEPENDENCIES. See extradep2 for libtool variant.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_SUBST([deps], [bardep])
+AM_CONDITIONAL([COND], [test -n "$cond"])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libfoo.a
+EXTRA_libfoo_a_DEPENDENCIES = libfoodep
+libfoodep:
+ @echo making $@
+ @: > $@
+CLEANFILES = libfoodep
+
+bin_PROGRAMS = foo bar
+EXTRA_foo_DEPENDENCIES = foodep
+if COND
+EXTRA_foo_DEPENDENCIES += foodep2
+endif
+bar_LDADD = libfoo.a
+EXTRA_bar_DEPENDENCIES = $(deps)
+
+EXTRA_DIST = foodep bardep
+
+bar-is-newer-than-libfoo.a:
+ test `ls -1t bar$(EXEEXT) libfoo.a | sed q` = bar$(EXEEXT)
+END
+
+cat >libfoo.c <<'END'
+int libfoo () { return 0; }
+END
+
+cat >foo.c <<'END'
+int main () { return 0; }
+END
+
+cat >bar.c <<'END'
+extern int libfoo ();
+int main () { return libfoo (); }
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure cond=yes
+
+# hypotheses:
+# EXTRA_*_DEPENDENCIES are honored.
+# conditionals and substitutions are honored.
+# *_DEPENDENCIES are not overwritten by their EXTRA_* counterparts.
+
+: >foodep
+: >foodep2
+: >bardep
+$MAKE >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep 'making libfoodep' stdout
+
+rm -f foodep
+$MAKE && Exit 1
+: >foodep
+
+rm -f foodep2
+$MAKE && Exit 1
+: >foodep2
+
+rm -f bardep
+$MAKE && Exit 1
+: >bardep
+
+$MAKE
+$sleep
+touch libfoo.a
+$MAKE
+$MAKE bar-is-newer-than-libfoo.a
+
+$MAKE distcheck
+
+:
diff --git a/tests/extradep2.test b/tests/extradep2.test
new file mode 100755
index 0000000..7d72e82
--- /dev/null
+++ b/tests/extradep2.test
@@ -0,0 +1,86 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test EXTRA_*_DEPENDENCIES, libtool version; see extradep.test.
+
+required=libtoolize
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_SUBST([deps], [bardep])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LTLIBRARIES = libfoo.la
+EXTRA_libfoo_la_DEPENDENCIES = libfoodep
+libfoodep:
+ @echo making $@
+ @: > $@
+CLEANFILES = libfoodep
+
+bin_PROGRAMS = bar
+bar_LDADD = libfoo.la
+EXTRA_bar_DEPENDENCIES = $(deps)
+
+EXTRA_DIST = bardep
+
+bar-is-newer-than-libfoo.la:
+ test `ls -1t bar$(EXEEXT) libfoo.la | sed q` = bar$(EXEEXT)
+END
+
+cat >libfoo.c <<'END'
+int libfoo () { return 0; }
+END
+
+cat >bar.c <<'END'
+extern int libfoo ();
+int main () { return libfoo (); }
+END
+
+libtoolize
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure
+
+# hypothesis: EXTRA_*_DEPENDENCIES are honored.
+
+: >foodep
+: >foodep2
+: >bardep
+$MAKE >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep 'making libfoodep' stdout
+
+rm -f bardep
+$MAKE && Exit 1
+: >bardep
+
+$MAKE
+$sleep
+touch libfoo.la
+$MAKE
+$MAKE bar-is-newer-than-libfoo.la
+
+$MAKE distcheck
+
+:
diff --git a/tests/tags2.test b/tests/help-depend.test
similarity index 61%
copy from tests/tags2.test
copy to tests/help-depend.test
index f6e018c..ed9447e 100755
--- a/tests/tags2.test
+++ b/tests/help-depend.test
@@ -14,31 +14,28 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# TAGS_DEPENDENCIES only make sense if other tag-worthy things (such as
-# sources) exist.
+# Make sure that our private macro `AM_DEP_TRACK' adds proper text to
+# the configure help screen.
+# Keep this in sync with sister test `help-depend2.test'
. ./defs || Exit 1
set -e
-cat >> configure.in << 'END'
-AC_PROG_CC
-AC_OUTPUT
-END
-
-cat >Makefile.am << 'END'
-TAGS_DEPENDENCIES = foo
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_DEP_TRACK
END
$ACLOCAL
-AUTOMAKE_fails
-grep 'define.*TAGS_DEPENDENCIES.*without' stderr
+$AUTOCONF
-cat >>Makefile.am << 'END'
-bin_PROGRAMS = bar
-END
+./configure --help >stdout || { cat stdout; Exit 1; }
+cat stdout
-AUTOMAKE_run 0
-grep 'define.*TAGS_DEPENDENCIES.*without' stderr && Exit 1
+$FGREP ' --enable-dependency-tracking ' stdout
+$FGREP ' --disable-dependency-tracking ' stdout
+$FGREP ' one-time build' stdout
+$FGREP ' slow dependency extract' stdout
:
diff --git a/tests/colon2.test b/tests/help-depend2.test
similarity index 59%
copy from tests/colon2.test
copy to tests/help-depend2.test
index a52dfa8..b4133b4 100755
--- a/tests/colon2.test
+++ b/tests/help-depend2.test
@@ -1,6 +1,5 @@
#! /bin/sh
-# Copyright (C) 1996, 2000, 2001, 2002, 2010 Free Software Foundation,
-# Inc.
+# Copyright (C) 2010 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
@@ -15,7 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Make sure ":" works with files automake generates.
+# Make sure that when automake automatically activates support for
+# dependency tracking, it adds proper text to the configure help screen.
+# Keep this in sync with sister test `help-depend.test'
. ./defs || Exit 1
@@ -24,18 +25,18 @@ set -e
cat > configure.in <<END
AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([Makefile:zardoz.in])
-AC_OUTPUT
+AC_PROG_CC
END
-echo 'dummy:' > zardoz.am
-
$ACLOCAL
-$AUTOMAKE
+$AUTOCONF
+
+./configure --help >stdout || { cat stdout; Exit 1; }
+cat stdout
-# We actually check several things here.
-test -f zardoz.in
-grep '^zardoz:' zardoz.in && Exit 1
-grep '^dummy:' zardoz.in
+$FGREP ' --enable-dependency-tracking ' stdout
+$FGREP ' --disable-dependency-tracking ' stdout
+$FGREP ' one-time build' stdout
+$FGREP ' slow dependency extract' stdout
:
diff --git a/tests/mdate6.test b/tests/help-dmalloc.test
similarity index 68%
copy from tests/mdate6.test
copy to tests/help-dmalloc.test
index cb2456c..c20288d 100755
--- a/tests/mdate6.test
+++ b/tests/help-dmalloc.test
@@ -14,22 +14,26 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# mdate-sh can work with weird file names, doesn't eval too much.
+# Make sure that our macro `AM_WITH_DMALLOC' adds proper text to
+# the configure help screen.
. ./defs || Exit 1
set -e
-a=
-file='file name $a'
-( : > "$file" ) || Exit 77
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_WITH_DMALLOC
+END
-cp "$top_testsrcdir/lib/mdate-sh" .
-$SHELL ./mdate-sh "$file" >stdout 2>stderr ||
- { cat stdout; cat stderr >&2; Exit 1; }
+$ACLOCAL
+$AUTOCONF
+
+./configure --help >stdout || { cat stdout; Exit 1; }
cat stdout
-cat stderr >&2
-grep '[12][0-9]\{3\}' stdout
-test ! -s stderr
+
+$FGREP ' --with-dmalloc ' stdout
+$FGREP ' use dmalloc' stdout
+$FGREP 'www.dmalloc.com' stdout
:
diff --git a/tests/colon2.test b/tests/help-init.test
similarity index 68%
copy from tests/colon2.test
copy to tests/help-init.test
index a52dfa8..a3af271 100755
--- a/tests/colon2.test
+++ b/tests/help-init.test
@@ -1,6 +1,5 @@
#! /bin/sh
-# Copyright (C) 1996, 2000, 2001, 2002, 2010 Free Software Foundation,
-# Inc.
+# Copyright (C) 2010 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
@@ -15,7 +14,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Make sure ":" works with files automake generates.
+# Make sure that our grand macro `AM_INIT_AUTOMAKE' add proper text
+# to the configure help screen.
. ./defs || Exit 1
@@ -24,18 +24,16 @@ set -e
cat > configure.in <<END
AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([Makefile:zardoz.in])
-AC_OUTPUT
END
-echo 'dummy:' > zardoz.am
-
$ACLOCAL
-$AUTOMAKE
+$AUTOCONF
+
+./configure --help >stdout || { cat stdout; Exit 1; }
+cat stdout
-# We actually check several things here.
-test -f zardoz.in
-grep '^zardoz:' zardoz.in && Exit 1
-grep '^dummy:' zardoz.in
+grep ' --program-prefix[= ]' stdout
+grep ' --program-suffix[= ]' stdout
+grep ' --program-transform-name[= ]' stdout
:
diff --git a/tests/tags2.test b/tests/help-lispdir.test
similarity index 64%
copy from tests/tags2.test
copy to tests/help-lispdir.test
index f6e018c..3d82074 100755
--- a/tests/tags2.test
+++ b/tests/help-lispdir.test
@@ -14,31 +14,27 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# TAGS_DEPENDENCIES only make sense if other tag-worthy things (such as
-# sources) exist.
+# Make sure that our macro `AM_PATH_LISPDIR' adds proper text to
+# the configure help screen.
. ./defs || Exit 1
set -e
-cat >> configure.in << 'END'
-AC_PROG_CC
-AC_OUTPUT
-END
-
-cat >Makefile.am << 'END'
-TAGS_DEPENDENCIES = foo
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_PATH_LISPDIR
END
$ACLOCAL
-AUTOMAKE_fails
-grep 'define.*TAGS_DEPENDENCIES.*without' stderr
+$AUTOCONF
-cat >>Makefile.am << 'END'
-bin_PROGRAMS = bar
-END
+./configure --help >stdout || { cat stdout; Exit 1; }
+cat stdout
-AUTOMAKE_run 0
-grep 'define.*TAGS_DEPENDENCIES.*without' stderr && Exit 1
+grep ' --with-lispdir .*override.*lisp directory' stdout
+grep ' EMACS .*[eE]macs editor' stdout
+grep ' EMACSLOADPATH' stdout
+grep ' .*[eE]macs library search path' stdout
:
diff --git a/tests/help-maintainer.test b/tests/help-maintainer.test
new file mode 100755
index 0000000..72fc98a
--- /dev/null
+++ b/tests/help-maintainer.test
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure that our macro `AM_MAINTAINER_MODE' adds proper text to
+# the configure help screen.
+
+. ./defs || Exit 1
+
+set -e
+
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_MAINTAINER_MODE
+END
+
+cat configure.in
+$ACLOCAL
+$AUTOCONF --force
+./configure --help >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep ' --enable-maintainer-mode.*enable make rules' stdout
+
+rm -rf autom4te*.cache # just to be sure
+sed 's/\(AM_MAINTAINER_MODE\).*/\1([disable])/' configure.in >t
+mv -f t configure.in
+
+cat configure.in
+$ACLOCAL
+$AUTOCONF --force
+./configure --help >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep ' --enable-maintainer-mode.*enable make rules' stdout
+
+rm -rf autom4te*.cache # just to be sure
+sed 's/\(AM_MAINTAINER_MODE\).*/\1([enable])/' configure.in >t
+mv -f t configure.in
+
+cat configure.in
+$ACLOCAL
+$AUTOCONF --force
+./configure --help >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep ' --disable-maintainer-mode.*disable make rules' stdout
+
+:
diff --git a/tests/mdate6.test b/tests/help-multilib.test
similarity index 69%
copy from tests/mdate6.test
copy to tests/help-multilib.test
index cb2456c..0016c76 100755
--- a/tests/mdate6.test
+++ b/tests/help-multilib.test
@@ -14,22 +14,25 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# mdate-sh can work with weird file names, doesn't eval too much.
+# Make sure that our macro `AM_ENABLE_MULTILIB' adds proper text to
+# the configure help screen.
. ./defs || Exit 1
set -e
-a=
-file='file name $a'
-( : > "$file" ) || Exit 77
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_ENABLE_MULTILIB
+END
-cp "$top_testsrcdir/lib/mdate-sh" .
-$SHELL ./mdate-sh "$file" >stdout 2>stderr ||
- { cat stdout; cat stderr >&2; Exit 1; }
+$ACLOCAL
+$AUTOCONF
+
+./configure --help >stdout || { cat stdout; Exit 1; }
cat stdout
-cat stderr >&2
-grep '[12][0-9]\{3\}' stdout
-test ! -s stderr
+
+$FGREP ' --enable-multilib ' stdout
+$FGREP ' many library versions (default)' stdout
:
diff --git a/tests/mdate6.test b/tests/help-regex.test
similarity index 70%
copy from tests/mdate6.test
copy to tests/help-regex.test
index cb2456c..3eff5f9 100755
--- a/tests/mdate6.test
+++ b/tests/help-regex.test
@@ -14,22 +14,25 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# mdate-sh can work with weird file names, doesn't eval too much.
+# Make sure that obsolescent macro `AM_WITH_REGEX' adds proper text to
+# the configure help screen.
. ./defs || Exit 1
set -e
-a=
-file='file name $a'
-( : > "$file" ) || Exit 77
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_WITH_REGEX
+END
-cp "$top_testsrcdir/lib/mdate-sh" .
-$SHELL ./mdate-sh "$file" >stdout 2>stderr ||
- { cat stdout; cat stderr >&2; Exit 1; }
+$ACLOCAL
+$AUTOCONF
+
+./configure --help >stdout || { cat stdout; Exit 1; }
cat stdout
-cat stderr >&2
-grep '[12][0-9]\{3\}' stdout
-test ! -s stderr
+
+$FGREP ' --without-regex ' stdout
+$FGREP ' use GNU rx ' stdout
:
diff --git a/tests/tags2.test b/tests/help-silent.test
similarity index 56%
copy from tests/tags2.test
copy to tests/help-silent.test
index f6e018c..b338907 100755
--- a/tests/tags2.test
+++ b/tests/help-silent.test
@@ -14,31 +14,30 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# TAGS_DEPENDENCIES only make sense if other tag-worthy things (such as
-# sources) exist.
+# Make sure that our macro `AM_SILENT_RULES' adds proper text to
+# the configure help screen.
. ./defs || Exit 1
set -e
-cat >> configure.in << 'END'
-AC_PROG_CC
-AC_OUTPUT
-END
-
-cat >Makefile.am << 'END'
-TAGS_DEPENDENCIES = foo
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_SILENT_RULES
END
$ACLOCAL
-AUTOMAKE_fails
-grep 'define.*TAGS_DEPENDENCIES.*without' stderr
-
-cat >>Makefile.am << 'END'
-bin_PROGRAMS = bar
-END
-AUTOMAKE_run 0
-grep 'define.*TAGS_DEPENDENCIES.*without' stderr && Exit 1
+mv -f configure.in configure.tmpl
+
+for args in '' '([])' '([yes])' '([no])'; do
+ sed "s/AM_SILENT_RULES.*/&$args/" configure.tmpl >configure.in
+ cat configure.in
+ $AUTOCONF --force
+ ./configure --help >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ grep ' --enable-silent-rules *less verbose build.*undo.*make V=1' stdout
+ grep ' --disable-silent-rules *verbose build.*undo.*make V=0' stdout
+done
:
diff --git a/tests/mdate6.test b/tests/help-upc.test
similarity index 67%
copy from tests/mdate6.test
copy to tests/help-upc.test
index cb2456c..586299b 100755
--- a/tests/mdate6.test
+++ b/tests/help-upc.test
@@ -14,22 +14,25 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# mdate-sh can work with weird file names, doesn't eval too much.
+# Make sure that our macro `AM_PROG_UPC' adds proper text to
+# the configure help screen.
. ./defs || Exit 1
set -e
-a=
-file='file name $a'
-( : > "$file" ) || Exit 77
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_PROG_UPC
+END
-cp "$top_testsrcdir/lib/mdate-sh" .
-$SHELL ./mdate-sh "$file" >stdout 2>stderr ||
- { cat stdout; cat stderr >&2; Exit 1; }
+$ACLOCAL
+$AUTOCONF
+
+./configure --help >stdout || { cat stdout; Exit 1; }
cat stdout
-cat stderr >&2
-grep '[12][0-9]\{3\}' stdout
-test ! -s stderr
+
+grep ' UPCFLAGS .*Unified Parallel C compiler flags' stdout
+grep ' UPC .*Unified Parallel C compiler command' stdout
:
diff --git a/tests/help.test b/tests/help.test
index e9ccf62..dd8b3b4 100755
--- a/tests/help.test
+++ b/tests/help.test
@@ -14,28 +14,34 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Make sure --help and --version work, even when no configure.ac
-# is in the current directory.
+# Make sure --help and --version work, even when no configure.ac nor
+# configure.in is in the current directory.
. ./defs || Exit 1
set -e
-# Ensure we are run from the right directory.
-# (The last thing we want is to delete some random user files.)
-test -f ../defs
-rm -f *
+# Ensure we run in an empty directory.
+mkdir emptydir
+cd emptydir
+
+# Honour user overrides for $ACLOCAL and $AUTOMAKE.
+ACLOCAL=`echo " $ACLOCAL " | sed 's/ -W[^ ]*/ /g'`
+AUTOMAKE=`echo " $AUTOMAKE " | sed 's/ -W[^ ]*/ /g'`
$ACLOCAL --version
$ACLOCAL --help
$AUTOMAKE --version
$AUTOMAKE --help
-# aclocal and automake cannot work without configure.ac or configure.in
+# Sanity checks: aclocal and automake cannot work without configure.ac
+# or configure.in.
$ACLOCAL 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
-grep configure.ac stderr
-grep configure.in stderr
+$FGREP configure.ac stderr
+$FGREP configure.in stderr
AUTOMAKE_fails
-grep configure.ac stderr
-grep configure.in stderr
+$FGREP configure.ac stderr
+$FGREP configure.in stderr
+
+:
diff --git a/tests/help.test b/tests/help2.test
similarity index 59%
copy from tests/help.test
copy to tests/help2.test
index e9ccf62..5212092 100755
--- a/tests/help.test
+++ b/tests/help2.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2003, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2010 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
@@ -14,28 +14,30 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Make sure --help and --version work, even when no configure.ac
-# is in the current directory.
-
+# Make sure --help and --version work, even when the current directory
+# contains a broken configure.in.
. ./defs || Exit 1
set -e
-# Ensure we are run from the right directory.
-# (The last thing we want is to delete some random user files.)
-test -f ../defs
-rm -f *
+# Ensure we run in a new, clean directory.
+mkdir cleandir
+cd cleandir
+
+# Honour user overrides for $ACLOCAL and $AUTOMAKE.
+ACLOCAL=`echo " $ACLOCAL " | sed 's/ -W[^ ]*/ /g'`
+AUTOMAKE=`echo " $AUTOMAKE " | sed 's/ -W[^ ]*/ /g'`
+
+echo '[' > configure.in
-$ACLOCAL --version
-$ACLOCAL --help
$AUTOMAKE --version
$AUTOMAKE --help
-# aclocal and automake cannot work without configure.ac or configure.in
+# Sanity checks: aclocal and automake cannot work with broken configure.in.
$ACLOCAL 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
-grep configure.ac stderr
-grep configure.in stderr
+$FGREP configure.in stderr
AUTOMAKE_fails
-grep configure.ac stderr
-grep configure.in stderr
+$FGREP configure.in stderr
+
+:
diff --git a/tests/help3.test b/tests/help3.test
new file mode 100755
index 0000000..72399e3
--- /dev/null
+++ b/tests/help3.test
@@ -0,0 +1,61 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure --help and --version takes precedence over other options.
+
+. ./defs || Exit 1
+
+set -e
+
+# We must have full control over the content of the current directory.
+mkdir cleandir
+cd cleandir
+
+# Honour user overrides for $ACLOCAL and $AUTOMAKE.
+ACLOCAL=`echo " $ACLOCAL " | sed 's/ -W[^ ]*/ /g'`
+AUTOMAKE=`echo " $AUTOMAKE " | sed 's/ -W[^ ]*/ /g'`
+
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AC_CONFIG_AUX_DIR([.]) dnl prevent automake from looking into '..'
+AM_INIT_AUTOMAKE([foreign])
+AC_CONFIG_FILES([Makefile])
+END
+
+cat > Makefile.am <<END
+## so that install-sh will be required
+pkgdata_DATA =
+END
+
+$ACLOCAL --force --help --output=foo.m4
+test ! -r foo.m4
+$ACLOCAL --output=foo.m4 --version --force
+test ! -r foo.m4
+# Sanity check.
+$ACLOCAL --output=foo.m4 --force
+test -f foo.m4
+
+mv -f foo.m4 aclocal.m4 # autoconf will need aclocal.m4
+
+$AUTOMAKE --add-missing --help --copy
+test ! -r install-sh
+$AUTOMAKE --copy --version --add-mising
+test ! -r install-sh
+# Sanity check.
+$AUTOMAKE --add-missing --copy
+test -f install-sh
+
+:
diff --git a/tests/help4.test b/tests/help4.test
new file mode 100755
index 0000000..c5eb31e
--- /dev/null
+++ b/tests/help4.test
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure --help and --version work, even when no configure.ac
+# is in the current directory.
+
+. ./defs || Exit 1
+
+set -e
+
+# Ensure we run in an empty directory.
+mkdir emptydir
+cd emptydir
+
+# Honour user overrides for $ACLOCAL and $AUTOMAKE.
+ACLOCAL=`echo " $ACLOCAL " | sed 's/ -W[^ ]*/ /g'`
+AUTOMAKE=`echo " $AUTOMAKE " | sed 's/ -W[^ ]*/ /g'`
+
+escape_dots () { sed 's/\./\\./g'; } # avoid issues with `\' in backquotes
+apiversion_rx=`echo "$APIVERSION" | escape_dots`
+
+$ACLOCAL --version --help >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep "^aclocal.*$apiversion_rx" stdout
+grep "^Usage" stdout && Exit 1
+
+$ACLOCAL --help --version >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep "^Usage" stdout
+grep "^aclocal.*$apiversion_rx" stdout && Exit 1
+
+$AUTOMAKE --version --help >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep "^automake.*$apiversion_rx" stdout
+grep "^Usage" stdout && Exit 1
+
+$AUTOMAKE --help --version >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep "^Usage" stdout
+grep "^automake.*$apiversion_rx" stdout && Exit 1
+
+:
diff --git a/tests/init.test b/tests/init.test
index 38ec681..895bad6 100755
--- a/tests/init.test
+++ b/tests/init.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 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
@@ -14,20 +14,27 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Make sure we give a sensible error message when neither AC_INIT nor
-# AM_INIT_AUTOMAKE are given arguments.
+# Make sure we give a sensible error message when AC_INIT and
+# AM_INIT_AUTOMAKE are both given less than two arguments.
. ./defs || Exit 1
set -e
-cat >configure.in <<END
-AC_INIT
-AM_INIT_AUTOMAKE
+for ac_init_args in '' '([x])'; do
+ for am_init_args in '' '([1.10])'; do
+ rm -rf aclocal.m4 autom4te*.cache
+ cat >configure.in <<END
+AC_INIT$ac_init_args
+AM_INIT_AUTOMAKE$am_init_args
END
+ cat configure.in # might be useful for debugging
+ # The error message should mention AC_INIT, not AC_PACKAGE_VERSION.
+ ($ACLOCAL && $AUTOCONF) 2>stderr && { cat stderr >&2; Exit 1; }
+ cat stderr >&2
+ $FGREP AC_PACKAGE_VERSION stderr && Exit 1
+ grep 'configure\.in:.* AC_INIT .*arguments' stderr
+ done
+done
-# The error message should mension AC_INIT, not AC_PACKAGE_VERSION.
-($ACLOCAL && $AUTOCONF) 2>stderr && { cat stderr >&2; Exit 1; }
-cat stderr >&2
-grep AC_PACKAGE_VERSION stderr && Exit 1
-grep AC_INIT stderr
+:
diff --git a/tests/install2.test b/tests/install2.test
index d1f27fe..3cc71f5 100755
--- a/tests/install2.test
+++ b/tests/install2.test
@@ -1,5 +1,6 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2001, 2002, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2006, 2010 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
@@ -17,8 +18,8 @@
# Test for bug in `make dist'
# From Pavel Roskin.
-required=gzip
. ./defs || Exit 1
+
set -e
cat > configure.in << 'END'
diff --git a/tests/insthook.test b/tests/insthook.test
index 5a82bd6..a315447 100755
--- a/tests/insthook.test
+++ b/tests/insthook.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2003, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2005, 2007, 2010 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
@@ -52,7 +52,7 @@ test -f ok
# Make sure that installing a second version doesn't erase the first
# one. (This is error prone since `foo' symlinks to `foo-1.0' and the
-# second version will overwrite `foo'. Hopefully `install' and `install-sh'
+# second version will overwrite `foo'. Hopefully `install' and `install-sh'
# are smart enough to erase the `foo' symlink before installing the new
# version.)
./configure "--bindir=`pwd`/bin"
diff --git a/tests/instmany-mans.test b/tests/instmany-mans.test
index fcee60b..fe55be4 100755
--- a/tests/instmany-mans.test
+++ b/tests/instmany-mans.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010 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
@@ -123,7 +123,7 @@ test `find "$instdir" -type f -print | wc -l` = 0
# Try whether we don't exceed the low limit.
INSTALL='$(SHELL) $(top_builddir)/myinstall' $MAKE -e install
-env save_PATH="$PATH" PATH="`pwd`/..:$PATH" $MAKE uninstall
+env save_PATH="$PATH" PATH="`pwd`/..$PATH_SEPARATOR$PATH" $MAKE uninstall
cd $subdir
srcdir=../../$subdir
@@ -146,4 +146,5 @@ for file in page3.man page$nfiles.man npage3.man
npage$nfiles.man; do
$MAKE install-man3 && Exit 1
chmod u+r $srcdir/$file
done
+
:
diff --git a/tests/instmany-python.test b/tests/instmany-python.test
index 6831c9e..7648e1b 100755
--- a/tests/instmany-python.test
+++ b/tests/instmany-python.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010 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
@@ -113,7 +113,7 @@ test `find "$instdir" -type f -print | wc -l` = 0
# Try whether we don't exceed the low limit.
INSTALL='$(SHELL) $(top_builddir)/myinstall' $MAKE -e install
-env save_PATH="$PATH" PATH="`pwd`/..:$PATH" $MAKE uninstall
+env save_PATH="$PATH" PATH="`pwd`/..$PATH_SEPARATOR$PATH" $MAKE uninstall
cd $subdir
srcdir=../../$subdir
diff --git a/tests/instmany.test b/tests/instmany.test
index a3b10cb..2de026d 100755
--- a/tests/instmany.test
+++ b/tests/instmany.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010 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
@@ -137,7 +137,7 @@ test `find "$instdir" -type f -print | wc -l` = 0
# Try whether we don't exceed the low limit.
INSTALL='$(SHELL) $(top_builddir)/myinstall' $MAKE -e install
-env save_PATH="$PATH" PATH="`pwd`/..:$PATH" $MAKE uninstall
+env save_PATH="$PATH" PATH="`pwd`/..$PATH_SEPARATOR$PATH" $MAKE uninstall
cd $subdir
srcdir=../../$subdir
diff --git a/tests/instspc-tests.sh b/tests/instspc-tests.sh
new file mode 100755
index 0000000..90087eb
--- /dev/null
+++ b/tests/instspc-tests.sh
@@ -0,0 +1,301 @@
+#! /bin/sh
+# Copyright (C) 2010 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/>.
+
+#
+# Driver script to generate and run tests checking that building from,
+# or installing to, directories with shell metacharacters succeed.
+#
+# Original report from James Amundson about file names with spaces.
+# Other characters added by Paul Eggert.
+#
+# This script fulfills a double role:
+# 1. It generates a Makefile.am snippet, containing the definition
+# of proper lists of tests.
+# 2. It is sourced by said generated tests with proper parameters
+# pre-set, to run the "meat" of the checks.
+# This setup might seem tricky and over-engineered abuse, but past
+# (painful) experiences showed that it is indeed required, because
+# the test generation code and test execution code tend to be
+# inextricably coupled and intertwined.
+#
+
+# Be more Bourne compatible (snippet copied from `tests/defs.in').
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+
+set -e
+
+# Sanity and usage checks.
+if test x"$instspc_action" = x; then
+ if test "$#,$1" = "1,--generate-makefile"; then
+ instspc_action=generate-makefile
+ else
+ echo "$0: empty action and no proper command line" >&2
+ exit 99
+ fi
+elif test $# -gt 0; then
+ echo "$0: action specified and command line arguments used" >&2
+ exit 99
+elif test x"$instspc_action" = x"generate-makefile"; then
+ :
+else
+ case $instspc_action in
+ test-build|test-install)
+ if test x"$instspc_test_name" = x; then
+ echo "$0: test name undefined for action '$instspc_action'" >&2
+ exit 99
+ fi;;
+ *)
+ echo "$0: invalid action: '$instspc_action'"
+ exit 99;;
+ esac
+fi
+
+# Helper subroutine for test data definition.
+# Usage: define_problematic_string NAME STRING
+define_problematic_string ()
+{
+ tst=$1
+ shift
+ eval "instspc__$tst=\$1" || exit 99
+ shift
+ instspc_names_list="$instspc_names_list $tst"
+ # Some of the "problematic" characters cannot be used in the name of
+ # a build or install directory on a POSIX host. These lists should
+ # be empty, but are not due to limitations in Autoconf, Automake, Make,
+ # M4, or the shell.
+ case " $* " in *' fail-build '*|*' build-fail '*)
+ instspc_xfail_builds_list="$instspc_xfail_builds_list $tst";;
+ esac
+ case " $* " in *' fail-install '*|*' install-fail '*)
+ instspc_xfail_installs_list="$instspc_xfail_installs_list $tst";;
+ esac
+}
+
+# Be sure to avoid interferences from the environment.
+instspc_names_list=''
+instspc_xfail_builds_list=''
+instspc_xfail_installs_list=''
+
+
+# ================= #
+# Test data begin #
+# ----------------- #
+
+# Some control characters that are white space.
+bs='' # back space
+cr='
' # carriage return
+ff='' # form feed
+ht=' ' # horizontal tab
+lf='
+' # line feed (aka newline)
+
+# Hack to save typing and make code visually clearer.
+def=define_problematic_string
+
+$def squote \' fail-build fail-install
+$def dquote '"' fail-build fail-install
+$def bquote '`' fail-build fail-install
+$def sharp '#' fail-build fail-install
+$def dollar '$' fail-build fail-install
+$def bang '!'
+$def bslash '\' fail-build
+$def ampersand '&' fail-build
+$def percent '%'
+$def leftpar '('
+$def rightpar ')'
+$def pipe '|'
+$def caret '^'
+$def tilde '~'
+$def qmark '?'
+$def star '*'
+$def plus '+'
+$def minus '-'
+$def comma ','
+$def colon ':'
+$def semicol ';'
+$def equal '='
+$def less '<'
+$def more '>'
+$def at '@'
+$def lqbrack '['
+$def rqbrack ']'
+$def lcbrack '{'
+$def rcbrack '}'
+$def space ' '
+$def tab "$ht"
+$def linefeed "$lf" fail-build fail-install
+$def backspace "$bs"
+$def formfeed "$ff"
+$def carriageret "$cr"
+$def quadrigraph0 '@&t@' fail-build
+$def quadrigraph1 '@<:@'
+$def quadrigraph2 '@:>@'
+$def quadrigraph3 '@S|@'
+$def quadrigraph4 '@%:@'
+$def a_b 'a b'
+$def a__b 'a b'
+$def a_lf_b "a${lf}b" fail-build fail-install
+$def dotdotdot '...'
+$def dosdrive 'a:'
+$def miscglob1 '?[a-z]*'
+$def miscglob2 '.*?[0-9]'
+
+unset def
+
+# --------------- #
+# Test data end #
+# =============== #
+
+
+if test x"$instspc_action" = x"generate-makefile"; then
+ # We must generate a makefile fragment on stdout. It must refer
+ # to all tests at once, hence the loop below.
+ echo '## Generated by instspc-tests.sh. DO NOT EDIT!'
+ echo 'instspc_tests ='
+ echo 'instspc_xfail_tests ='
+ for test_name in $instspc_names_list; do
+ echo "instspc_tests += instspc-$test_name-build.test"
+ echo "instspc_tests += instspc-$test_name-install.test"
+ done
+ for test_name in $instspc_xfail_builds_list; do
+ echo "instspc_xfail_tests += instspc-$test_name-build.test"
+ done
+ for test_name in $instspc_xfail_installs_list; do
+ echo "instspc_xfail_tests += instspc-$test_name-install.test"
+ done
+ exit 0
+fi
+
+### If we are still here, we have to run a test ...
+
+# We'll need the full setup provided by `tests/defs'. Temporarly disable
+# the errexit flag, since the setup code might not be prepared to deal
+# with it.
+set +e
+. ./defs || Exit 99
+set -e
+
+eval "instspc_test_string=\${instspc__$instspc_test_name}" || Exit 99
+if test x"$instspc_test_string" = x; then
+ echo "$me: invalid test name: '$instspc_test_name'" >&2
+ Exit 99
+fi
+
+# Skip if this system doesn't support these characters in file names.
+mkdir "./$instspc_test_string" || Exit 77
+
+mkdir sub sub1
+
+cat >> configure.in << 'EOF'
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_OUTPUT
+EOF
+
+: > sub/base.h
+: > sub/nobase.h
+: > sub/base.dat
+: > sub/nobase.dat
+: > sub/base.sh
+: > sub/nobase.sh
+
+cat > source.c << 'EOF'
+int
+main (int argc, char **argv)
+{
+ return 0;
+}
+EOF
+cp source.c source2.c
+
+cat > Makefile.am << 'EOF'
+foodir = $(prefix)/foo
+fooexecdir = $(prefix)/foo
+
+foo_HEADERS = sub/base.h
+nobase_foo_HEADERS = sub/nobase.h
+
+dist_foo_DATA = sub/base.dat
+nobase_dist_foo_DATA = sub/nobase.dat
+
+dist_fooexec_SCRIPTS = sub/base.sh
+nobase_dist_fooexec_SCRIPTS = sub/nobase.sh
+
+fooexec_PROGRAMS = sub/base
+nobase_fooexec_PROGRAMS = sub/nobase
+sub_base_SOURCES = source.c
+sub_nobase_SOURCES = source.c
+
+fooexec_LIBRARIES = sub/libbase.a
+nobase_fooexec_LIBRARIES = sub/libnobase.a
+sub_libbase_a_SOURCES = source.c
+sub_libnobase_a_SOURCES = source.c
+
+.PHONY: test-install-sep
+test-install-sep: install
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.h'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.h'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/base.h'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.dat'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.dat'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/base.dat'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.sh'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.sh'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/base.sh'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase$(EXEEXT)'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase$(EXEEXT)'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/base$(EXEEXT)'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/libnobase.a'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/libnobase.a'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/libbase.a'
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+case $instspc_action in
+ test-build)
+ build=$instspc_test_string
+ dest=`pwd`/sub1
+ ;;
+ test-install)
+ build=sub1
+ dest=`pwd`/$instspc_test_string
+ ;;
+ *)
+ echo "$me: internal error: invalid action '$instspc_action'"
+ Exit 99
+ ;;
+esac
+
+cd "./$build"
+
+../configure --prefix "/$instspc_test_string-prefix"
+$MAKE
+DESTDIR="$dest" file="$instspc_test_string" $MAKE -e test-install-sep
+
+:
diff --git a/tests/instspc.test b/tests/instspc.test
deleted file mode 100755
index 414b3e5..0000000
--- a/tests/instspc.test
+++ /dev/null
@@ -1,187 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2004, 2005 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 installation to directory with shell metacharacters succeed.
-# Original report from James Amundson about file names with spaces.
-# Other characters added by Paul Eggert.
-
-# This is mostly the same input as nobase.test, but we do not use
-# libtool libraries, because Libtool does not preserve space in
-# file names (Issue observed with ltmain.sh (GNU libtool) 1.5a (1.1323
-# 2003/11/10 21:06:47))
-
-
-required='gcc'
-. ./defs || Exit 1
-
-set -e
-
-# Set up files that won't change each time through the loop.
-
-cat >> configure.in <<'EOF'
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_OUTPUT
-EOF
-
-mkdir sub
-
-: > sub/base.h
-: > sub/nobase.h
-: > sub/base.dat
-: > sub/nobase.dat
-: > sub/base.sh
-: > sub/nobase.sh
-
-cat >source.c <<'EOF'
-int
-main (int argc, char **argv)
-{
- return 0;
-}
-EOF
-cp source.c source2.c
-
-cat > Makefile.am << 'EOF'
-foodir = $(prefix)/foo
-fooexecdir = $(prefix)/foo
-
-foo_HEADERS = sub/base.h
-nobase_foo_HEADERS = sub/nobase.h
-
-dist_foo_DATA = sub/base.dat
-nobase_dist_foo_DATA = sub/nobase.dat
-
-dist_fooexec_SCRIPTS = sub/base.sh
-nobase_dist_fooexec_SCRIPTS = sub/nobase.sh
-
-fooexec_PROGRAMS = sub/base
-nobase_fooexec_PROGRAMS = sub/nobase
-sub_base_SOURCES = source.c
-sub_nobase_SOURCES = source.c
-
-fooexec_LIBRARIES = sub/libbase.a
-nobase_fooexec_LIBRARIES = sub/libnobase.a
-sub_libbase_a_SOURCES = source.c
-sub_libnobase_a_SOURCES = source.c
-
-test-install-sep: install
- test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.h'
- test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.h'
- test -f '$(DESTDIR)/$(file)-prefix/foo/base.h'
- test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.dat'
- test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.dat'
- test -f '$(DESTDIR)/$(file)-prefix/foo/base.dat'
- test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.sh'
- test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.sh'
- test -f '$(DESTDIR)/$(file)-prefix/foo/base.sh'
- test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase$(EXEEXT)'
- test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase$(EXEEXT)'
- test -f '$(DESTDIR)/$(file)-prefix/foo/base$(EXEEXT)'
- test -f '$(DESTDIR)/$(file)-prefix/foo/sub/libnobase.a'
- test ! -f '$(DESTDIR)/$(file)-prefix/foo/libnobase.a'
- test -f '$(DESTDIR)/$(file)-prefix/foo/libbase.a'
-EOF
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-# Some control characters that are white space:
-# back space, carriage return, form feed, horizontal tab, line feed, space
-bs=''
-cr='
'
-ff=''
-ht=' '
-lf='
-'
-sp=' '
-
-build_failures=
-install_failures=
-
-for file in \
- '!' '"' '#' '$' '%' '&' \' '(' ')' '*' '+' ',' '-' ':' ';' \
- '<' '=' '>' '?' '@' '[' '\' ']' '^' '`' '{' '|' '}' '~' \
- "$bs" "$cr" "$ff" "$ht" "$lf" "$sp" \
- '@<:@' '@:>@' '@S|@' '@%:@' '@&t@' \
- "a${sp}b" "a${sp}${sp}b" "a${lf}b" ... a:
-do
- for test in build install; do
- case $test in
- build)
- build=$file
- dest=`pwd`/sub1;;
- install)
- build=sub1
- dest=`pwd`/$file;;
- esac
-
- # Make sure this system supports this character in file names.
- mkdir sub1 "./$file" || Exit 77
-
- cd "$build"
-
- ../configure --prefix "/$file-prefix" &&
- $MAKE &&
- DESTDIR=$dest file=$file $MAKE -e test-install-sep ||
- eval "${test}_failures=\"\$${test}_failures$lf\$file\""
-
- cd ..
-
- rm -fr sub1 "./$file"
- done
-done
-
-# The list of the above file names that cannot be used as a build directory
-# on a POSIX host. This list should be empty, but is not due to limitations
-# in Autoconf, Automake, Make, M4, or the shell.
-expected_build_failures='
-"
-#
-$
-&
-'\''
-\
-`
-'"$lf"'
-@&t@
-a'"${lf}"'b'
-
-# Similarly, the list of file names that cannot be used as an install directory
-# on a POSIX host. This list should also be empty.
-expected_install_failures='
-"
-#
-$
-'\''
-`
-'"$lf"'
-a'"${lf}"'b'
-
-fail=0
-for test in build install; do
- eval failures=\$${test}_failures
- case $failures in
- ?*)
- cat >&2 <<EOF
-$0: $test test failed for the following file names:$failures
-EOF
- eval test \"\$failures\" = \"\$expected_${test}_failures\" || fail=1
- esac
-done
-
-Exit $fail
diff --git a/tests/lex3.test b/tests/lex3.test
index 178a54f..c4120cf 100755
--- a/tests/lex3.test
+++ b/tests/lex3.test
@@ -18,7 +18,7 @@
# Test associated with PR 19.
# From Matthew D. Langston.
-required='gcc gzip flex GNUmake'
+required='gcc flex GNUmake'
. ./defs || Exit 1
# Ignore user CFLAGS.
diff --git a/tests/lisp7.test b/tests/lispdry.test
similarity index 78%
copy from tests/lisp7.test
copy to tests/lispdry.test
index cf52527..3bca21a 100755
--- a/tests/lisp7.test
+++ b/tests/lispdry.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2005 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2008, 2010 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
@@ -14,8 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with GNU Automake; see the file COPYING. If not, write to
-# Make sure that lisp_LISP also works when emacs is not installed.
+# Check that `make -n' works with the lisp_LISP recover rule.
+required='emacs non-root'
. ./defs || Exit 1
set -e
@@ -26,7 +27,6 @@ EOF
cat >> configure.in << 'EOF'
AM_PATH_LISPDIR
-EMACS=no # Simulate no emacs.
AC_OUTPUT
EOF
@@ -39,14 +39,22 @@ $AUTOCONF
$AUTOMAKE --add-missing
./configure
-$MAKE >stdout
+$MAKE
-cat stdout
-test 1 -eq `grep 'Warnings can be ignored' stdout | wc -l`
+test -f am-one.elc
+test -f am-two.elc
+test -f am-three.elc
+test -f elc-stamp
+
+rm -f am-*.elc elc-stamp
+
+chmod a-w .
+
+$MAKE -n
test ! -f am-one.elc
test ! -f am-two.elc
test ! -f am-three.elc
-test -f elc-stamp
+test ! -f elc-stamp
-$MAKE distcheck
+:
diff --git a/tests/man4.test b/tests/man4.test
index aa86a9e..de75f83 100755
--- a/tests/man4.test
+++ b/tests/man4.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2010 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
@@ -73,7 +73,7 @@ END
chmod +x foo bar help2man
save_PATH=$PATH
-PATH=`pwd`:$PATH
+PATH=`pwd`$PATH_SEPARATOR$PATH
$ACLOCAL
$AUTOMAKE
diff --git a/tests/missing6.test b/tests/missing6.test
index 3994b85..e543697 100755
--- a/tests/missing6.test
+++ b/tests/missing6.test
@@ -22,7 +22,7 @@ set -e
{
echo 'm4_define([AC_AUTOCONF_VERSION], [9999a])'
- echo 'm4_define([b], [oops])'
+ echo 'dnl!! m4_define([a], [oops])'
cat configure.in
echo AC_OUTPUT
} >configure.ac
@@ -39,10 +39,9 @@ $AUTOMAKE
./configure
$MAKE
-sed 's/\[b\]/[a]/' < configure.ac > configure.tmp
-cmp configure.ac configure.tmp && Exit 1
-
-mv configure.tmp configure.ac
+sed 's/^dnl!! //' < configure.ac > configure.tmp
+cmp configure.ac configure.tmp && Exit 99 # sanity check
+mv -f configure.tmp configure.ac
$MAKE 2>stderr || { cat stderr >&2; Exit 1; }
cat stderr >&2
diff --git a/tests/mkinst3.test b/tests/mkinst3.test
index 6ccabf9..da999d3 100755
--- a/tests/mkinst3.test
+++ b/tests/mkinst3.test
@@ -52,7 +52,7 @@ EOF
chmod +x bin/mkdir
AM_PATH=$PATH
export AM_PATH
-PATH=`pwd`/bin:$PATH
+PATH=`pwd`/bin$PATH_SEPARATOR$PATH
export PATH
# Test mkinstalldirs without mkdir -p.
diff --git a/tests/mmode.test b/tests/mmode.test
index 19f83f1..c5a16c9 100755
--- a/tests/mmode.test
+++ b/tests/mmode.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2010 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
@@ -31,7 +31,6 @@ $ACLOCAL
$AUTOCONF
$AUTOMAKE -a
-./configure --help | grep 'enable-maintainer-mode.*enable make rules'
./configure
grep '^MAINT.*#' Makefile
@@ -51,7 +50,6 @@ sed 's/\(AM_MAINTAINER_MODE\).*/\1([enable])/' configure.in >
configure.int
mv -f configure.int configure.in
$AUTOCONF --force
-./configure --help | grep 'disable-maintainer-mode.*disable make rules'
./configure
grep '^MAINT.*#' Makefile && Exit 1
@@ -64,4 +62,5 @@ grep '^MAINT.*#' Makefile
sed 's/\(AM_MAINTAINER_MODE\).*/\1([foo])/' configure.in > configure.int
mv -f configure.int configure.in
$AUTOCONF --force -Werror && Exit 1
+
:
diff --git a/tests/mmodely.test b/tests/mmodely.test
index 0f9bb3b..fc94d37 100755
--- a/tests/mmodely.test
+++ b/tests/mmodely.test
@@ -1,5 +1,6 @@
#! /bin/sh
-# Copyright (C) 2004, 2006, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2006, 2007, 2009, 2010 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
@@ -82,7 +83,7 @@ cat >mylex.sh <<'END'
echo "$@" >lex.yy.c
END
chmod +x myyacc.sh mylex.sh
-PATH="`pwd`:$PATH"
+PATH="`pwd`$PATH_SEPARATOR$PATH"
# make maintainer-clean; ./configure; make should always work,
# per GNU Standard.
diff --git a/tests/multlib.test b/tests/multlib.test
index 73e9b37..c4b0024 100755
--- a/tests/multlib.test
+++ b/tests/multlib.test
@@ -45,7 +45,7 @@ gcc ${1+"$@"}
END
chmod +x mycc
-PATH=`pwd`:$PATH
+PATH=`pwd`$PATH_SEPARATOR$PATH
cat >Makefile.am <<'EOF'
SUBDIRS = @subdirs@
diff --git a/tests/pr9.test b/tests/pr9.test
index 4638b52..a2e71d7 100755
--- a/tests/pr9.test
+++ b/tests/pr9.test
@@ -23,7 +23,6 @@
# ltconfig, ltmain.sh, mdate-sh, missing, and mkinstalldirs. In fact,
# the entire `support/' directory is omitted.
-required=gzip
. ./defs || Exit 1
set -e
diff --git a/tests/python11.test b/tests/python11.test
index 0f15f37..9163aac 100755
--- a/tests/python11.test
+++ b/tests/python11.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2004, 2006, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2006, 2008, 2010 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
@@ -44,8 +44,8 @@ grep 'no suitable Python interpreter found' stderr
sed 's/AM_PATH_PYTHON/AM_PATH_PYTHON(,,:)/' configure.in >configure.int
mv -f configure.int configure.in
-$ACLOCAL
-$AUTOCONF
+$ACLOCAL --force
+$AUTOCONF --force
# This one should define PYTHON as : and exit succesfully
./configure
diff --git a/tests/txinfo30.test b/tests/txinfo30.test
index 8db42d9..296180d 100755
--- a/tests/txinfo30.test
+++ b/tests/txinfo30.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2005 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2010 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
@@ -41,7 +41,7 @@ EOF
chmod +x makeinfo
-PATH=`pwd`:$PATH
+PATH=`pwd`$PATH_SEPARATOR$PATH
export PATH
$ACLOCAL
diff --git a/tests/vartypo2.test b/tests/vartypo2.test
new file mode 100755
index 0000000..5b87404
--- /dev/null
+++ b/tests/vartypo2.test
@@ -0,0 +1,71 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure we warn about possible variable typos when we should,
+# Libtool variant.
+
+required=libtoolize
+. ./defs || Exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+libfoo_la_SOURCES = unused
+nodist_libfoo_la_SOURCES = unused
+EXTRA_libfoo_la_SOURCES = unused
+libfoo_la_LIBADD = unused
+libfoo_la_DEPENDENCIES = unused
+EXTRA_libfoo_la_DEPENDENCIES = unused
+END
+
+libtoolize
+$ACLOCAL
+AUTOMAKE_fails --add-missing
+# The expected diagnostic is:
+# automake: warnings are treated as errors
+# Makefile.am:3: warning: variable `EXTRA_libfoo_la_SOURCES' is defined but no
program or
+# Makefile.am:3: library has `libfoo_la' as canonical name (possible typo)
+# Makefile.am:1: warning: variable `libfoo_la_SOURCES' is defined but no
program or
+# Makefile.am:1: library has `libfoo_la' as canonical name (possible typo)
+# Makefile.am:2: warning: variable `nodist_libfoo_la_SOURCES' is defined but
no program or
+# Makefile.am:2: library has `libfoo_la' as canonical name (possible typo)
+# Makefile.am:4: warning: variable `libfoo_la_LIBADD' is defined but no
program or
+# Makefile.am:4: library has `libfoo_la' as canonical name (possible typo)
+# Makefile.am:6: warning: variable `EXTRA_libfoo_la_DEPENDENCIES' is defined
but no program or
+# Makefile.am:6: library has `libfoo_la' as canonical name (possible typo)
+# Makefile.am:5: warning: variable `libfoo_la_DEPENDENCIES' is defined but no
program or
+# Makefile.am:5: library has `libfoo_la' as canonical name (possible typo)
+
+
+test -z "`grep 'as canonical' stderr | grep -v ' .libfoo_la. '`"
+test `grep 'variable.*is defined but' stderr | wc -l` = 6
+
+# If we add a global -Wnone, all warnings should disappear.
+$AUTOMAKE -Wnone
+
+# Likewise, if matching programs or libraries are defined.
+cat >>Makefile.am <<'END'
+lib_LTLIBRARIES = libfoo.la
+END
+
+$AUTOMAKE
+
+:
diff --git a/tests/vartypos.test b/tests/vartypos.test
new file mode 100755
index 0000000..73e7c55
--- /dev/null
+++ b/tests/vartypos.test
@@ -0,0 +1,90 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure we warn about possible variable typos when we should.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AC_PROG_RANLIB
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+foo_SOURCES = unused
+nodist_foo_SOURCES = unused
+EXTRA_foo_SOURCES = unused
+foo_LDADD = unused
+foo_LDFLAGS = unused
+foo_DEPENDENCIES = unused
+EXTRA_foo_DEPENDENCIES = unused
+
+libfoo_a_SOURCES = unused
+nodist_libfoo_a_SOURCES = unused
+EXTRA_libfoo_a_SOURCES = unused
+libfoo_a_LIBADD = unused
+libfoo_a_DEPENDENCIES = unused
+EXTRA_libfoo_a_DEPENDENCIES = unused
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+# The expected diagnostic is:
+# automake: warnings are treated as errors
+# Makefile.am:2: warning: variable `nodist_foo_SOURCES' is defined but no
program or
+# Makefile.am:2: library has `foo' as canonical name (possible typo)
+# Makefile.am:1: warning: variable `foo_SOURCES' is defined but no program or
+# Makefile.am:1: library has `foo' as canonical name (possible typo)
+# Makefile.am:9: warning: variable `libfoo_a_SOURCES' is defined but no
program or
+# Makefile.am:9: library has `libfoo_a' as canonical name (possible typo)
+# Makefile.am:10: warning: variable `nodist_libfoo_a_SOURCES' is defined but
no program or
+# Makefile.am:10: library has `libfoo_a' as canonical name (possible typo)
+# Makefile.am:11: warning: variable `EXTRA_libfoo_a_SOURCES' is defined but no
program or
+# Makefile.am:11: library has `libfoo_a' as canonical name (possible typo)
+# Makefile.am:3: warning: variable `EXTRA_foo_SOURCES' is defined but no
program or
+# Makefile.am:3: library has `foo' as canonical name (possible typo)
+# Makefile.am:12: warning: variable `libfoo_a_LIBADD' is defined but no
program or
+# Makefile.am:12: library has `libfoo_a' as canonical name (possible typo)
+# Makefile.am:4: warning: variable `foo_LDADD' is defined but no program or
+# Makefile.am:4: library has `foo' as canonical name (possible typo)
+# Makefile.am:5: warning: variable `foo_LDFLAGS' is defined but no program or
+# Makefile.am:5: library has `foo' as canonical name (possible typo)
+# Makefile.am:14: warning: variable `EXTRA_libfoo_a_DEPENDENCIES' is defined
but no program or
+# Makefile.am:14: library has `libfoo_a' as canonical name (possible typo)
+# Makefile.am:7: warning: variable `EXTRA_foo_DEPENDENCIES' is defined but no
program or
+# Makefile.am:7: library has `foo' as canonical name (possible typo)
+# Makefile.am:6: warning: variable `foo_DEPENDENCIES' is defined but no
program or
+# Makefile.am:6: library has `foo' as canonical name (possible typo)
+# Makefile.am:13: warning: variable `libfoo_a_DEPENDENCIES' is defined but no
program or
+# Makefile.am:13: library has `libfoo_a' as canonical name (possible typo)
+
+test -z "`grep 'as canonical' stderr | grep -v ' .foo. ' | grep -v '
.libfoo_a. '`"
+test `grep 'variable.*is defined but' stderr | wc -l` = 13
+
+# If we add a global -Wnone, all warnings should disappear.
+$AUTOMAKE -Wnone
+
+# Likewise, if matching programs or libraries are defined.
+cat >>Makefile.am <<'END'
+bin_PROGRAMS = foo
+lib_LIBRARIES = libfoo.a
+END
+
+$AUTOMAKE
+
+:
diff --git a/tests/condhook2.test b/tests/yaccdry.test
similarity index 63%
copy from tests/condhook2.test
copy to tests/yaccdry.test
index 45e2d43..d11d3fe 100755
--- a/tests/condhook2.test
+++ b/tests/yaccdry.test
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
# Copyright (C) 2010 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
@@ -14,36 +14,46 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test install when a conditional install-*-hook is defined.
-# Keep this in sync with sister test condhook.test.
+# Removal recovery rules for headers should not remove files with `make -n'.
. ./defs || Exit 1
set -e
cat >> configure.in << 'END'
-AM_CONDITIONAL([TEST], [true])
+AC_PROG_CC
+AC_PROG_YACC
AC_OUTPUT
END
cat > Makefile.am << 'END'
-sysconf_DATA = mumble
-if TEST
-install-data-hook:
- : > $(top_srcdir)/good
-endif
+AM_YFLAGS = -d
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c parse.y
END
-: > mumble
+cat > foo.c << 'END'
+int main () { return 0; }
+END
+
+cat > parse.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
$ACLOCAL
+$AUTOMAKE --add-missing
$AUTOCONF
-$AUTOMAKE
-
-./configure --prefix "`pwd`/inst"
+./configure
+$MAKE
-$MAKE install
-test -f inst/etc/mumble
-test -f good
+rm -f parse.h
+$MAKE -n parse.h
+test -f parse.c
+test ! -f parse.h
:
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, tests-init, updated. v1.11-410-gb191caa,
Stefano Lattarini <=