platform/upstream/automake.git
11 years agodepcomp: remove an unused variable
Stefano Lattarini [Thu, 18 Oct 2012 14:55:44 +0000 (16:55 +0200)]
depcomp: remove an unused variable

* lib/depcomp ($alnum): This.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: rewrite a sed invocation for less quoting
Stefano Lattarini [Thu, 18 Oct 2012 14:55:25 +0000 (16:55 +0200)]
depcomp: rewrite a sed invocation for less quoting

* lib/depcomp (dashmstdout): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: whitespace fixes
Stefano Lattarini [Thu, 18 Oct 2012 14:49:23 +0000 (16:49 +0200)]
depcomp: whitespace fixes

* lib/depcomp: We indent by two spaces, and without using tabs.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: shell code style changes
Stefano Lattarini [Thu, 18 Oct 2012 14:47:41 +0000 (16:47 +0200)]
depcomp: shell code style changes

* lib/depcomp: Here, in comments and line continuations.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: make some code more self-documenting
Stefano Lattarini [Thu, 18 Oct 2012 14:29:21 +0000 (16:29 +0200)]
depcomp: make some code more self-documenting

* lib/depcomp (make_dummy_makefile): With the help of this function.
Use it throughout.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: less duplication between AIX and Tru64 modes
Stefano Lattarini [Thu, 18 Oct 2012 12:45:38 +0000 (14:45 +0200)]
depcomp: less duplication between AIX and Tru64 modes

* lib/depcomp (tru64, aix): In these entries of the big 'case'
switch, with the help of ...
(aix_post_process_depfile): ... this new function.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: avoid an extra fork when possible
Stefano Lattarini [Thu, 18 Oct 2012 12:45:21 +0000 (14:45 +0200)]
depcomp: avoid an extra fork when possible

* lib/depcomp (set_dir_from): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: reduce code duplication
Stefano Lattarini [Thu, 18 Oct 2012 11:59:52 +0000 (13:59 +0200)]
depcomp: reduce code duplication

* lib/depcomp: Here, when we have to get the directory and basename
components of objects or source files; do so with the help of ...
(set_dir_from, set_base_from): ... these new shell functions.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: don't rely on character ranges working as in C locale
Stefano Lattarini [Thu, 18 Oct 2012 11:46:48 +0000 (13:46 +0200)]
depcomp: don't rely on character ranges working as in C locale

* lib/depcomp (pgcc): Here.
Related reorganization, with the unconditional definition of ...
($upper, $lower, $digits, $alnum, $alpha): ... these shell variables.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: cosmetic fixlets to a comment
Stefano Lattarini [Thu, 18 Oct 2012 11:36:20 +0000 (13:36 +0200)]
depcomp: cosmetic fixlets to a comment

* lib/depcomp (pgcc): Here, as that's unportable according to the
autoconf manual.  In fact, there's no need to re-trap the signals
just before exiting, since at that point a signal would cause at
most a useless but harmless attempt to remove the

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: safer quoting in variable expansion
Stefano Lattarini [Thu, 18 Oct 2012 11:28:54 +0000 (13:28 +0200)]
depcomp: safer quoting in variable expansion

* lib/depcomp (pgcc): Here.  Probably not needed, but since the
rest of the script seems to employ proper quoting, better to be
consistent.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: correctly propagate exit status in exit trap
Stefano Lattarini [Thu, 18 Oct 2012 11:27:19 +0000 (13:27 +0200)]
depcomp: correctly propagate exit status in exit trap

* lib/depcomp (pgcc): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
Stefano Lattarini [Thu, 18 Oct 2012 11:24:21 +0000 (13:24 +0200)]
depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory

* lib/depcomp (pgcc): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: remove useless quoting in variable definitions
Stefano Lattarini [Thu, 18 Oct 2012 11:22:56 +0000 (13:22 +0200)]
depcomp: remove useless quoting in variable definitions

* lib/depcomp (pgcc): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: be more idiomatic in checking for zero exit statuses
Stefano Lattarini [Thu, 18 Oct 2012 10:47:17 +0000 (12:47 +0200)]
depcomp: be more idiomatic in checking for zero exit statuses

* lib/depcomp: Prefer "if test $stat -ne 0; then ..." over the longer
"if test $stat -eq 0; then :; else ...".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Sat, 24 Nov 2012 11:38:56 +0000 (12:38 +0100)]
Merge branch 'maint'

* maint:
  tests: fix a spurious failure with older flex versions

11 years agotests: fix a spurious failure with older flex versions
Stefano Lattarini [Thu, 22 Nov 2012 09:29:37 +0000 (10:29 +0100)]
tests: fix a spurious failure with older flex versions

See automake bug#11524 and bug#12836.

* t/lex-header.sh: Here, we use flex option '--header-file',
but that option is not supported by some older flex versions.
Simply skip this test if such an old flex version is detected.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: avoid a failure due to m4 builtin 'sinclude' in package name
Stefano Lattarini [Fri, 23 Nov 2012 09:37:19 +0000 (10:37 +0100)]
tests: avoid a failure due to m4 builtin 'sinclude' in package name

Even with Autoconf 2.69, AC_INIT is not very robust when to package
names that contain some selected m4 builtins; for example:

    $ echo 'AC_INIT([sinclude], [1.0])' | autoconf -o/dev/null -
    stdin:1: warning: file `' included several times

    $ echo 'AC_INIT([dnl], [1.0])' | autoconf -o/dev/null -
    /usr/bin/m4:stdin:1: excess arguments to builtin `m4_define' ignored
    autom4te: /usr/bin/m4 failed with exit status: 1

Reference:
<http://lists.gnu.org/archive/html/bug-autoconf/2012-11/msg00005.html>

* t/aclocal-m4-sinclude.sh (configure.ac): Use 'm4sinclude' as package
name in the AC_INIT invocation, to avoid tickling the just-described
bug.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Wed, 21 Nov 2012 13:13:02 +0000 (14:13 +0100)]
Merge branch 'maint'

* maint:
  tests: fix a spurious failure when $PYTHON is in the environment
  python tests: support PEP-3147 installation layout
  python: uninstall cater to PEP-3147
  tests: improve a comment
  tests: honour $PYTHON override
  tests: typofix in message
  news: document fix for bug#8847 (PEP-3147, __pycache__)
  python: improve support for modern python (CPython 3.2 and PyPy)

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'python-pep-3147' into maint
Stefano Lattarini [Wed, 21 Nov 2012 09:28:41 +0000 (10:28 +0100)]
Merge branch 'python-pep-3147' into maint

* python-pep-3147:
  tests: fix a spurious failure when $PYTHON is in the environment
  python tests: support PEP-3147 installation layout
  python: uninstall cater to PEP-3147
  tests: improve a comment
  tests: honour $PYTHON override
  tests: typofix in message
  news: document fix for bug#8847 (PEP-3147, __pycache__)
  python: improve support for modern python (CPython 3.2 and PyPy)

11 years agotests: fix a spurious failure when $PYTHON is in the environment
Stefano Lattarini [Mon, 19 Nov 2012 21:56:22 +0000 (22:56 +0100)]
tests: fix a spurious failure when $PYTHON is in the environment

* t/python11.sh: This test doesn't interact well with user-overrides of
$PYTHON; and, given its particular nature, neither should it be expected
to honour that override.  Just unset that $PYTHON variable and live
happy.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agopython tests: support PEP-3147 installation layout
Stefano Lattarini [Mon, 19 Nov 2012 21:19:21 +0000 (22:19 +0100)]
python tests: support PEP-3147 installation layout

