platform/upstream/automake.git
12 years agoMerge branch 'msvc'
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

12 years agoscripts: 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.

12 years agomaint: drop 'Automake::Struct' module
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.

12 years agomaint: require perl 5.6 throughout
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.

12 years agocosmetics: remove useless escaping for "'" character
Stefano Lattarini [Sun, 4 Mar 2012 12:02:57 +0000 (13:02 +0100)]
cosmetics: remove useless escaping for "'" character

12 years agotest defs: remove redundant and unused requirements
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.

12 years agotests: fix spurious failure on case-insensitive file systems
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.

12 years agonews: more about planned backward incompatibilities
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.

12 years agomaintcheck: fix few spurious failures
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.

12 years agotests: fix spurious failure due to exported MAKEINFO
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.

12 years agotests: fix spurious failure in a vala test
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".

12 years agoself checks: relax tests on cleanup
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.

12 years agoMerge branch 'msvc'
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

12 years agonews: 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.

12 years agoscripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
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.

12 years agoMerge branch 'fix-vala-test'
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

12 years agotests: 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.

12 years agoMerge branch 'maint' into msvc
Peter Rosin [Fri, 2 Mar 2012 10:04:05 +0000 (11:04 +0100)]
Merge branch 'maint' into msvc

12 years agoscripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
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.

12 years agotests: do not try to use ar(1) when $AR points to something else
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.

12 years agotests: make tests behave for the AR=lib case
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.

12 years agoMerge branch 'maint'
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

12 years agotests: fix spurious failure with Portland Compilers
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

12 years agotests: fix spurious failure when dependency tracking is unavailable
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.

12 years agovala: fix 'valac' calls for projects with mixed Vala/C
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'.

12 years agovala: expose automake bug#10894
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.

12 years agocosmetics: remove a duplicated copyright line
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.

12 years agocoverage: --program-transform shouldn't transform too much
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.

12 years agotests: avoid spurious failure (line too long in awk)
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".

12 years agotests: avoid spurious failures when awk is "traditional awk"
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'.

12 years agotests: avoid many spurious failures for shells with busted 'set -e'
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.

12 years agoaclocal: don't create /usr/share/aclocal as empty
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.

12 years agohacking: document format for git commit messages
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>
12 years agodocs: improve 'dist-hook' documentation
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.

12 years agodocs: improve "make distcheck" documentation
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.

12 years agocosmetics: proper capitalization and full stops in 'm4/depend.m4'
Stefano Lattarini [Sat, 25 Feb 2012 08:43:51 +0000 (09:43 +0100)]
cosmetics: proper capitalization and full stops in 'm4/depend.m4'

12 years agocoverage: dist-hook and distcheck-hook can modify file permission
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.

12 years agotests: avoid spurious failure when gcj is not installed
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.

12 years agotests: look for GNU Java compiler at configure time
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.

12 years agorefactor: in Automake::Options (no semantic change)
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.

12 years agocosmetics: typofixes and whitespace changes
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.

12 years agotests: looks for GNU compilers at configure time
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).

12 years agodocs, news: document planned removal of obsolete macros and features
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.

12 years agodocs: remove reference to lzma support, it has been removed
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.

12 years agocosmetics: fixlet in comment in automake
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'.

12 years agomaint: assume 'test -x' is portable
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.

12 years agodeptrack: avoid few forks in configure (minor optimization)
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.

12 years agomaintcheck: remove an obsolete check
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.

12 years agonews: update w.r.t. change in quoting format
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.

12 years agoautomake: do not quote `like this', as per GCS recommendation
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'.

12 years agoaclocal: do not quote `like this', as per GCS recommendation
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'.

12 years agopm: do not quote `like this', as per GCS recommendation
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.

12 years agom4: do not quote `like this', as per GCS recommendation
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.

12 years agobuild: do not quote `like this', as per GCS recommendation
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.

12 years agohacking: update advice w.r.t. release process
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").

12 years agohacking: do not quote `like this', as per GCS recommendation
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.

12 years agoam: do not quote `like this', as per GCS recommendation
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.

12 years agotests: quote 'like this', not `like this', as per GCS recommendation
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.

12 years agospy: "rm -f" and "rm -rf" without args are portable
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.

12 years agotests: avoid spurious failures under "make distcheck"
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.

12 years agofixup: avoid spurious failure for 'parallel-tests-many.test'
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.

