platform/upstream/automake.git
11 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 14 Dec 2012 09:43:21 +0000 (10:43 +0100)]
Merge branch 'maint'

* maint:
  docs: fixlet about xz compression levels and command line options
  maint: more files excluded in 'update-copyright'
  maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
  HACKING: update instructions to update the manuals at www.gnu.org
  maint: add an explicative comment in Makefile
  maint: factor out the name of the dir where web manuals are generated
  maint: rename rules to build/upload web manuals
  cosmetic: minor variable and rules reordering in Makefile.am
  docs: build the web manuals for CVS in the builddir, not in the srcdir
  release: automate uploading of web manuals in CVS
  docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
  tests: avoid two spurious failures on FreeBSD
  tests: improve 'pkg-config' requirement

11 years agoMerge branch 'improve-release-process' into maint
Stefano Lattarini [Fri, 14 Dec 2012 08:50:27 +0000 (09:50 +0100)]
Merge branch 'improve-release-process' into maint

* improve-release-process:
  HACKING: update instructions to update the manuals at www.gnu.org
  maint: add an explicative comment in Makefile
  maint: factor out the name of the dir where web manuals are generated
  maint: rename rules to build/upload web manuals
  cosmetic: minor variable and rules reordering in Makefile.am
  docs: build the web manuals for CVS in the builddir, not in the srcdir
  release: automate uploading of web manuals in CVS
  docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
  tests: avoid two spurious failures on FreeBSD

11 years agoMerge branch 'pkgconfing-tests-requirement' into maint
Stefano Lattarini [Fri, 14 Dec 2012 08:50:21 +0000 (09:50 +0100)]
Merge branch 'pkgconfing-tests-requirement' into maint

* pkgconfing-tests-requirement:
  tests: improve 'pkg-config' requirement

11 years agodocs: fixlet about xz compression levels and command line options
Patrick Welche [Fri, 14 Dec 2012 00:21:39 +0000 (00:21 +0000)]
docs: fixlet about xz compression levels and command line options

* doc/automake.texi (The types of distributions): To display a
progress bar, xz takes "-v" for verbose.

Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: more files excluded in 'update-copyright'
Stefano Lattarini [Thu, 13 Dec 2012 19:55:17 +0000 (20:55 +0100)]
maint: more files excluded in 'update-copyright'

This will avoid the following spurious warnings when
"make update-copyright" is run:

    .autom4te.cfg: warning: copyright statement not found
    .git-log-fix: warning: copyright statement not found
    .gitattributes: warning: copyright statement not found
    .gitignore: warning: copyright statement not found
    AUTHORS: warning: copyright statement not found
    THANKS: warning: copyright statement not found
    contrib/README: warning: copyright statement not found
    contrib/multilib/README: warning: copyright statement not found
    doc/amhello/README: warning: copyright statement not found
    lib/install-sh: warning: copyright statement not found
    lib/mkinstalldirs: warning: copyright statement not found
    m4/acdir/README: warning: copyright statement not found
    t/README: warning: copyright statement not found

* Makefile.am (files_without_copyright): New.
(update-copyright): Use it when computing '$exclude_list'.
Also, skip any README file.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
Stefano Lattarini [Thu, 13 Dec 2012 19:46:09 +0000 (20:46 +0100)]
maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format

This is a fixup for commit v1.12.5-27-g71ce1b4 of 2012-12-09, "fetch:
improve, and reduce code duplication".

* Makefile.am (update-copyright): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoHACKING: update instructions to update the manuals at www.gnu.org
Stefano Lattarini [Thu, 13 Dec 2012 15:03:35 +0000 (16:03 +0100)]
HACKING: update instructions to update the manuals at gnu.org

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: add an explicative comment in Makefile
Stefano Lattarini [Thu, 13 Dec 2012 12:22:52 +0000 (13:22 +0100)]
maint: add an explicative comment in Makefile

* Makefile.am (web-manual-update): Here, about a slightly tricky
feature of rsync(1) used in the recipe.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: factor out the name of the dir where web manuals are generated
Stefano Lattarini [Thu, 13 Dec 2012 11:09:32 +0000 (12:09 +0100)]
maint: factor out the name of the dir where web manuals are generated