This fixes several spurious testsuite failures with python >= 3.2,
introduced by recent commit v1.12.4-43-ge0e99ed, "python: improve
support for modern python (CPython 3.2 and PyPy)".

* t/ax/am-test-lib.sh (python_has_pep3147, pyc_location, py_installed):
New functions.
($am_pep3147_tag): New variable.
* t/py-compile-basic2.sh: Deleted, too difficult to adapt for the
gain it would offer; move the still relevant parts ...
* t/py-compile-basic.sh: ... here.  Adapt and adjust the rest of
the test as well.
* t/nobase-python.sh: Adapt and adjust.
* t/py-compile-basedir.sh: Likewise.
* t/py-compile-destdir.sh: Likewise.
* t/py-compile-option-terminate.sh: Likewise.
* t/python-pr10995.sh: Likewise.
* t/python-virtualenv.sh: Likewise.
* t/python10.sh: Likewise.
* t/python12.sh: Likewise.
* t/python3.sh: Likewise.
* t/list-of-tests.mk: Adjust list of tests.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agopython: uninstall cater to PEP-3147
Stefano Lattarini [Mon, 19 Nov 2012 19:16:47 +0000 (20:16 +0100)]
python: uninstall cater to PEP-3147

After recent commit commit v1.12.4-43-ge0e99ed, "python: improve
support for modern python (CPython 3.2 and PyPy)", the python install
rules have been made smart enough to install "*.pyc" byte-compiled
files according to PEP-3147 with modern (post-3.2) pythons.  However,
the uninstall rules hadn't been updated accordingly, causing leftover
files to remain around after "make uninstall", as well as failures in
"make distcheck".

* lib/am/python.am (am__pep3147_tweak): New internal macro, used
in ...
(uninstall-%DIR%PYTHON): ... the recipe of this target, which has
been adjusted to cater to PEP-3147

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: more explicative names for few aclocal tests
Stefano Lattarini [Sun, 18 Nov 2012 00:38:09 +0000 (01:38 +0100)]
tests: more explicative names for few aclocal tests

* t/aclocal3.sh: Rename ...
* t/aclocal-missing-macros.sh: ... like this.
* t/aclocal4.sh: Rename ...
* t/aclocal-deps.sh: ... like this.
* t/aclocal5.sh: Rename ...
* t/aclocal-deps-subdir.sh: ... like this.
* t/aclocal6.sh: Rename ...
* t/aclocal-remake-misc.sh: ... like this.
* t/aclocal7.sh: Rename ...
* t/aclocal-no-force.sh: ... like this.
* t/acloca8.sh: Rename ...
* t/aclocal-no-unused-required.sh: ... like this.
* t/acloca9.sh: Rename ...
* t/aclocal-I-order-1.sh: ... like this.
* t/acloca11.sh: Rename ...
* t/aclocal-I-order-2.sh: ... like this, and update heading comments.
* t/acloca12.sh: Rename ...
* t/aclocal-I-order-3.sh: ... like this, and update heading comments.
* t/acloca13.sh: Rename ...
* t/aclocal-m4-sinclude.sh: ... like this, and update heading comments.
* t/acloca14.sh: Rename ...
* t/aclocal-m4-include-are-scanned.sh: ... like this.
* t/acloca14.sh: Rename ...
* t/aclocal-m4-include-are-scanned-aclocal-amflags.sh: ... like this,
and update heading comments.
* t/acloca15.sh: Rename ...
* t/aclocal-scan-configure-ac-pr319.sh: ... like this.
* t/acloca16.sh: Rename ...
* t/aclocal-no-extra-scan.sh: ... like this, and enhance slightly.
* t/acloca18.sh: Rename ...
* t/aclocal-serial.sh: ... like this.
* t/acloca19.sh: Rename ...
* t/aclocal-pr450.sh: ... like this.
* t/acloca20.sh: Rename ...
* t/aclocal-no-symlinked-overwrite.sh: ... like this.
* t/acloca21.sh: Rename ...
* t/aclocal-comments-respected.sh: ... like this.
* t/acloca22.sh: Rename ...
* t/aclocal-deleted-header.sh: ... like this.
* t/acloca22b.sh: Rename ...
* t/aclocal-deleted-header-aclocal-amflags.sh: ... like this.
* t/acloca23.sh: Rename ...
* t/aclocal-underquoted-defun.sh: ... like this.
* t/list-of-tests.mk: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: improve coverage on Texinfo + silent rules
Stefano Lattarini [Sat, 17 Nov 2012 23:46:13 +0000 (00:46 +0100)]
tests: improve coverage on Texinfo + silent rules

* t/silent-texi.sh: Here, by basic importing the version of the
test that is the 'ng/master' branch (that of Automake-NG), plus
a minor tweak to avoid a spurious failure with NetBSD make.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Sat, 17 Nov 2012 19:30:11 +0000 (20:30 +0100)]
Merge branch 'maint'

* maint:
  build: fix rebuild rules for Makefile.in and aclocal.m4
  hacking: release procedure: fix order of some steps
  maint: post-release minor version bump
  release: stable release 1.12.5

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agobuild: fix rebuild rules for Makefile.in and aclocal.m4
Stefano Lattarini [Sat, 17 Nov 2012 18:57:02 +0000 (19:57 +0100)]
build: fix rebuild rules for Makefile.in and aclocal.m4

They have been broken after our removal of the 'perllibdir' hack
in yesterday's commit v1.12.4-45-g4872dfe.

* configure.ac: Rather then redefining AUTOMAKE and ACLOCAL to
explicitly override the perllibdir, the acdir and the libdir, use
the ready-made t/wrap/{aclocal,automake}-$APIVERSION scripts.
* NEWS: Document the fix.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agohacking: release procedure: fix order of some steps
Stefano Lattarini [Sat, 17 Nov 2012 18:42:58 +0000 (19:42 +0100)]
hacking: release procedure: fix order of some steps

* HACKING (Release procedure): The manuals should be rebuilt and
uploaded at at www.gnu.org *before* bumping the version number to
the next alpha release.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: post-release minor version bump
Stefano Lattarini [Sat, 17 Nov 2012 18:30:03 +0000 (19:30 +0100)]
maint: post-release minor version bump

* configure.ac (AC_INIT): Bump version number to 1.12.5a.
* m4/amversion.m4: Likewise (automatically regenerated by
"make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorelease: stable release 1.12.5 v1.12.5
Stefano Lattarini [Sat, 17 Nov 2012 15:43:39 +0000 (16:43 +0100)]
release: stable release 1.12.5

* configure.ac (AC_INIT): Bump version number to 1.12.5.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 16 Nov 2012 13:50:02 +0000 (14:50 +0100)]
Merge branch 'maint'

* maint:
  maintcheck: avoid failures, sync with 'ng/master' more
  maintcheck: remove 'sc_perl_syntax'
  sync: update files from upstream with "make fetch"
  maint: get rid of $perllibdir environment variable hack
  configure: respect the '-q' option better
  cosmetics: de-tabify configure.ac

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaintcheck: avoid failures, sync with 'ng/master' more
Stefano Lattarini [Fri, 16 Nov 2012 13:17:01 +0000 (14:17 +0100)]
maintcheck: avoid failures, sync with 'ng/master' more