12 years agotests: prefer 'configure.ac' over 'configure.in'
Stefano Lattarini [Tue, 21 Feb 2012 18:47:36 +0000 (19:47 +0100)]
tests: prefer 'configure.ac' over 'configure.in'

With this change, our testsuite now uses 'configure.ac' as the
name for the typical autoconf input, instead of the obsolescent
'configure.in' (which has been deprecated for several years, at
least since autoconf 2.50).

Most of the test cases changed by this commit have been
automatically modified with this sed command (using GNU
sed):

  sed -i 's/\<configure\(\\\?\)\.in\>/configure\1.ac/g'

* syntax-checks.mk (sc_tests_no_configure_in): New syntax check.
(syntax_check_rules): Add it.
* tests/defs: Create stub for autoconf input in 'configure.ac',
not in 'configure.in'.  Adjust comments.
($AUTOCONF, $AUTOHEADER, $AUTORECONF): Remove workaround for the
infamous debian autoconf wrapper: we don't need such workaround
anymore now that we name our autoconf input as 'configure.ac'.
For more information, see commit v1.11-564-g63da492 "test defs:
hack to support autoconf-wrapper programs" of 16-12-2011.
* tests/README: Use 'configure.ac', not 'configure.in'.
* Many many tests: Likewise.
* tests/backcompat3.test: Adjust to avoid spurious failures.
* tests/backcompat5.test: Likewise.
* tests/missing6.test: Likewise.
* tests/backcompat6.test: Likewise, and extend a bit since we
are at it.

12 years agocoverage: expose automake bug#7868
Stefano Lattarini [Wed, 28 Dec 2011 21:37:44 +0000 (22:37 +0100)]
coverage: expose automake bug#7868

Expose the command-line length limit issue that can affect the
Automake-generated parallel-tests harness, especially on systems
where this limit is smaller (e.g., MinGW/MSYS).

Suggestion by Bob Friesenhahn.

* tests/parallel-tests-many.test: New test.  We have verified that
it actually exposes the bug#7868, as it passes when we opportunely
reduce the number of test cases in $(TESTS).  Checked on NetBSD 5.1
64bit, Debian unstable 32bit, Solaris 10 64bit and Cygwin 1.5 32bit.
* tests/list-of-tests.mk (handwritten_TESTS): Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.

12 years agotests: remove obsoleted "icc" requirement
Stefano Lattarini [Tue, 21 Feb 2012 21:19:16 +0000 (22:19 +0100)]
tests: remove obsoleted "icc" requirement

* tests/defs (icc): This requirement is not used anymore by any
test case, so remove it.

12 years agoreadme: fix typo in tests/README
Stefano Lattarini [Tue, 21 Feb 2012 18:23:50 +0000 (19:23 +0100)]
readme: fix typo in tests/README

12 years agotests: "make installcheck" shouldn't run the testsuite twice
Stefano Lattarini [Tue, 21 Feb 2012 13:06:25 +0000 (14:06 +0100)]
tests: "make installcheck" shouldn't run the testsuite twice

* Makefile.am (installcheck-local): Remove.  The "installcheck"
target provided by automake is already a recursive target, so
there's no need to have an 'installcheck-local' recipe that
manually recurse into 'tests/'.  In fact, such a manual recursion
was causing the testsuite to be run twice by "make installcheck".

12 years agonews: minor fixlets and reorganization
Stefano Lattarini [Tue, 21 Feb 2012 12:33:27 +0000 (13:33 +0100)]
news: minor fixlets and reorganization

