Tim Landscheidt [Fri, 23 Mar 2012 21:41:19 +0000 (21:41 +0000)]
docs: fix some small typos and grammaros
* doc/automake.texi (Using the TAP test protocol): Here ...
* tests/tap-doc2.test: ... and here.
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 23 Mar 2012 08:13:11 +0000 (09:13 +0100)]
maint: update TODO file
We don't have to make creation of $(foodir) conditional when
foo_PRIMARY is conditionally defined; that has been solved in
a more sweeping way by commit v1.11-759-g368f1c4 of March 18,
which solved bug#11030 and bug#10997.
The "check" target already depends on the "all" target.
Remove comment "investigate problems with conditionally defined
libraries"; it is aimed at automake 1.5 (!) and too terse and old
to be useful now.
Remove the 12 years old suggestion that "distcheck should make sure
that each file that uses _() is listed in POTFILES.in"; this is
handled by gnulib-provided syntax check 'sc_po_check' already today.
Don't tell to "Run automake before libtool"; automake does not
automatically run libtool anymore today.
Remove hint about the possibility to "rewrite automake in guile" or
"add a GUI": we are not going to do so.
The automatic de-ANSI-fication feature has already been remove, so
no need to suggest its potential removal in the future.
Remove reference to a prospective "cvs" option that could add some
cvs-specific rules. First of all, CVS is falling out of use today.
Secondly, and most to the point, instead of guessing which VCS
is going to be most popular and try to hack support for it into
automake, we should leave it to developer-specific makefile
fragments offered by projects like Gnulib to provide such rules
(they are already doing so with succcess).
About DOS support: it should actually be dropped, not extended.
Add link about Karl Berry's proposal of preferring HTML over Info
documentation installed in the local system:
<http://lists.gnu.org/archive/html/texinfo-devel/2012-03/msg00018.html>
Remove items about "beautification" of output Makefile.in; they
are pretty obvious, and mostly noise (after all, everybody prefers
clean output where possible). Leave it to any developer doing
future refactorings to find out low-hanging and/or high-impact
optimizations and beatifications of the generated Makefiles.
Remove item about internationalization: we're not going to
implement it.
Remove an item explicitly marked as "not that it matters".
The order of files in a distribution tarball does not really
matter, nobody has ever complained about it, so do not worry
about it.
Remove the suggestions about allowing hierarchy of dirs to share
one aclocal.m4 and about printing full file name of Makefile.am
or configure.in when giving error, in order to help very large
trees: nobody has ever complained about the current behaviours,
so no real need to change them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 21 Mar 2012 19:46:06 +0000 (20:46 +0100)]
fixup: bootstrapping issues with 'list-of-tests.mk'
* tests/list-of-tests.mk: This file is expected to be executed
directly with make from the bootstrap script, so we can't use
Automake '##' comments after line continuations.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 21 Mar 2012 19:35:24 +0000 (20:35 +0100)]
Merge branch 'maint'
* maint:
maint: move definition of XFAIL_TESTS near TESTS
Actually, after the trivial merge conflicts have been solved, what
this change actually does is moving the definition of XFAIL_TESTS
near that of handwritten_TESTS. But the rationale is the same of
that of commit 'v1.11-761-gabf40ce' (being merged here), and still
works, so all is good.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 21 Mar 2012 19:30:52 +0000 (20:30 +0100)]
maint: move definition of XFAIL_TESTS near TESTS
The $(TESTS) variable is defined in file 'tests/list-of-tests.mk',
while the $(XFAIL_TESTS) variable is defined in 'tests/Makefile.am'.
This means that when a new xfailing test is to be added, two files
must be touched; this is suboptimal and slightly confusing.
* tests/Makefile.am (XFAIL_TESTS): Definition moved ...
* tests/list-of-tests.mk: ... here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 19 Mar 2012 08:07:55 +0000 (09:07 +0100)]
tests: fix spurious failures caused by uses of 'configure.in'
Issue introduced by the recent merges of maint into master, and
revealed by "make maintainer-check".
* tests/aclocal-install-fail.test: Likewise.
* tests/aclocal-install-mkdir.test: Likewise.
* tests/aclocal-verbose-install.test: Likewise.
* tests/installdir.test: Likewise.
* tests/instdir-cond2.test: Likewise.
* tests/instdir-no-empty.test: Likewise.
* tests/python-pr10995.test: Likewise.
* tests/aclocal-no-install-no-mkdir.test: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 18 Mar 2012 21:31:45 +0000 (22:31 +0100)]
Merge branch 'maint'
* maint:
install-mans: avoid spurious failure with NetBSD make
install: don't create empty dirs when an empty 'foo_PRIMARY' is used
aclocal: remove a couple of useless imports
aclocal: create local directory where to install m4 files
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 18 Mar 2012 21:19:45 +0000 (22:19 +0100)]
install-mans: avoid spurious failure with NetBSD make
* lib/am/mans.am: After the changes introduced by previous commit
v1.11-759-g368f1c4, some manpage installation recipes started to
fail spuriously on NetBSD 5.1 make. Apparently, the system make
there eats backslashes used to escape whitespace characters in the
relevant recipes. Revert to slightly slower but safer idioms that
avoid the need of such escaping.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 16 Mar 2012 22:48:53 +0000 (23:48 +0100)]
install: don't create empty dirs when an empty 'foo_PRIMARY' is used
Fixes automake bug#11030 and bug#10997.
An empty declaration of "foo_PRIMARY" in a Makefile.am used to
cause the generated install rules to create the directory $(foodir)
anyway, even if nothing was to be installed there.
While this could be seen as a convenient way to create a $(foodir)
directory upon "make install" (respecting $(DESTDIR) settings and
such), it also caused problems with conditionals; for example, an
input of:
if FALSE
pgkdata_DATA = something
endif
caused the generated install rules to unconditionally create the
$(pkgdatadir) directory (see automake bug#10997).
Also, a user wanting to create an empty directory upon installation
can easily do so with a custom install hook, as in:
installdirs-local:
$(MKDIR_P) $(DESTDIR)$(foodir)
install-data-hook: installdirs-local
On the other hand, the old behavior of "always create $(foodir),
even if 'foo_PRIMARY' is empty" was harder and more tricky to
override.
Thus, from now on, an empty declaration of "foo_PRIMARY" will not
cause the directory $(foodir) to be created upon "make install"
anymore.
* lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am,
lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am,
lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid
creating an installation directory if no files are actually to be
installed there.
* tests/instdir-empty.test: Remove, it was testing a semantic
opposite to the one we now want and implement.
* tests/instdir-no-empty.test: New test, check the new semantic.
* tests/instdir-cond.test: Enhance. Move the still-failing part
of the test ...
* tests/instdir-cond2.test: ... here.
* tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update.
* tests/java3.test: Adjust to avoid spurious failures.
* HACKING, NEWS, THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 17 Mar 2012 08:43:35 +0000 (09:43 +0100)]
aclocal: remove a couple of useless imports
* aclocal.in (File::stat, Cwd): Remove these imports, they are not
really required.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 15 Mar 2012 15:50:40 +0000 (16:50 +0100)]
aclocal: create local directory where to install m4 files
Fixes automake bug#8168 and bug#10816.
A call like "aclocal -I m4 --install" used to fail if the 'm4'
directory wasn't pre-existing. This could be particularly
annoying when running in a checked-out version from a VCS like
git, which doesn't allow empty directories to be tracked.
* aclocal.in (File::Path): New import.
(scan_m4_dirs): Don't die if the first directory of type FT_USER
doesn't exist and the '--install' option was given; that directory
will be created later ...
(install_file): ... here. Change signature of this function: now
it takes as second argument the destination directory rather than
the destination file. Crate the destination directory if it
doesn't already exist. In verbose mode, tell what is being copied
where.
(write_aclocal): Update to the changes in 'install_file'.
* NEWS, THANKS: Update.
* tests/aclocal-install-fail.test: New test.
* tests/aclocal-install-mkdir.test: Likewise.
* tests/aclocal-no-install-no-mkdir.test: Likewise.
* tests/aclocal-verbose-install.test: Likewise.
* tests/list-of-tests.mk: Add them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 15 Mar 2012 08:16:46 +0000 (09:16 +0100)]
Merge branch 'maint'
* maint:
python: avoid failures due to $(am__py_compile) being undefined
python: expose automake bug#10995
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Steven Drake [Thu, 15 Mar 2012 08:12:00 +0000 (09:12 +0100)]
python: avoid failures due to $(am__py_compile) being undefined
Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf.
* lib/am/python.am: Move the definition of 'am__py_compile' to
ensure it is always emitted in the output Makefile.in. Previously,
this wouldn't have happened if the input Makefile.am contained a
'noinst_PYTHON' declaration before a 'python_PYTHON' one.
* tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and
'python.test'.
* NEWS: Update.
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 15 Mar 2012 08:00:12 +0000 (09:00 +0100)]
python: expose automake bug#10995
* tests/python.test: Expose the bug in grepping tests.
* tests/python-noinst.test: New functional test to expose the
bug.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Add the new test and the
extended one.
* THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 14 Mar 2012 21:48:22 +0000 (22:48 +0100)]
tests: one more use of 'unindent' function
* tests/yacc-d-cxx.test (write_parse, write_main): Use 'unindent'
instead of ad-hoc sed invocation to strip extra leading whitespace.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 14 Mar 2012 21:45:16 +0000 (22:45 +0100)]
tests: remove redundant 'set -e' calls
* tests/dist-pr109765.test: Do not set the 'errexit' shell flag,
as it is already set by 'tests/defs'.
* tests/instdir-cond.test: Likewise.
* tests/instdir-empty.test: Likewise.
* tests/lex-clean-cxx.test: Likewise.
* tests/lex-clean.test: Likewise.
* tests/lex-depend-cxx.test: Likewise.
* tests/lex-depend.test: Likewise.
* tests/lex-line.test: Likewise.
* tests/lex-nodist.test: Likewise.
* tests/lex-pr204.test: Likewise.
* tests/silent-lex.test: Likewise.
* tests/silent-yacc-headers.test: Likewise.
* tests/silent-yacc.test: Likewise.
* tests/vala-mix2.test: Likewise.
* tests/yacc-auxdir.test: Likewise.
* tests/yacc-bison-skeleton-cxx.test: Likewise.
* tests/yacc-bison-skeleton.test: Likewise.
* tests/yacc-clean-cxx.test: Likewise.
* tests/yacc-cxx.test: Likewise.
* tests/yacc-d-cxx.test: Likewise.
* tests/yacc-deleted-headers.test: Likewise.
* tests/yacc-depend.test: Likewise.
* tests/yacc-depend2.test: Likewise.
* tests/yacc-line.test: Likewise.
* tests/yacc-mix-c-cxx.test: Likewise.
* tests/yacc-weirdnames.test: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 14 Mar 2012 21:29:59 +0000 (22:29 +0100)]
Merge branch 'maint'
* maint:
tests: avoid spurious failures in get-sysconf.test
scripts: bump the depcomp scriptversion
sync: some auxiliary files synced from upstream
coverage: an empty foo_PRIMARY should create directory $(foodir)
coverage: make sure am__py_compile is defined when needed
coverage: expose automake bug#10997
coverage: expose automake bug#10975
getopt: relax version requirement for perl
+ Extra non-trivial edits:
* tests/dist-pr109765.test: Use 'configure.ac', not 'configure.in'.
* tests/instdir-cond.test: Likewise.
* tests/instdir-empty.test: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 14 Mar 2012 21:22:40 +0000 (22:22 +0100)]
tests: fix spurious failure with older m4
Reported by Panther Martin in automake bug#10866, diagnosed by
Panther Martin and Eric Blake.
Older GNU m4 versions (e.g., 1.4.6) did error reporting at the end
of an error construct rather than the beginning. This was causing
a spurious testsuite failure due to an off-by-one error in the line
number reported in an aclocal diagnostic.
* tests/cond41.test: Keep all the body of the 'AM_COND_IF'
invocation on a single line, to avoid the off-by-one error.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 10 Mar 2012 07:49:55 +0000 (08:49 +0100)]
tests: avoid spurious failures in get-sysconf.test
This change fixes the last bit of automake bug#10866.
* tests/get-sysconf.test: When Homebrew spawns a build, even if
from a project's VCS, it stages the files in a new temporary
directory, instead of building directly from a VCS checkout.
This behaviour was causing a spurious failure in this test, which
expected to find either a ChangeLog file or a .git directory in
the source directory (the former happening when the test was run
from a distribution tarball, the latter when it was run from a
git checkout). The Homebrew issue shows that these expectations
are not truly warranted, so relax the test to just give a warning,
not a failure, in case they do not hold. Since we are at it, fix
an unrelated weakness in the displaying of the git log, which
could have failed when the builddir was not a subdirectory of the
srcdir.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin [Mon, 12 Mar 2012 15:58:55 +0000 (16:58 +0100)]
scripts: bump the depcomp scriptversion
* lib/depcomp (scriptversion): Bump, to account for recent changes.
Stefano Lattarini [Mon, 12 Mar 2012 14:10:39 +0000 (15:10 +0100)]
sync: some auxiliary files synced from upstream
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
* lib/gnupload: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 12 Mar 2012 13:41:04 +0000 (14:41 +0100)]
coverage: an empty foo_PRIMARY should create directory $(foodir)
For example, a Makefile.am containing the definition:
pkgdata_DATA =
should cause the 'install' rule of the generated Makefile.in to
create the '$(pkgdatadir)' directory (respecting any DESTDIR
setting as well).
Suggestion by Peter Breitenlohner in automake bug#10997.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 12 Mar 2012 11:15:47 +0000 (12:15 +0100)]
coverage: make sure am__py_compile is defined when needed
See automake bug#10995.
* tests/python.test: Also make sure 'am__py_compile' is defined
correctly in the generated Makefile.in.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Daiki Ueno [Mon, 12 Mar 2012 10:46:04 +0000 (11:46 +0100)]
coverage: expose automake bug#10997
* tests/instdir-cond.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 9 Mar 2012 20:35:04 +0000 (21:35 +0100)]
coverage: expose automake bug#10975
* tests/dist-pr10975.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
Stefano Lattarini [Wed, 7 Mar 2012 22:26:24 +0000 (23:26 +0100)]
getopt: relax version requirement for perl
* lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former
is enough. See also commit 'v1.11-2054-g7df05a0' on master (dated
04-03-2012).
Stefano Lattarini [Wed, 7 Mar 2012 21:15:44 +0000 (22:15 +0100)]
Merge branch 'maint'
* maint:
cosmetics: fix repeated changelog entry heading
Stefano Lattarini [Wed, 7 Mar 2012 21:14:47 +0000 (22:14 +0100)]
cosmetics: fix repeated changelog entry heading
Peter Rosin [Wed, 7 Mar 2012 20:08:08 +0000 (21:08 +0100)]
Merge branch 'maint'
Peter Rosin [Wed, 7 Mar 2012 20:08:06 +0000 (21:08 +0100)]
Merge branch 'msvc' into maint
This merge remedies the confusing situation that some changes
destined for both the master branch and the release branch (a.k.a.
branch-1.11) currently needs to be made on the non-obvious msvc
branch and not on the more natural maint branch. This has caused
a seemingly endless string of less than optimal commits.
The reason for the confusion stems from the fact that the changes made
on the msvc branch became too radical and was considered only suitable
for the master branch, and was thus written in a form suitable for
master and then merged there. Later, the msvc branch was merged
directly into branch-1.11, in order to rush the new features to the
market and to keep the released scripts (lib/ar-lib, lib/compile and
lib/depcomp) consistent with those on the master branch. However,
some changes had to be made to the features added by the msvc branch
in order for them to fit the requirements of branch-1.11, notably that
the warnings issued in the extra-portability class cannot be enabled
by -Wall in the 1.11.x maintenance releases.
In retrospect, it would have been better to not merge msvc directly
into branch-1.11, but instead do it via the maint branch (followed up
with a dummy merge from maint into master) the moment it was decided
that the msvc changes should make it into branch-1.11.
All in all, this merge is going to affect neither the master branch
nor branch-1.11, since it is followed up with dummy merges masking all
changes. The merge is made to maintain the sanity of the poor
developers, who wishes to once again have a working maint branch.
Discussion about merging the msvc branch into branch-1.11:
http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html
Discussion about why this merge hasn't happened before:
http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html
Extra edits below.
* lib/Automake/ChannelDefs.pm: Use the version from branch-1.11.
* tests/ar-lib3.test: Likewise.
* tests/ar-lib4.test: Likewise.
* tests/extra-portability.test: Likewise.
* tests/extra-portability2.test: Likewise.
* tests/extradep.test: Likewise.
* tests/extradep2.test: Likewise.
* tests/list-of-tests.mk: Likewise.
* HACKING: Backport the version from branch-1.11 while at it (as the
change on branch-1.11 is also present on master via an unrelated
commit), even though this change has nothing to do with the changes
on the msvc branch.
Stefano Lattarini [Wed, 7 Mar 2012 07:59:59 +0000 (08:59 +0100)]
tests: remove useless sleep from tests on remake rules
The sleeps were there to make generated autotools files strictly
newer than their sources; however, this is not necessary, since
POSIX mandates that make considers files with the same timestamp
of their dependencies to be up-to-date.
* tests/remake9a.test: Remove useless $sleep.
* tests/remake9b.test: Likewise.
* tests/remake9c.test: Likewise.
* tests/remake9d.test: Likewise.
* tests/remake10a.test: Likewise.
* tests/remake10b.test: Likewise.
* tests/remake10c.test: Likewise.
Stefano Lattarini [Wed, 7 Mar 2012 07:23:45 +0000 (08:23 +0100)]
Merge branch 'msvc' into master (dummy merge)
Stefano Lattarini [Wed, 7 Mar 2012 07:20:26 +0000 (08:20 +0100)]
Merge branch 'maint' into msvc
* maint:
news: describe recently-fixed bug in vala support
depcomp: add support for IBM xlc/xlC compilers
Stefano Lattarini [Tue, 6 Mar 2012 21:03:50 +0000 (22:03 +0100)]
Merge remote-tracking branch 'origin/master'
Stefano Lattarini [Tue, 6 Mar 2012 21:03:22 +0000 (22:03 +0100)]
Merge branch 'maint'
* maint:
news: describe recently-fixed bug in vala support
depcomp: add support for IBM xlc/xlC compilers
Stefano Lattarini [Tue, 6 Mar 2012 20:44:57 +0000 (21:44 +0100)]
news: describe recently-fixed bug in vala support
* NEWS (Long-standing bugs): Document fix for bug#10894, fixed
by commit 'v1.11-696-g51f61df' of 27-02-2012.
Michael Hofmannm [Mon, 5 Mar 2012 19:05:37 +0000 (20:05 +0100)]
depcomp: add support for IBM xlc/xlC compilers
* lib/depcomp (xlc): New depmode.
* NEWS, THANKS: Update.
Copyright-paperwork-exempt: yes
Peter Rosin [Tue, 6 Mar 2012 13:19:10 +0000 (14:19 +0100)]
tests: do not clobber the $CC set by AM_PROG_CC_C_O
If $CC is originally a losing compiler, AM_PROG_CC_C_O will
modify $CC. "$MAKE -e" will then clobber this modified $CC
and reintroduce the raw losing compiler causing the test
to fail, as subdir-objects is in effect.
* tests/yacc-dist-nobuild-subdir.test: Drop -e from the $MAKE
invocations. This is safe since DISTCHECK_CONFIGURE_FLAGS is not
specified in the Makefile and since the YACC override is carried
over from the configure invocation into the Makefile making it
redundant to specifiy it again in the environment for $MAKE.
Peter Rosin [Tue, 6 Mar 2012 08:50:09 +0000 (09:50 +0100)]
tests: explicitly state that our lexers do not require unistd.h
By default, GNU flex generates code that is dependent on unistd.h,
which is not portable to non-ANSI systems causing spurious test
failures.
* tests/cond35.test (tscan.l): Define YY_NO_UNISTD_H.
* tests/lex-clean.test (lexer.l): Likewise.
* tests/lex-depend.test (joe.l): Likewise.
* tests/lex-lib-external.test (foo.l): Likewise.
* tests/lex-lib.test (foo.l): Likewise.
* tests/lex-libobj.test (foo.l): Likewise.
* tests/lex-line.test (zardoz.l): Likewise.
* tests/lex-nodist.test (lexer.l): Likewise.
* tests/lex-noyywrap.test (foo.l): Likewise.
* tests/lex-pr204.test (lexer.l): Likewise.
* tests/lex-subobj-nodep.test (subl/sl.l): Likewise.
* tests/lex3.test (foo.l): Likewise.
* tests/lex5.test (foo/foo.l): Likewise.
* tests/lexvpath.test (lexer.l): Likewise.
* tests/silent-lex.test (foo.l): Likewise.
* tests/silent-many-gcc.test (foo5.l): Likewise.
* tests/silent-many-generic.test (foo5.l): Likewise.
* tests/lex-clean-cxx.test (parsefoo.lxx): Likewise. Also specify
the never-interactive option to prevent usage of the non-ANSI
function isatty(3) (from unistd.h).
* tests/lex-depend-cxx.test (joe.ll): Likewise.
* tests/README: Describe these quirks.
Peter Rosin [Tue, 6 Mar 2012 08:31:43 +0000 (09:31 +0100)]
Merge branch 'msvc'
* msvc:
scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
Peter Rosin [Tue, 6 Mar 2012 08:14:50 +0000 (09:14 +0100)]
scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
POSIX mandates that the compiler accepts a space between the -I,
-l and -L options and their respective arguments. See
http://pubs.opengroup.org/onlinepubs/
000095399/utilities/c99.html
* lib/compile (func_cl_dashl): New function with factored out code
for implementing the -l option for the cl wrapper.
(func_cl_dashL): New function with factored out code implementing
the -L option for the cl wrapper.
(func_cl_wrapper): Use func_cl_dashl to implement both -l <lib>
and -l<lib>, and func_cl_dashL to implement both -L <dir> and
-L<dir>. Also add support for -I <dir>.
(scriptversion): Update.
* tests/compile3.test: Test both with and without a space between
-I, -l and -L and their respective arguments.
* tests/compile5.test: Likewise.
* tests/compile6.test: Likewise.
* tests/compile3.test: Likewise.
* NEWS: Update.
Stefano Lattarini [Sun, 4 Mar 2012 15:00:58 +0000 (16:00 +0100)]
maint: drop 'Automake::Struct' module
Now that we require Perl 5.6, we can drop the 'Automake::Struct'
module, which was basically just a backport of Perl 5.6's
'Class::Struct' to Perl 5.5.
* automake.in: Use 'Class::Struct', not 'Automake::Struct'.
* lib/Automake/Struct.pm: Delete.
* lib/Automake/Makefile.am (dist_perllib_DATA): Remove it.
Stefano Lattarini [Sun, 4 Mar 2012 14:44:46 +0000 (15:44 +0100)]
maint: require perl 5.6 throughout
That version of perl is quite old already, so it should be OK to
require it. More importantly, it is the older perl versions the
developers can currently use for testing, thus it's safer and more
honest to just require it throughout. And anyway, we were already
requiring it in Automake::Getopt, which implied that both automake
and aclocal wouldn't have worked in practice with an older perl
version.
See also the discussion related to automake bug#10925.
* lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6.
* lib/Automake/Channels.pm: Likewise.
* lib/Automake/Condition.pm: Likewise.
* lib/Automake/Configure_ac.pm: Likewise.
* lib/Automake/DisjConditions.pm: Likewise.
* lib/Automake/FileUtils.pm: Likewise.
* lib/Automake/General.pm: Likewise.
* lib/Automake/Item.pm: Likewise.
* lib/Automake/ItemDef.pm: Likewise.
* lib/Automake/Location.pm: Likewise.
* lib/Automake/Options.pm: Likewise.
* lib/Automake/Rule.pm: Likewise.
* lib/Automake/RuleDef.pm: Likewise.
* lib/Automake/Struct.pm: Likewise.
* lib/Automake/VarDef.pm: Likewise.
* lib/Automake/Variable.pm: Likewise.
* lib/Automake/Version.pm: Likewise.
* lib/Automake/Wrap.pm: Likewise.
* lib/Automake/XFile.pm: Likewise.
Stefano Lattarini [Sun, 4 Mar 2012 12:02:57 +0000 (13:02 +0100)]
cosmetics: remove useless escaping for "'" character
Stefano Lattarini [Sun, 4 Mar 2012 11:56:54 +0000 (12:56 +0100)]
test defs: remove redundant and unused requirements
* tests/defs (xsi-bin-sh, xsi-shell): Remove these requirements,
they have never been used.
(cygpath, cscope): Recognizing these explicitly is mostly redundant;
just merge them with the default "catch all" rule, and adjust that
accordingly.
(bzip2): Adjust some outdated comments.
Stefano Lattarini [Fri, 2 Mar 2012 20:53:52 +0000 (21:53 +0100)]
tests: fix spurious failure on case-insensitive file systems
See automake bug#10866.
* tests/java-uninstall.test: Relax the test a little to cater to
case-insensitive file systems, like HFS+ on MacOS X.
Stefano Lattarini [Fri, 2 Mar 2012 22:06:02 +0000 (23:06 +0100)]
news: more about planned backward incompatibilities
* NEWS (Future backward-incompatibilities): Starting from the next
major Automake versions, the parallel testsuite driver will be used
by default, instead of the serial testsuite driver as in the past.
Stefano Lattarini [Fri, 2 Mar 2012 21:50:21 +0000 (22:50 +0100)]
maintcheck: fix few spurious failures
* syntax-checks.mk: Fix some spurious failures by tightening and/or
tweaking few checks so that some false positives end up whitelisted.
Stefano Lattarini [Fri, 2 Mar 2012 21:24:35 +0000 (22:24 +0100)]
tests: fix spurious failure due to exported MAKEINFO
* tests/txinfo30.test: Unset variable MAKEINFO, as its content could
take precedence over our faked makeinfo script and cause a spurious
failure. Reported as part of automake bug#10866. Add trailing ':'
command since we are at it.
Stefano Lattarini [Fri, 2 Mar 2012 21:07:58 +0000 (22:07 +0100)]
tests: fix spurious failure in a vala test
* tests/vala-mix2.test: Append to 'configure.ac' rather than to
'configure.in'. Reported as part of automake bug#10866, and also
revealed by "make maintainer-check".
Stefano Lattarini [Sun, 26 Feb 2012 13:17:36 +0000 (14:17 +0100)]
self checks: relax tests on cleanup
Some find(1) implementations have problems operating recursively on
directories having subdirectories with null permissions, even when
the permissions of such subdirectory should be fixed by find before
it descends into them; for example, with this setup:
% mkdir a a/b
% chmod 000 a/b
a command like this:
% find a -type d ! -perm -700 -exec chmod u+rwx '{}' ';'
fails with this diagnostic on MacOS X 10.7:
find: a/b: Permission denied
and with this diagnostic on Solaris 10:
find: cannot read dir a/b: Permission denied
The problem is that our self checks were simply demanding too much
from our cleanup trap: our tests never use subdirectories with null
permissions, so it doesn't matter if the cleanup trap fails to
handle those. Just relax the self checks to avoid such useless
testsuite noise.
* tests/self-check-cleanup.tap: Only try directories missing
write permissions, not with null permission. That should be
enough for our usages.
Peter Rosin [Fri, 2 Mar 2012 15:38:08 +0000 (16:38 +0100)]
Merge branch 'msvc'
* msvc:
news: add entry about recent 'ar-lib' changes
Peter Rosin [Fri, 2 Mar 2012 15:27:31 +0000 (16:27 +0100)]
news: add entry about recent 'ar-lib' changes
* NEWS: Add information about recent 'ar-lib' changes.
Peter Rosin [Thu, 1 Mar 2012 08:30:45 +0000 (09:30 +0100)]
scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
* lib/ar-lib: Implement the "q" (quick) action as a synonym
for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol
index) when used as modifiers and "s" when used as a command,
there is simply no way for Microsoft lib to not update the
symbol table index in the archive.
(scriptversion): Update.
* tests/ar-lib.test: Check the added behavior. Also add checks
for the recently added "u" (update) and "v" (verbose) modifiers.
Peter Rosin [Fri, 2 Mar 2012 10:49:18 +0000 (11:49 +0100)]
Merge branch 'fix-vala-test'
* fix-vala-test:
tests: fix (harmless) botched merge
Peter Rosin [Fri, 2 Mar 2012 10:48:41 +0000 (11:48 +0100)]
tests: fix (harmless) botched merge
Commit v1.11-1750-g9928ea5 of 2012-01-16 (Merge branch 'maint')
reordered the macro calls so that AM_PROG_AR ended up after
AC_PROG_LIBTOOL, which is not allowed. This error went by
undetected since AC_PROG_LIBTOOL was redefined, but that also
removed the ordering requirement making the error benign.
* tests/vala.test: Put AM_PROG_AR before AC_PROG_LIBTOOL.
Peter Rosin [Fri, 2 Mar 2012 10:04:05 +0000 (11:04 +0100)]
Merge branch 'maint' into msvc
Peter Rosin [Thu, 1 Mar 2012 08:30:45 +0000 (09:30 +0100)]
scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
* lib/ar-lib: Implement the "q" (quick) action as a synonym
for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol
index) when used as modifiers and "s" when used as a command,
there is simply no way for Microsoft lib to not update the
symbol table index in the archive.
(scriptversion): Update.
* tests/ar-lib.test: Check the added behavior. Also add checks
for the recently added "u" (update) and "v" (verbose) modifiers.
Peter Rosin [Wed, 29 Feb 2012 19:21:30 +0000 (20:21 +0100)]
tests: do not try to use ar(1) when $AR points to something else
* tests/libobj10.test: Move the archive listing commands to the
Makefile, so that $AR - as determined by configure - can be
used.
* tests/libobj17.test: Likewise.
Peter Rosin [Wed, 29 Feb 2012 19:20:17 +0000 (20:20 +0100)]
tests: make tests behave for the AR=lib case
These below tests were left mostly as-is when AM_PROG_AR was
introduced (with libobj16b being the exception, that test was
forgotten or has regressed since), in a misguided attempt to
not make them diverge from the original problem reports.
Modernize them so that they do not FAIL when $AR is Microsoft
'lib'.
* tests/libobj16b.test: Add AM_PROG_AR to configure.ac and remove
the no-longer-needed -Wno-extra-portability option when invoking
automake.
* tests/pr300-lib.test: Likewise.
* tests/pr300-ltlib.test: Likewise.
* tests/pr307.test: Likewise.
* tests/pr401.test: Likewise. Also fetch the 'ar-lib' script.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
Stefano Lattarini [Wed, 29 Feb 2012 18:50:18 +0000 (19:50 +0100)]
Merge branch 'maint'
* maint:
vala: fix 'valac' calls for projects with mixed Vala/C
vala: expose automake bug#10894
Dave Goodell [Tue, 28 Feb 2012 19:49:22 +0000 (13:49 -0600)]
tests: fix spurious failure with Portland Compilers
* tests/silent-many-generic.test (configure.ac): Be more careful
in the workaround to avoid spurious failures with C++ compilers
containing the string "CC" in their names; this avoids spurious
failures with at least the Sun Studio C++ compiler (when named
"sunCC") and the Portland Group C++ Compiler ("pgCC").
Also handle arguments with whitespace correctly in the 'am--cxx'
temporary wrapper.
* THANKS: Update.
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Copyright-paperwork-exempt: yes
Stefano Lattarini [Tue, 28 Feb 2012 19:07:34 +0000 (20:07 +0100)]
tests: fix spurious failure when dependency tracking is unavailable
Report by Dave Goodell. See automake bug#8880.
* tests/yacc-dist-nobuild.test: Run the sanity check that aims at
ensuring we really cover the expected code paths in a new build
directory, to avoid spurious failures when automatic dependency
tracking is disabled.
Stefano Lattarini [Mon, 27 Feb 2012 20:48:03 +0000 (21:48 +0100)]
vala: fix 'valac' calls for projects with mixed Vala/C
Fixes automake bug#10894.
* automake.in (lang_vala_finish_target): Strip non-vala files
from the dependencies of vala stamps, and from the invocation
of valac compiler. Related refactorings.
* tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'.
Stefano Lattarini [Mon, 27 Feb 2012 20:16:22 +0000 (21:16 +0100)]
vala: expose automake bug#10894
* tests/vala-mix2.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
* THANKS: Update.
Stefano Lattarini [Mon, 27 Feb 2012 08:34:29 +0000 (09:34 +0100)]
cosmetics: remove a duplicated copyright line
* tests/list-of-tests.mk: Remove a duplicated copyright line.
Stefano Lattarini [Mon, 27 Feb 2012 08:28:47 +0000 (09:28 +0100)]
coverage: --program-transform shouldn't transform too much
Stemmed from a report by Vladimir 'φ-coder/phcoder' Serbinenko:
<http://lists.gnu.org/archive/html/automake/2012-02/msg00025.html>
* tests/transform3.test: New test, checking that --program-transform
does not transform too much stuff (in particular, pkglibexecdir,
pgklibdir and pkgdatadir).
* tests/list-of-tests.mk: Add it.
* THANKS: Update.
Stefano Lattarini [Sun, 26 Feb 2012 12:31:00 +0000 (13:31 +0100)]
tests: avoid spurious failure (line too long in awk)
* tests/parallel-tests-many.test: Use perl, not awk, to write the
Makefile.am with (deliberately) overly long TESTS content, as some
inferior awk implementations (e.g., Solaris 10 /usr/bin/awk) are
unable to handle the long lines used there and die with errors like:
"awk: string too long near line 5".
Stefano Lattarini [Sun, 26 Feb 2012 12:10:19 +0000 (13:10 +0100)]
tests: avoid spurious failures when awk is "traditional awk"
* tests/Makefile.am (do_subst): Also substitute '@AWK@'.
* tests/defs-static.in ($AWK): New, user-overridable and defaulting
to the substituted '@AWK@'.
* tests/defs (fetch_tap_driver): When the shell+awk implementation
of the TAP driver is required, export AM_TAP_AWK to point to a
properly capable awk, since the default awk might be a "traditional"
implementation, which won't be enough for our driver. This is the
right fix, since a proper setting of AM_TAP_AWK in the driver's
environment is expected (and documented to be required) in real
world uses of 'tap-driver.sh'.
Stefano Lattarini [Sun, 26 Feb 2012 10:22:32 +0000 (11:22 +0100)]
tests: avoid many spurious failures for shells with busted 'set -e'
Some versions of the BSD Korn shell wrongly bail out when the
'errexit' shell flag is active and the left-hand command in a
"&&" list fails and that list is the *last* command of an entry
in a "case" statement.
* tests/defs (gcc, g++, gcj): Work around that.
Stefano Lattarini [Wed, 22 Feb 2012 09:12:02 +0000 (10:12 +0100)]
aclocal: don't create /usr/share/aclocal as empty
Related to automake bug#10791.
Since automake 1.11.2, aclocal no longer succeeds if the system
acdir '${datadir}/aclocal' (i.e., "/usr/share/aclocal" when
${prefix} is "/usr") does not exist. So we now have a directory
*installed empty by default*, but whose existence is required by
aclocal in order for it to function at all. This might be
confusing, and sounds like asking for trouble in the long term.
So we now also install a simple README file in that directory,
which briefly explains its purpose and warn that its existence
is required by the normal aclocal functioning.
* m4/acdir/README: New file.
* m4/Makefile.am (dist_system_ac_DATA): Add it.
* m4/acdir/.placeholder: Delete, no more needed.
* m4/Makefile.am (EXTRA_DIST): Remove it.
* THANKS: Update.
Stefano Lattarini [Sat, 25 Feb 2012 21:01:17 +0000 (22:01 +0100)]
hacking: document format for git commit messages
* HACKING (Writing a good commit message): New section.
(Working with git): A related minor adjustment.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 25 Feb 2012 13:38:22 +0000 (14:38 +0100)]
docs: improve 'dist-hook' documentation
* doc/automake.texi (The dist Hook): Explicitly document the fact
that the dist-hook should account for the case where the source
tree is read-only, mostly for the benefit of distcheck. Since
we are at it, do some minor unrelated rewordings, and remove
obsolescent advice. Motivated by the discussion on automake
bug#10878.
* tests/disthook.test: New test.
* tests/disthook-perms.test: Delete as obsolete.
* tests/list-of-tests.mk: Adjust.
Stefano Lattarini [Sat, 25 Feb 2012 10:11:33 +0000 (11:11 +0100)]
docs: improve "make distcheck" documentation
* doc/automake.texi (Checking the Distribution): The fact that
"make distcheck" uses a read-only srcdir wasn't documented clearly
enough here. Fix that. Since we are at it, be more explicit
about the steps undertaken by "make distcheck", and re-organize
this section a bit. Motivated by the discussion on automake
bug#10878.
(distcleancheck): Rename this node (in the "FAQ" section) ...
(Errors with distclean): ... to this.
Add a proper "FIXME" comment.
Stefano Lattarini [Sat, 25 Feb 2012 08:43:51 +0000 (09:43 +0100)]
cosmetics: proper capitalization and full stops in 'm4/depend.m4'
Stefano Lattarini [Fri, 24 Feb 2012 17:34:04 +0000 (18:34 +0100)]
coverage: dist-hook and distcheck-hook can modify file permission
See automake bug#10878.
* tests/dist-hook-perms.test: New test, checking that the user can
use the 'dist-hook' target to modify permissions of distributed
files before putting them in the distribution tarball.
* tests/distcheck-writable-srcdir.test: New test, checking that the
user can use 'distcheck-hook' to ensure his packages is built by
"make distcheck" with a writable srcdir. This goes against the GNU
Coding Standards, but some package authors might not care about
them too much, and it's nice to support their use case too.
* tests/list-of-tests.mk: Add them.
Jim Meyering [Sat, 25 Feb 2012 11:37:25 +0000 (12:37 +0100)]
tests: avoid spurious failure when gcj is not installed
Since yesterday's commit, v1.11-2019-g4d2bf42,
the gcj4 test would fail when gcj is not installed.
* tests/defs-static.in (GNU_GCJ, GNU_GCJFLAGS): Define.
* tests/Makefile.am (do_subust): Add those to the list of
substituted symbols.
Stefano Lattarini [Fri, 24 Feb 2012 14:22:25 +0000 (15:22 +0100)]
tests: look for GNU Java compiler at configure time
Do this for consistency with what is done with other compilers.
* configure.ac: Look for GNU java compiler at configure time.
* tests/defs (gcj): Adjust and simplify.
($am__tool_prefix): Remove definition, it's not used anymore.
Stefano Lattarini [Fri, 24 Feb 2012 13:35:06 +0000 (14:35 +0100)]
refactor: in Automake::Options (no semantic change)
* lib/Automake/Options.pm: Prefer leading spaces to leading tabs
throughout. Minor whitespace and comment changes.
(_process_option_list): Simple refactoring to make the code more
pleasant to read and easier to modify in the future. This
refactoring also reduces code duplication, with the help of ...
(_option_must_be_from_configure, _is_valid_easy_option): ... these
new internal subroutines.
* tests/tar3.test: Enhance.
* tests/silent-amopts.test: New, checks that automake complains if
the 'silent-rules' option is used in AUTOMAKE_OPTIONS.
* tests/list-of-tests.mk: Add it.
Stefano Lattarini [Fri, 24 Feb 2012 12:27:53 +0000 (13:27 +0100)]
cosmetics: typofixes and whitespace changes
* configure.ac: Fix a typo in comments.
* aclocal.in: Get rid of latest form-feed (^L) usages.
* automake.in: Likewise.
Stefano Lattarini [Wed, 22 Feb 2012 21:39:03 +0000 (22:39 +0100)]
tests: looks for GNU compilers at configure time
This way, if the generic C compiler determined configure time is
recognized to be the GNU C compiler, we can reuse it instead of
looking for a compiler named "gcc" (over and over again) in the
test scripts requiring the GNU C compiler. Ditto for the C++,
Fortran, and Fortran 77 compilers.
This change will improve coverage by allowing us to more easily
use non-default GNU compilers throughout the testsuite.
And as a bonus, this change also removes a weakness from our
testsuite that could cause spurious failures when flags passed
to the generic compilers were erroneously reused for the GNU
compilers; see automake bug#10859.
* configure.ac: Look for the GNU compilers explicitly. Improve
some configure output and diagnostic since we are at it.
* tests/defs-static.in ($GNU_CC, $GNU_CXX, $GNU_FC, $GNU_F77):
Initialize with the values determined at configure time (while
allowing user overrides).
* tests/Makefile.am (do_edit): Also substitute the configure-time
values of GNU_CC, GNU_CXX, GNU_FC and GNU_F77.
* tests/defs (gcc, g++, gfortran, g77): Use the values for the GNU
compilers determined at configure time (i.e., $GNU_CC for the GNU
C compiler, and so on).
Stefano Lattarini [Thu, 23 Feb 2012 22:56:38 +0000 (23:56 +0100)]
docs, news: document planned removal of obsolete macros and features
* NEWS (Future backward-incompatibilities): Document planned removal
of several superseded and/or obsoleted macros, of the $(mkdir_p)
variable and @mkdir_p@ substitution, and of the support for the
two- or three-arguments invocation forms of AM_INIT_AUTOMAKE.
* doc/automake.texi: Likewise.
Stefano Lattarini [Thu, 23 Feb 2012 23:00:35 +0000 (00:00 +0100)]
docs: remove reference to lzma support, it has been removed
Support for lzma compression in distribution tarball has been
removed in commit 'v1.11-1674-g02e9072' of 01-01-2012, "dist:
remove support for lzma (superseded by xz and lzip)", but was
still documented in the manual.
* doc/automake.texi: Remove references to the 'dist-lzma' option
and to the lzma compression support.
Stefano Lattarini [Thu, 23 Feb 2012 22:34:08 +0000 (23:34 +0100)]
cosmetics: fixlet in comment in automake
* automake.in ($configure_dist_common): In the associated comment,
refer to scanning of 'configure.ac', not 'configure.in'.
Stefano Lattarini [Thu, 23 Feb 2012 21:47:42 +0000 (22:47 +0100)]
maint: assume 'test -x' is portable
* lib/Makefile.am (installcheck-local): To verify that the installed
scripts are actually executable, simply use 'test -x', instead of
resorting to perl and its '-x' file operator. Today, 'test -x'
should today be portable to any non-museum system. Since we are at
it, improve diagnostic in case of failure.
Stefano Lattarini [Thu, 23 Feb 2012 21:36:49 +0000 (22:36 +0100)]
deptrack: avoid few forks in configure (minor optimization)
* m4/depend.m4 (_AM_DEPENDENCIES): Use 'echo > file' instead of
'touch file' to ensure the creation of a dummy file. Adjust the
comment that explains why we can't simply use ': > file': the
problem this latter idiom tickles is present also with Solaris 10
/bin/sh, not merely with Solaris 8 /bin/sh.
Stefano Lattarini [Thu, 23 Feb 2012 21:06:14 +0000 (22:06 +0100)]
maintcheck: remove an obsolete check
* syntax-checks.mk (sc_perl_local_no_parens): Remove, we don't even
allow the use of local but for the '$_' and '$~' special variables.
(syntax_check_rules): Adjust.
Stefano Lattarini [Thu, 23 Feb 2012 21:00:49 +0000 (22:00 +0100)]
news: update w.r.t. change in quoting format
* NEWS (New in 1.11.1a): State that we prefer to quote 'like this'
or "like this" rather than `like this', as according to the new GCS
recommendations.
Stefano Lattarini [Thu, 23 Feb 2012 19:50:41 +0000 (20:50 +0100)]
automake: do not quote `like this', as per GCS recommendation
* automake.in: Convert comments, diagnostic and help screen to the
use of new quoting format 'like this' or "like this" rather than
`like this'.
* tests/stdlib2.test: Adjust.
* tests/ltinstloc.test: Likewise.
* tests/location.test: Likewise.
* tests/libtool8.test: Likewise.
* tests/ldadd.test: Likewise, and prefer trailing ':' over trailing
'Exit 0'.
Stefano Lattarini [Thu, 23 Feb 2012 19:41:10 +0000 (20:41 +0100)]
aclocal: do not quote `like this', as per GCS recommendation
* aclocal.in: Convert comments, diagnostic and help screen
to the use of new quoting format 'like this' or "like this"
rather than `like this'.
Stefano Lattarini [Thu, 23 Feb 2012 19:25:26 +0000 (20:25 +0100)]
pm: do not quote `like this', as per GCS recommendation
This patch converts the internal perl modules used by automake and
aclocal to the use of new quoting format 'like this' or "like this"
rather than `like this'.
* lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm,
lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm,
lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm,
lib/Automake/General.pm, lib/Automake/Item.pm,
lib/Automake/Rule.pm, lib/Automake/Getopt.pm,
lib/Automake/Options.pm, lib/Automake/Struct.pm,
lib/Automake/VarDef.pm, lib/Automake/Variable.pm,
lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and
adjust quoting format throughout, in comments and diagnostic.
Some minor related rewordings and reformatting since we are
at it.
Stefano Lattarini [Thu, 23 Feb 2012 18:36:20 +0000 (19:36 +0100)]
m4: do not quote `like this', as per GCS recommendation
This patch converts the files comprising the automake's own build
system to the use of new quoting format 'like this' or "like this"
rather than `like this'.
* m4/auxdir.m4, m4/ccstdc.m4, m4/depend.m4, m4/depout.m4, m4/tar.m4,
m4/init.m4, m4/maintainer.m4, m4/make.m4, m4/missing.m4, m4/vala.m4,
m4/mkdirp.m4, m4/sanity.m4, m4/silent.m4, m4/strip.m4: Update and
adjust quoting format throughout, in comments and diagnostic. Some
minor related rewordings and reformatting since we are at it. Bump
serial numbers.
Stefano Lattarini [Thu, 23 Feb 2012 18:21:00 +0000 (19:21 +0100)]
build: do not quote `like this', as per GCS recommendation
This patch converts the files implementing the automake's own build
system to the use of new quoting format 'like this' or "like this"
rather than `like this'.
* bootstrap, configure.ac, syntax-checks.mk, Makefile.am,
lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting
format throughout, in comments and diagnostic. Some minor related
rewordings and reformatting since we are at it.
Stefano Lattarini [Thu, 23 Feb 2012 14:40:31 +0000 (15:40 +0100)]
hacking: update advice w.r.t. release process
* HACKING: Don't describe the obsolete 'git-release' target anymore.
Instead, document the new and improved targets 'git-tag-release' and
'git-upload-release' (introduced in commit v1.11-674-gaf5f939 of
25-01-2012, "release: revamp rules to tag and upload the releases").
Stefano Lattarini [Thu, 23 Feb 2012 14:27:36 +0000 (15:27 +0100)]
hacking: do not quote `like this', as per GCS recommendation
* HACKING: Quote 'like this' or "like this", not `like this'. This
is done for consistency with the new recommendations in the GNU
Coding Standards, and because I've come to actually prefer the '...'
and "..." quoting format over the `...' one.
Stefano Lattarini [Thu, 23 Feb 2012 14:15:26 +0000 (15:15 +0100)]
am: do not quote `like this', as per GCS recommendation
This patch converts the automake-provided '*.am' fragments, and
related files, to the use of new quoting format 'like this' or
"like this" rather than `like this'.
* lib/am/check.am: Update quoting format throughout, in comments
and diagnostic. Some related rewordings, reformatting, and removal
of redundant commands since we are at it.
* lib/am/configure.am: Likewise.
* lib/am/dejagnu.am: Likewise.
* lib/am/depend2.am: Likewise.
* lib/am/distdir.am: Likewise.
* lib/am/inst-vars.am: Likewise.
* lib/am/install.am: Likewise.
* lib/am/lang-compile.am: Likewise.
* lib/am/lisp.am: Likewise.
* lib/am/ltlib.am: Likewise.
* lib/am/mans.am: Likewise.
* lib/am/progs.am: Likewise.
* lib/am/remake-hdr.am: Likewise.
* lib/am/subdirs.am: Likewise.
* lib/am/tags.am: Likewise.
* lib/am/texi-vers.am: Likewise.
* lib/am/texibuild.am: Likewise.
* lib/am/texinfos.am: Likewise.
* lib/am/yacc.am: Likewise.
Stefano Lattarini [Thu, 23 Feb 2012 12:07:57 +0000 (13:07 +0100)]
tests: quote 'like this', not `like this', as per GCS recommendation
This patch converts the automake testsuite and related files, to
the use of new quoting format 'like this' or "like this" rather
than `like this'.
This is done for consistency with the new recommendations in the GNU
Coding Standards, and, well, because I've come to actually prefer
the '...' and "..." quoting formats over the `...' one.
* tests/README: Update quoting format throughout. Remove some
"excessive" use of quoting, and throw in minor rewording where
appropriate.
* tests/Makefile.am: Likewise, for comments.
* tests/CheckListOfTests.am: Likewise.
* tests/defs-static.in: Likewise.
* tests/defs: Likewise.
* tests/trivial-test-driver: Likewise.
* Many tests/*.tap, tests/*.test and tests/*.sh files: Likewise,
and for the diagnostic and informational messages as well.
* tests/gen-testsuite-part: Likewise, and for the generated tests
as well.
Stefano Lattarini [Wed, 22 Feb 2012 13:27:17 +0000 (14:27 +0100)]
spy: "rm -f" and "rm -rf" without args are portable
According to recent testing by Eric Blake, it seems that all
non-museum rm(1) implementations don't complain if called without
file operands, *if* the '-f' option is used. This behaviour will
likely be mandated by future versions of the POSIX standard as
well.
We'd like to start assuming this rm(1) behaviour in future Automake
releases, in order to simplify some automake-provided cleanup rules.
So, for the moment, we add a new "spy" test in our test suite, to
try ensuring that all the rm(1) implementation we encounter "in the
wild" truly behaves as expected in this regard.
For more references, see this discussion on the bug-autoconf list:
<http://lists.gnu.org/archive/html/bug-autoconf/2012-02/msg00002.html>
which sprang from coreutils bug#10819:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10819>
and brought to the POSIX issue#542:
<http://austingroupbugs.net/view.php?id=542>
which has been accepted and will ensure that future version of the
POSIX standards will mandate that 'rm' shouldn't complain if called
without file operands, when the '-f' option is in use.
* tests/spy-rm.test: New test.
* tests/list-of-tests.mk: Add it.
Stefano Lattarini [Wed, 22 Feb 2012 11:30:38 +0000 (12:30 +0100)]
tests: avoid spurious failures under "make distcheck"
* tests/tap-setup.sh: Pass also '-f' option to 'cp' invocations,
so that files that have already been copied in without write
permissions will still be overwritten where needed, instead of
causing a spurious testsuite failure. Issue seen when the
testsuite is run under "distcheck".
* tests/defs (get_shell_script): Remove target file before
overwriting it, for the same reason. Rework code flow a bit
since we are at it.
Stefano Lattarini [Wed, 22 Feb 2012 10:30:54 +0000 (11:30 +0100)]
fixup: avoid spurious failure for 'parallel-tests-many.test'
* tests/parallel-tests-many.test: Adjust grepping of "make check"
and "make recheck" output to match the new format of the testsuite
summary. Remove redundant 'set -e' call since we are at it.