tests: remove mostly-redundant tests on silent rules
We used to have several couples of tests named like 'silent-foo-gcc.sh'
and 'silent-foo-generic.sh'. Differently from what the names suggest,
the first test in such a couple (that is, "silent-foo-gcc.sh") was not
meant to check specific GCC-related features, but rather to check how
the silent rules behave in combination with automatic dependency tracking
when the 'gcc' depmode (that targets GCC versions before the 3.x and 4.x
release series) is forced.
Such depmode forcing was done exclusively to cover the code paths in
'lib/am/depend2.am' that actually invoke the 'depcomp' script, rather
than using the inlined, GCC-specific compiler invocation (the so-called
"fastdep" mode), which is the default with modern GCC or with other
modern compilers that can emulate the GCC command-line interface (e.g.,
clang 3.0).
But whenever we run the silent-*-generic.sh" tests with other supported
compilers which have an associated depmode different from 'gcc3', these
same "non-fastdep" code paths are covered, since in those tests we run
./configure with the '--enable-dependency-tracking' option, which causes
slower depmodes not to be rejected. Examples of such compilers are the
Sun C and C++ compilers (at least since version 5.9, a.k.a. Sun Studio
12.1), and the Tiny C Compiler (from version 0.9.26); and I run the
Automake testsuite quite regularly with those compilers.
So, the "silent-*-gcc.sh" test cases don't offer any real coverage
enhancements, while still using testsuite runtime and causing some
(admittedly minor, but still annoying) synchronization headaches with
the sister tests "silent-foo-general.sh" tests. So let's just remove
these "silent-*-gcc.sh" tests.
* t/silent-c-gcc.sh: Remove.
* t/silent-cxx-gcc.sh: Likewise.
* t/silent-lt-gcc.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-c-generic.sh: Rename ...
* t/silent-c.sh: ... like this, and adjust heading comments.
* t/silent-cxx-generic.sh: Rename ...
* t/silent-cxx.sh: ... like this, and adjust heading comments.
* t/silent-lt-generic.sh: Rename ...
* t/silent-lt.sh: ... like this, and adjust heading comments.
* t/silent-many-generic.sh: Rename ...
* t/silent-many-languages.sh: ... like this, and adjust heading
comments.
* t/list-of-tests.mk: Adjust.
* master:
tests: enhance coverage on silent-rules and C compilation rules a little
tests: new variable $am_testaux_builddir
tests: rename $am_testauxdir -> $am_testaux_srcdir
* master:
tests: rename few tests (on silent-rules support)
tests: merge two tests on silent-rules with libtool
vala tests: source test-init.sh, not ./defs
tests: fix a spurious typo-related failure
tests: remove spurious leftover use of 'Exit'
tests: can check our recipes avoid trailing backslashes
vala: improve comments to AM_PROG_VALAC
news: update w.r.t. recent vala changes
vala: if no proper compiler found, set $(VALAC) to 'valac'
vala: AM_PROG_VALAC should not produce an error for tool-old valac
docs: document recent changes to AM_PROG_VALAC
tests: enhance tests on AM_PROG_VALAC
vala: style fixes in vala.m4
vala: add action arguments, for when no proper vala compiler is found
tests: merge two tests on silent-rules with libtool
This helps to reduce code duplication, and also to (marginally)
speed up the involved tests.
Before this change, we had:
$ diff -u t/silent3.sh t/silent9.sh
--- t/silent3.sh 2012-11-07 19:38:05.000000000 +0100
+++ t/silent9.sh 2012-11-07 19:27:54.000000000 +0100
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Check silent-rules mode, with libtool, standard depmode case.
+# Check silent-rules mode, with libtool, nodep case.
-# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
+# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.
And a related fix that solves a spurious testsuite failures in
VPATH builds.
* t/ax/test-defs.in ($am_testaux_builddir): New, counterpart of
$am_testaux_srcdir, but pointing inside the build directory.
* t/self-check-shell-no-trail-bslash.sh: Use $am_testaux_builddir,
not $am_testaux_srcdir, when fetching the 'shell-no-trail-bslash'
script.
This is just a preparatory change in view of a future commit.
* t/ax/test-defs.in: Here.
* t/ax/tap-summary-aux.sh: And here.
* t/ax/testsuite-summary-checks.sh: And here.
* t/distcheck-missing-m4.sh: And here.
* t/distcheck-outdated-m4.sh: And here.
* t/self-check-shell-no-trail-bslash.sh: And here.
* t/test-driver-acsubst.sh: And here.
* t/test-driver-cond.sh: And here.
* t/test-driver-custom-multitest.sh: And here.
* t/test-driver-custom-multitest-recheck.sh: And here.
* t/test-driver-custom-multitest-recheck2.sh: And here.
* t/testsuite-summary-count-many.sh: And here.
* maint:
vala tests: source test-init.sh, not ./defs
tests: fix a spurious typo-related failure
tests: remove spurious leftover use of 'Exit'
tests: can check our recipes avoid trailing backslashes
vala: improve comments to AM_PROG_VALAC
news: update w.r.t. recent vala changes
vala: if no proper compiler found, set $(VALAC) to 'valac'
vala: AM_PROG_VALAC should not produce an error for tool-old valac
docs: document recent changes to AM_PROG_VALAC
tests: enhance tests on AM_PROG_VALAC
vala: style fixes in vala.m4
vala: add action arguments, for when no proper vala compiler is found
* vala-work:
vala: improve comments to AM_PROG_VALAC
news: update w.r.t. recent vala changes
vala: if no proper compiler found, set $(VALAC) to 'valac'
vala: AM_PROG_VALAC should not produce an error for tool-old valac
docs: document recent changes to AM_PROG_VALAC
tests: enhance tests on AM_PROG_VALAC
vala: style fixes in vala.m4
vala: add action arguments, for when no proper vala compiler is found
tests: can check our recipes avoid trailing backslashes
This is related to commit v1.11-1704-g254227b of 2012-05-01,
"parallel-tests: avoid trailing backslashes in make recipes",
and automake bug#10436.
Recipes with a trailing backslash character (possibly followed by
blank characters only) can cause spurious syntax errors with at
least older bash versions (e.g., bash 2.05b), and can be potentially
be unportable to other weaker shells.
So provide a target that runs the testsuite looking for this kind
of breakage (without requiring a real bugged shell).
* t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c'
commands having a trailing '\' (possibly followed by whitespace only).
* Makefile (t/ax/shell-no-trail-bslash): Generate this script from it.
(noinst_SCRIPTS, CLEANFILES): Add it.
(EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'.
(check-no-trailing-backslash-in-recipes): New target, runs the testsuite
with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible
recipes having a trailing backslash character (possibly followed by
* .gitignore: Update.
* t/self-check-shell-no-trail-bslash.sh: New testsuite self-check.
* t/parallel-tests-trailing-bslash.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
* master:
configure: correctly identify missing GNU compilers as such
tests: get rid of ./defs, it's no longer used.
maintcheck: fix the name of a check
maintcheck: guard against uses of ./defs in tests
* defs: Delete.
* configure.ac (AC_CONFIG_LINKS): No longer link it.
* t/ax/tap-setup.sh: Don't look for a file named 'defs' in
the grandparent directory of the current test directory to
decide whether we're running in the correct directory.
* syntax-check.mk (xdefs): Remove '$(srcdir)/defs'.
* (sc_tests_Exit_not_exit): Rename ...
(sc_tests_exit_not_Exit): ... like this, which is more faithful
to what the check actually does. Adjust a grammaro in comments
while at it.
(syntax_check_rules): Adjust.
tests: prefer including 'test-init.sh' rather than './defs'
This is a follow-up to today's same-name commit v1.12.4-181-g5ddf100,
which did the same for the test cases in master.
* All tests: To run the common setup, use the command:
. test-init.sh
instead of the older, "historical" one:
. ./defs || exit 1
Note that the "|| exit 1" wasn't really useful, since the 'errexit'
shell flag is in effect in both './defs' and 'test-init.sh', and all
the known shells that are good enough to run the automake testsuite
do automatically exit with error when a sourced file cannot be found
(at least, they do so in non-interactive mode, which is the only
mode that concerns us in the testsuite).
* master:
tests: remove spurious leftover use of 'Exit'
tests: remove an obsolete, and probably now wrong, comment
tests: remove obsolescent references to './defs'
tests: prefer including 'test-init.sh' rather than './defs'
tests: prefer including 'test-init.sh' rather than './defs'
This is a follow-up to today's commit v1.12.4-22-g0610fc8,
"tests: prepare to move ./defs to t/ax/test-init.sh"
* All tests: To run the common setup, use the command:
. test-init.sh
instead of the older, "historical" one:
. ./defs || exit 1
Note that the "|| exit 1" wasn't really useful, since the 'errexit'
shell flag is in effect in both './defs' and 'test-init.sh', and all
the known shells that are good enough to run the automake testsuite
do automatically exit with error when a sourced file cannot be found
(at least, they do so in non-interactive mode, which is the only
mode that concerns us in the testsuite).
* master:
tests: merge, tweak and modernize few test scripts
tests: move coverage about BUILT_SOURCES
tests: more meaningful names for some test cases
tests: merge some grepping tests on Yacc support
+ Extra non-trivial changes:
* t/per-target-flags.sh: Sync with the back-ported version that
is in maint and master, that has several bugfixes over the previous
version in ng/master.
* maint:
tests: merge, tweak and modernize few test scripts
tests: move coverage about BUILT_SOURCES
tests: more meaningful names for some test cases
tests: merge some grepping tests on Yacc support
tests: merge, tweak and modernize few test scripts
Basically an adjusted-and-improved cherry-pick from Automake-NG
commit v1.12.1-343-gff30f83.
* t/specflg.sh, t/specflg2.sh, t/specflg3.sh: Merged into ...
* t/per-target-flags.sh: ... this test.
* t/fo.sh: Remove, its weak grepping checks well superseded by
the semantic checks in 't/fort4.sh'.
* t/cxxo.sh: Remove, its weak grepping checks well superseded
by the semantic checks in 't/cxx-demo.sh'.
* t/cxxcpp.sh: Enhance a little.
* t/empty.sh: Renamed ...
* t/empty-data-primary.sh: ... to this. Add trailing ':' command.
* t/empty2.sh, t/empty3.sh, t/empty4.sh: Merged ...
* t/empty-sources-primary.tap: ... into this new test.
* t/no-outdir-option.sh: Remove. A test to check than an obsolete
and now deleted option ("--output-dir") stays deleted is way too
much even for the most test-infected person ;-)
* t/list-of-tests.mk: Adjust.
Basically a backport of some tests from Automake-NG.
* t/built-sources-check.sh: Sync it with the version in the ng/master
branch. Accordingly, move part of the checks out ...
* t/built-sources-install.sh: ... into this new test, synced from
ng/master as well.
* t/built-sources-subdir.sh: Minor tweaks and enhancements to sync it
with the version in ng/master.
* t/built-sources-cond.sh: New test, synced from ng/master.
* t/built-sources.sh: Likewise, with minor edits to avoid a spurious
failure.
* t/built-sources-fork-bomb.sh: Likewise.
* t/list-of-tests.mk: Update.
Merge branch 'am-prog-mkdir-p-remove' into ng/master
Since we had to restate AM_PROG_MKDIR_P in master before the 1.13
release, we don't merge master directly in ng/master, to avoid spurious
merge conflicts (since AM_PROG_MKDIR_P should remain obsolete and
removed in Automake-NG).
We have thus create a temporary branch 'am-prog-mkdir-p-remove', based
off of master, which reverts the commit 'v1.12.4-158-gdf23daf', which
reinstated AM_PROG_MKDIR_P, and are merging that branch in 'ng/master'.
Once 1.13 is out and master becomes the starting point of Automake 1.14,
we'll merge the 'am-prog-mkdir-p-remove' branch back into master as well,
since we plan to remove AM_PROG_MKDIR_P once and for all in Automake 1.14.
* am-prog-mkdir-p-remove:
AM_PROG_MKDIR_P: remove as obsolete, this time for good
depcomp: avoid potential interferences from the environment
depcomp: improve comments about the 'gcc' depmode
compat: reinstate AM_PROG_MKDIR_P, for gettext
Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro has been
deprecated in the documentation and with runtime warnings since
Automake 1.12.1. Still, when we released Automake 1.13, we had
to delay that macro's removal, since at the time the last released
version of GNU gettext still AC_REQUIRE's AM_PROG_MKDIR_P via its
'intl.m4' and 'po.m4' files, which are pulled into *many* projects.
But it's now time to remove AM_PROG_MKDIR_P once and for all.
Projects still needing to work with older gettext releases will
be able to do so by adding a definition like
tests: prepare to move ./defs to t/ax/test-init.sh
We don't do this in a sweeping passage, because that would cause
endless headaches in the synchronization between the maint, master
and ng/master branches. Instead, we setup our framework to allow
test scripts to work by sourcing either './defs' or 'test-init.sh',
so that we'll be able to make the transition gradual and painless.
* t/ax/test-init.sh: New, copied from the previous ./defs file.
* defs: Simply work by sourcing the new file.
* Makefile.am (dist_noinst_DATA): List the new file.
* t/README: Adjust to mandate the sourcing of 'test-init.sh' rather
than of './defs'.
* t/c-demo.sh: Source 'test-init.sh' instead of ./defs. This is
done to verify our new setup actually works.
* t/ac-output-old.tap: Likewise.
* maint:
depcomp: avoid potential interferences from the environment
depcomp: improve comments about the 'gcc' depmode
sync: update files from upstream with "make fetch"
maintcheck: remove an obsolescent check
tests: rename some tests to more expressive names, again
tests: remove an obsolescent grepping check
tests: merge two tests on automatic remake functionality
tests: rename some test to more expressive names
news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
tests: ensure generation of wrapper tests matching multiple conditions
tests: simplify a loop in gen-testsuite-part
compile: support libfoo.a naming when wrapping Microsoft tools
NEWS: fix wording and grammaros, re-wrap text accordingly
cosmetics: fix typo in 'lib/depcomp' comments
* maint:
sync: update files from upstream with "make fetch"
maintcheck: remove an obsolescent check
tests: rename some tests to more expressive names, again
tests: remove an obsolescent grepping check
tests: merge two tests on automatic remake functionality
tests: rename some test to more expressive names
news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
tests: ensure generation of wrapper tests matching multiple conditions
tests: simplify a loop in gen-testsuite-part
compile: support libfoo.a naming when wrapping Microsoft tools
NEWS: fix wording and grammaros, re-wrap text accordingly
cosmetics: fix typo in 'lib/depcomp' comments
+ Extra non-trivial changes:
* Makefile.am (XFAIL_TESTS): Rename 't/pr8365-remake-timing.sh' to
't/remake-timing-bug-pr8365.sh' (in master, this was done for in
file 't/list-of-tests.mk', but that is gone in ng/master).
* t/parallel-tests-empty-tests.sh: Merge ...
* t/parallel-tests-empty.sh: ... into this, to reduce confusion and
code duplication.
* t/remake-maintainer-mode.sh: Delete: Automake-NG don't support
AM_MAINTAINER_MODE (see commit v1.12.2-790-g00a3837).
vala: if no proper compiler found, set $(VALAC) to 'valac'
This is better than setting it to ':' (as is currently done), because
a triggered makefile rule invoking a vala compilation will then clearly
fail with an informative error message like "valac: command not found",
rather than silently, with the error possibly going unnoticed, or
triggering harder-to-diagnose fallout failures in later steps.
For a precedent of a similar behaviour, see the AC_PROG_YACC macro.
* m4/valac.m4: Implement the new semantic.
* doc/automake.texi (Vala Support): Document it.
* t/vala4.sh: Adjust.
Sébastien Wilmet [Fri, 26 Oct 2012 15:08:09 +0000 (17:08 +0200)]
vala: AM_PROG_VALAC should not produce an error for tool-old valac
This change fixes automake bug#12688.
In the AM_PROG_VALAC macro, when the optional parameter specifying the
minimum release number is not provided, and/or if the Vala compiler is
not found, then there is a _warning_ message.
On the other hand, when the version number is specified and if the Vala
compiler is too old, there is an _error_ message.
This error message is problematic, because for a tarball, the Vala
compiler is not required: the generated C code is included in the
tarball. So if a user wants to compile the software, he shouldn't
need the valac program with the right version.
* m4/vala.m4 (AM_PROG_VALAC): Modify to use AC_MSG_WARN instead
of AC_MSG_ERROR.
* t/vala4.sh: Adjust and enhance.
* doc/automake.texi (Vala Support): Likewise.
* THANKS: Update.
* doc/automake.texi (Vala Support): Here. This is a follow-up to
recent commit 'v1.12.4-20-gdf202a3', "vala: add action arguments,
for when no proper vala compiler is found".
vala: add action arguments, for when no proper vala compiler is found
* m4/vala.m4 (AM_PROG_VALAC): Add optional action arguments to
control the behavior if specified version of valac is not found.
This emulates the behaviour of AM_PATH_PYTHON.
* t/vala4.sh: Enhance.
* syntax-checks.mk (sc_test_names): Remove this check, which verified
that no test name contained an m4/m4sugar builtin or macro name. Since
most tests use their own name as the first argument to AC_INIT, doing
that would have tickled a bug in Autoconf 2.62; but the bug was fixed
in Autoconf 2.63 already; and we are going to soon require Autoconf
2.65 anyway (in automake 1.13), so this check has become more annoying
than useful.
(syntax_check_rules): Don't list the removed check.
* t/remake3.sh: This one, superseded by ...
* t/remake3a.sh: ... this semantic test, whose comments have been
djusted accordingly.
* t/list-of-tests.mk: Adjust.
Jim Meyering [Mon, 22 Oct 2012 14:14:49 +0000 (16:14 +0200)]
compat: reinstate AM_PROG_MKDIR_P, for gettext
Do not remove AM_PROG_MKDIR_P just yet.
gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its
intl.m4 and po.m4 files, which are pulled into *many* projects.
When I try to build one of those projects (coreutils) using the latest
from automake.git/master, I see this failure:
$ aclocal -I m4
configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \
but not m4_defun'd
m4/po.m4:23: AM_PO_SUBDIRS is expanded from...
m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
configure.ac:477: the top level
That is because AM_PROG_MKDIR_P was removed (via commit v1.12-20-g8a1c64f) in preparation for the next release of automake.
* NEWS: Remove the paragraph that announced the removal of
AM_PROG_MKDIR_P.
* Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4.
* m4/mkdirp.m4: Re-add file.
* t/mkdirp-deprecation.sh: Likewise.
* t/list-of-tests.mk: Add it.
* automake.in: Restore removed code, and adjust comments, s/1.13/1.14/
to reflect new plan for removal.
* doc/automake.texi (Obsolete Macros): Restore the section, but
now with only one entry: the one for AM_PROG_MKDIR_P.
tests: ensure generation of wrapper tests matching multiple conditions
* gen-testsuite-part: Our old code to generate wrapper tests had a
severe limitation, in that if a test matched two or more conditions
calling for generation of wrapper tests, still only one wrapper test
was generated, instead of the three that would have been expected --
that is, one using the setup code triggered by the first condition,
one using the setup code triggered by the second condition, and one
using both this setup code fragments.
Admittedly, this was only a theoretical limitation for the moment,
since since so far no test exists that matches two or more conditions
for wrapping. Still, this might change in the future, and easily in
an unnoticed way, so better fix the issue now, before it might become
a real problem.
* gen-testsuite-part: No need to loop on the (key, value) entries
of the %test_generators has: we only use the value, and never the
key. So loop simply on the values.
Peter Rosin [Wed, 3 Oct 2012 22:08:26 +0000 (00:08 +0200)]
compile: support libfoo.a naming when wrapping Microsoft tools
There is a future plan to provide some means to have Automake
create static libraries that are named differently depending
on the system [1].
The background is that everyone has always named static libraries
libfoo.a, except the Redmond crowd who names them foo.lib, and
you have to jump through hoops to have Automake create libraries
named foo.lib in the land of non-GNU Windows while still creating
libfoo.a everywhere else.
However, there is probably no sane way to accomplish that system
dependent naming discussed in [1] without user intervention,
which makes it necessary to support the classic libfoo.a naming
when using Microsoft tools in the best possible way, for the
benefit of all projects today and for future projects not
opting in to whatever scheme is selected for the problem at
hand.
* lib/compile (func_cl_dashl): As a last resort, match -lfoo with
libfoo.a, if that file exist on the library search path.
* t/compile4.sh: Remove obsolescent workaround for the above.
* t/compile6.sh: Extend to check that libbaz.a is indeed found
when baz.lib and baz.dll.lib does not exist and that bar.lib
and bar.dll.lib are preferred over libbar.a.
Signed-off-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* master:
config headers: remove stale comment in makefile fragment
NEWS: wording and quoting fixlets in few older entries
config headers: don't emit rules for headers not generated by autoheader
docs: fix minor typo: s/expending/expanding/
sync: update files from upstream with "make fetch"
maint: post-release minor version bump
maint: typo fixes s/lies into/lies in/
release: stable release 1.12.4
NEWS: minor fix
dry run: use $(MFLAGS), not $(MAKEFLAGS), to determine whether running dry
$(MFLAGS) does not containing the command line variable definitions, and
it always begins with a hyphen unless it is empty (MAKEFLAGS begins with
a hyphen only when it begins with an option that has no single-letter
version, such as '--warn-undefined-variables'). This allows use to make
stricter assumptions on its content, thus simplifying the implementation
of ...
* lib/am/header-vars.am (am__make_dryrun): ... this macro.
* t/make-dryrun.tap: Simplify accordingly.
* maint:
config headers: remove stale comment in makefile fragment
NEWS: wording and quoting fixlets in few older entries
config headers: don't emit rules for headers not generated by autoheader
docs: fix minor typo: s/expending/expanding/
sync: update files from upstream with "make fetch"
maint: post-release minor version bump
maint: typo fixes s/lies into/lies in/
release: stable release 1.12.4
NEWS: minor fix
config headers: don't emit rules for headers not generated by autoheader
This change fixed automake bug#12495.
Even if an AC_CONFIG_HEADERS invocation is passed a list of several files
as the first argument, only the first one of those file is considered by
autoheader for automatic generation of the corresponding '.in' template.
This is done on purpose, and is clearly documented in the Autoconf manual,
which (as of the 2.69 version) reads something like this:
The autoheader program searches for the first invocation of
AC_CONFIG_HEADERS in configure sources to determine the name of
the template. If the first call of AC_CONFIG_HEADERS specifies
more than one input file name, autoheader uses the first one.
That is, an invocation like:
AC_CONFIG_HEADERS([config.h config2.h])
should cause autoheader to generate only a 'config.h.in' template,
and not also a 'config2.h.in' one.
Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate
remake rules only for the template associated to the first input file
name passed to that macro. In some situations, however, automake failed
to properly limit itself in this way; for example, with an input like:
AC_CONFIG_HEADERS([config.h sub/foo.h])
in configure.ac, and with the 'sub' directory listed in the SUBDIRS
variable of the top-level Makefile, automake would erroneously generate
in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by
invoking autoheader.
* NEWS: Update.
* doc/automake.texi (Optional): Improve wording in the description of
hat rules automake generates in response to an 'AC_CONFIG_HEADERS'
invocation.
* lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for
the %CONFIG_HIN% template if that corresponds to the first argument of
AC_CONFIG_HEADERS, as explaned above. Do so using the automake-time
conditional %?FIRST-HDR%, that is properly passed ...
* automake.in (handle_configure): ... from a 'file_contents' invocation
in here.
* t/autohdr-subdir-pr12495.sh: New test.
* t/list-of-tests.mk: Add it.
* THANKS: Update.
tests: warnings in the 'obsolete' category: fix spurious failure
* t/warnings-obsolete-default.sh: $(INCLUDES) is no longer supported
in any way by Automake-NG, to a point that its definition will just
be ignored, but cause no warning; so, instead, use the two-argument
invocation form of AM_INIT_AUTOMAKE to elicit warnings in the 'obsolete'
category.
* master:
fix typos in mk-dirp.m4
tags: automake bug bug#12372 is fixed
coverage: better exposure for automake bug#12372 (tags-related)
coverage: expose automake bug#12372 (tags-related)
sync: update files from upstream with "make fetch"
news: cygnus will be removed in automake 1.13
news: some changes for 1.13 has been "de-planned"
news: report that the have seen fixlets after 1.12.3
warns: enable category 'obsolete' by default
Jim Meyering [Wed, 12 Sep 2012 15:31:24 +0000 (17:31 +0200)]
fix typos in mk-dirp.m4
* t/gettext-macros.sh: Fix typo in name of macro emitted into
mk-dirp.m4: s/AM_MKDIR_P/AM_PROG_MKDIR_P/,
and as Stefano Lattarini noted, also fix this typo:
s/AC_MKDIR_P/AC_PROG_MKDIR_P/.
built sources: avoid fork bomb in $(BUILT_SOURCES) handling
Due to how the handling of $(BUILT_SOURCES) was implemented in Automake-NG,
a recursive make call in the recipe of any $(BUILT_SOURCES) (or of any of
its prerequisites) would have caused an infinite recursion (complete with
fork bomb, yuck). Work around the issue.
* lib/am/common-targets.mk: Here, with the help of ...
(am.hack.making-built-sources): ... this new internal variable.
* Makefile.am (XFAIL_TESTS): Remove 't/built-sources-fork-bomb.sh'.
coverage: expose fork bomb in $(BUILT_SOURCES) handling
Due to how the handling of $(BUILT_SOURCES) is implemented in Automake-NG,
a recursive make call in the recipe of any $(BUILT_SOURCES) (or of any of
its prerequisites) will cause an infinite recursion (complete with fork
bomb, yuck). Expose the issue in a test case (still failing, of course).
coverage: better exposure for automake bug#12372 (tags-related)
Alas, in contrast with what is said in the commit message of previous
commit 'v1.12.3-14-g94b7b8e', that bug is still present also in the
current maint branch (which will become automake version 1.12.4); it
is just that it only triggers when a _SOURCES variable contains only
files with custom extension.
* t/tags-pr12372.sh: Extend.
* t/list-of-tests.mk: Add it.
Suggested-by: Юрий Пухальский <aikipooh@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint:
sync: update files from upstream with "make fetch"
news: cygnus will be removed in automake 1.13
news: some changes for 1.13 has been "de-planned"
news: report that the have seen fixlets after 1.12.3
warns: enable category 'obsolete' by default
* NEWS (Future backward-incompatibilities): The planned Automake release
1.13 already has too much stuff on its plate; so we are not going to
In Automake 1.13, we are definitely not going to change the exact order
in which the directories in the aclocal macro search path are looked up.
Also, experience and user feedback have shown that the "obsolescent"
two-arguments invocation for AM_INIT_AUTOMAKE:
AM_INIT_AUTOMAKE(PACKAGE-NAME, PACKAGE-VERSION)
is still useful (until at least Autoconf is fixed to offer better support
for "dynamically" package versions), so we are not going to remove
support for that usage in Automake 1.13. For more details, see commit v1.12.2-245-g2abe183 of 2012-08-24, "AM_INIT_AUTOMAKE: allow obsolescent
two-args invocation once again".
(New in 1.12.1): Adjust accordingly.