Just a minor refactoring to reduce duplication; no semantic change is
intended.

* Makefile.am (web_manual_dir): New.
(web-manual, web-manual-update, clean-web-manual): Use it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: rename rules to build/upload web manuals
Stefano Lattarini [Thu, 13 Dec 2012 11:02:33 +0000 (12:02 +0100)]
maint: rename rules to build/upload web manuals

The new names are the same used by the similar-purpose rules provided by
the 'top/maint.mk' makefile in gnulib (as of commit v0.0-7741-g4a8c422).
No need to have gratuitous incompatibilities.

* Makefile.am (web-manuals): Rename ...
(web-manual): ... like this.
(upload-web-manuals): Rename ...
(web-manual-update): ... like this.
(clean-web-manuals): Rename ...
(clean-web-manual): ... like this.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agocosmetic: minor variable and rules reordering in Makefile.am
Stefano Lattarini [Thu, 13 Dec 2012 10:54:22 +0000 (11:54 +0100)]
cosmetic: minor variable and rules reordering in Makefile.am

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodocs: build the web manuals for CVS in the builddir, not in the srcdir
Stefano Lattarini [Thu, 13 Dec 2012 10:39:30 +0000 (11:39 +0100)]
docs: build the web manuals for CVS in the builddir, not in the srcdir

We can do so using the '-I' option of the gendocs.sh script.

Inspired by the 'web-manual' rule in the 'top/maint.mk' file provided
by gnulib (as of commit v0.0-7741-g4a8c422) as customized by Bison in
its 'cfg.mk' file (as of commit v2.6.5-1007-gf5fceda).

* Makefile.am (web-manuals): Modify and simplify to take advantage
of gendocs.sh's  '-I' option.
(upload-we-manuals): Accordingly adjust sanity checks and the rsync
invocation in the recipe.
(clean_texinfo_clutter_cmd): Delete this variable, it's no longer
required.
(clean-texinfo-clutter): Delete this phony target, it's no longer
required.
(clean-local): Don't depend on it.
* configure.ac: Invoke AC_PROG_LN_S, since we want to use $(LN_S)
in the new 'web-manuals' recipe.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorelease: automate uploading of web manuals in CVS
Stefano Lattarini [Thu, 13 Dec 2012 10:02:59 +0000 (11:02 +0100)]
release: automate uploading of web manuals in CVS

This is partly inspired to the 'gnu-web-doc-update' script from
gnulib.  Unfortunately, we can't use that script directly, because
as of now it assumes a build system integrated with gnulib.

* Makefile.am (upload-web-manuals): New .PHONY rule.
(RSYNC, CVS, CVSU, CVS_USER, WEBCVS_ROOT): New variables, used by
the new rule.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodocs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
Stefano Lattarini [Sun, 9 Dec 2012 19:00:15 +0000 (20:00 +0100)]
docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc

* doc/automake.texi (Program variables): Here.  Reported by NightStrike:
<http://lists.gnu.org/archive/html/automake/2012-12/msg00012.html>

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: avoid two spurious failures on FreeBSD
Stefano Lattarini [Fri, 30 Nov 2012 14:33:15 +0000 (15:33 +0100)]
tests: avoid two spurious failures on FreeBSD

Due to the FreeBSD make bug that causes of the well-known automake
bug#7884, two of our bison-requiring tests were failing on FreeBSD.
To avoid this, simply skip the part of these tests affected by that
bug.

* t/yacc-bison-skeleton.sh: Here, using the 'yl_distcheck' function.
* t/yacc-bison-skeleton-cxx.sh: Likewise.
* t/yacc-nodist.sh: While at it, use the 'yl_distcheck' here
as well, instead of running "$MAKE distcheck" only when $MAKE
is GNU make.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: improve 'pkg-config' requirement
Stefano Lattarini [Thu, 13 Dec 2012 08:46:18 +0000 (09:46 +0100)]
tests: improve 'pkg-config' requirement