* NEWS: Get rid of form-feed characters (^L) throughout the file.
Use separator lines instead (composed by 76 '~' characters), or
just an extra blank lines for older less verbose entries (those
predating the 1.8 release).
(New in 1.11.3): Move description of planned future backward
incompatibilities that won't make it to 1.12 ...
(New in 1.11a): ... in here.  Quote 'like this', not `like this'.
Other minor miscellaneous rewordings and fixlets.

12 years agocosmetics: few typofixes
Stefano Lattarini [Tue, 21 Feb 2012 09:03:17 +0000 (10:03 +0100)]
cosmetics: few typofixes

12 years agoautomake: new option 'serial-tests'
Stefano Lattarini [Mon, 20 Feb 2012 17:33:50 +0000 (18:33 +0100)]
automake: new option 'serial-tests'

Currently, automake offers a 'parallel-tests' option to enable the
use of the parallel testsuite harness in the generated Makefiles,
but no option to explicitly state the intention of using the older
serial testsuite driver (which is currently the default).

This makes the parallel test harness seems like a second-class
citizen (while actually it should be the other way around); more
importantly, it will prevent us from making the parallel harness
be the default one in future automake versions, since the users
of the serial harness would then have no way to instruct automake
to continue using it.

We solve all of this by introducing a new 'serial-tests' option.

* lib/Automake/Options.pm (_process_option_list): Recognize the
new option, and related minor refactoring.
* tests/serial-tests.test: New test.
* tests/list-of-tests.mk: Add it.
* doc/automake.texi: Update.
* NEWS: Likewise.

12 years agotests: fix a timestamp issue, and other minor buglets
Stefano Lattarini [Mon, 20 Feb 2012 13:04:46 +0000 (14:04 +0100)]
tests: fix a timestamp issue, and other minor buglets

Reported by Panther Martin in automake bug#10848.

* tests/conffile-leading-dot.test: Add a proper '$sleep' invocation,
to avoid spurious failures on fast systems without sub-second
timestamp resolutions.  Add other minor related and unrelated
improvements and fixlets since we are at it.

12 years agoautomake: new option to print location of scripts and data files
Stefano Lattarini [Sun, 19 Feb 2012 17:43:28 +0000 (18:43 +0100)]
automake: new option to print location of scripts and data files

With this change, we add a new automake option '--print-libdir'
that prints (on stdout) the path of the directory containing the
Automake-provided scripts (e.g., 'missing' and 'install-sh') and
data files (e.g., INSTALL or texinfo.tex).

Suggestion by Nick Bowler.  See also automake bug#10473.

* automake.in (parse_arguments): Handle the new option.
(usage): Mention it.
* doc/automake.texi (automake Invocation): Document it.
* NEWS: Update.
* tests/print-dir.test: New test.
* tests/list-of-tests.mk: Add it.

12 years agodocs: prefer the awk+sh TAP driver over the perl one
Stefano Lattarini [Sun, 19 Feb 2012 16:12:55 +0000 (17:12 +0100)]
docs: prefer the awk+sh TAP driver over the perl one

We had completed our shell+awk implementation of the TAP driver
months ago, but never documented it in the manual, continuing to
document only the "prototype" written in perl instead.  Time to
fix this, before the 1.12 release.

* doc/automake.texi (Use TAP with the Automake test harness): Now
we document the use of the awk+shell implementation of our TAP
driver, rather than of the perl one.
* tests/tap-doc2.test: Adjust to use the shell+awk implementation
of the TAP driver.

12 years agotests: be stricter in determining whether "make -jN" works
Stefano Lattarini [Sun, 19 Feb 2012 13:53:53 +0000 (14:53 +0100)]
tests: be stricter in determining whether "make -jN" works

* tests/parallel-tests3.test: With at least Solaris 10 CCS make,
"make -jN" does not fail, but merely prints a warning about
"DistributedMake -j option" being ignored.  This was causing this
test case to fail spuriously.  So we now use a stricter check in
determining whether make works in parallel mode.  Since we are at
it, we try to cater also to Sun Distributed make, which understands
"-j N" but *not* "-jN".

12 years agotests: don't trust exit status of "make -k"
Stefano Lattarini [Sun, 19 Feb 2012 10:48:08 +0000 (11:48 +0100)]
tests: don't trust exit status of "make -k"

* tests/parallel-tests-extra-programs.test: Unless $MAKE is GNU
make, don't trust the exit status of "$MAKE -k".  Fixes a spurious
failure with OpenBSD 5.0 make and NetBSD 5.1 make.

12 years agotests: fix race condition in 'self-check-dir.tap'
Stefano Lattarini [Sun, 19 Feb 2012 10:00:45 +0000 (11:00 +0100)]
tests: fix race condition in 'self-check-dir.tap'

* tests/self-check-dir.tap (do_check): Don't fail if "ls -l" fails.

12 years agoparallel-tests: fix another BSD parallel make issue
Stefano Lattarini [Sat, 18 Feb 2012 12:59:26 +0000 (13:59 +0100)]
parallel-tests: fix another BSD parallel make issue

When BSD make is run in parallel mode, it apparently strips any
leading directory component from the automatic variable '$*' (of
course, against what POSIX mandates).  This was causing FreeBSD 9.0
make and NetBSD 5.1 make to spuriously fail with automake-generated
test harnesses if subdir tests were present *and* make was being
run in parallel mode.  This issue affected also the Automake own
testsuite.

* lib/am/check2.am (am__set_b): New internal variable.
(%OBJ%, %EXT%.log, %EXT%$(EXEEXT).log): Use it to work around
the described BSD make issue.
* tests/parallel-tests3.test: Enhanced to expose the bug.
* tests/parallel-tests-subdir.test: Enhance a little, since we
are at it.
* NEWS: Update.

12 years agotests: avoid FreeBSD make VPATH issues in more tests (see bug#7884)
Stefano Lattarini [Sat, 18 Feb 2012 08:47:57 +0000 (09:47 +0100)]
tests: avoid FreeBSD make VPATH issues in more tests (see bug#7884)

See also similar change 'v1.11-755-g818bc40' of 07-02-2012,
"tests: work around bug#7884 in many yacc/lex tests".  The
rationale for this change is basically the same.

* tests/lex-lib-external.test: Use "yl_distcheck" instead of
bare "$MAKE distcheck" to avoid extra failures caused by
automake bug#7884.
* tests/lex-noyywrap.test: Likewise.
* tests/lex-libobj.test: Likewise.
* tests/man6.test: This test suffers from the same FreeBSD make
incompatibility in VPATH handling that is the source of automake
bug#7884.  Since this is caused by rules that are defined in the
Makefile.am by the test itself, rather that being generated by
automake, the best thing to do is to skip this test if we detect
the presence of said make incompatibility (through the function
'useless_vpath_rebuild').
* tests/man8.test: Likewise.

12 years agocosmetics: remove extra trailing whitespace in configure.ac
Stefano Lattarini [Sat, 18 Feb 2012 08:26:30 +0000 (09:26 +0100)]
cosmetics: remove extra trailing whitespace in configure.ac

12 years agoMerge branch 'yacc-quote-fix'
Peter Rosin [Fri, 17 Feb 2012 23:07:11 +0000 (00:07 +0100)]
Merge branch 'yacc-quote-fix'

12 years agotests: avoid spurious failure with FreeBSD make
Stefano Lattarini [Fri, 17 Feb 2012 22:50:30 +0000 (23:50 +0100)]
tests: avoid spurious failure with FreeBSD make

* tests/parallel-tests-extra-programs.test: FreeBSD make seems to
write (some) diagnostic messages on stdout instead than on stderr,
so now we also grep the stdout for the expected make diagnostic.

12 years agotests: fix broken quoting in the generated yacc grammar
Peter Rosin [Fri, 17 Feb 2012 21:09:38 +0000 (22:09 +0100)]
tests: fix broken quoting in the generated yacc grammar

Fixes problem introduced by v1.11-1912-ge0906b7 "tests: avoid
spurious failure with non-bison yacc" from 12-02-2012.

* tests/suffix10.tap (Makefile.am): Avoid outer single quotes
when we need to produce single quotes.

12 years agofixup: always use correct path for automake/aclocal wrappers
Stefano Lattarini [Fri, 17 Feb 2012 15:01:25 +0000 (16:01 +0100)]
fixup: always use correct path for automake/aclocal wrappers

Otherwise, bootstrapping from a git checkout won't work anymore.
Issue introduced in today's commit 'v1.11-1974-ga98e58f'.

* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Export PATH in a
way that makes the automake and aclocal wrappers truly accessible
(the location of this wrappers has been modified in a recent commit,
but this makefile hadn't been updated accordingly).
(update_mans): Likewise.

12 years agotests: fix spurious failure in VPATH build
Stefano Lattarini [Fri, 17 Feb 2012 14:32:10 +0000 (15:32 +0100)]
tests: fix spurious failure in VPATH build

* tests/self-check-dir.tap: Adjust to handle running in a VPATH
build correctly.

12 years agotests: fix many spurious failures in VPATH builds
Stefano Lattarini [Fri, 17 Feb 2012 14:20:03 +0000 (15:20 +0100)]
tests: fix many spurious failures in VPATH builds

The 'is' helper script, used by some test cases since commit
'v1.11-1830-g96401cb' of 08-02-2012, "tests: better way to compare
lists in Makefile rules", is not available in VPATH builds, since
it resides in $(srcdir), nor in $(builddir), and only $(builddir)
is added to $PATH in the test script.  This was causing spurious
failures.

Solve this issue by re-organizing a bit the layout and placing of
wrapper and help scripts used by the testsuite.  This reorganization
is by no mean complete, but should be enough to solve the VPATH
issues.

* tests/is: Moved ...
* tests/ax/is: ... here
* tests/automake.in: Moved ...
* tests/wrap/automake.in: ... here.
* tests/aclocal.in: Moved ...
* tests/wrap/aclocal.in: ... here.
* tests/defs-static.in ($am_bindir, $PATH): Adjust.
* configure.ac (AC_CONFIG_FILES): Likewise.
* tests/Makefile.am (EXTRA_DIST, check_SCRIPTS): Likewise.
* tests/get-sysconf.test: Likewise.
* .gitignore: Likewise.

12 years agotests: relax a test to cater to NetBSD make
Stefano Lattarini [Fri, 17 Feb 2012 12:46:53 +0000 (13:46 +0100)]
tests: relax a test to cater to NetBSD make

* tests/parallel-tests-empty-testlogs.test: When $(TESTS) is empty,
NetBSD 5.1 make ends up defining $(TESTS_LOGS) to ".log" rather than
to the empty string (as would be expected).  This behaviour was
causing a check in this test case to fail.  But that check was in
fact overly strict, since our recipes are smart enough to work
around the botched-up substitution.  Also, the failure wasn't a
regression from Automake 1.11, since that version too would have
triggered the same error with NetBSD 5.1 make.  So we just relax
the test a little to avoid extra noise in the testsuite.

12 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 17 Feb 2012 12:29:19 +0000 (13:29 +0100)]
Merge branch 'maint'

* maint:
  dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)

12 years agodryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
Stefano Lattarini [Fri, 17 Feb 2012 10:52:13 +0000 (11:52 +0100)]
dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)

* lib/am/header-vars.am (am__make_dryrun): Be smarter and more
correct in handling shell metacharacters in $(MAKEFLAGS).

12 years agotests: TAP-based tests should error if no plan was specified
Stefano Lattarini [Fri, 17 Feb 2012 12:14:57 +0000 (13:14 +0100)]
tests: TAP-based tests should error if no plan was specified

After this change, it will still be OK for TAP-based tests not to
report any explicit TAP plan -- but they should state *explicitly*
that they want to do so, by calling the 'plan_' function with a
proper argument (currently, either "later" or "unknonwn").

Motivated by a recent issue introduced by yesterday's commit
'v1.11-1959-g0699a84' (pointed out by Peter Rosin, and fixed
by follow-up commit 'v1.11-1961-gea44190').

* tests/tap-functions.sh (plan_): Get rid of '$have_tap_plan_',
and refactor use and initialization of '$planned_' in a way that
will allow client script to get more information on which kind
of plan (if any) has been declared by the former 'plan_' invocation.
(skip_all_): Adjust.
* tests/defs (exit trap): Only print the "lazy" TAP plan if 'plan_'
has requested that *explicitly*.
* syntax-check.mk (sc_tests_tap_plan): Remove: it's obsolete now,
since a TAP-based test that doesn't call 'plan_' explicitly won't
print any TAP plan, and the TAP driver will catch that and report
an error.
(syntax_check_rules): Adjust.

12 years agotests: expose $(am__dry_run) limitations
Stefano Lattarini [Fri, 17 Feb 2012 09:57:37 +0000 (10:57 +0100)]
tests: expose $(am__dry_run) limitations

Currently, the internal $(am__dry_run) macro can fail in weird ways
when $(MAKEFLAGS) contains shell metacharacters.  Let's expose this
limitation in the testsuite (and fix a couple of related weaknesses
since we are at it).

* tests/make-dryrun.test: Moved ...
* tests/make-dryrun.tap: ... here, converted to TAP, and extended to
expose the described limitations.  Also ...
(am_parallel_tests): Define this so that the 'gen-testsuite-part'
script won't generate a useless wrapper script.
* test/list-of-tests.mk: Update.

12 years agocosmetics: fix commit message typo in previous
Peter Rosin [Fri, 17 Feb 2012 09:23:26 +0000 (10:23 +0100)]
cosmetics: fix commit message typo in previous

* .git-log-fix: The file is called .git-log-fix, nothing else.

12 years agofixup: .git-log-fix should not be executable
Peter Rosin [Fri, 17 Feb 2012 09:13:15 +0000 (10:13 +0100)]
fixup: .git-log-fix should not be executable

* .fix-git-log: Set mode 644.

12 years agomaint: support amending the generated ChangeLog, and fix a typo
Peter Rosin [Fri, 17 Feb 2012 08:52:07 +0000 (09:52 +0100)]
maint: support amending the generated ChangeLog, and fix a typo

* Makefile.am (gitlog_to_changelog_options): Add support for
amending the generated ChangeLog.
(EXTRA_DIST): Update.
* .git-log-fix: New file with things to amend to the generated
ChangeLog, starting with a fix for a typo in v1.11-1963-g3b369e6
"maint: use AC_PACKAGE_BUGREPORT to avoid duplication" from
yesterday.

12 years agocosmetics: normalize copyright notice in some tests
Stefano Lattarini [Thu, 16 Feb 2012 22:14:00 +0000 (23:14 +0100)]
cosmetics: normalize copyright notice in some tests

* tests/lisp3.test: Normalize copyright notice to read the
same of that of other tests.
* tests/lisp4.test: Likewise.
* tests/lisp5.test: Likewise.
* tests/lisp6.test: Likewise.
* tests/lisp7.test: Likewise.
* tests/lisp8.test: Likewise.
* tests/lispdry.test: Likewise.

12 years agoreadme: fix grammaro
Stefano Lattarini [Thu, 16 Feb 2012 21:30:52 +0000 (22:30 +0100)]
readme: fix grammaro

Reported by Eric Blake.

* README: Use "also has" instead of "has also"; the former sounds
better to a native speaker.

12 years agomaint: use AC_PACKAGE_BUGREPORT to avoid duplication
Stefano Lattarini [Thu, 16 Feb 2012 21:29:32 +0000 (22:29 +0100)]
maint: use AC_PACKAGE_BUGREPORT to avoid duplication

* configure.ac: In the message reporting whether the user is about
to build an alpha or beta version, use the autoconf-provided
AC_PACKAGE_BUGREPORT macro instead of duplicating the bur reporting
address.

12 years agoreadme: update and renew
Stefano Lattarini [Thu, 16 Feb 2012 20:54:51 +0000 (21:54 +0100)]
readme: update and renew

* README: Remove stale or now-obvious description and advices.
Add reference to the INSTALL file.  Some minor rewordings.

12 years agodepcomp tests: fix up today's botched commit
Stefano Lattarini [Thu, 16 Feb 2012 19:49:43 +0000 (20:49 +0100)]
depcomp tests: fix up today's botched commit

Today's commit 'v1.11-1959-g0699a84' has caused the generated
'depcomp*.tap' tests to call the 'plan_' function *before* it is
defined, and has also caused the extra checks required for better
libtool coverage to be run only when libtool is *not* in use,
rather than the other way around.  Fix this mess.

Report by Peter Rosin.

* tests/gen-testsuite-part: Include './defs' in the generated
tests, rather than doing so from 'depcomp.sh'.  Adjust the count
of TAP tests for 'depcomp-lt-auto.test' (it's 84, not 72).
* tests/depcomp.sh: Adjust accordingly, and fix inverted logic
about the decision of when to run extra checks for libtool.

12 years agobuild: clearer diagnostic if "make" is invoked before "./configure"
Stefano Lattarini [Thu, 16 Feb 2012 18:52:37 +0000 (19:52 +0100)]
build: clearer diagnostic if "make" is invoked before "./configure"

Since a GNUmakefile wrapper has been introduced in our build
system, a "make" invocation issued before a "./configure" one
has caused GNU make to die with the cryptic message:

  GNUmakefile:18: Makefile: No such file or directory
  GNUmakefile:19: /syntax-checks.mk: No such file or directory
  make: *** No rule to make target `/syntax-checks.mk'.  Stop.

* GNUmakefile: Detect when we are being run from an unconfigured
tree, and give helpful diagnostic.

12 years agodepcomp tests: put TAP plan in generated tests
Stefano Lattarini [Thu, 16 Feb 2012 18:08:58 +0000 (19:08 +0100)]
depcomp tests: put TAP plan in generated tests

This avoids a spurious maintcheck failure, and also simplifies
the 'depcomp.sh' helper script a little.

* tests/gen-testsuite-part: Create and place also a proper 'plan_'
call (to emit the TAP plan) in each generated 'depmod*.tap' test.
* tests/depcomp.sh: Remove 'plan_' invocations, and simplify a
little since we are at it.

12 years agoupdate-copyright: don't touch COPYING and INSTALL
Stefano Lattarini [Thu, 16 Feb 2012 17:53:09 +0000 (18:53 +0100)]
update-copyright: don't touch COPYING and INSTALL

Reported by Peter Rosin.

* update-copyright: Also exclude the COPYING and INSTALL files
found in the top-level directory.
* COPYING, INSTALL: Revert update of copyright years done in
today's commit 'v1.11-1948-g641a5a4'.