* syntax-checks.mk (sc_diff_aclocal_in_aclocal,
sc_diff_automake_in_automake): Rename ...
(sc_diff_aclocal, sc_diff_automake): ... respectively to these, rewrite
to use static pattern rules and 'diff -u' instead of bare 'diff'.  This
makes the rules more robust in the face of edits to 'automake.in' and
'aclocal.in', and get them in sync with the corresponding checks in the
'ng/master' branch.
(syntax_check_rules): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaintcheck: remove 'sc_perl_syntax'
Stefano Lattarini [Fri, 16 Nov 2012 13:07:40 +0000 (14:07 +0100)]
maintcheck: remove 'sc_perl_syntax'

It is quite useless, since a "make bootstrap" or "make check" would
immediately catch a breakage in the 'aclocal' or 'automake' scripts
anyway.  In addition, the recent removal of the 'perllibdir' environment
variable hack has broken this check.

* syntax-checks.mk (sc_perl_syntax): Remove.
(syntax_check_rules): No longer list it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agosync: update files from upstream with "make fetch"
Stefano Lattarini [Fri, 16 Nov 2012 12:03:14 +0000 (13:03 +0100)]
sync: update files from upstream with "make fetch"

* lib/texinfo.tex, lib/config.sub: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: get rid of $perllibdir environment variable hack
Stefano Lattarini [Fri, 16 Nov 2012 11:45:59 +0000 (12:45 +0100)]
maint: get rid of $perllibdir environment variable hack

That was needed when the automake-$APIVERSION and aclocal-$APIVERSION
wrapper scripts used by the testsuite were shell script, rather than
perl scripts acting as a thin layers.

* aclocal.in (BEGIN): Update @INC based on the contents of the array
'@Aclocal::perl_libdirs', rather than of the environment variable
'perllibdir'.
* t/wrap/aclocal.in (BEGIN): Initialize '@Aclocal::perl_libdirs'
rather than $ENV{'perllibdir'}.
* automake.in (BEGIN): Update @INC based on the contents of the array
'@Automake::perl_libdirs', rather than of the environment variable
'perllibdir'.
* t/wrap/automake.in (BEGIN): Initialize '@Automake::perl_libdirs'
rather than $ENV{'perllibdir'}.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoconfigure: respect the '-q' option better
Stefano Lattarini [Fri, 16 Nov 2012 11:07:52 +0000 (12:07 +0100)]
configure: respect the '-q' option better

* configure.ac: Here, by avoiding to print the warnings about
using a non-stable Automake version if the '$silent' variable
is set to "yes".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agocosmetics: de-tabify configure.ac
Stefano Lattarini [Fri, 16 Nov 2012 10:44:18 +0000 (11:44 +0100)]
cosmetics: de-tabify configure.ac

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agofixup: Automake installation works again
Stefano Lattarini [Thu, 15 Nov 2012 15:15:27 +0000 (16:15 +0100)]
fixup: Automake installation works again

By renaming 'dist_automake_ac_DATA' to 'nobase_dist_automake_ac_DATA' in
a recent patch, we have broken the Automake installation, since m4 files
that were expected to be installed in '${prefix}/aclocal-${APIVERSION}'
are now being installed in '${prefix}/aclocal-${APIVERSION}/m4' instead.
Fix this mess.

* Makefile.am (nobase_dist_automake_ac_DATA): Rename ...
(dist_automake_ac_DATA): ... like this.  And move
'm4/internal/ac-config-macro-dirs.m4' ...
(dist_automake_internal_ac_DATA): ... here.
(automake_internal_acdir): New, simply defined to
'$(automake_acdir)/internal'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'ac-config-macro-dirs'
Stefano Lattarini [Thu, 15 Nov 2012 14:44:55 +0000 (15:44 +0100)]
Merge branch 'ac-config-macro-dirs'

* ac-config-macro-dirs:
  tests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf
  aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs
  aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well

11 years agotests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf
Stefano Lattarini [Thu, 15 Nov 2012 14:29:40 +0000 (15:29 +0100)]
tests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf

When "older" version of autoconf are used (that is, those before commit
v2.69-44-g1ed0548), we have no sane way to prevent the autom4te invocation
issued from aclocal to possibly display warnings "MACRO m4_require'd but
not m4_defun'd".  That's not a big deal, because that just means that
people using pre-2.70 autoconf with cutting-edge automake will see few
spurious warnings, but the actual semantics will remain correct.

However, this blemish was causing a couple of annoying testsuite failures.
Solve this by simply skipping the affected tests when older (pre-2.70)
autoconf versions are used.

* t/aclocl-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): Skip when older autoconf is in use.
* t/aclocl-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorecursion: remove _AM_EXTRA_RECURSIVE_TARGETS indirection
Stefano Lattarini [Thu, 15 Nov 2012 13:49:14 +0000 (14:49 +0100)]
recursion: remove _AM_EXTRA_RECURSIVE_TARGETS indirection

Since automake automatically smashes extra whitespace and newlines
in the arguments of the macros it traces, we can remove the extra
indirection with the _AM_EXTRA_RECURSIVE_TARGETS.  This doesn't
truly simplify the existing code, but make it slightly easier to
understand anyway, since leave it with one less indirection.

* automake.in: Trace AM_EXTRA_RECURSIVE_TARGETS directly, rather
than tracing _AM_EXTRA_RECURSIVE_TARGETS.  Remove trailing and
leading empty fields in the extracted arguments.
* m4/extra-recurs.m4 (_AM_EXTRA_RECURSIVE_TARGETS): Remove, no longer
needed.
(AM_EXTRA_RECURSIVE_TARGETS): Adjust by making it a simple no-op.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoaclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs
Stefano Lattarini [Thu, 15 Nov 2012 11:24:27 +0000 (12:24 +0100)]
aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs

The autom4te program coming with autoconf 2.68 and earlier had a bug
which caused the "-" command line argument (with which we tell it to
read some input from from standard input) to aways be pushed at the
*end* of the command line, regardless of where the user specified it
(that bug was fixed by autoconf commit 'v2.68-120-gf4be358', "getopt:
new Autom4te::Getopt module").

This broken semantics conflict with our usage in aclocal, where we
need to pass some input to the invoked autom4te program early, and
have so far been using the stdin to do so.  Now we start using an
external file instead.

* m4/internal/ac-config-macro-dirs.m4: New file, contain a fallback
definition of the AC_CONFIG_MACRO_DIRS macro for older autoconf
releases.
* aclocal.in (trace_used_macros): When invoking autom4te, use that
file instead of "abusing" standard input.
* Makefile.am (dist_automake_ac_DATA): Rename ...
(nobase_dist_automake_ac_DATA): ... like this.
Add 'm4/internal/ac-config-macro-dirs.m4' to it.
* t/aclocal-acdir.sh: Adjust to avoid spurious failures.

Helped-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoaclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well
Stefano Lattarini [Wed, 14 Nov 2012 15:54:38 +0000 (16:54 +0100)]
aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well

This will allow our users to interact also with pre-2.70 autoconf without
need for the user to add ACLOCAL_AMFLAGS in Makefile.am.  For example,
before this change, in order to have aclocal look for macros in 'm4/dir1'
and 'm4/dir2' also when (say) autoconf 2.69 was used, our users would
have had to add something like:

    ACLOCAL_AMFLAGS = -I m4/dir1 -I m4/dir2

in Makefile.am, in addition to the

    AC_CONFIG_MACRO_DIRS([m4/dir1 m4/dir2])

in configure.ac.  Now, the AC_CONFIG_MACRO_DIRS call is enough.

See the long-winded discussion on automake bug#12845 for more details:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12845>

* aclocal.in ($ac_config_macro_dirs_fallback): New global variable,
contains m4 code to issue a fallback definition of AC_CONFIG_MACRO_DIRS
as an alias for the private macro _AM_CONFIG_MACRO_DIRS.
(trace_used_macros): Handle and trace that macro.  Do some code
reorganization and fix related botched indentation while at it.
(write_aclocal): Output '$ac_config_macro_dirs_fallback' early in
the generated aclocal.m4.
* t/aclocal-macrodirs.tap: Run unconditionally, even with older
autoconf.
* t/subpkg-macrodir.sh: Likewise.
* doc/automake.texi: Document only AC_CONFIG_MACRO_DIRS, rather
than AC_CONFIG_MACRO_DIR.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'ac-config-macro-dirs'
Stefano Lattarini [Wed, 14 Nov 2012 10:48:53 +0000 (11:48 +0100)]
Merge branch 'ac-config-macro-dirs'

* ac-config-macro-dirs:
  news: we trace AC_CONFIG_MACRO_DIRS
  aclocal: trace AC_CONFIG_MACRO_DIR_TRACE
  aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS
  coverage: expose a bug in aclocal (spurious warnings)
  aclocal: smash newlines in arguments of traced macros
  tests: better coverage for AC_CONFIG_MACRO_DIRS
  aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better
  aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS

11 years agotests: improve a comment
Stefano Lattarini [Sun, 11 Nov 2012 11:39:40 +0000 (12:39 +0100)]
tests: improve a comment

* t/ax/am-test-lib.sh (require_tool): Here, about python support
for '--version' option.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: honour $PYTHON override
Stefano Lattarini [Sun, 11 Nov 2012 11:03:46 +0000 (12:03 +0100)]
tests: honour $PYTHON override

* t/ax/am-test-lib.sh (require_tool): Here.
* t/python-too-old.sh: And here.
* t/python-vars.sh: And here.
* t/python-virtualenv.sh: And here.  Also add some sanity
checks while at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: typofix in message
Stefano Lattarini [Sun, 11 Nov 2012 10:55:43 +0000 (11:55 +0100)]
tests: typofix in message

* t/python-virtualenv.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agonews: document fix for bug#8847 (PEP-3147, __pycache__)
Stefano Lattarini [Sun, 11 Nov 2012 10:43:06 +0000 (11:43 +0100)]
news: document fix for bug#8847 (PEP-3147, __pycache__)

* NEWS (Bugs fixed in 1.12.5): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agopython: improve support for modern python (CPython 3.2 and PyPy)
Yaakov Selkowitz [Mon, 5 Nov 2012 17:45:15 +0000 (11:45 -0600)]
python: improve support for modern python (CPython 3.2 and PyPy)

This fixes automake bug#8847.

* m4/python.m4 (AM_PATH_PYTHON): Add python3.3 to
_AM_PYTHON_INTERPRETER_LIST.
* lib/py-compile: Fix compiled filenames for PEP-3147, currently
implemented in CPython 3.2 and newer.  Do not create '.pyo' files
for PyPy.

Copyright-paperwork-exempt: yes
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agonews: we trace AC_CONFIG_MACRO_DIRS
Stefano Lattarini [Sat, 10 Nov 2012 13:39:55 +0000 (14:39 +0100)]
news: we trace AC_CONFIG_MACRO_DIRS

* NEWS (New in 1.13): Update accordingly.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agonews: improve wording
Stefano Lattarini [Sat, 10 Nov 2012 13:31:43 +0000 (14:31 +0100)]
news: improve wording

* NEWS (New in 1.13): Prefer "no longer" over "not anymore",
wherever possible.  Related re-wrapping of text.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoaclocal: trace AC_CONFIG_MACRO_DIR_TRACE
Stefano Lattarini [Sat, 10 Nov 2012 09:54:44 +0000 (10:54 +0100)]
aclocal: trace AC_CONFIG_MACRO_DIR_TRACE

This is now the documented way, and indeed the only correct way, to
support AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS in third-party
tools.  See autoconf commit v2.69-45-g5269030 of 2012-11-09,
"AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks".

* aclocal.in (trace_used_macros): Trace 'AC_CONFIG_MACRO_DIR_TRACE'
rather than 'AC_CONFIG_MACRO_DIRS'.  We still have to trace
'AC_CONFIG_MACRO_DIR' explicitly though, for compatibility with
Autoconf versions before 2.70.
* t/aclocal-macrodirs.tap: Enhance w.r.t. precedence of arguments
in one and several AC_CONFIG_MACRO_DIRS calls.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoaclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS
Stefano Lattarini [Sat, 3 Nov 2012 10:30:04 +0000 (11:30 +0100)]
aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS

When some macro expanded in configure.ac calls AC_REQUIRE on another
macro that is defined in one of the local m4 macro dirs specified
with AC_CONFIG_MACRO_DIRS, aclocal prints spurious warnings like:

    configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
    configure.ac:3: MY_FOO is expanded from...

Such warnings come from autom4te, and are due to the fact that the
*first* autom4te invocation issued by aclocal is not yet able to
"see" the m4 macro definitions in the local m4 dirs (because they
can be looked for only after the AC_CONFIG_MACRO_DIRS call has been
traced, and tracing it requires running autom4te).

To allow us to work around this issue, autom4te has introduced a new
"witness" macro 'm4_require_silent_probe', that, when defined, allows
us to silence that particular kind of warnings (and only it).

Reported by Nick Bowler; see point (4) of:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

* aclocal.in (trace_used_macros): Pre-define the special macro
'm4_require_silent_probe' when invoking autom4te.
* t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): This test passes now: remove the "TODO" directive.
* t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIRS interaction with
AC_REQUIRE"): Likewise.
* t/acloca17.sh: Remove.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agocoverage: expose a bug in aclocal (spurious warnings)
Stefano Lattarini [Fri, 2 Nov 2012 17:12:40 +0000 (18:12 +0100)]
coverage: expose a bug in aclocal (spurious warnings)

When some macro expanded in configure.ac calls AC_REQUIRE on another
macro that is defined in one of the local m4 macro dirs specified
with one of the macros AC_CONFIG_MACRO_DIRS or AC_CONFIG_MACRO_DIR,
aclocal prints spurious warnings like:

    configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
    configure.ac:3: MY_FOO is expanded from...

Expose this weakness in our testsuite.

Reported by Nick Bowler; see point (4) of:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

* t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): New test, still xfailing.
* t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS interaction with
AC_REQUIRE"): Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoaclocal: smash newlines in arguments of traced macros
Stefano Lattarini [Fri, 2 Nov 2012 10:49:46 +0000 (11:49 +0100)]
aclocal: smash newlines in arguments of traced macros

This change fixes the existing issues with AC_CONFIG_MACRO_DIRS
containing newlines:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

Likely, it will also allow a less involved implementation of the
AM_EXTRA_RECURSIVE_TARGETS macro (but that is left for potential
follow-up patches).

* aclocal.in (trace_used_macros): When calling autom4te, pass its
'--trace' option an argument containing '${::}%' rather than '$1'.
According to the autoconf manual (as of version 2.69), that will expand
to the concatenation, with the '::' string, of all the arguments passed
to a macro, with all newline characters in such arguments smashed.
Related adjustments when handling the macro AC_CONFIG_MACRO_DIRS, to
ensure leading whitespace in its argument are handled correctly.
* t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS: extra whitespace"):
No longer declare it as an xfailing test.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: better coverage for AC_CONFIG_MACRO_DIRS
Stefano Lattarini [Fri, 2 Nov 2012 09:09:36 +0000 (10:09 +0100)]
tests: better coverage for AC_CONFIG_MACRO_DIRS