This improves (and unifies among different tests) the detection of
both the 'pkg-config' program and m4 macros provided by it; they are
needed in particular by tests on Vala support.

Before this, some Vala-related tests were failing spuriously when the
pkg-config program was available but the macros from pkg.m4 were not
made explicitly available in ACLOCAL_PATH.  These tests were:

    vala-mix vala-mix2 vala-parallel vala-vapi vala-vpath

See also similar commit 'v1.11-581-gb7d67d5' of 2011-12-22,
"tests: better handling of gettext and libtool requirements".

* t/ax/am-test-lib.sh (process_requirements): If a requirement
matches the 'pkg-config*' wildcard, try to make available to it
the pkg-config m4 macros, and skip it if it's not possible.
This is done by sourcing the 'get.sh' fragment generated by ...
* t/pkg-config-macros.sh: ... this new test, which looks in
advance for the 'pkg-config' program and the m4 macros that
comes with it.
* t/list-of-tests.mk: Add the new test.
* gen-testsuite-part (%deps_extractor): Tests requiring pkg-config
will need the m4 macros coming with it; so these tests should be
run after the 'pkg-config-macros.sh' test.  Automatically generate
proper declarations for such dependencies.
* t/vala-header.sh: No need to explicitly check that the macro
PKG_CHECK_MODULES has been expanded by autoconf.
* t/vala-libs.sh: Likewise.
* t/vala-non-recursive-setup.sh: Likewise.
* t/vala-per-target-flags.sh: Likewise.
* t/vala-recursive-setup.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'maint'
Stefano Lattarini [Sun, 9 Dec 2012 20:55:32 +0000 (21:55 +0100)]
Merge branch 'maint'

* maint:
  docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
  maintcheck: prefer '$(am__cd)' over plain 'cd'
  fetch: improve, and reduce code duplication
  docs: add rule to generate manuals for www.gnu.org
  docs: copy the 'gendocs.sh' script from Texinfo CVS repository
  sync: update files from upstream with "make fetch"
  release: generate a stub for the release announcement
  release: distinguish major and minor releases
  tests: avoid two spurious failures on FreeBSD

11 years agoMerge branch 'improve-release-process' into maint
Stefano Lattarini [Sun, 9 Dec 2012 20:54:57 +0000 (21:54 +0100)]
Merge branch 'improve-release-process' into maint

* improve-release-process:
  maintcheck: prefer '$(am__cd)' over plain 'cd'
  fetch: improve, and reduce code duplication
  docs: add rule to generate manuals for www.gnu.org
  docs: copy the 'gendocs.sh' script from Texinfo CVS repository
  sync: update files from upstream with "make fetch"
  release: generate a stub for the release announcement
  release: distinguish major and minor releases

11 years agodocs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
Stefano Lattarini [Sun, 9 Dec 2012 19:00:15 +0000 (20:00 +0100)]
docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc

* doc/automake.texi (Program variables): Here.  Reported by NightStrike:
<http://lists.gnu.org/archive/html/automake/2012-12/msg00012.html>

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaintcheck: prefer '$(am__cd)' over plain 'cd'
Stefano Lattarini [Sat, 8 Dec 2012 20:45:53 +0000 (21:45 +0100)]
maintcheck: prefer '$(am__cd)' over plain 'cd'

In a couple of rules in out own build system, as suggested by the
maintainer check 'sc_cd_relative_dir'.

* Makefile.am (web-manuals, clean_texinfo_clutter_cmd): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agofetch: improve, and reduce code duplication
Stefano Lattarini [Sat, 8 Dec 2012 20:15:47 +0000 (21:15 +0100)]
fetch: improve, and reduce code duplication

* Makefile.am (WGET_SV_CVS, WGET_SV_GIT_CF, WGET_SV_GIT_AC,
WGET_SV_GIT_GL): Delete.
(SV_CVS, SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): New.
(fetch): Simplify and enhance.
(update-copyright): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodocs: add rule to generate manuals for www.gnu.org
Stefano Lattarini [Sat, 8 Dec 2012 19:11:39 +0000 (20:11 +0100)]
docs: add rule to generate manuals for www.gnu.org

