| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
| |
Suggested by Akim Demaille:
<http://lists.gnu.org/archive/html/automake-ng/2012-07/msg00228.html>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Complete list of renames:
am__dir -> am.dir
am__abs_dir -> am.abs-dir
am__top_dir -> am.top-dir
am__abs_top_dir -> am.abs-top-dir
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After commit v1.12.1-302-g67d6102 of 2012-06-05, "[ng] warns: typos in
_SOURCES etc. reported at make runtime", the checks against typos in use
of few special variables (like 'bar_SOURCES' or 'libfoo_a_LIBADD') are
done at make runtime rather than at automake runtime.
Such checks have so far been running unconditionally every time make was
invoked, thus creating a noticeable performance degradation in null or
almost-null builds of packages that, like GNU coreutils, have a lot of
programs and/or use several recursive make invocations.
What is worse, such checks have been unable to interact well with the
Makefile automatic remake rules. Say that a user encounters a failure
in those checks; he then fixes his 'Makefile.am' accordingly, and re-run
"make", expecting the situation to be sorted out by the automatic remake
rules (as was the case for mainline Automake). But that doesn't happen,
because those same checks will run again *before* giving the remake rules
a chance to kick in -- thus "make" would fail again, exactly as before,
because the Makefile hasn't been rebuilt, and thus hasn't changed.
So the user would forced to re-run automake and config.status *by hand* to
get back a consistent, correct status in its build system! Such situation
is utterly unacceptable.
The present change takes care at once of both of the performance and the
correctness problems.
On the performance side, after this change, the time for a null build
on GNU coreutils (bootstrapped with Automake-NG) has gone down from ~8
seconds to ~2 seconds. Not bad!
* automake.in (generate_makefile): Pass the '%MAKEFILE%' transform
when processing 'check-typos.am'.
* lib/am/check-typos.am: Take advantage of the GNU make automatic restart
capabilities to re-implement the existing check in a more "lazy" way:
they should be re-run only when Makefile has changes, and only after the
automatic remake rules has rebuilt it (if it needs to be rebuilt).
* lib/am/header-vars.am (.am/nil): New do-nothing target, for now used
only by 'check-typos.am'.
* t/am-dir.sh: Adjust.
* t/maken.sh: Likewise.
* t/output6.sh: Likewise.
* t/spell.sh: Likewise.
* t/spell2.sh: Likewise.
* t/vartypos-whitelist.sh: Likewise.
* t/vartypos.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* master:
cosmetics: remove trailing whitespace in some files
coverage: enhance tests in 'missing' script a little
coverage: tests AM_MISSING_PROG usage
docs: document AM_MISSING_PROG
tests: fix a spurious failure with Solaris make
tests: simpler workaround for shells losing the exit status in exit trap
tests: avoid several spurious failures on Solaris
tests: avoid a spurious failure on NetBSD
+ Extra non-trivial edits:
* Several tests: Adjusted to use 'exit' rather than 'Exit'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
The directory is pointed to by these new internal make variables:
- $(am__dir)
- $(am__abs_dir)
- $(am__top_dir)
- $(am__abs_top_dir)
and cleaned by the new 'am--distclean-amdir' recipe (prerequisite of
'distclean-am'). It is not created by default; recipes needing it
should add an order-only dependency on it, as in:
am-rule: am-prereq | $(am__dir)
[recipe creating/using files in $(am__dir)]
* lib/am/am-dir.am: New file, define internal make variables that point
to a sandbox directory where we can play freely to implement internal
details that require interaction with the filesystem, and the rules to
properly clean them. This file is not used yet, it's simply put here
so that future rules will be able to use it when and if it's needed.
* automake.in (generate_makefile): Include the new file, through the
'&preprocess_file' subroutine.
* Makefile.am (dist_am_DATA): List the new file.
* t/am-dir.sh: New test.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|