Suggested by a report from Nick Bowler:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>

* t/aclocal-macrodirs.tap: Enhance to check use of extra whitespaces
and newline characters in the arguments to AC_CONFIG_MACRO_DIRS.  This
test currently fails, so mark it as "TODO".  While at it, throw in other
minor edits and enhancements.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoaclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better
Stefano Lattarini [Wed, 4 Jul 2012 13:37:46 +0000 (15:37 +0200)]
aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better

This new implementation ensures that any directory (possibly excluding
the first one, if the '--install' option is used) that is declared with
AC_CONFIG_MACRO_DIRS and that is non-existent will cause an error from
aclocal.

* aclocal.in (scan_m4_dirs): Add a new argument, telling whether it's OK
for the scanned directory to be non-existing.  Adjust the implementation
accordingly.
($first_user_m4dir): Remove, no more needed.
(scan_m4_files): Update 'scan_m4_dirs' invocations so that aclocal will
not complain if the first user macro directory is non-existing and the
'--install' option is given: such directory will be created later by
aclocal itself.
* t/aclocal-macrodir.tap: Do not mark the last test as TODO anymore;
it now passes.  Make stricter by ensuring a non-existing directory in
AC_CONFIG_MACRO_DIRS causes an hard error, not a warning.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoaclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS
Stefano Lattarini [Wed, 4 Jul 2012 13:23:50 +0000 (15:23 +0200)]
aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS

A new macro 'AC_CONFIG_MACRO_DIRS' has been recently introduced in
autoconf (and is expected to appear in the autoconf 2.70 release),
allowing us to declare several local m4 macro directories for a
package.

It can be done either passing several arguments to a single invocation:

    AC_CONFIG_MACRO_DIRS([dir1 dir2])

or issuing more invocations:

    AC_CONFIG_MACRO_DIRS([dir1])
    AC_CONFIG_MACRO_DIRS([dir2])

or a combination of the two:

    AC_CONFIG_MACRO_DIRS([dir1 dir2])
    AC_CONFIG_MACRO_DIRS([dir3])

This will allow projects to use several m4 macro local dirs, without the
need to use ACLOCAL_AMFLAGS (which we want to make obsolete and finally
remove).  This is especially important for projects that are used as
nested subpackages of larger projects.

For more information and rationales, refer to these past discussions:

<http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html>
<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html>
<http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00000.html>
<http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00012.html>
<http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8037/>
<http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8087>
<http://thread.gmane.org/gmane.comp.sysutils.automake.patches/8956>

as well as to Automake commit v1.12.1-165-gcd1a9cc of 2012-07-03,
"aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead",
autoconf commit v2.69-42-gd73770f of 2012-10-17, "AC_CONFIG_MACRO_DIRS:
new macro, mostly for aclocal".

* aclocal.in ($ac_config_macro_dir): Turn this global scalar it into ...
(@ac_config_macro_dirs): ... this global array.
(trace_used_macros): Update '@ac_config_macro_dirs' instead of
re-defining '$ac_config_macro_dir'.  Cater to calls the now-preferred
macro 'AC_CONFIG_MACRO_DIRS' in addition to the "obsolescent" one
AC_CONFIG_MACRO_DIR.
(main loop): Append '@ac_config_macro_dirs', not '$ac_config_macro_dir',
to '@user_includes'.
* t/subpkg-macrodir.sh: New test.
* t/aclocal-macrodirs.tap: Likewise.
* t/list-of-tests.mk: Add them.
* t/aclocal-macrodir.tap: Adjust and extend a little to keep it more in
sync with 'aclocal-macrodirs.tap'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: remove an obsolete comment
Stefano Lattarini [Wed, 7 Nov 2012 22:53:26 +0000 (23:53 +0100)]
tests: remove an obsolete comment

* t/silent-yacc.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: remove mostly-redundant tests on silent rules
Stefano Lattarini [Wed, 7 Nov 2012 22:40:59 +0000 (23:40 +0100)]
tests: remove mostly-redundant tests on silent rules

We used to have several couples of tests named like 'silent-foo-gcc.sh'
and 'silent-foo-generic.sh'.  Differently from what the names suggest,
the first test in such a couple (that is, "silent-foo-gcc.sh") was not
meant to check specific GCC-related features, but rather to check how
the silent rules behave in combination with automatic dependency tracking
when the 'gcc' depmode (that targets GCC versions before the 3.x and 4.x
release series) is forced.

Such depmode forcing was done exclusively to cover the code paths in
'lib/am/depend2.am' that actually invoke the 'depcomp' script, rather
than using the inlined, GCC-specific compiler invocation (the so-called
"fastdep" mode), which is the default with modern GCC or with other
modern compilers that can emulate the GCC command-line interface (e.g.,
clang 3.0).

But whenever we run the silent-*-generic.sh" tests with other supported
compilers which have an associated depmode different from 'gcc3', these
same "non-fastdep" code paths are covered, since in those tests we run
./configure with the '--enable-dependency-tracking' option, which causes
slower depmodes not to be rejected.  Examples of such compilers are the
Sun C and C++ compilers (at least since version 5.9, a.k.a. Sun Studio
12.1), and the Tiny C Compiler (from version 0.9.26); and I run the
Automake testsuite quite regularly with those compilers.

So, the "silent-*-gcc.sh" test cases don't offer any real coverage
enhancements, while still using testsuite runtime and causing some
(admittedly minor, but still annoying) synchronization headaches with
the sister tests "silent-foo-general.sh" tests.  So let's just remove
these "silent-*-gcc.sh" tests.

* t/silent-c-gcc.sh: Remove.
* t/silent-cxx-gcc.sh: Likewise.
* t/silent-lt-gcc.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-c-generic.sh: Rename ...
* t/silent-c.sh: ... like this, and adjust heading comments.
* t/silent-cxx-generic.sh: Rename ...
* t/silent-cxx.sh: ... like this, and adjust heading comments.
* t/silent-lt-generic.sh: Rename ...
* t/silent-lt.sh: ... like this, and adjust heading comments.
* t/silent-many-generic.sh: Rename ...
* t/silent-many-languages.sh: ... like this, and adjust heading
comments.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: enhance coverage on silent-rules and C compilation rules a little
Stefano Lattarini [Wed, 7 Nov 2012 21:08:35 +0000 (22:08 +0100)]
tests: enhance coverage on silent-rules and C compilation rules a little

* t/silent-c-generic.sh: Here, by trying them also with automatic
dependency tracking explicitly disabled.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Wed, 7 Nov 2012 20:51:01 +0000 (21:51 +0100)]
Merge branch 'maint'

* maint:
  tests: new variable $am_testaux_builddir
  tests: rename $am_testauxdir -> $am_testaux_srcdir

11 years agotests: rename few tests (on silent-rules support)
Stefano Lattarini [Wed, 7 Nov 2012 19:39:19 +0000 (20:39 +0100)]
tests: rename few tests (on silent-rules support)

Either to more informative names, or to names more consistent with the
ones of similar/related tests.