Less clerical work to do by hand.

* Makefile.am (web-manuals): New rule.
(clean_texinfo_clutter): New macro.
* clean-web-manuals, clean-texinfo-clutter: New cleaning
rules.
(clean-local): Depend on them.
* .gitignore: Update.
* HACKING: Adjust instructions for generation of manuals.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodocs: copy the 'gendocs.sh' script from Texinfo CVS repository
Stefano Lattarini [Sat, 8 Dec 2012 18:49:33 +0000 (19:49 +0100)]
docs: copy the 'gendocs.sh' script from Texinfo CVS repository

As well as the 'gendocs_template' file.  And enhance the "make fetch"
target to keep them synced.  It's better than having to fetch these
files by hand each time a release is to be made.

* Makefile.am (FETCHFILES): List 'gendocs.sh' and 'gendocs_template'.
(fetch): Fetch them, into 'lib/'.
(EXRA_DIST): Distribute them.
* HACKING: Adjust instructions for generation of manuals.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agosync: update files from upstream with "make fetch"
Stefano Lattarini [Sat, 8 Dec 2012 18:33:23 +0000 (19:33 +0100)]
sync: update files from upstream with "make fetch"

* lib/config.sub: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorelease: generate a stub for the release announcement
Stefano Lattarini [Sat, 8 Dec 2012 17:45:42 +0000 (18:45 +0100)]
release: generate a stub for the release announcement

It's much better than having to write it my hand each time; after all,
most of it is either boilerplate or a cope of NEWS entries.

* Makefile.am (determine_release_type): Also set the shell variable
'$announcement_type' appropriately.
(print-release-type): Print the value of this new variable as well.
(announcement): New phony target, generate a files with the same name.
The recipe uses the shell variable '$announcement_type'.
(CLEANFILES): Clean it.
(PACKAGE_MAILINGLIST): New make macro, used when generating the
'announcement' file.
* HACKING: Explain how to take advantage of the new convenience
target.
* .gitignore: Ignore the 'announcement' file.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorelease: distinguish major and minor releases
Stefano Lattarini [Sat, 8 Dec 2012 16:26:58 +0000 (17:26 +0100)]
release: distinguish major and minor releases

This is mostly a preparatory change, in view of future
improvements in our release process.

* Makefile.am (determine_release_type): Also distinguish
between major and minor releases, with the help of ...
(stable_major_version_rx, stable_minor_version_rx): ... these
new macros.
(stable_version_rx): Remove, it's obsolete now.
(version_rx): Rename ...
(base_version_rx): ... like this, and adjust.
(print-release-type): New target; helps in debugging the code
that determines the release type.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: avoid two spurious failures on FreeBSD
Stefano Lattarini [Fri, 30 Nov 2012 14:33:15 +0000 (15:33 +0100)]
tests: avoid two spurious failures on FreeBSD

Due to the FreeBSD make bug that causes of the well-known automake
bug#7884, two of our bison-requiring tests were failing on FreeBSD.
To avoid this, simply skip the part of these tests affected by that
bug.

* t/yacc-bison-skeleton.sh: Here, using the 'yl_distcheck' function.
* t/yacc-bison-skeleton-cxx.sh: Likewise.
* t/yacc-nodist.sh: While at it, use the 'yl_distcheck' here
as well, instead of running "$MAKE distcheck" only when $MAKE
is GNU make.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'depcomp-work'
Stefano Lattarini [Tue, 27 Nov 2012 20:05:25 +0000 (21:05 +0100)]
Merge branch 'depcomp-work'

