Stefano Lattarini [Tue, 17 Jan 2012 14:48:56 +0000 (15:48 +0100)]
fixup: contrib: really integrate in automake build system
* configure.ac (AC_CONFIG_FILES): Add 'contrib/Makefile'.
* Makefile.am (SUBDIRS): Add 'contrib'.
Stefano Lattarini [Tue, 17 Jan 2012 12:55:00 +0000 (13:55 +0100)]
contrib: new, a directory for non-mainstream functionalities
This new 'contrib' hierarchy will be a good place were to move
implementation/support for obsolescent features we are not yet
ready to remove completely, or were to leave experimental or
third-party features to cook before their eventual inclusion in
the automake core.
* contrib: New directory.
* contrib/README: New file.
* contrib/Makefile.am: New file.
(EXTRA_DIST): Distribute README.
Stefano Lattarini [Mon, 16 Jan 2012 17:35:50 +0000 (18:35 +0100)]
Merge branch 'check-html-deprecate' into maint
* check-html-deprecate:
recheck: fix interaction with "make -n"
recheck: behave better with non-GNU make
check: separate .log -> .html conversion from core testsuite harness
docs: deprecate .log -> .html conversion by parallel-tests
Stefano Lattarini [Fri, 13 Jan 2012 21:39:47 +0000 (22:39 +0100)]
recheck: fix interaction with "make -n"
* lib/am/check.am (recheck): Ensure the recipe does not erroneously
remove '.log' files when running under "make -n". For the sake of
NetBSD make, this also means that ...
(.MAKE): ... this cannot depend on 'recheck' anymore.
* tests/parallel-tests-dryrun.test: New test.
* tests/list-of-tests.mk: Add it.
Stefano Lattarini [Mon, 16 Jan 2012 15:42:25 +0000 (16:42 +0100)]
vala: avoid potential useless remakes (minor bugfix)
* automake.in (lang_vala_finish_target): Ensure the timestamp file
from which the C files generated from Vala sources depend on gets
created with a modification time that is truly older than those of
said generated C files. This prevents make from attempting useless
rebuilds (which were bound to happen deterministically on systems
with sub-second timestamp resolutions). It is worth noting that,
luckily, those useless rebuild ended up being a no-op, since the
Vala compiler is careful not to update the timestamp of an output
file if its content has not changed from the previous version.
Still, the useless rebuilds messed up "make -q" and "make -n"
invocations, and were technically incorrect (despite being, as
noted, inoffensive in practice).
Problem revealed by failure of tests vala-mix.test and vala5.test
on a fast Solaris 10 system whose filesystem had a sub-second
timestamp resolution.
Stefano Lattarini [Mon, 16 Jan 2012 14:38:56 +0000 (15:38 +0100)]
vala: enhance tests
* tests/vala.test: Extend test. Throw in some cosmetic and
consistency changes since we are at it.
* tests/vala5.test: Avoid uselessly requiring libtool. Ensure a
failure happens in case VALAFLAGS are not supported as expected.
Extend test in some ways. Throw in some cosmetic and consistency
changes since we are at it.
* tests/vala-mix.test: New test.
* tests/list-of-tests.mk: Add it.
Stefano Lattarini [Fri, 13 Jan 2012 17:53:43 +0000 (18:53 +0100)]
recheck: behave better with non-GNU make
* automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with
the value of the '@check' array, containing the list of early
test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)',
etc.
* lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'.
(check, recheck): Unify the implementation of their recipes, with
different code paths taken depending on the name of the target.
This makes the implementation of "recheck" less brittle in the
process (especially when non-GNU make and AM_MAKEFLAGS overriding
are involved).
* lib/am/check-html.am (check-html, recheck-html): Likewise.
* tests/check.test: Adjust to avoid spurious failure.
* tests/parallel-tests2.test: Improve coverage.
Stefano Lattarini [Fri, 13 Jan 2012 16:56:13 +0000 (17:56 +0100)]
check: separate .log -> .html conversion from core testsuite harness
That feature is to be deprecated in the 1.11.x series, and removed
from the automake core in the 1.12 release, where it will instead
be offered in a semi-independent extra '*.am' fragment. So let's
start better separating the .log -> .html conversion from the "core
code" of the parallel-tests harness.
Reference:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>
* lib/am/check.am (.log.html, check-html, recheck-html): Move these
targets ...
* automake.in (handle_tests): ... and the initialization of the
TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML)
file ...
* lib/am/check-html.am: ... in this new file, with related (minor)
refactorings, enhancements and simplifications.
* lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust.
* lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'.
* tests/parallel-tests2.test: Improve coverage.
Stefano Lattarini [Sun, 8 Jan 2012 18:26:18 +0000 (19:26 +0100)]
docs: deprecate .log -> .html conversion by parallel-tests
That feature is to be deprecated in the 1.11.x series, and
removed in the 1.12 release.
Reference:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>
* doc/automake.texi (Simple Tests using parallel-tests): Deprecate
the '.log' -> '.html' conversion and the targets 'check-html' and
'recheck-html'. Related rewording and reformatting.
* NEWS (Future backward-incompatibilities): Update.
Stefano Lattarini [Mon, 16 Jan 2012 09:18:06 +0000 (10:18 +0100)]
tests: list some forgotten test cases in $(TESTS)
This way, they will be properly executed by "make check", and
properly distributed. Our previous commit 'v1.11-647-g27f1a1c'
is already paying its dividends!
* tests/list-of-tests.mk (handwritten_TESTS): Add check12.test,
dist-missing-included-m4.test, dist-missing-am.test, and
dist-missing-m4.test.
Stefano Lattarini [Mon, 16 Jan 2012 09:05:59 +0000 (10:05 +0100)]
maintcheck: consistency of list of test scripts
This is basically a backport of commit 'v1.11-358-g7b6ab07'
and its follow-ups. The possibility of easily checking that
the list of test scripts listed in a Makefile equals that of
the tests on the filesystem has proved itself so useful that
it's worth taking the annoyance of backporting it to maint.
* CheckListOfTests.am: New file, backported from master (commit
'v1.11-1736-g083a75b') with minor adjustments.
(maintainer-check-list-of-tests): New target, check for consistency
between the list of tests defined in the including Makefile and the
list of tests on the filesystem.
(clean-maintcheck-testslist-tmp): New rule, to clean up temporary
files that might be left around by the rules associated with the
previous target.
(clean-local): Depend on it.
* lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
* tests/Makefile.am: Likewise.
* Makefile.am (maintainer-check-list-of-test): New target,
calling recursively into `tests/' and `lib/Automake/tests/',
using ...
(TEST_SUBDIRS): ... this new variable.
(maintainer-check): Added dependency from the new target
`maintainer-check-list-of-tests'.
Stefano Lattarini [Sun, 15 Jan 2012 22:45:31 +0000 (23:45 +0100)]
build: explicitly declare some targets as .PHONY
* Makefile.am (fetch, git-dist, git-release, maintainer-check):
Declare as ".PHONY".
Stefano Lattarini [Sun, 15 Jan 2012 22:38:58 +0000 (23:38 +0100)]
maint: remove obsolete/broken maintainer targets
* Makefile.am (git-diff): Remove. First, we don't distribute diffs
between an automake version and the next one anyway, so this target
is pointless. Moreover, its recipe has been broken for quite a
long time now, always generating an empty diff due to the spurious
'$(PACKAGE)' argument that was passed to the "git diff" invocation.
(path-check): Remove. The 'pathchk' program running in this check
complains about any file with name longer than 14 characters, which
is a ridiculously low limit for today standards. Also, we already
had several test scripts (no less than 195!) that were exceeding
that limit, and nobody ever complained (not even on MinGW/MSYS nor
Cygwin).
Stefano Lattarini [Sun, 15 Jan 2012 22:08:21 +0000 (23:08 +0100)]
build: improve silencing of automake build system
In this change, we continue the silencing of the automake build
system that has been started in commit v1.11-642-g17542c3, but
which has been left incomplete there for an (absent-mindness)
mistake.
* Makefile.am (INSTALL): Silence the recipe.
(automake, aclocal): Likewise, and improve them a little since
we are at it.
* lib/Automake/Makefile.am (Config.pm): Likewise.
Stefano Lattarini [Sun, 15 Jan 2012 20:07:44 +0000 (21:07 +0100)]
tests: move list of tests in its own Makefile fragment
This change will make it easier to merge maint into master, which
has a similar Makefile setup in the testsuite.
* tests/Makefile.am (include): Inclusion of ...
* tests/list-of-tests.mk: ... this new file.
* tests/Makefile.am (TESTS): Move most of its content into,
and redefine in function of, ...
* tests/list-of-tests.mk (handwritten_TESTS): ... this new
variable.
* tests/gen-parallel-tests: Update.
Stefano Lattarini [Sun, 15 Jan 2012 19:46:43 +0000 (20:46 +0100)]
build: silence automake build system
* configure.ac (AM_SILENT_RULES): Invoke with "yes" as a parameter,
to activate silent rules by default.
* NEWS: Update.
* Makefile.am (sc_perl_syntax): Silence its recipe unconditionally,
similarly to what is done for other syntax checks.
(release-stats): Be silent by default *but not unconditionally*,
thanks to the use of $(AM_V_GEN).
(path-check, git-diff): Be silent by default, thanks to the use
of $(AM_V_GEN).
* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise.
* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise.
* tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
($(parallel_tests)): Likewise.
Stefano Lattarini [Sun, 15 Jan 2012 16:14:04 +0000 (17:14 +0100)]
gnupload: moved to gnulib
Since the gnupload script is not required by automake-generated
code (be it configure or Makefile content), and is not specifically
tied to automake in any way, it is better to have its master copy
installed in the gnulib repository, as is already done for similar
generally-useful, maintainer-oriented scripts. We can them sync it
from there.
See also gnulib commit v0.0-6822-gf8b7120, and:
<http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
* Makefile.am (FETCHFILES): Added 'gnupload'.
(fetch): Also sync 'gnupload' from the gnulib repository.
* lib/gnupload: Synced from gnulib.
* NEWS: Update.
Stefano Lattarini [Sun, 15 Jan 2012 16:10:21 +0000 (17:10 +0100)]
sync: gitlog-to-changelog from gnulib upstream
* lib/gitlog-to-changelog: Synced from upstream, by "make fetch".
Stefano Lattarini [Sat, 14 Jan 2012 09:32:13 +0000 (10:32 +0100)]
test defs: backport optimized 'using_gmake' implementation
* tests/defs.in (using_gmake): Backport optimized, result-caching
implementation from master.
Stefano Lattarini [Fri, 13 Jan 2012 20:56:54 +0000 (21:56 +0100)]
tests: unify some tests on "make -n", reducing duplication
* tests/maken2.test: Merge into ...
* tests/maken.test: ... this test, to avoid unnecessary code
duplication. Make checks depending on GNU make conditional to
the actual presence of GNU make.
* tests/maken4.test: Similarly, merge into ...
* tests/maken3.test: ... this test.
* tests/Makefile.am (TESTS): Remove maken2.test and maken4.test.
Stefano Lattarini [Sat, 14 Jan 2012 08:57:55 +0000 (09:57 +0100)]
vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)"
* automake.in (lang_vala_finish_target): In the generated rules,
use '$(am__cd)', not bare 'cd', to chdir into $(scdir). Issue
revealed by the maintainer check 'sc_cd_relative_dir'.
Stefano Lattarini [Fri, 13 Jan 2012 11:42:36 +0000 (12:42 +0100)]
Merge branch 'fix-pr10470' into maint
* fix-pr10470:
dist: avoid $(distdir) removal failure on MSYS/MinGW
coverage: expose automake bug#10470 (distcheck-related)
Stefano Lattarini [Wed, 11 Jan 2012 17:09:07 +0000 (18:09 +0100)]
dist: avoid $(distdir) removal failure on MSYS/MinGW
This change fixes automake bug#10470.
On MSYS (1.0.17) it is not possible to remove a directory that is
in use, and this, together with timing issues, could cause spurious
failures in the cleanup code of the "distcheck" recipe. In fact,
it should be noted that assuming a directory can be removed while
it the CWD of a running process is a POSIX violation:
"If the directory is the root directory or the current working
directory of any process, it is unspecified whether the function
succeeds, or whether it shall fail and set errno to [EBUSY]."
* lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some
seconds and retry, to give potential "pending" processes some time
to exit and "release" the directory.
* tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'.
Report and suggestions by Peter Rosin and Eric Blake.
Stefano Lattarini [Sun, 1 Jan 2012 18:06:00 +0000 (19:06 +0100)]
tests: fix spurious failure of 'get-sysconf.test'
* tests/get-sysconf.test: Do not assume that a ChangeLog file exists
in $(srcdir): now that the ChangeLog is autogenerated and not under
version control anymore, this is not necessary true. Instead, if we
are running from a git checkout, use "git log" to get information on
the version of the automake snapshot being tested (and fall back on
extracting the first ChangeLog entry otherwise).
Reported by Jim Meyering in automake bug#10418.
Cherry picked from commit v1.11-1675-g104f302.
Stefano Lattarini [Thu, 12 Jan 2012 09:06:14 +0000 (10:06 +0100)]
coverage: expose automake bug#10470 (distcheck-related)
* tests/distcheck-pr10470.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
Report and suggestions by Peter Rosin and Eric Blake.
Stefano Lattarini [Thu, 12 Jan 2012 08:41:06 +0000 (09:41 +0100)]
tests: make 'aclocal-install-absdir.test' executable
* tests/aclocal-install-absdir.test: Make it executable.
Stefano Lattarini [Sun, 8 Jan 2012 11:49:57 +0000 (12:49 +0100)]
tests: require GNU make in 'vala-vapth.test'
* vala-vpath.test ($required): Add the "GNUmake" requirement, since
rules generated by vala support are expected to work with GNU make
only.
Ryan Lortie [Sat, 7 Jan 2012 06:08:11 +0000 (01:08 -0500)]
vala: fix VPATH builds
This change fixes automake bug#9859.
* automake.in (lang_vala_finish_target): Create the stamp file
'${derived}_vala.stamp' in $(srcdir), not in $(builddir).
Also, don't try to chdir to the $(srcdir) to trigger the rebuild
rules, since that is just wrong in a VPATH setup.
* tests/vala-vpath.test, tests/vala2.test: Extend to catch more
possible VPATH issues.
* tests/Makefile.am (XFAIL_TESTS): Remove 'vala-vpath.test'.
* NEWS, THANKS: Update.
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Copyright-paperwork-exempt: yes
Ryan Lortie [Sat, 7 Jan 2012 06:06:37 +0000 (01:06 -0500)]
tests: fix some bugs in the vala-vpath test
* tests/vala-vpath.test: There are (trivial) problems in this
testcase that would cause the build to fail even if the core
issue were resolved. Fix those.
Copyright-paperwork-exempt: yes
Stefano Lattarini [Tue, 3 Jan 2012 15:12:46 +0000 (16:12 +0100)]
dist: do not wrap calls to 'tar' with the 'missing' script
The `missing' script is meant to allow non-developers to build a
package in the face of slightly-skewed timestamps (as might happen
e.g. when the package is obtained from a VCS checkout rather than
from a distribution tarball). It is *not* the business of the
`missing' script to try to provide wrappers for all the maintainer
tools (in this case, to tool being a decent tar program). Such
wrapping of `tar' was not only inappropriate, but it was also
preventing the legitimate overriding (at make runtime) of the
`tar' program used in the creation of the distribution tarballs.
See also automake bug#9822.
* lib/missing: Don't try to specially wrap `tar' invocations
anymore.
* m4/tar.m4 (_AM_PROG_TAR): In the definitions of the `AMTAR'
variable, do not wrap the `tar' invocation with the `missing'
script anymore. Instead, allow the user to override the intended
tar program at make runtime, by defining the `TAR' environment
variable.
[$1 == v7]: Similarly for the definitions of the `am__tar' and
`am__untar' variables. Since we are at it, don't make them depend
anymore on the definition of the obsolescent `AMTAR' variable.
* NEWS: Update.
* tests/missing-tar.test: Remove, it's obsolete.
* tests/tar-override.test: New test.
* tests/Makefile.am (TESTS): Update.
Reported by Akim Demaille.
Stefano Lattarini [Fri, 6 Jan 2012 13:51:55 +0000 (14:51 +0100)]
fixup: previous commit v1.11-627-g1e0aedc
* tests/acloca18.test: Do not remove an aclocal.m4 file that is
needed by a later autoconf invocation.
Stefano Lattarini [Fri, 6 Jan 2012 12:15:17 +0000 (13:15 +0100)]
tests: fix spurious failures due to autom4te caching
* tests/aclocal9.test: Call aclocal and autoconf with the `--force'
option.
* tests/acloca10.test: Sleep between re-runs of aclocal and autoconf.
* tests/acloca18.test: Explicitly remove also the configure script
and the aclocal.m4 before re-invoking aclocal and autoconf.
Stefano Lattarini [Thu, 5 Jan 2012 14:13:30 +0000 (15:13 +0100)]
parallel-tests: avoid issue with overly long lines in sed input
See automake bug#10437:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10437>
and coreutils bug#10427:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8>
* lib/am/check.am (recheck, recheck-html): In order to strip
trailing whitespace from the definition of the `$list' variable,
we used to invoke sed in a way that could cause it to get passed
overly long input lines, causing spurious failures. So rework
the logic of the recipe to avoid any sed invocation, relying on
simpler shell idioms instead.
(check-TESTS): Reorganize the recipe to be more similar to the
one of `recheck', for consistency and simplicity.
* NEWS: Update.
Report and analysis by Paul Eggert.
Stefano Lattarini [Wed, 4 Jan 2012 09:21:57 +0000 (10:21 +0100)]
sync: auxiliary files from upstream synced
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/gitlog-to-changelog: Likewise.
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
Stefano Lattarini [Wed, 4 Jan 2012 09:18:15 +0000 (10:18 +0100)]
sync: fix syncing of 'gitlog-to-changelog' script
* Makefile.am (FETCHFILES): Also list 'gitlog-to-changelog'.
Stefano Lattarini [Wed, 4 Jan 2012 09:09:25 +0000 (10:09 +0100)]
maintcheck: avoid false positive in sc_tests_plain_make
* Makefile.am (sc_tests_plain_make): Ensure to only match full
`make' words. Avoid false positive in `silent-nested-vars.test'.
Stefano Lattarini [Tue, 3 Jan 2012 08:06:09 +0000 (09:06 +0100)]
install: pkglibexec_SCRIPTS is a valid prefix/primary combination
It makes little sense for `libexec_SCRIPTS' to be accepted as valid
while `pkglibexec_SCRIPTS' is not. So fix this inconsistency by
explicitly allowing `pkglibexec_SCRIPTS' as well. It is worth
noting that the inconsistency has been there for a long time,
but only the quite recent commit `v1.11-373-g9ca6326' "Warnings
about primary/prefix mismatch fixed and extended" has made it
noisy enough to be noticed.
* automake.in (handle_scripts): Also list `pkglibexec' among the
prefixes valid for the `SCRIPTS' primary.
* doc/automake.texi (Scripts): Likewise.
* tests/primary-prefix-valid-couples.test: Update.
* THANKS: Likewise.
* NEWS: Likewise.
Reported by Dennis Schridde on the automake list:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00002.html>
Stefano Lattarini [Mon, 2 Jan 2012 19:32:54 +0000 (20:32 +0100)]
coverage: expose automake bug#10128
* tests/objext-pr10128.test: New test, still expected to fail.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
Stefano Lattarini [Mon, 2 Jan 2012 08:40:13 +0000 (09:40 +0100)]
progs, libs: implement EXTRA_foo_DEPENDENCIES
Backported from commit `v1.11-377-g6edafbb'.
The feature implemented by that change is quite unobtrusive, so
adding it to a maintenance release is acceptable. Also, there
have been requests from real-world users for this feature since
it has been implemented in master; see automake bug#9320:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9320>
and this short discussion on the automake list:
<http://lists.gnu.org/archive/html/automake/2010-11/msg00099.html>
It would be a pity to make such users wait even more (until
Automake 1.12 is out) before they could start using this feature.
Thus we backport it, so that it will appear in the next maintenance
version of automake (1.11.3).
* automake.in (handle_programs, handle_libraries)
(handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
* doc/automake.texi (Linking, Program and Library Variables)
(LIBOBJS): Document EXTRA_*_DEPENDENCIES.
* lib/am/library.am (%LIBRARY%): Also depend on
$(EXTRA_%XLIBRARY%_DEPENDENCIES).
* lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
(%XLTLIBRARY%_DEPENDENCIES).
* lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
$(EXTRA_%XPROGRAM%_DEPENDENCIES).
* tests/extradep.test, tests/extradep2.test: New tests.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
Stefano Lattarini [Tue, 3 Jan 2012 12:56:17 +0000 (13:56 +0100)]
tests: fix spurious failures in 'pr300*.test'
This change fixes automake bug#10426.
* tests/pr300-lib.test: Call configure with an explicit '--libdir'
option, to avoid spurious failures due to users possibly overriding
'${libdir}' in ther config.site files.
* tests/pr300-ltlib.test: Likewise.
Reported by Bruno Haible.
Stefano Lattarini [Sun, 1 Jan 2012 09:42:34 +0000 (10:42 +0100)]
tests: make 'lzip.test' executable
* tests/lzip.test: Make it executable.
Stefano Lattarini [Sun, 1 Jan 2012 09:39:10 +0000 (10:39 +0100)]
Merge branch 'deprecate-lzma' into maint
* deprecate-lzma:
dist: obsolete support for lzma (superseded by xz and lzip)
Stefano Lattarini [Fri, 30 Dec 2011 14:54:40 +0000 (15:54 +0100)]
dist: obsolete support for lzma (superseded by xz and lzip)
The lzma utilities are today superseded by the xz utilities; in
fact, the official site at <http://tukaani.org/lzma/> reads:
``LZMA Utils are legacy data compression software with high
compression ratio. LZMA Utils are no longer developed, ...
Users of LZMA Utils should move to XZ Utils.''
and the existing automake manual (as of 1.11.2) already says:
``dist-xz
Generate an 'xz' tar archive of the distribution. xz archives
are frequently smaller than bzip2-compressed archives. The 'xz'
format will soon (early 2009) displace the 'lzma' format''
Also, the `dist-lzma' target still suffers of never-solved bugs,
due to the too-high compression ratio its uses by default, which
might cause an unacceptable memory consumption when one tries to
compress or, worse, decompress the created tarballs; see also:
<http://lists.gnu.org/archive/html/automake/2011-12/msg00025.html>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9658>
* NEWS: Update.
* doc/automake.texi (Dist, Options): State that `dist-lzma' will
go away in the next major automake version.
* lib/Automake/Options.pm (_process_option_list): Deprecate
`dist-lzma'.
* tests/lzma.test: Update.
Stefano Lattarini [Sat, 31 Dec 2011 07:47:34 +0000 (08:47 +0100)]
Merge branch 'dist-lzip' into maint
* dist-lzip:
dist: add support for lzip compression
Stefano Lattarini [Fri, 30 Dec 2011 18:22:55 +0000 (19:22 +0100)]
test defs: more granular overriding of the make program
Before this change, the only way the user could override the make
program used in the automake test cases was to override the $MAKE
variable in the environment. This had the annoying side effect of
requiring that, whenever a non-default make program was to be used
in the test cases, that same make program had to be used to drive
the execution of the automake testsuite; otherwise, the recursive
make invocations could pick up $MAKE from the environment, and use
that instead of re-executing with the correct make.
So, for example, if one wanted to try how Solaris /usr/ccs/bin/make
behaved in the automake test cases, he couldn't run the testsuite
in parallel mode, because that make lacks support for concurrent
execution of recipes; on fast machines, this easily meant a 4x or
higher slow-down.
Once the problem is clear, the solution is pretty simple: allow
the use of another variable, besides $MAKE, to override the make
program to be used in the test cases.
See also commit `v1.11-1318-g3ceeef4', that introduced a more
general version of this change to the master branch.
* tests/defs.in: Allow the make implementation to be used by the
test cases to be overridden by the `$AM_TESTSUITE_MAKE' variable,
in preference to the `$MAKE' variable.
Stefano Lattarini [Fri, 30 Dec 2011 17:13:28 +0000 (18:13 +0100)]
docs: fix a couple broken anchors
* doc/automake.texi: In previous commit v1.11-605-g5f71f2b (related
to automake bug#8071), we had renamed the chapters about aclocal
and automake invocation, and added anchors to the old names as not
to break hyperlinks to our on-line manual. Unfortunately, these
anchors had been erroneously placed *before* the relevant `@node'
commands, instead that just after, so that they ended up pointing
to the wrong chapters. Fix this. Since we are at it, tweak the
wording of the comments to the anchors to better match that used
in the autoconf manual.
Report and suggestion by Eric Blake.
Antonio Diaz Diaz [Fri, 30 Dec 2011 13:35:18 +0000 (14:35 +0100)]
dist: add support for lzip compression
* NEWS: Update.
* automake.in (handle_dist): Recognize dist-lzip.
(make_paragraphs): Map LZIP to dist-lzip.
* doc/automake.texi (Dist, Options): Describe dist-lzip.
* lib/Automake/Options.pm (_process_option_list): Recognize
`dist-lzip'.
* lib/am/distdir.am (dist-lzip): New target.
(DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'.
(dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed
tarball.
(distcheck): Handle lzip-compressed tarballs just like the others.
* tests/lzip.test: New test.
* tests/Makefile.am (TESTS): Add it.
Stefano Lattarini [Fri, 30 Dec 2011 12:47:57 +0000 (13:47 +0100)]
Merge remote-tracking branch 'silent-fixes' into maint
* origin/silent-fixes:
fix: last entry in ChangeLog
tests: tweak tests on silent-rules for makes without nested vars
silent-rules: fallback for makes without nested vars
Stefano Lattarini [Wed, 28 Dec 2011 19:28:29 +0000 (20:28 +0100)]
docs: fix paragraph names for automake and aclocal invocations
All the other autotools entitle their invocation nodes
"autofoo Invocation", whereas automake used to call its
"Invoking Automake" and "Invoking aclocal". So let's
try to be more consistent.
This change is related to automake bug#8071.
Suggestion by Reuben Thomas and Eric Blake.
* doc/automake.texi (Invoking Automake): Node renamed ...
(automake Invocation): ... to this.
(Invoking aclocal): Node renamed ...
(aclocal Invocation): ... to this.
Add proper @anchor directives to avoid breaking existing web
hyperlinks still using the old names of the renamed nodes.
Stefano Lattarini [Wed, 28 Dec 2011 14:15:50 +0000 (15:15 +0100)]
tests: fix spurious failure due to autom4te caching
* tests/acloca18.test: Remove stale autom4te.cache directories, to
prevent racy, spurious failures.
* tests/python11.test: Likewise. Fix a typo in comments since we
are at it.
Stefano Lattarini [Wed, 28 Dec 2011 09:54:47 +0000 (10:54 +0100)]
Merge branch 'maint' into silent-fixes
* maint:
maint: autogenerate ChangeLog
fix: last ChangeLog entry
tests: drop unnecessary requirement in 'subpkg.test'
gitlog-to-changelog: new auxiliary script, synced from gnulib
docs: "aclocal --install -I /abs/dir" actually copies files
docs: fix node names for automake and aclocal invocations
Stefano Lattarini [Wed, 28 Dec 2011 09:17:30 +0000 (10:17 +0100)]
maint: autogenerate ChangeLog
Following the practice set by various other GNU projects, we start
to automatically generate the ChangeLog file from the git commit
messages. This will avoid duplication (as the ChangeLog entries
were always inserted both in the git commit message and in the
version-controlled ChangeLog file), and potential problems with
spurious merge conflicts (which, although greatly mitigated by
Bruno Haible's `git-merge-changelog' helper program, have never
been completely solved).
* ChangeLog: Moved ...
* ChangeLog.11:... to this.
* Makefile.am (EXTRA_DIST): Add it.
(gitlog_to_changelog_command, gitlog_to_changelog_options): New
variables.
(ChangeLog, am--changelog-regen-hook): New targets.
* .gitignore: Add ChangeLog.
Stefano Lattarini [Tue, 27 Dec 2011 21:45:23 +0000 (22:45 +0100)]
fix: last ChangeLog entry
Spotted by Dave Hart.
Stefano Lattarini [Tue, 27 Dec 2011 18:31:03 +0000 (19:31 +0100)]
tests: drop unnecessary requirement in 'subpkg.test'
* tests/subpkg.test ($required): Drop "bison", it is not required
anymore since commit `v1.11-502-g7e5ae80'.
Stefano Lattarini [Tue, 27 Dec 2011 18:12:46 +0000 (19:12 +0100)]
gitlog-to-changelog: new auxiliary script, synced from gnulib
We have plans to stop maintaining a version-controlled ChangeLog
file in the Automake repository, and instead begin to generate it
automatically from the git log messages. To do so, we will use
the `gitlog-to-changelog' script from gnulib.
* lib/gitlog-to-changelog: New, synced from gnulib.
* Makefile.am (fetch): Fetch and sync it.
* lib/Makefile.am (EXTRA_DIST): Distribute it.
Stefano Lattarini [Tue, 27 Dec 2011 13:55:41 +0000 (14:55 +0100)]
docs: "aclocal --install -I /abs/dir" actually copies files
This change is for automake bug#8407.
In the past, there had been some debate and confusion about
whether "aclocal --install" should copy third-party .m4 files
in the first directory passed to the `-I' option even when
such directory was given as an absolute path, or whether it
was better to do so only for directories specified with a
relative path.
The rationale for this latter behaviour was that, before the
existence of the `ACLOCAL_PATH' variable, the only way (a poor
way, I might add) for a common user to extend the search path
of a system-wide installation of aclocal was to export something
like ACLOCAL="aclocal -I /my/extra/macros" in the environment.
Today, the correct way to proceed is undoubtedly through the
use of ACLOCAL_PATH, so we can settle the question once and for
all, and start verifying the correct behaviour of `-I' with a
new test.
* tests/aclocal-install-absdir.test: New test.
* tests/Makefile.am (TESTS): Add it.
* doc/automake.texi (aclocal Options): Be more explicit about
this part of `--install' semantics.
Stefano Lattarini [Mon, 26 Dec 2011 21:38:58 +0000 (22:38 +0100)]
fix: last entry in ChangeLog
Stefano Lattarini [Mon, 26 Dec 2011 17:23:24 +0000 (18:23 +0100)]
tests: tweak tests on silent-rules for makes without nested vars
* tests/silent-nested-vars.test: Define $MAKE to `./mymake' in
the environment, so that it will be automatically picked up by
configure. Related tweaks and simplifications.
Remove the checks verifying that silent rules are respected also
when the 'subdir-objects' option is set, the checks testing the
old syntax for user-defined silent rules, and the tests using
the default $MAKE programs: they are redundant w.r.t. other test
cases. Related simplifications.
Remove the temporary files used in a sanity check as soon as they
are not needed anymore.
Do not capture also the standard error of configure: we only want
to grep its standard output.
Consistently use `stdout' for the name of files where to save the
standard output captured from make and configure, for consistency
with other tests.
Make grepping of configure output and of the generated Makefile
stricter.
Improve and tweak the `mymake' script a little.
* tests/silent6.test: Make grepping of make stdout slightly
stricter. After having configured with silent rules disabled,
try to force the use silent rules with `make V=1'.
Stefano Lattarini [Mon, 26 Dec 2011 19:08:23 +0000 (20:08 +0100)]
docs: fix node names for automake and aclocal invocations
With the older node names, an "info automake" command issued
from the command line would have opened the node about the
invocation of the automake program, rather than the Top node
of the automake documentation. To invoke the Top node, one
had to issue the command "info Automake" instead (note the
different capitalization). This was suboptimal, and certainly
confusing.
With this change, "info automake" will open the Top node of the
automake documentation; to access the nodes about the invocation
of the automake and aclocal program, one has now to issue "info
automake-invocation" and "info aclocal-invocation" respectively.
This change fixes automake bug#8071.
See also commits `v2.61a-22-ge9215d1' and `v2.61a-72-g8c07b48' in
the autoconf git repository, which tackled a similar issue.
* doc/automake.texi (@direntry): Rename nodes `aclocal' and
`automake' to `aclocal-invocation' and `automake-invocation'
respectively.
* NEWS: Update.
Paul Eggert [Sun, 25 Dec 2011 17:56:44 +0000 (09:56 -0800)]
silent-rules: fallback for makes without nested vars
This fixes two problems reported for Automake (Bug#9928, Bug#10237)
and is in response to a bug report for building coreutils on HP
NonStop OS (Bug#10234). The problem is that HP NonStop 'make'
treats a line like "AM_V_CC = $(am__v_CC_$(V))" as one that
expands a macro with the funny name am__v_CC_$(V instead of the
desired name am__v_CC_1 or am__v_CC_0, and since the funny macro
is not defined the line is equivalent to "AM_V_CC = )"; this
inserts a stray ")" when $(AM_V_CC) is used, which eventually
causes 'make' to fail.
The basic idea is that instead of generating Makefile.in lines like
"AM_V_CC = $(am__v_CC_$(V))", we generate
"AM_V_CC = $(am__v_CC_@AM_V@)". We then AC_SUBST $(V) for @AM_V@
in the usual case where `make' supports nested variables,
and substitute 1 (or 0) otherwise. Similarly for usages like
$(am__v_CC_$(AM_DEFAULT_VERBOSITY)).
With this change, make implementations that doesn't grasp nested
variable expansions will still be able to run Makefiles generated
using the silent-rules option. They won't allow the user to
override the make verbosity at runtime through redefinition of
$(V) (as in "make V=0"); but this is still an improvement over not
being able to work at all.
* NEWS: Document this.
* automake.in (define_verbose_var): When defining the variables,
use @AM_V@ rather than $(V), and use @AM_DEFAULT_V@ rather than
$(AM_DEFAULT_VERBOSITY).
* doc/automake.texi (Automake silent-rules Option): Explain new system.
* m4/silent.m4 (AM_SILENT_RULES): Check whether `make' supports
nested variables, and substitute AM_V and AM_DEFAULT_V accordingly.
* tests/silent-nested-vars.test: New test.
* tests/Makefile.am (TESTS): Add it.
Stefano Lattarini [Sat, 24 Dec 2011 09:43:26 +0000 (10:43 +0100)]
gitignore: use only one .gitignore file, in the top-level directory
* doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their
contents merged into ...
* .gitignore: ... this top-level file. Since we are at it, improve
it by anchoring files where it makes sense.
Stefano Lattarini [Sat, 24 Dec 2011 08:58:17 +0000 (09:58 +0100)]
Merge branch 'tests-gettext-macros-require' into maint
* tests-gettext-macros-require:
tests: one more fixlet for gettext macros requirement
Stefano Lattarini [Sat, 24 Dec 2011 08:56:49 +0000 (09:56 +0100)]
tests: one more fixlet for gettext macros requirement
* tests/gettext-macros.test (configure.in): Add calls to
AC_INIT and AC_PROG_CC, to avoid a spurious failure in the
later aclocal invocation.
Luckily, this wart wasn't causing any spurious SKIP or FAIL,
but only the redundant addition to the `-Wno-syntax' option
to some aclocal invocations in the gettext tests.
Stefano Lattarini [Sat, 24 Dec 2011 08:29:15 +0000 (09:29 +0100)]
Merge branch 'tests-gettext-macros-require' into maint
* tests-gettext-macros-require:
tests: fix handling of gettext macros requirement
Stefano Lattarini [Sat, 24 Dec 2011 08:25:00 +0000 (09:25 +0100)]
tests: fix handling of gettext macros requirement
The code introduced in the earlier change `v1.11-581-gb7d67d5'
and aimed at automatically fetching all the .m4 files provided by
gettext has proven inadequate, since it hasn't managed to truly
and always get *all* the required .m4 files. For example, it has
failed to fetch the file `intldir.m4' (present in gettext 0.18.1,
and where the macro `AM_GNU_GETTEXT_INTL_SUBDIR' is defined),
which in turn has caused spurious SKIPs of at least the test
`gettext3.test'.
The reason for this debacle is that autopoint looks at the version
specified in AM_GNU_GETTEXT_VERSION to decide which version of the
gettext infrastructure to bring in; since we were unconditionally
specifying the older 0.10.35 version, the newer `.m4' files weren't
brought in.
* tests/gettext-macros.test: In AM_GNU_GETTEXT_VERSION, instead
of unconditionally specifying the older 0.10.35 version, specify
the version of the available `gettextize' or `autopoint' program,
dynamically extracted with the help of ...
(extract_program_version):... this new function, and saved ...
($autopoint_version): ... in this new variable.
Stefano Lattarini [Fri, 23 Dec 2011 12:09:50 +0000 (13:09 +0100)]
Merge branch 'missing-fixes' into maint
* missing-fixes:
tests: fix failure due to debugging code forgotten into a test
Stefano Lattarini [Fri, 23 Dec 2011 11:47:19 +0000 (12:47 +0100)]
tests: fix failure due to debugging code forgotten into a test
* tests/missing-tar.test: Don't ever call the `missing' script
with `sh -x'; this was used for debugging, but an instance of
it slipped into the committed test case. Bug revealed by a
failure on a Solaris 10 system with GNU tar installed as `gtar'.
Stefano Lattarini [Thu, 22 Dec 2011 23:42:46 +0000 (00:42 +0100)]
Merge branch 'tests-libtool-gettext-requirements' into maint
* tests-libtool-gettext-requirements:
tests: avoid spurious failure of libtool and gettext tests
Stefano Lattarini [Thu, 22 Dec 2011 23:42:24 +0000 (00:42 +0100)]
tests: avoid spurious failure of libtool and gettext tests
On Solaris 10 (and presumably earlier), /bin/sh trips up on
here-documents that contains a command substitution *and* are
fed to a shell function:
# All as expected.
$ cat <<END
`pwd`
END
/home/stefano
$ echo status = $?
status = 0
# An apparently innocuous function ...
$ kitty () { cat; }
# ... but hilarity ensues!
$ kitty <<END
`pwd`
END
/tmp/sh137723: cannot open
$ echo status = $?
status = 1
We need to work around this misbehaviour in a couple of our
tests (whose failures where causing cascading failures in a
lot of other tests).
* tests/gettext-macros.test: Avoid the use of command substitution
in a here-document passed to the `indent' function, by using the
`echo' builtin instead.
* tests/libtool-macros.test: Likewise.
See also:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-12/msg00001.html>
Stefano Lattarini [Thu, 22 Dec 2011 20:47:41 +0000 (21:47 +0100)]
hacking: distribute it, and mention it in the ChangeLog
Not distributing the HACKING file might make it more difficult,
for some random curious user, to get informed about or interested
in the Automake development process, or to send us patches.
* Makefile.am (EXTRA_DIST): Add HACKING.
* HACKING: It's OK to distribute this file, and to mention it in
the ChangeLog.
Stefano Lattarini [Sat, 13 Nov 2010 11:21:28 +0000 (12:21 +0100)]
regex: deprecate the obsolete macro AM_WITH_REGEX
This is a backport of commit v1.11-433-g37b0aee.
Today, practically nobody uses the GNU rx library, which, according
to its own website <http://www.gnu.org/software/rx/rx.html>, has
been "decommissioned". Consequently, the automake-provided macro
AM_WITH_REGEX is not used nor required anymore. Deprecate it, so
that it will be possible to safely remove it in the next major
automake version.
* m4/regex.m4 (AM_WITH_REGEX): Give a warning of the class
`obsolete' when this macro is used.
* doc/automake.texi (Public Macros): Move description of
`AM_WITH_REGEX' from here ...
(Obsolete Macros): ... to here, and declare it as obsolete
and "to be removed in a future version".
* tests/regex-obsolete.test: New test.
* tests/Makefile.am (TESTS): Add it.
* NEWS: Update.
See also:
<http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00131.html>
Stefano Lattarini [Thu, 22 Dec 2011 18:51:52 +0000 (19:51 +0100)]
maint: distribute .xz tarballs, not .bz2 ones
Many GNU packages are moving towards xz-compressed tarballs, so
let's follow suit, by dropping the creation and distribution of
a bzip2-compressed tarball and switching to xz instead.
For compatibility and safeness, we will continue to create and
distribute a gzip-compressed tarball as well.
* configure.ac (AM_INIT_AUTOMAKE): Drop `dist-bzip2', add
`dist-xz'.
* NEWS: Update.
Suggested by Jim Meyering.
Stefano Lattarini [Thu, 22 Dec 2011 18:20:46 +0000 (19:20 +0100)]
Merge branch 'pr9768-fix' into maint
* pr9768-fix:
include: avoid "deleted .am file" problem
Stefano Lattarini [Thu, 22 Dec 2011 18:16:48 +0000 (19:16 +0100)]
maint: better use of autoconf 2.68 features
* configure.ac: Now that Automake requires autoconf 2.68 for its
own bootstrapping and build system, we can assume that PACKAGE_URL
gets automatically AC_SUBT'd.
Stefano Lattarini [Thu, 22 Dec 2011 18:05:32 +0000 (19:05 +0100)]
cosmetics: use proper m4 quoting in configure.ac
* configure.ac (AC_CONFIG_SRCDIR): Use proper m4 quoting
for its arguments.
(AC_CONFIG_AUX_DIR): Likewise.
(AC_PROG_PATH): Likewise.
Stefano Lattarini [Sun, 16 Oct 2011 12:57:37 +0000 (14:57 +0200)]
include: avoid "deleted .am file" problem
* automake.in (handle_configure): When processing `configure.am',
also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether
`MAKEFILE-IN-DEPS' is empty or not.
* lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?]
(%MAKEFILE-IN-DEPS%): New target without dependencies, to
avoid the "deleted .am file" problem. Emit this only when
`?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an
"empty" dependency declaration.
* tests/deleted-am.test: Make grepping of error message stricter.
* tests/dist-missing-am.test: Likewise.
* tests/remake-deleted-am.test: New test.
* tests/remake-deleted-am-2.test: Likewise.
* tests/remake-deleted-am-subdir.test: Likewise.
* tests/remake-renamed-am.test: Likewise.
* tests/makefile-deps.test: Likewise.
* tests/Makefile.am (TESTS): Add the new tests.
* NEWS: Update.
Fixes automake bug#9768.
Report by Peter Johansson.
See also commit `Release-1-10-40-gd0ebf71', which fixed a similar
problem for .m4 files included by configure.ac.
Stefano Lattarini [Wed, 14 Dec 2011 09:35:04 +0000 (10:35 +0100)]
tests: better handling of gettext and libtool requirements
This change fixes automake bug#9807.
Before this change, the automake testsuite only looked for the
`.m4' files containing libtool and gettext macros definitions in
the directory `${prefix}/share/aclocal' (and in the directories
specified by the `dirlist' file in there, if any), where ${prefix}
was the configure-time automake installation prefix (defaulting
to `/usr/local').
This approach had various shortcomings and disadvantages. Let's
briefly describe the three major ones.
First, on most GNU/Linux systems, a libtool or gettext installed
from distro-provided packages (e.g., by dpkg on Debian/Ubuntu, or
by rmp on RedHat/Fedora) would have `/usr', not `/usr/local', as
its ${prefix}; so, trying to run the automake testsuite with a
simple "./configure && make && make check" would have failed to
execute the libtool and gettext tests on most GNU/Linux distros.
It's true that it was quite easy to work around this issue, by
creating a proper `/usr/local/share/aclocal/dirlist' file with
an entry pointing to `/usr/share/aclocal' (a workaround in fact
used by most automake developers); but the typical user wasn't
aware of the necessity of this trick, so the libtool and gettext
tests was usually skipped on testsuite runs "in the wild", thus
needlessly reducing coverage.
Second, the older testsuite behaviour made more difficult for
the developers to run the testsuite with non-default libtool or
gettext. For example, assume the developer is working on a system
that has a default libtool version 1.5 installed in the /usr/local
hierarchy; to improve coverage, the developer installs also a more
modern libtool version, say 2.4, in its home directory, let's say
in ~/libtool-2.4; he then tries to run the automake testsuite with
this more modern libtool by doing an (apparently) simple:
$ PATH=$HOME/libtool-2.4:$PATH make check
But the automake testsuite would still look for libtool macros in
/usr/local/share/aclocal, not in ~/libtool-2.4/share/aclocal, so
the wrong version of the macros would be picked up, and the tests
would either fail spuriously or (which would be worse) pass without
truly covering the libtool version the developers was thinking to
be testing with.
Worse again, the automake testsuite would *unconditionally* look
for libtool macros in /usr/local/share/aclocal, so even something
like:
$ export ACLOCAL_PATH=$HOME/libtool-2.4/share/aclocal
$ PATH=$HOME/libtool-2.4:$PATH make check
wouldn't work.
Third and last, during a "make distcheck", automake is configured
with a ${prefix} pointing to a proper subdirectory of the build
directory (usually `pwd`/_inst), which gets created on-the-fly;
in this case, with the old approach, the automake testsuite never
found the libtool and gettext macro files, ans so the libtool and
gettext tests was *always* skipped in a "make distcheck".
* tests/libtool-macros.test: New helper test, looking (with the
help of the `libtoolize' script) for libtool macro files required
by most libtool tests, and making them easily accessible.
* tests/gettext-macros.test: New helper test, looking (with the
help of the `libtoolize' script) for libtool macro files required
by most libtool tests, and making them easily accessible.
* tests/defs.in: Update to make it rely on the results and setups
of `libtool-macros.test' and `gettext-macros.test'.
* tests/Makefile.am: Declare dependency of all the logs of libtool
tests from `libtool-macros.log', and all the logs of gettext tests
from `gettext-macros.log'.
(TESTS): Add the new tests.
Stefano Lattarini [Thu, 22 Dec 2011 17:17:26 +0000 (18:17 +0100)]
fix: typos and grammaros in comments of the new test
* tests/get-sysconf.test: Fix few typos, grammaros and botched
wording. Reported by Eric Blake.
Stefano Lattarini [Thu, 22 Dec 2011 09:34:28 +0000 (10:34 +0100)]
tests: report useful system information in 'test-suite.log'
It has already happened various times that a user has run the
automake testsuite, experienced a failure, read the messages
telling him "See tests/test-suite.log" and "Please report to
bug-automake@gnu.org", and done exactly that -- sending us only
the contents of `tests/test-suite.log', which are usually not
enough to start debugging the reported failure. So we have to
ask him for more details, and usually also for the `config.log'
file generated by configure. It's time to fix this recurring
feedback inefficiency. We do so by creating a dummy test case
that takes care of copying the contents of `config.log', plus
other useful system information, in the final `test-suite.log'.
* tests/get-sysconf.test: New test, gathering system information
and then always terminating with a SKIP, so that its output gets
copied in `test-suite.log'.
* tests/Makefile.am (TESTS): Add it.
Reuben Thomas [Mon, 5 Dec 2011 22:40:48 +0000 (23:40 +0100)]
python: remove relics for Python 1.5 support
* m4/python.m4: The comments in here claim to support only
Python >= 2.0, yet this file still has specific support for
Python 1.5. Just remove it, python 1.5 is 12 years old now,
and practically defunct.
* NEWS: Update.
See also commit `Release-1-10-205-gd5bec12', "Support for
Python 3.0, drop support for pre-2.0."
Stefano Lattarini [Wed, 21 Dec 2011 18:58:15 +0000 (19:58 +0100)]
configure: remove extraneous 'eval's from AM_RUN_LOG invocations
* configure.ac: Remove extra 'eval's from AM_RUN_LOG invocations;
for example, instead of "AM_RUN_LOG([eval $PERL --version])",
simply use "AM_RUN_LOG([$PERL --version])"
Stefano Lattarini [Wed, 21 Dec 2011 18:21:41 +0000 (19:21 +0100)]
configure: report TeX version in config.log
* configure.ac: If possible, report the version of the selected
TeX program; this should render the logs more informative.
Stefano Lattarini [Thu, 22 Dec 2011 13:27:47 +0000 (14:27 +0100)]
maint: snapshots from `maint' are still development snapshots
The maintenance-oriented development line in the `maint' branch,
while being usually pretty stable and 99% backward-compatible,
is not always right off production-quality; but until now, the
Automake package version declared in configure.ac hid this fact,
since it appeared to be the version of a stable release (e.g.,
11.1). Fix this.
* configure.ac (AC_INIT): Bump version to "1.11.0a"
Stefano Lattarini [Thu, 8 Dec 2011 20:48:25 +0000 (21:48 +0100)]
configure: print proper message for test releases
* configure.ac: If the current release is detected to be a test
release or a development snapshot, print a proper warning for
the user.
* README-alpha: Delete, it's obsolete now (and in fact this file
hasn't been touched in eleven years, since release 1.4b or so).
* HACKING (Release procedure): Don't say to update README-alpha.
Stefano Lattarini [Fri, 9 Dec 2011 17:46:54 +0000 (18:46 +0100)]
devel: help in comparing Makefile.in from different commits
Now that the generated Makefile.in, configure and aclocal.m4 files
are no longer committed in Automake's git repository, a simple
"git diff" or "git log" no longer shows if and how a change in
Automake results in changes to the Makefile.in files and/or
configure script of its own build system. Still, the ability to
peek so easily at such differences has proved itself quite useful
in the past, often revealing inconsistencies and blunders, and
sometimes even bugs; so it would be a pity to lose that altogether.
With this change, we add a new maintainer recipe that re-introduces
much of that capability, by generating and comparing on the fly the
Makefile.in, configure and aclocal.m4 derived from two arbitrary
commits of the Automake repository.
* Makefile.am (autodiffs, compare-autodiffs): New phony targets.
Stefano Lattarini [Thu, 8 Dec 2011 21:54:18 +0000 (22:54 +0100)]
repo: don't commit generated files in the git repository anymore
It has been quite some time since autoconf and libtool have stopped
committing the generated autotools files in their git repositories,
with no significant ill effects we're aware of. It's true that the
autoconf bootstrap process has now the minor annoyance that a
pre-installed autoconf is required to complete it; but luckily
automake will not have a similar annoyance, since our bootstrap
script take care, through some hoops, to use the very automake and
aclocal versions from the current git checkout to generate the
required aclocal.m4 and Makefile.in files. In fact, this has been
a necessity also in the past, because automake has been known to
use in its own build system new development features that hadn't
been present in any previously released automake distribution.
* aclocal.m4: Delete.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* lib/Automake/Makefile.in: Likewise.
* lib/Automake/tests/Makefile.in: Likewise.
* lib/Makefile.in: Likewise.
* lib/am/Makefile.in: Likewise.
* m4/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.
* .gitignore: Ignore configure, aclocal.m4, and all the
Makefile.in files.
* configure.ac (AC_PREREQ): New macro call, to require the
latest autoconf (2.68 for the moment).
Stefano Lattarini [Thu, 22 Dec 2011 11:47:26 +0000 (12:47 +0100)]
Merge branch 'missing-fixes' into maint
* missing-fixes:
missing: don't try to re-run tar with a munged command line
missing: inform the user if GNU tar is called
missing: if GNU tar exists but fails when called, give up
missing: miscellaneous fixlets
Stefano Lattarini [Fri, 9 Dec 2011 08:51:21 +0000 (09:51 +0100)]
maint: remove executable bit from automake.in
* automake.in: This file is not meant to be executed, only to
be preprocessed to create the `automake' script; so don't leave
it executable.
Stefano Lattarini [Sun, 30 Oct 2011 10:55:28 +0000 (11:55 +0100)]
missing: don't try to re-run tar with a munged command line
* lib/missing: If the default `tar' program fails with the given
arguments, and GNU tar is not available, don't try to re-run the
default `tar' with a munged command line (e.g., ditching possibly
unportable options), as that could be subtly alter the intended
semantics (and maybe even create a somewhat corrupted tarball).
Also, it's worth noting that the main purpose of the `missing'
script is to allow a non-developer to build the package in the
face of slightly-skewed timestamps, not to provide wrappers for
all the maintainer tools -- so we don't have to try too hard
when `missing' is just called to wrap `tar'.
* tests/missing-tar.test: New test.
* tests/Makefile.am (TESTS): Add it.
Stefano Lattarini [Sun, 30 Oct 2011 09:30:09 +0000 (10:30 +0100)]
missing: inform the user if GNU tar is called
* lib/missing: If the code trying to run GNU tar is reached, it
means that the previous attempt to run the default tar program
has failed, very likely producing some error message. At this
point, just running GNU tar without further comments might be
confusing.
Stefano Lattarini [Sun, 30 Oct 2011 09:12:28 +0000 (10:12 +0100)]
missing: if GNU tar exists but fails when called, give up
* lib/missing: If the code trying to run GNU tar is reached,
don't continue if the invoked GNU tar program fails, as there
is little point in doing so (and can even be confusing and
counter-productive).
Stefano Lattarini [Sun, 30 Oct 2011 08:57:50 +0000 (09:57 +0100)]
missing: miscellaneous fixlets
* lib/missing: Some shells, such as Solaris or FreeBSD /bin/sh,
warn about missing programs before performing redirections.
Therefore, where we have to silently check whether a program
exists, perform redirections on a subshell.
Remove redundant uses of double-quotes in variable definitions.
Delete an extra blank line.
Peter Rosin [Tue, 20 Dec 2011 20:42:54 +0000 (21:42 +0100)]
tests: fix spurious failure on systems lacking unistd.h
This is for automake bug#10324.
* tests/silent-lex-generic.test (foo.l): Add a dummy #define of
YY_NO_UNISTD_H, so that the generated foo.c file won't require
unistd.h to be present (it is not present when compiling with,
e.g., MSVC 9).
Stefano Lattarini [Fri, 16 Dec 2011 10:12:31 +0000 (11:12 +0100)]
test defs: hack to support autoconf-wrapper programs
* tests/defs.in ($AUTOCONF): Add a dummy `-B' option to the
autoconf invocation, so that, when the Debian autoconf wrapper
is involved, it will correctly dispatch an autoconf >= 2.50
instead of defaulting to autoconf 2.13.
($AUTOHEADER, $AUTORECONF): Likewise, but for autoheader and
autoreconf respectively.
Reported by Bruno Haible:
<http://lists.gnu.org/archive/html/automake/2011-12/msg00039.html>
Stefano Lattarini [Fri, 16 Dec 2011 00:46:14 +0000 (01:46 +0100)]
tests: fix a minor spurious failure with FreeBSD make
* tests/remake-am-pr10111.test: Avoid using `#' comments in
makefile recipes, as these have been confusing FreeBSD make.
The failure was masked by the fact that this test is currently
expected to fail.
Suggested by a report from Bruno Haible.
Stefano Lattarini [Fri, 16 Dec 2011 00:22:57 +0000 (01:22 +0100)]
tests: make two test scripts executable
* tests/remake-am-pr10111.test: Make executable.
* tests/remake-m4-pr10111.test: Likewise.
Stefano Lattarini [Wed, 14 Dec 2011 20:14:04 +0000 (21:14 +0100)]
readme: reference webpages for automake mailing lists
* README: Rationalize and reorganize the (brief) description of
the automake mailing lists. In particular, instead of suggesting
the reader to write to the `-request' addresses to subscribe to
mailing lists, point him to the relevant webpages, where he can
also subscribe via a web form.
Stefano Lattarini [Wed, 14 Dec 2011 20:10:20 +0000 (21:10 +0100)]
readme: update advice about testsuite execution
* README: Now that the automake testsuite uses the parallel-tests
driver, there is no need for the user to capture the stdout of
"make check" to determine which tests have failed: a detailed log
is automatically saved into the `tests/test-suite.log' file.
Since we are at it, improve the wording by dropping an extra
"please".
Stefano Lattarini [Wed, 14 Dec 2011 19:53:10 +0000 (20:53 +0100)]
readme: don't reference the old homepage at sources.redhat.com
* README: Don't reference the old homepage at sources.redhat.com,
which is no longer active; reference the homepage on www.gnu.org
instead. See also automake bug#10157 and bug#10248.
* tests/README: Likewise, and remove related extra-pedantic advice
about copyright papers for test cases (we'll ask for those papers
explicitly when we think they are warranted).
Stefano Lattarini [Mon, 12 Dec 2011 09:20:00 +0000 (10:20 +0100)]
hacking: some more fixlets
* HACKING (Release Procedure): Place the list of pre-release
bootstrap-and-test commands on a line of its own, so it's easy to
select and then paste it into a terminal window.
Fix the explanation of "make git-release", as, since the previous
change, "make git-release" would simply run "make dist" rather
than "make distcheck".
Suggestion from Jim Meyering.