* t/silent.sh: Rename ...
* t/silent-c-generic.sh: ... like this, and adjust heading comments.
* t/silent2.sh: Rename ...
* t/silent-c-gcc.sh: ... like this, and adjust heading comments.
* t/silent3.sh: Rename ...
* t/silent-lt-generic.sh: ... like this, and adjust heading comments.
* t/silent4.sh: Rename ...
* t/silent-lt-gcc.sh: ... like this, and adjust heading comments.
* t/silentcxx.sh: Rename ...
* t/silent-cxx-generic.sh: ... like this, and adjust heading comments.
* t/silentcxx-gcc.sh: Rename ...
* t/silent-cxx-gcc.sh: ... like this, and adjust heading comments.
* t/silentf77.sh: Rename ...
* t/silent-f77.sh: ... like this, and adjust heading comments.
* t/silentf90.sh: Rename ...
* t/silent-f90.sh: ... like this, and adjust heading comments.
* t/silent7.sh: Rename ...
* t/silent-gen.sh: ... like this, and adjust heading comments.
* t/silent6.sh: Rename ...
* t/silent-custom.sh: ... like this.
* t/silent8.sh: Rename ...
* t/silent-texi.sh: ... like this.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: merge two tests on silent-rules with libtool
Stefano Lattarini [Wed, 7 Nov 2012 18:56:24 +0000 (19:56 +0100)]
tests: merge two tests on silent-rules with libtool

This helps to reduce code duplication, and also to (marginally)
speed up the involved tests.

Before this change, we had:

  $ diff -u t/silent3.sh t/silent9.sh

  --- t/silent3.sh      2012-11-07 19:38:05.000000000 +0100
  +++ t/silent9.sh      2012-11-07 19:27:54.000000000 +0100
  @@ -14,9 +14,9 @@
   # You should have received a copy of the GNU General Public License
   # along with this program.  If not, see <http://www.gnu.org/licenses/>.

  -# Check silent-rules mode, with libtool, standard depmode case.
  +# Check silent-rules mode, with libtool, nodep case.

  -# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
  +# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.

   required='cc libtoolize'
   . test-init.sh
  @@ -26,8 +26,8 @@
   cat >>configure.ac <<'EOF'
   AC_CONFIG_FILES([sub/Makefile])
   AC_PROG_CC
  -AM_PROG_AR
   AM_PROG_CC_C_O
  +AM_PROG_AR
   AC_PROG_LIBTOOL
   AC_OUTPUT
   EOF
  @@ -61,7 +61,7 @@
   $AUTOMAKE --add-missing
   $AUTOCONF

  -./configure --enable-silent-rules
  +./configure --disable-dependency-tracking --enable-silent-rules
   $MAKE >stdout || { cat stdout; exit 1; }
   cat stdout
   $EGREP ' (-c|-o)' stdout && exit 1

* t/silent9.sh: Remove, merge ...
* t/silent3.sh: ... in here.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: new variable $am_testaux_builddir
Stefano Lattarini [Wed, 7 Nov 2012 16:59:40 +0000 (17:59 +0100)]
tests: new variable $am_testaux_builddir

And a related fix that solves a spurious testsuite failures in
VPATH builds.

* t/ax/test-defs.in ($am_testaux_builddir): New, counterpart of
$am_testaux_srcdir, but pointing inside the build directory.
* t/self-check-shell-no-trail-bslash.sh: Use $am_testaux_builddir,
not $am_testaux_srcdir, when fetching the 'shell-no-trail-bslash'
script.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: rename $am_testauxdir -> $am_testaux_srcdir
Stefano Lattarini [Wed, 7 Nov 2012 16:52:25 +0000 (17:52 +0100)]
tests: rename $am_testauxdir -> $am_testaux_srcdir

This is just a preparatory change in view of a future commit.

* t/ax/test-defs.in: Here.
* t/ax/tap-summary-aux.sh: And here.
* t/ax/testsuite-summary-checks.sh: And here.
* t/distcheck-missing-m4.sh: And here.
* t/distcheck-outdated-m4.sh: And here.
* t/self-check-shell-no-trail-bslash.sh: And here.
* t/test-driver-acsubst.sh: And here.
* t/test-driver-cond.sh: And here.
* t/test-driver-custom-multitest.sh: And here.
* t/test-driver-custom-multitest-recheck.sh: And here.
* t/test-driver-custom-multitest-recheck2.sh: And here.
* t/testsuite-summary-count-many.sh: And here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Wed, 31 Oct 2012 11:41:13 +0000 (12:41 +0100)]
Merge branch 'maint'

* maint:
  vala tests: source test-init.sh, not ./defs
  tests: fix a spurious typo-related failure
  tests: remove spurious leftover use of 'Exit'
  tests: can check our recipes avoid trailing backslashes
  vala: improve comments to AM_PROG_VALAC
  news: update w.r.t. recent vala changes
  vala: if no proper compiler found, set $(VALAC) to 'valac'
  vala: AM_PROG_VALAC should not produce an error for tool-old valac
  docs: document recent changes to AM_PROG_VALAC
  tests: enhance tests on AM_PROG_VALAC
  vala: style fixes in vala.m4
  vala: add action arguments, for when no proper vala compiler is found

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agovala tests: source test-init.sh, not ./defs
Stefano Lattarini [Wed, 31 Oct 2012 11:40:47 +0000 (12:40 +0100)]
vala tests: source test-init.sh, not ./defs

This will avoid spurious errors when the new vala tests (introduced
in the 'vala-work' branch) will be merged back to master.

* t/vala-headers.sh: Adjust as said.
* t/vala-libs.sh: Likewise.
* t/vala-mix.sh: Likewise.
* t/vala-mix2.sh: Likewise.
* t/vala-parallel.sh: Likewise.
* t/vala-vapi.sh: Likewise.
* t/vala-vpath.sh: Likewise.
* t/vala.sh: Likewise.
* t/vala2.sh: Likewise.
* t/vala3.sh: Likewise.
* t/vala4.sh: Likewise.
* t/vala5.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: fix a spurious typo-related failure
Stefano Lattarini [Wed, 31 Oct 2012 11:37:51 +0000 (12:37 +0100)]
tests: fix a spurious typo-related failure

* t/self-check-shell-no-trail-bslash.sh: Here, due to a mistaken
use of "||" instead of "&&".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'vala-work' into maint
Stefano Lattarini [Wed, 31 Oct 2012 10:44:18 +0000 (11:44 +0100)]
Merge branch 'vala-work' into maint

* vala-work:
  vala: improve comments to AM_PROG_VALAC
  news: update w.r.t. recent vala changes
  vala: if no proper compiler found, set $(VALAC) to 'valac'
  vala: AM_PROG_VALAC should not produce an error for tool-old valac
  docs: document recent changes to AM_PROG_VALAC
  tests: enhance tests on AM_PROG_VALAC
  vala: style fixes in vala.m4
  vala: add action arguments, for when no proper vala compiler is found

11 years agotests: remove spurious leftover use of 'Exit'
Stefano Lattarini [Wed, 31 Oct 2012 10:41:31 +0000 (11:41 +0100)]
tests: remove spurious leftover use of 'Exit'

Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.

Commit 'v1.12.4-184-g9fed1c8' in master made the same fix basically,
but we mistakenly applied it to master only, rather than to maint.

* t/per-target-flags.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: can check our recipes avoid trailing backslashes
Stefano Lattarini [Sun, 28 Oct 2012 13:02:46 +0000 (14:02 +0100)]
tests: can check our recipes avoid trailing backslashes

This is related to commit v1.11-1704-g254227b of 2012-05-01,
"parallel-tests: avoid trailing backslashes in make recipes",
and automake bug#10436.