* depcomp-work:
  depcomp: remove 'icc' depmode, add 'tcc' one
  news: update w.r.t. recent depcomp changes
  tests: fix spurious failures with tcc
  depcomp: improve comments about tcc support
  depcomp: remove last relics of libtool 1.4 support
  depcomp: remove an unused variable
  depcomp: rewrite a sed invocation for less quoting
  depcomp: whitespace fixes
  depcomp: shell code style changes
  depcomp: make some code more self-documenting
  depcomp: less duplication between AIX and Tru64 modes
  depcomp: avoid an extra fork when possible
  depcomp: reduce code duplication
  depcomp: don't rely on character ranges working as in C locale
  depcomp: cosmetic fixlets to a comment
  depcomp: safer quoting in variable expansion
  depcomp: correctly propagate exit status in exit trap
  depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
  depcomp: remove useless quoting in variable definitions
  depcomp: be more idiomatic in checking for zero exit statuses

11 years agoMerge branch 'maint'
Stefano Lattarini [Tue, 27 Nov 2012 19:46:32 +0000 (20:46 +0100)]
Merge branch 'maint'

* maint:
  news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
  tests: give few vala tests more significant names
  vala tests: don't use the 'posix' profile, it's no longer supported
  news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
  news: document the fix for automake bug#10227
  tests: fix a spurious testsuite failure on Solaris
  python: make installed modules find by default on Debian and Ubuntu

11 years agonews: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
Stefano Lattarini [Mon, 26 Nov 2012 14:26:44 +0000 (15:26 +0100)]
news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13

See also commit v1.12.4-158-gdf23daf.

* NEWS (Future backward-incompatibilities): Adjust accordingly.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: give few vala tests more significant names
Stefano Lattarini [Mon, 26 Nov 2012 14:15:11 +0000 (15:15 +0100)]
tests: give few vala tests more significant names

* t/vala.sh: Rename ...
* t/vala-grepping.sh: ... like this.
* t/vala2.sh: Rename ...
* t/vala-recursive-setup.sh: ... like this.
* t/vala3.sh: Rename ...
* t/vala-non-recursive-setup.sh: ... like this.
* t/vala4.sh: Rename ...
* t/vala-configure.sh: ... like this.
* t/vala5.sh: Rename ...
* t/vala-per-target-flags.sh: ... like this, and slightly
improve heading comments.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agovala tests: don't use the 'posix' profile, it's no longer supported
Stefano Lattarini [Mon, 26 Nov 2012 13:48:29 +0000 (14:48 +0100)]
vala tests: don't use the 'posix' profile, it's no longer supported

Fixes automake bug#12934 a.k.a. bug#12522.

Some of automake's Vala tests used to rely on "valac --profile posix"
(which makes it not use glib).  However, the posix profile was removed
in August 2012, and is no longer present in the GNOME 3.6.2 version
of valac (see commit ca020bf0 in the vala Git repository).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* t/vala-libs.sh: Adjust to avoid using the posix profile.
* 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.
* NEWS: Update and adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agonews: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
Stefano Lattarini [Mon, 26 Nov 2012 12:33:45 +0000 (13:33 +0100)]
news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5

* NEWS (Bugs fixed in 1.12.5): So move it from here ...
(Bugs fixed in 1.12.6): ... to here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agonews: document the fix for automake bug#10227
Stefano Lattarini [Mon, 26 Nov 2012 12:01:46 +0000 (13:01 +0100)]
news: document the fix for automake bug#10227

This is a follow-up commit for v1.12.5-14-g1f113f6.

* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'python-fix-pr10227' into maint
Stefano Lattarini [Mon, 26 Nov 2012 11:51:16 +0000 (12:51 +0100)]
Merge branch 'python-fix-pr10227' into maint

* python-fix-pr10227:
  python: make installed modules find by default on Debian and Ubuntu

11 years agotests: fix a spurious testsuite failure on Solaris
Stefano Lattarini [Mon, 26 Nov 2012 11:22:51 +0000 (12:22 +0100)]
tests: fix a spurious testsuite failure on Solaris

Reported in automake bug#11524.

* t/amhello-binpkg.sh: When non-GNU tar is in use, relax grepping of
"tar cvf ..." output a little more.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: give few aclocal tests more significant names
Stefano Lattarini [Sun, 25 Nov 2012 11:48:36 +0000 (12:48 +0100)]
tests: give few aclocal tests more significant names

