summaryrefslogtreecommitdiff
path: root/t/am-dir.sh
Commit message (Collapse)AuthorAgeFilesLines
* tests: prefer including 'test-init.sh' rather than './defs'Stefano Lattarini2012-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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>
* [ng] rename: am.abs-dir -> am.dir.abs, am.abs-top-dir -> am.top-dir.absStefano Lattarini2012-07-301-4/+4
| | | | | | | 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>
* [ng] rename: am__dir -> am.dir, am__abs_dir -> am.abs-dir, etc.Stefano Lattarini2012-07-281-10/+10
| | | | | | | | | | | 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>
* [ng] warns: fix checks against typos in vars (e.g., _LDADD and _SOURCES)Stefano Lattarini2012-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge branch 'master' into ng/masterStefano Lattarini2012-06-281-1/+1
| | | | | | | | | | | | | | | | | * 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>
* [ng] general: support a private directory, for use by automake internalsStefano Lattarini2012-06-151-0/+92
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>