Recipes with a trailing backslash character (possibly followed by
blank characters only) can cause spurious syntax errors with at
least older bash versions (e.g., bash 2.05b), and can be potentially
be unportable to other weaker shells.

So provide a target that runs the testsuite looking for this kind
of breakage (without requiring a real bugged shell).

* t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c'
commands having a trailing '\' (possibly followed by whitespace only).
* Makefile (t/ax/shell-no-trail-bslash): Generate this script from it.
(noinst_SCRIPTS, CLEANFILES): Add it.
(EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'.
(check-no-trailing-backslash-in-recipes): New target, runs the testsuite
with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible
recipes having a trailing backslash character (possibly followed by
* .gitignore: Update.
* t/self-check-shell-no-trail-bslash.sh: New testsuite self-check.
* t/parallel-tests-trailing-bslash.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Sat, 27 Oct 2012 17:18:48 +0000 (19:18 +0200)]
Merge branch 'maint'

* maint:
  configure: correctly identify missing GNU compilers as such

11 years agoconfigure: correctly identify missing GNU compilers as such
Stefano Lattarini [Sat, 27 Oct 2012 17:10:20 +0000 (19:10 +0200)]
configure: correctly identify missing GNU compilers as such

* configure.ac: Here, instead of mistakenly diagnose them as "botched".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: get rid of ./defs, it's no longer used.
Stefano Lattarini [Sat, 27 Oct 2012 16:31:21 +0000 (18:31 +0200)]
tests: get rid of ./defs, it's no longer used.

* defs: Delete.
* configure.ac (AC_CONFIG_LINKS): No longer link it.
* t/ax/tap-setup.sh: Don't look for a file named 'defs' in
the grandparent directory of the current test directory to
decide whether we're running in the correct directory.
* syntax-check.mk (xdefs): Remove '$(srcdir)/defs'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaintcheck: fix the name of a check
Stefano Lattarini [Sat, 27 Oct 2012 16:26:19 +0000 (18:26 +0200)]
maintcheck: fix the name of a check

* (sc_tests_Exit_not_exit): Rename ...
(sc_tests_exit_not_Exit): ... like this, which is more faithful
to what the check actually does.  Adjust a grammaro in comments
while at it.
(syntax_check_rules): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaintcheck: guard against uses of ./defs in tests
Stefano Lattarini [Sat, 27 Oct 2012 16:08:06 +0000 (18:08 +0200)]
maintcheck: guard against uses of ./defs in tests

Now, 'test-init.sh' should be used instead.

* (sc_tests_no_source_defs): New maintainer check.
(syntax_check_rules): Add it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: remove spurious leftover use of 'Exit'
Stefano Lattarini [Sat, 27 Oct 2012 15:34:50 +0000 (17:34 +0200)]
tests: remove spurious leftover use of 'Exit'

* t/per-target-flags.sh: Here, and simply use 'exit' instead.
Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: remove an obsolete, and probably now wrong, comment
Stefano Lattarini [Sat, 27 Oct 2012 15:09:55 +0000 (17:09 +0200)]
tests: remove an obsolete, and probably now wrong, comment

* t/dirlist.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: remove obsolescent references to './defs'
Stefano Lattarini [Sat, 27 Oct 2012 15:08:28 +0000 (17:08 +0200)]
tests: remove obsolescent references to './defs'

* t/distcom-subdir.sh, t/distcom2.sh, t/ax/depcomp.sh, t/conff2.sh,
t/ccnoco3.sh, t/ccnoco.sh, t/self-check-dir.tap, t/self-check-exit.tap,
t/self-check-me.tap: Here.  Instead, refer to "am-test-lib.sh",
"test-init.sh", or simply "the testsuite setup", as appropriate.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: prefer including 'test-init.sh' rather than './defs'
Stefano Lattarini [Sat, 27 Oct 2012 14:41:39 +0000 (16:41 +0200)]
tests: prefer including 'test-init.sh' rather than './defs'

This is a follow-up to today's commit v1.12.4-22-g0610fc8,
"tests: prepare to move ./defs to t/ax/test-init.sh"

* All tests: To run the common setup, use the command:

    . test-init.sh

instead of the older, "historical" one:

    . ./defs || exit 1

Note that the "|| exit 1" wasn't really useful, since the 'errexit'
shell flag is in effect in both './defs' and 'test-init.sh', and all
the known shells that are good enough to run the automake testsuite
do automatically exit with error when a sourced file cannot be found
(at least, they do so in non-interactive mode, which is the only
mode that concerns us in the testsuite).

* t/ax/tap-summary-aux.sh, t/ax/testsuite-summary-checks.sh: Likewise.

* gen-testsuite-part: Do the same in the generated tests.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Sat, 27 Oct 2012 14:15:04 +0000 (16:15 +0200)]
Merge branch 'maint'

* maint:
  tests: merge, tweak and modernize few test scripts
  tests: move coverage about BUILT_SOURCES
  tests: more meaningful names for some test cases
  tests: merge some grepping tests on Yacc support

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: merge, tweak and modernize few test scripts
Stefano Lattarini [Sat, 9 Jun 2012 18:49:09 +0000 (20:49 +0200)]
tests: merge, tweak and modernize few test scripts

Basically an adjusted-and-improved cherry-pick from Automake-NG
commit v1.12.1-343-gff30f83.

* t/specflg.sh, t/specflg2.sh, t/specflg3.sh: Merged into ...
* t/per-target-flags.sh: ... this test.
* t/fo.sh: Remove, its weak grepping checks well superseded by
the semantic checks in 't/fort4.sh'.
* t/cxxo.sh: Remove, its weak grepping checks well superseded
by the semantic checks in 't/cxx-demo.sh'.
* t/cxxcpp.sh: Enhance a little.
* t/empty.sh: Renamed ...
* t/empty-data-primary.sh: ... to this.  Add trailing ':' command.
* t/empty2.sh, t/empty3.sh, t/empty4.sh: Merged ...
* t/empty-sources-primary.tap: ... into this new test.
* t/no-outdir-option.sh: Remove.  A test to check than an obsolete
and now deleted option ("--output-dir") stays deleted is way too
much even for the most test-infected person ;-)
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: move coverage about BUILT_SOURCES
Stefano Lattarini [Sat, 27 Oct 2012 13:38:46 +0000 (15:38 +0200)]
tests: move coverage about BUILT_SOURCES

Basically a backport of some tests from Automake-NG.

* t/built-sources-check.sh: Sync it with the version in the ng/master
branch.  Accordingly, move part of the checks out ...
* t/built-sources-install.sh: ... into this new test, synced from
ng/master as well.
* t/built-sources-subdir.sh: Minor tweaks and enhancements to sync it
with the version in ng/master.
* t/built-sources-cond.sh: New test, synced from ng/master.
* t/built-sources.sh: Likewise, with minor edits to avoid a spurious
failure.
* t/built-sources-fork-bomb.sh: Likewise.
* t/list-of-tests.mk: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: more meaningful names for some test cases
Stefano Lattarini [Sat, 27 Oct 2012 13:26:50 +0000 (15:26 +0200)]
tests: more meaningful names for some test cases

