docs: fix blunder in example about python extension modules
* doc/automake.texi (Python): Use `quaternion_la_SOURCES',
not `quaternion_SOURCES', to declare the sources of python
extension module `quaternion.la'.
Improve tests on generated portions of configure help screen.
* tests/help-depend.test: Grepping of configure help screen
relaxed to cater for possible line wrapping, and tightened in
other respects.
* tests/help-depend2.test: Likewise.
* tests/help-dmalloc.test: Likewise.
* tests/help-lispdir.test: Likewise.
* tests/help-maintainer.test: Likewise.
* tests/help-multilib.test: Likewise.
* tests/help-silent.test: Likewise.
* tests/help-upc.test: Likewise.
* tests/help-init.test: Grepping of configure help screen
tightened.
In some tests on automake-produced silent rules, we forced the
use of gcc depmode to improve testsuite coverage; but this has
unsurprisingly led to spurious failures when some non-GNU C
compilers were used. So we are now careful to require GCC in
tests that force gcc depmode.
From reports by Ralf Wildenhues.
* silent5.test: Test removed, its content split into ...
* silent-many-generic.test, silent-many-gcc.test: ... these new
sister tests, the latter of which forces gcc depmode and lists
"gcc" in $required.
* silentlex.test: Test removed, its content split into ...
* silent-lex-generic.test, silent-lex-gcc.test: ... these new
sister tests, the latter of which forces gcc depmode and lists
"gcc" in $required.
* silentyacc.test: Test removed, its content split into ...
* silent-yacc-generic.test, silent-yacc-gcc.test: ... these new
sister tests, the latter of which forces gcc depmode and lists
"gcc" in $required.
* tests/Makefile.am (TESTS): Updated.
Fix spurious failures of silent5.test with Sun Fortran.
* tests/silent5.test: Strip from the make output some verbose
messages possibly printed by the SunStudio fortran compilers,
to avoid spurious failures. This bug has been there from the
very first version of this test script.
Fix spurious failures of silent-rules tests with Sun Fortran.
* tests/silentf77.test: Strip from the make output some verbose
messages possibly printed by the SunStudio fortran compilers, to
avoid spurious failures. Add a trailing `:' command.
* tests/silentf90.test: Likewise.
Fix regression in colon{5,6}.test (failures on AIX 5.3).
* tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
post-processing the generated Makefile.in, to work around a bug
of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
on the commend line. Calls to `$MAKE' adjusted accordingly.
* tests/colon6.test: Likewise.
Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
improve and/or extend tests `colon*.test", and reported by Ralf
Wildenhues.
* tests/ansi.test: Remove redundant hackish check done using a
hand-postprocessed Makefile.in. This checs worked by setting
the `$(SHELL)' macro on the command line of make, but this is
not supported by the AIX 5.3 make implementation.
This bug has been lurking for a long time, and was activated by
commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
tests". Report by Ralf Wildenhues.
Ralf Wildenhues [Sun, 14 Nov 2010 16:53:49 +0000 (17:53 +0100)]
Fix install-strip when $(STRIP) contains several words.
* lib/am/install.am (install-strip): Update comment. Use
separate sub-make invocations for empty and nonempty $(STRIP),
to fix quoting issues.
* tests/strip2.test, tests/strip3.test: New tests.
* tests/Makefile.am (TESTS): Adjust.
* lib/Automake/VarDef.pm (append): Remove extra backslash-escaped
newlines from the end of the variable's content, before appending
to it.
* tests/pluseq11.test: New test, exposing the bug.
* tests/Makefile.am (TESTS): Update.
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'.
Ralf Wildenhues [Sun, 3 Oct 2010 10:29:40 +0000 (12:29 +0200)]
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.
* 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.
* 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.
* 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.
Ralf Wildenhues [Sun, 3 Oct 2010 09:42:12 +0000 (11:42 +0200)]
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.
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.
* 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.
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.
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".
* .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.
* 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).
* HACKING (Administrivia): Fixed typo `NES' for `NEWS'.
(Naming): Do not refer to a convention dating back to Feb 2001
as "very new". Related rewording.
(Working with Git): Now we require autoconf 2.67 for bootstrap,
so use that version in the examples.
* 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).
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.
* 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.
* 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.
Ralf Wildenhues [Sat, 21 Aug 2010 05:27:12 +0000 (07:27 +0200)]
Improve robustness of mdate-sh script.
* lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
$ls_command is word-split properly upon invocation.
(error): New function.
(main): Use it. Improve error checking to avoid endless loop
in case $ls_command gave bogus output. Fix eval quotation.
* tests/mdate6.test: New test, to expose eval quotation error.
* tests/Makefile.am: Update.
* tests/depcomp3.test: Do not uselessly escape the character `$'
in makefile rules, when it's used to expand a make macro.
* tests/depcomp5.test: Likewise.
Docs: clarify how to avoid automatic dependencies tracking.
* doc/automake.texi (Automatic dependency tracking): Mention that
automatic dependencies tracking is enabled by default, but that
the package developer can disable it altogether. Add a reference
to the proper section for a more in-depth explanation.
* tests/colon.test: Rely on the `configure.in' stub created by
`./defs', rather than writing one from scratch. Do not create
a useless dummy file. Add trailing `:' command.
* tests/colon4.test: Enable the `errexit' shell flag, and
related changes. Rely on the `configure.in' stub created by
`./defs', rather than writing one from scratch.
* tests/colon7.test: Enable `errexit' shell flag, and related
changes. Improve the generated `configure.in' file. Add
trailing `:' command.
* tests/colon2.test: Likewise. Also, add some new checks.
* tests/colon5.test: Improve the generated `configure.in' file.
Add new, much deeper checks. Add trailing `:' command.
* tests/colon6.test: Likewise.
* tests/colon3.test: Improve the generated `configure.in' file.
Prefer perl over pipelined grep. Made stricter. Other changes,
cosmetic and not.
Minor improvements and fixes in tests `depcomp*.test'.
* tests/depcomp.test: Do not create useless dummy source files.
Add a trailing `:' command.
* tests/depcomp2.test: Use `unset' on the CFLAG variable to ensure
it's not in in the environment, rather tthan exporting it with an
empty value. Do not pass CC=gcc to configure, as that's already
done in ./defs since we have gcc in $required. Ensure verbose
printing of captured stderr, and normalize its checking. Add a
trailing `:' command.
* tests/depcomp3.test: Quote literal dots and dollar characters in
grep regexps. Always use `: >' rather than `touch' to create empty
files. Explicitly declare phony targets as such in the created
Makefile.am. Add a trailing `:' command.
* tests/depcomp4.test: Quote literal dots and dollar characters in
grep regexp. Explicitly declare phony targets as such in the
created Makefile.am. Ensure verbose printing of captured makes'
stoud/stderr. Add a trailing `:' command.
* tests/depcomp5.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Quote literal dots
and dollar characters in grep regexps. Explicitly declare phony
targets as such in the created Makefile.am. Add a trailing `:'
command.
* tests/depcomp6.test: Consistenty use m4 quoting in the generated
configure.in. Cosmetic fixes to spacing. Make the "dummy" `if'
statement required by OpenBSD's sh `set -e' more robust, and add
explanatory comments to it.
* tests/depcomp7.test: Likewise, and add a trailing `:' command.
Modernize, improve and extend tests for PR (`pr[0-9]*.test').
* tests/pr2.test: Add trailing `:' command.
* tests/pr229.test: Likewise.
* tests/pr401.test: Likewise.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/pr300-prog.test: Likewise, plus cosmetic changes in
spacing.
* tests/pr300-lib.test: Likewise.
* tests/pr300-ltlib.test: Likewise, and ensure verbose printing
of captured make stdout.
* tests/pr211.test: Add trailing `:' command. Also, use the
`configure.in' stub created by ./defs, rather than writing it
from scratch.
* tests/pr204.test: Likewise, plus cosmetic spacing changes.
* tests/pr287.test: Likewise, and move setting of `errexit' shell
flag earlier in the script (just after inclusion of ./defs).
* tests/pr220.test: Make grepping of Automake's stderr stricter.
Also, add trailing `:' command, and cosmetic changes in spacing.
* tests/pr224.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Do not export
`CC=gcc' to configure explicitly (it's already exported globally
in ./defs, since we have "gcc" in $required). Use the stub for
`configure.in' created by ./defs, rather than writing it from
scratch. Do not create dummy files required by "gnu" mode (e.g.
README, NEWS), since we run automake in foreign mode anyway.
* tests/pr72.test: Enable `errexit' shell flags, and related
changes. Extend existing checks a bit.
* tests/pr9.test: Likewise. Also, avoid obolescent constructs in
the generated `configure.in', and extend existing checks over the
generated tarball a bit.
* tests/pr87.test: Enable `errexit' shell flags, and related
changes. Add a trailing `:' command. Also, do not create dummy
files required by "gnu" mode (e.g. README, NEWS), since we run
automake in foreign mode anyway.
* tests/pr243.test: Avoid obolescent constructs in the generated
`configure.in'. Enable the `errexit' shell flag, and related
changes. Cosmetic changes to spacing, add trailing `:' command,
and add a "FIXME" comment.
* tests/pr266.test: Likewise, and add explicit command line switch
`--enable-dependecy-tracking' to the ./configure call.
* tests/pr279.test: Avoid obolescent constructs in the generated
`configure.in'; also, use the `configure.in' stub created by
./defs, rather than writing it from scratch. Enable `errexit'
shell flag, and related changes. Add trailing `:' command.
* tests/pr279-2.test: Likewise, and make grepping of Makefile.in
stricter.
* tests/pr307.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Escape literal
dots in grep regular expressions. Also, add a trailing `:'
command, and cosmetic changes to spacing.
* tests/asm.test: Use configure.in stub generated by ./defs,
and avoid obsoleted autoconf constructs. Make grepping of
Automake stderr stricter. Do not create useless source file.
Improve verbose messages. Minor cosmetic changes. Tell to
keep it in sync with other sister tests asm*.test.
* tests/asm2.test: Likewise.
* tests/asm3.test: Likewise.
Modernize, improve and/or extend test scripts `conf*.test'.
* tests/confh5.test: Cosmetic changes.
* tests/conff.test: Likewise.
* tests/confdeps.test: Likewise.
* tests/conflnk.test: Likewise.
* tests/conflnk2.test: Likewise.
* tests/confsub.test: Likewise.
* tests/confvar.test: Likewise, and make grepping of Makefile.in
stricter.
* tests/confvar2.test: Likewise.
* tests/conflnk3.test: Cosmetic changes, and re-enable a temporarly
disabled test (which didn't work with autoconf <= 2.59, but now we
are requiring autoconf 2.62, so...)
* tests/conflnk4.test: Cosmetic changes, and extend existing tests
accordingly to "TODO" comments.
* tests/conff2.test: Make grepping of Automake's stderr stricter.
Add some comments explaining why we don't use the `configure.in'
stub preset be ./defs.
* tests/confh.test: Use the `configure.in' stub created by ./defs,
rather than writing one from scratch, and do not call AC_OUTPUT.
Enable `errexit' shell flag, and related changes. Prefer diff over
cmp to compare text files. Prefer perl over sed to fetch the value
of $(DIST_COMMON) from Makefile.in. Make grepping of the contents
of $(DIST_COMMON) stricter.
* tests/confh4.test: Use the `configure.in' stub created by ./defs,
rather than writing one from scratch. Make grepping of Makefile.in
stricter.
* tests/confh5.test: Make grepping of `config.h' stricter. Add a
comment.
* tests/configure.test: Avoid obsolescent constructs in generated
`configure.ac'. Do not write `configure.in' two times. Escape
literal dots in grep regular expressions.
* tests/confincl.test: Enable `errexit' shell flag, and related
changes. Prefer fgrep over grep. Other cosmetic changes.
* tests/config.test: Renamed to ...
* tests/confh6.test: ... this. Fix m4 quoting in `configure.in',
and make grepping of `config.h' and `config.h.in' stricter.
* tests/conf2.test: Renamed ...
* tests/confh7.test: ... to this. Use the `configure.in' stub
created by ./defs, rather than writing one from scratch. Try to
run the checks both with and without AC_PROG_CC and AC_OUTPUT in
`configure.in'.
* tests/Makefile.am (TESTS): Updated.
Tweak, extend and improve tests `cond[a-z]*.test'.
* tests/condd.test: Add trailing `:' command. Typofix in
comment.
* tests/condhook.test: Make sure target `install-data-hook' is
not called by `make install', but that data files are installed.
Use proper m4 quoting in configure.in. Add trailing `:' command.
* tests/condhook2.test: New test, sister test of condhook, with
inverted semantic.
* tests/condinc2.test: Use proper m4 quoting in configure.in.
Prefer trailing `:' command over trailing `Exit 0'.
* tests/condman2.test: Enable errexit shell flag, and related
changes. Add trailing `:' command.
* tests/condman.test: Likewise. Also, do not create useless
dummy manpages, and use proper m4 quoting in configure.in.
* tests/condman3.test: New test, similar to condman.test, but
it also runs ./configure and "make install", and check the
installed files.
* tests/Makefile.am (TESTS): Updated.
* tests/all.test: Keep only (x)failing part of the test. Working
checks moved out to ...
* tests/all2.test: ... this new test.
* tests/Makefile.am (TESTS): Updated.
Modernize, improve and extend tests `subobj*.test'.
* tests/subobjname.test: Add trailing `:' command.
* tests/subobj.test: Make grepping of `Makefile.in' stricter.
Escape literal dots in grep regexps.
* tests/subobj2.test: Add trailing `:' command. Do not use the
unportable fgrep option `-e'.
* tests/subobj3.test: Add trailing `:' command.
(configure.in): Use proper m4 quoting, and avoid obsolescent
constructs.
* tests/subobj8.test: Likewise. Also, enable `errexit' shell
flag, with related changes
* tests/subobj4.test: Likewise. Also, make grepping of
`Makefile.in' stricter.
* tests/subobj5.test: Add trailing `:' command. Move setting of
`errexit' shell flag earlier in the script (just after inclusion
of ./defs).
(configure.in): Use the stub created by `./defs', rather than
writing it from scratch, and avoid obsolescent constructs.
* tests/subobj6.test: Add trailing `:' command. Move setting of
`errexit' shell flag earlier in the script (just after inclusion
of ./defs). Do not create useless dummy ac-init file `f'.
* tests/subobj7.test: Do not create useless dummy ac-init file
`f'.
(configure.in): Use the stub created by `./defs', rather than
writing it from scratch, and avoid obsolescent constructs.
* tests/subobj9.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Fail the test if
`make distcheck' fails. Ensure verbose printing of captured make
stdout. Avoid uselsss fork by doing simple grep instead of using
test -n "`COMMAND | grep ...`".
(configure.in): Normalize the call to AC_INIT w.r.t. other tests.
(Makefile.am): Explicitly mark target "print" as phony.
* tests/subobj10.test: Removed duplicated call to `set -e'. Add
trailing `:' command.
(configure.in): Normalize the call to AC_INIT w.r.t. other tests.
* bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
since we don't generate it. Correctly quote arguments of
`eval' builtin. Fixed a botched error message. Removed an
extra blank line.
Bootstrap: let the user choose which autoconf to use.
* bootstrap ($AUTOCONF): New variable, from the environment.
($AUTOM4TE): Likewise, for clarity.
Use "$AUTOCONF" instead of calling "autoconf" directly.
* HACKING: Add some missing fullstops in sentences. Remove
some extra empty lines, for consistency.
(Test suite): Add pointer to `tests/README'.
(Admistrivia): Tell to mention important bug fixes in NEWS.
* doc/automake.texi (Debugging Make Rules): Show command to find
out expanded values of variables; point to makefile debugger.
* THANKS: Update.
Prompted by suggestion from Ludovic Courtès and Andy Wingo.