* t/dirlist-abspath.sh: Rename ...
* t/aclocal-dirlist-abspath.sh: ... like this.
* t/dirlist.sh: Rename ...
* t/aclocal-dirlist.sh: ... like this.
* t/dirlist2.sh: Rename ...
* t/aclocal-dirlist-globbing.sh: ... like this.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: remove a redundant workaround for a testsuite weakness
Stefano Lattarini [Sat, 24 Nov 2012 18:36:52 +0000 (19:36 +0100)]
tests: remove a redundant workaround for a testsuite weakness

* t/warnings-unknown.sh: Here, since we have improved our wrapper
scripts for aclocal and automake enough to make that workaround
unneeded.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: remove 'icc' depmode, add 'tcc' one
Stefano Lattarini [Thu, 18 Oct 2012 19:07:56 +0000 (21:07 +0200)]
depcomp: remove 'icc' depmode, add 'tcc' one

According to the comments in the now-removed test 'depcomp5.test' (removed
by commit 'v1.11-1829-g5066c1b' of 2012-02-08, "tests: improve and rework
tests on dependency tracking") "icc 8.0 and greater understand gcc options,
so depmode is set to gcc".  According to Wikipedia, the 8.0 version of the
Intel C compiler has been released in December 2003, that is, almost nine
yeas ago.  So we can remove explicit support for icc 7.x from the depcomp
script.

Since our support for tcc has so far been relied on the icc depmode, we
must write a new explicit 'tcc' depmode.  That is easy to do, since we can
rely on the simpler and better-specified format of tcc-specified makefiles;
for more info, see:
<http://lists.gnu.org/archive/html/automake/2012-10/msg00043.html>

* lib/depcomp (icc): Remove.
(tcc): New.
* NEWS: Update.

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

* NEWS: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: fix spurious failures with tcc
Stefano Lattarini [Thu, 18 Oct 2012 15:47:46 +0000 (17:47 +0200)]
tests: fix spurious failures with tcc

* t/depcomp8a.sh, t/depcomp8b.sh: Here, by avoiding initialization of
global 'extern' variables, preferring functions definitions instead.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: improve comments about tcc support
Stefano Lattarini [Thu, 18 Oct 2012 15:42:21 +0000 (17:42 +0200)]
depcomp: improve comments about tcc support

* lib/depcomp (icc): Here.  See also tcc commit 0394caf7 "Emit spaces
for -MD" and automake commit v1.11-768-gb96263 "depcomp: support tcc
(Tiny C Compiler)".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: remove last relics of libtool 1.4 support
Stefano Lattarini [Thu, 18 Oct 2012 15:14:15 +0000 (17:14 +0200)]
depcomp: remove last relics of libtool 1.4 support

* lib/depcomp (tru64): Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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 agotests: give some tests more significant names
Stefano Lattarini [Sat, 24 Nov 2012 13:32:06 +0000 (14:32 +0100)]
tests: give some tests more significant names

* t/req.sh: Rename ...
* t/aclocal-req.sh: ... like this.
* t/reqd.sh: Rename ...
* t/add-missing-multiple.sh: ... like this.
* t/block.sh: Rename ...
* t/comment-block.sh: ... like this.
* t/list-of-tests.mk: Adjust.

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 agopython: make installed modules find by default on Debian and Ubuntu
Stefano Lattarini [Thu, 22 Nov 2012 11:03:07 +0000 (12:03 +0100)]
python: make installed modules find by default on Debian and Ubuntu

This change fixes automake bug#10227.

The code used to get the python package directory was wrong for Python 3,
at least on Debian and Ubuntu distributions.  In the case the installation
was using the default prefix "/usr/local", python modules were incorrectly
installed in the directory

    /usr/local/lib/python3/dist-packages

(which is *not* searched by default), rather than in a directory like

    /usr/local/lib/python3.x/dist-packages

which is searched by default.

* m4/python.m4 (AM_PATH_PYTHON): Try to use the 'sysconfig' module if
possible, for better interactions with python 3.x.

Helped-by: Reuben Thomas <rrt@sc3d.org>
Helped-by: Roumen Petrov <bugtrack@roumenpetrov.info>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
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>