* t/yacc5.sh: Renamed ...
* t/yacc-grepping2.sh: ... like this.
* t/yacc7.sh: Renamed ...
* t/yacc-headers-and-pr47.sh: ... like this.
* t/yacc8.sh: Renamed ...
* t/yacc-subdir.sh: ... like this.
* t/subdir10.sh: Rename ...
* t/subdir-env-interference.sh: ... like this.
* t/specflg10.sh: Rename ...
* t/am-default-source-ext.sh: ... like this.
* t/suffix12.sh: Rename ...
* t/suffix-custom-subobj.sh: ... like this.
* t/suffix13.sh: Rename ...
* t/suffix-custom-subobj-and-specflg.sh: ... like this.
* t/check3.sh: Rename ...
* t/built-sources-check.sh: ... like this.
* t/subdirbuiltsources.sh: Rename ...
* t/built-sources-subdir.sh: ... like this.
* t/bsource.sh: Rename ...
* t/no-spurious-install-recursive.sh: ... like this.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: merge some grepping tests on Yacc support
Stefano Lattarini [Sat, 27 Oct 2012 12:45:51 +0000 (14:45 +0200)]
tests: merge some grepping tests on Yacc support

* t/yacc.sh, t/yacc2.sh: Merge ...
* t/yacc-grepping.sh: ... into this test.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Sat, 27 Oct 2012 12:23:40 +0000 (14:23 +0200)]
Merge branch 'maint'

* maint:
  tests: prepare to move ./defs to t/ax/test-init.sh

11 years agotests: prepare to move ./defs to t/ax/test-init.sh
Stefano Lattarini [Sat, 27 Oct 2012 10:59:41 +0000 (12:59 +0200)]
tests: prepare to move ./defs to t/ax/test-init.sh

We don't do this in a sweeping passage, because that would cause
endless headaches in the synchronization between the maint, master
and ng/master branches.  Instead, we setup our framework to allow
test scripts to work by sourcing either './defs' or 'test-init.sh',
so that we'll be able to make the transition gradual and painless.

* t/ax/test-init.sh: New, copied from the previous ./defs file.
* defs: Simply work by sourcing the new file.
* Makefile.am (dist_noinst_DATA): List the new file.
* t/README: Adjust to mandate the sourcing of 'test-init.sh' rather
than of './defs'.
* t/c-demo.sh: Source 'test-init.sh' instead of ./defs.  This is
done to verify our new setup actually works.
* t/ac-output-old.tap: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Sat, 27 Oct 2012 09:57:43 +0000 (11:57 +0200)]
Merge branch 'maint'

* maint:
  depcomp: avoid potential interferences from the environment
  depcomp: improve comments about the 'gcc' depmode
  sync: update files from upstream with "make fetch"
  maintcheck: remove an obsolescent check
  tests: rename some tests to more expressive names, again
  tests: remove an obsolescent grepping check
  tests: merge two tests on automatic remake functionality
  tests: rename some test to more expressive names
  news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
  tests: ensure generation of wrapper tests matching multiple conditions
  tests: simplify a loop in gen-testsuite-part
  compile: support libfoo.a naming when wrapping Microsoft tools
  NEWS: fix wording and grammaros, re-wrap text accordingly
  cosmetics: fix typo in 'lib/depcomp' comments

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: avoid potential interferences from the environment
Stefano Lattarini [Sat, 27 Oct 2012 09:19:22 +0000 (11:19 +0200)]
depcomp: avoid potential interferences from the environment

* lib/depcomp (gccflag, dashmflag): By explicitly initializing these
variables to the empty string by default.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: improve comments about the 'gcc' depmode
Stefano Lattarini [Sat, 27 Oct 2012 09:12:59 +0000 (11:12 +0200)]
depcomp: improve comments about the 'gcc' depmode

It is not only needed by obsolescent gcc compilers (pre-3.x),
but also by modern compiler like IBM C/C++.  State that ...

* lib/depcomp: ... here...
* gen-testsuite-part: ... and here, where we generate the
'depcomp*.tap' tests.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agovala: improve comments to AM_PROG_VALAC
Stefano Lattarini [Fri, 26 Oct 2012 18:22:40 +0000 (20:22 +0200)]
vala: improve comments to AM_PROG_VALAC

* m4/vala.m4 (AM_PROG_VALAC): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agonews: update w.r.t. recent vala changes
Stefano Lattarini [Fri, 26 Oct 2012 18:18:51 +0000 (20:18 +0200)]
news: update w.r.t. recent vala changes

* NEWS: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agovala: if no proper compiler found, set $(VALAC) to 'valac'
Stefano Lattarini [Fri, 26 Oct 2012 16:01:17 +0000 (18:01 +0200)]
vala: if no proper compiler found, set $(VALAC) to 'valac'

This is better than setting it to ':' (as is currently done), because
a triggered makefile rule invoking a vala compilation will then clearly
fail with an informative error message like "valac: command not found",
rather than silently, with the error possibly going unnoticed, or
triggering harder-to-diagnose fallout failures in later steps.

For a precedent of a similar behaviour, see the AC_PROG_YACC macro.

* m4/valac.m4: Implement the new semantic.
* doc/automake.texi (Vala Support): Document it.
* t/vala4.sh: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agovala: AM_PROG_VALAC should not produce an error for tool-old valac
Sébastien Wilmet [Fri, 26 Oct 2012 15:08:09 +0000 (17:08 +0200)]
vala: AM_PROG_VALAC should not produce an error for tool-old valac

This change fixes automake bug#12688.

In the AM_PROG_VALAC macro, when the optional parameter specifying the
minimum release number is not provided, and/or if the Vala compiler is
not found, then there is a _warning_ message.

On the other hand, when the version number is specified and if the Vala
compiler is too old, there is an _error_ message.

This error message is problematic, because for a tarball, the Vala
compiler is not required: the generated C code is included in the
tarball.  So if a user wants to compile the software, he shouldn't
need the valac program with the right version.

* m4/vala.m4 (AM_PROG_VALAC): Modify to use AC_MSG_WARN instead
of AC_MSG_ERROR.
* t/vala4.sh: Adjust and enhance.
* doc/automake.texi (Vala Support): Likewise.
* THANKS: Update.

Co-authored-by: Matthieu Baerts <matttbe@glx-dock.org>
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodocs: document recent changes to AM_PROG_VALAC
Stefano Lattarini [Fri, 26 Oct 2012 14:50:26 +0000 (16:50 +0200)]
docs: document recent changes to AM_PROG_VALAC

* doc/automake.texi (Vala Support): Here.  This is a follow-up to
recent commit 'v1.12.4-20-gdf202a3', "vala: add action arguments,
for when no proper vala compiler is found".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: enhance tests on AM_PROG_VALAC
Stefano Lattarini [Fri, 26 Oct 2012 13:51:53 +0000 (15:51 +0200)]
tests: enhance tests on AM_PROG_VALAC

* t/vala4.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agovala: style fixes in vala.m4
Stefano Lattarini [Fri, 26 Oct 2012 13:18:44 +0000 (15:18 +0200)]
vala: style fixes in vala.m4

* m4/vala.m4 (AM_PROG_VALAC): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agovala: add action arguments, for when no proper vala compiler is found
Daiki Ueno [Tue, 11 Sep 2012 08:55:37 +0000 (17:55 +0900)]
vala: add action arguments, for when no proper vala compiler is found

* m4/vala.m4 (AM_PROG_VALAC): Add optional action arguments to
control the behavior if specified version of valac is not found.
This emulates the behaviour of AM_PATH_PYTHON.
* t/vala4.sh: Enhance.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Copyright-paperwork-exempt: yes

11 years agosync: update files from upstream with "make fetch"
Stefano Lattarini [Fri, 26 Oct 2012 13:05:53 +0000 (15:05 +0200)]
sync: update files from upstream with "make fetch"

* lib/config.guess, lib/config.sub: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>