summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* test harness: improve catching of usage errors in script 'test-driver'Stefano Lattarini2013-07-211-4/+16
| | | | | | | | | | | | | Fixes automake bug#14840. * lib/test-driver: Catch and report usage errors where the caller has forgotten to specify one of the mandatory options (--test-name, --log-file, --trs-file) or has not passed any non-option argument. Also, be sure to work correctly even when no '--' special argument is passed to separate option from non-options arguments. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into maintStefano Lattarini2013-06-141-1/+1
|\ | | | | | | | | | | | | | | | | * micro: post-release: micro version bump (1.13.4a) release: stable micro release 1.13.4 sync: update config.guess Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * sync: update config.guessStefano Lattarini2013-06-141-1/+1
| | | | | | | | | | | | | | | | * lib/config.guess: This. Actually, only the timestamp has been updated (apparently, it was mistakenly not updated in the previous real change to the script). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-06-121-14/+1
|\ \ | |/ | | | | | | | | | | | | | | * micro: THANKS: update e-mall address for Ralf Corsepius lang, suffix rules: don't require C stuff needlessly tests: expose automake bug#14560 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * lang, suffix rules: don't require C stuff needlesslyStefano Lattarini2013-06-121-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes automake bug#14560: when two or more user-defined suffix rules were present in a single Makefile.am, automake would needlessly include definition of some make variables related to C compilation in the generated Makefile.in. * automake.in (handle_languages): Fix logic to decide whether or not to include definitions of C compilation related variables in the generated Makefile.in: instead of doing so when two or more user-defined suffix rules are seen (which is a completely bogus criterion), do so when two or more compiled languages are used. * lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used. (@EXPORT): Adjust. * t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script 'suffix-extra-c-stuff-pr14560.sh', which now passes. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-06-093-3/+9
|\ \ | |/ | | | | | | | | | | | | | | * micro: maint: add a missing copyright notice sync: update config.guess from upstream tests: expose automake bug#13928 comments: fix some out-of-sync refs to test scripts tests: expose automake bug#13940
| * sync: update config.guess from upstreamStefano Lattarini2013-06-091-0/+6
| | | | | | | | | | | | * lib/config.guess: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * comments: fix some out-of-sync refs to test scriptsStefano Lattarini2013-06-082-3/+3
| | | | | | | | | | | | | | | | | | Those script has been renamed since those comments where written. * lib/Automake/Rule.pm: Adjust. * lib/am/distdir.am: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-05-301-65/+73
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * micro: maint: support new Automake versioning scheme in tagging/uploading rules announcement: can be generated from development snapshots as well announcement: can be generated from development snapshots as well announcement: be less strict in the paring of NEWS maint: version bump after beta release 1.13.2b release: beta release 1.13.2b (will become 1.13.3) sync: update config.guess from upstream Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * sync: update config.guess from upstreamStefano Lattarini2013-05-301-65/+73
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-05-301-1/+2
|\ \ | |/ | | | | | | | | | | | | * micro: NEWS: document recent testsuite fixes (MinGW/MSYS related) depcomp: avoid trailing backslash in depfile for depmode=msvc7 tests: prune some weed in a non-POSIX test tests: avoid a spurious failure on MSYS
| * depcomp: avoid trailing backslash in depfile for depmode=msvc7Peter Rosin2013-05-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling a file without any dependencies (no #includes), the msvc7 depmode (and consequently msvc7msys) generates a depfile Makefile fragment with the last line ending with a backslash. This is less robust than needed. Fixes automake bug#14501. * lib/depcomp (msvc7): Finish off the depfile Makefile fragment with an empty line. (scriptversion): Update. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* | Merge branch 'micro' into maintStefano Lattarini2013-05-291-54/+55
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * micro: NEWS: fix typos and grammaros NEWS: document fix for bug#14441 Automake::Rule: consistently prepend underscore to private variables Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() Automake::Rule: adjust comments and POD according to previous changes Automake::Rule: make private variables lexically scoped suffix rules: better distinction between builtin and user-derived Automake::Rule: expose suffix rules as a function, not a scalar tests: expose automake bug#14441
| * Automake::Rule: consistently prepend underscore to private variablesStefano Lattarini2013-05-281-15/+15
| | | | | | | | | | | | | | | | | | | | | | * lib/Automake/Rule.pm (%suffix_rules): Rename ... (%_suffix_rules): ... like this. (%suffix_rules_builtin): Rename ... (%_suffix_rules_builtin): ... like this. (reset, next_in_suffix_chain, register_suffix_rule, suffix_rules_count): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()Stefano Lattarini2013-05-281-5/+6
| | | | | | | | | | | | | | | | | | | | * lib/Automake/Rule.pm (suffix_rule): Rename ... (next_in_suffix_chain): ... like this. (%suffix_rules): Adjust comments. (@EXPORT): Adjust. * automake.in (derive_suffix): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * Automake::Rule: adjust comments and POD according to previous changesStefano Lattarini2013-05-281-38/+32
| | | | | | | | | | | | | | * lib/Automake/Rule.pm: Here, in several places. * automake.in (register_language): And a tiny adjustment here as well. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * Automake::Rule: make private variables lexically scopedStefano Lattarini2013-05-281-5/+4
| | | | | | | | | | | | | | | | * lib/Automake/Rule.pm (@_known_extensions_list): This one. (@_suffixes): And this one. (%_rule_dict): And this one. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * suffix rules: better distinction between builtin and user-derivedStefano Lattarini2013-05-281-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes automake bug#14441. * lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ... (%suffix_rules_builtin): ... this lexical variable. ($suffix_rules): Remove, superseded by ... (%suffix_rules): ... this lexical variable. (suffix_rules, suffix_rules_count): Adjust. (register_suffix_rule): Update '%suffix_rules_builtin' rather than '%suffix_rules' if the location (as passed by the '$where' argument) is an "internal" one (doesn't come from user-provided Makefile.am). (reset): Simplify resetting of '%suffix_rules' to the default ones accordingly. * t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * Automake::Rule: expose suffix rules as a function, not a scalarStefano Lattarini2013-05-281-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is just a preparatory refactoring in view of future patches. No semantic change is intended. * lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level variable to a lexical variable. (suffix_rule): New function, expose the details of $suffix_rules that are actually required by code outside thus modules --- and only those details, no more. (@EXPORT): Adjust. * automake.in (derive_suffix): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-05-231-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * micro: tests: avoid '$MAKE' redirections, use 'run_make' instead tests: avoid use of redirected 'run_make' invocations lint: warn against redirected 'run_make' invocations comments: next GNU make release 4.0, not 3.83 tests: fix a potential spurious failure due to global config.site HACKING: it's OK to do testsuite refactoring in a micro version Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * comments: next GNU make release 4.0, not 3.83Stefano Lattarini2013-05-221-2/+2
| | | | | | | | | | | | | | | | | | See: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00093.html> * lib/am/header-vars.am (am__make_running_with_option): Adjust comments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-05-181-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | * micro: lisp: fix a failure with Solaris /usr/xpg4/bin/sh tests: sanitize 'unset' usages tests: fix some botched/outdated comments tests: use perl, not find+rm, to remove temporary directories Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * lisp: fix a failure with Solaris /usr/xpg4/bin/shStefano Lattarini2013-05-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/am/lisp.am (.el.elc): By initializing the 'am__dir' properly here. For most shells, the lacking initialization, while technically incorrect, didn't cause any issue in practice, because in those shells "test -d" returns an exit status of 0. But with /usr/xpg4/bin/sh, the shell complains like this: "test: argument expected", and returns a non-zero exit status. This caused testsuite failures in several lisp tests. Also, while we are at it, use more proper quoting in the recipe, to ensure a missing initialization to now be caught by more forgiving shells as well. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | options: tiny simplification in dealing with incompatible versionsStefano Lattarini2013-05-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/Automake/Options.pm (_process_option_list): Here, when an incompatible version number option is detected, there's no need to call error() with the "uniq_scope => US_GLOBAL" switch. In fact, if the same incompatible version number is specified in AUTOMAKE_OPTIONS in both (say) 'Makefile.am' and 'sub/Makefile.am', we want each such erroneous usage reported separately, rather than just the first time it is encountered (as we'd expect to happen when "uniq_scope => US_GLOBAL" is used). Ideally, this change should have been folded into the similar commit 'v1.13.1d-129-gf7ef16f', but we noticed that too late. Oh well. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | options: try to report as much errors as possibleStefano Lattarini2013-05-111-8/+11
| | | | | | | | | | | | | | | | | | | | For example, if two invalid options are used in AUTOMAKE_OPTIONS, don't report just the first one, but both of them. * lib/Automake/Options.pm (_process_option_list): Do so by avoiding early returns in here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | refactor: fix few "inverted boolean" usagesStefano Lattarini2013-05-101-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some subroutines, we used a return value of 0 to indicate success, and a return status of 1 to indicate failure. That was not very consistent with the perl interpretation of 0 as a false value and 1 as a true value. So we now invert the meaning of the exit statuses. * lib/Automake/Options.pm (_process_option_list): Here. (process_global_option_list, process_option_list): And by reflex, here as well. * bin/automake.in (handle_options): And here. (generate_makefile, scan_autoconf_traces): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | options: better name for an internal functionStefano Lattarini2013-05-101-3/+3
| | | | | | | | | | | | | | * lib/Automake/Options.pm (_option_must_be_from_configure): Rename ... (_option_is_from_configure): ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | options: more consistency in use of return statuses to report errorsStefano Lattarini2013-05-101-2/+6
| | | | | | | | | | | | | | | | * lib/Automake/Options.pm (_option_must_be_from_configure): By giving a proper return status here. (_process_option_list): And using it here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | options: tiny simplification in dealing with erroneous optsStefano Lattarini2013-05-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | * lib/Automake/Options.pm (_process_option_list): Here, when an invalid option is detected, there's no need to call &error with the "uniq_scope => US_GLOBAL" switch. In fact, if the same erroneous option is specified in AUTOMAKE_OPTIONS in both (say) 'Makefile.am' and 'sub/Makefile.am', we want each such erroneous usage reported separately, rather than just the first time it is encountered (as happens when "uniq_scope => US_GLOBAL" is used). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | options: consistently use return statuses to report errorsStefano Lattarini2013-05-101-3/+6
| | | | | | | | | | | | | | | | * lib/Automake/Options.pm (_process_option_list): Here. (process_option_list, process_global_option_list): Remove redundant use of 'return'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | options: re-enable some sanity checksStefano Lattarini2013-05-101-2/+2
| | | | | | | | | | | | | | | | | | | | They had been unwittingly disabled by a slightly incorrect code ordering. * lib/Automake/Options.pm (process_option_list): Here. (process_global_option_list): And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | dist: deprecated shar and tar+compress formatsStefano Lattarini2013-05-102-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See also discussion about automake wishlist bug#13324. * lib/Automake/Options.pm: Give proper warnings in the 'obsolete' category if the 'dist-shar' or 'dist-tarZ' options are used. * lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are invoked, make them give a non-fatal warning. * doc/automake.texi: Report the new deprecations. * t/dist-shar.sh: New test. * t/dist-tarZ.sh: Likewise. * t/lzma.sh: While at it, rename ... * t/dist-lzma.sh: ... like this, and tweak it to keep more in sync with the new tests. * t/dist-formats.tap: Remove references to deprecated formats. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'dog-feeding' into maintStefano Lattarini2013-05-104-36/+190
|\ \ | | | | | | | | | | | | | | | * dog-feeding: build: move automake and aclocal in 'bin' subdir build: break up monolithic Makefile.am in subdir-specific fragments
| * | build: move automake and aclocal in 'bin' subdirStefano Lattarini2013-05-091-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * automake.in: Rename ... * bin/automake.in: ... like this. * aclocal.in: Rename ... * bin/aclocal.in: ... like this. * Makefile.am: Move parts that dealt with the building/distribution of aclocal and Automake .. * bin/Makefile.inc): ... in this new included fragment. Adjust as needed, and make deliberate use of the '%D%' substitution. * lib/gen-perl-protos: Move ... * bin/gen-perl-protos: ... here. * bootstrap.sh, configure.ac, maintainer/rename-tests, t/wrap/aclocal.in, t/wrap/automake.in, doc/Makefile.inc, t/ax/tap-setup.sh, .gitignore: Adjust. * maintainer/syntax-checks.mk: Likewise, and enhance a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | build: break up monolithic Makefile.am in subdir-specific fragmentsStefano Lattarini2013-05-093-0/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is convenient to do, now that we have improved "relative directory" support with the '%reladir%' (a.k.a. '%D%') and '%canon_reladir%' (a.k.a. '%C%') Automake-time substitutions for included makefile fragments. This move also satisfy our philosophy of using new Automake features in our own build system, as a way of facilitating early discovery of possible bugs or interface warts. * Makefile.am: Break up ... * doc/Makefile.inc, lib/Automake/Makefile.inc, lib/Makefile.inc, lib/am/Makefile.inc, m4/Makefile.inc, t/Makefile.inc): ... in this new included fragments. Adjust as needed, and make deliberate use of the '%D%' substitution. * contrib/t/local.am: Rename ... * contrib/t/Makefile.inc: ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | | am: prefer a shorter idiom where possibleStefano Lattarini2013-05-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That is, prefer: test -f FILE || do_action over: if test ! -f FILE; then do_action; else :; fi * lib/am/remake-hdr.am (%CONFIG_H%): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | | Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-05-106-6/+8
|\ \ \ | |/ / |/| / | |/ | | | | | | * branch-1.13.2: cosmetics: fix few typos, grammaros and missing whitespace fixup: remove an obsolete comment docs: we still don't have the promised better Java interface
| * cosmetics: fix few typos, grammaros and missing whitespaceStefano Lattarini2013-05-106-4/+7
| | | | | | | | | | | | * lib/am/*.am: In comments in some of these files. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * fixup: remove an obsolete commentStefano Lattarini2013-05-101-2/+1
| | | | | | | | | | | | * lib/am/header-vars.am (am__make_running_with_option): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-05-042-50/+83
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * branch-1.13.2: maint: targets and recipes to simplify testing on real-world packages build: preparatory refactoring build: tiny reduction in code duplication make flags analysis: handle more options with args make flags analysis: use simpler variable names make flags analysis: whitespace changes make flags analysis: embed in a subshell make flags analysis: be more robust make flags analysis: cater to GNU make 3.83 (still unreleased as of now) tests: expose weaknesses in make flags analysis tests: improve debugging output in checks on make flags analysis make flags analysis: refactor, to reduce code duplication tests: avoid one tricky use of "make -e" tests: avoid a spurious error with Solaris make subdirs: don't return false positives for the '-k' option's presence header-vars: recognize more make flags ('-k' in particular) header-vars: simplify how make flags are determined tests: remove dead code from t/make-dryrun.tap header-vars: new variable $(am__running_with_option) tests: expose bug#12554 (false positives for presence of '-k' make option)
| * make flags analysis: handle more options with argsStefano Lattarini2013-05-031-3/+17
| | | | | | | | | | | | | | | | | | | | That is, not only -I, but also -O (for upcoming GNU make 3.83), -l (GNU make), -d, -E, -D, -m (BSD make), -J, -T (NetBSD make). * lib/am/header-vars.am (am__make_running_with_option): Extend and adjust, both code and comments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * make flags analysis: use simpler variable namesStefano Lattarini2013-05-031-25/+22
| | | | | | | | | | | | | | | | | | | | * lib/am/header-vars.am (am__make_running_with_option): Here. Now that we expect to be run in a subshell, we don't have to worry about being namespace-safe. And '$foo' is much more pleasant to read than '$am__foo' -- and pleasant code tends to be more correct. (am__make_dryrun, am__make_keepgoing): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * make flags analysis: whitespace changesStefano Lattarini2013-05-031-37/+37
| | | | | | | | | | | | | | * lib/am/header-vars.am (am__make_running_with_option): Here. No semantic change is intended. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * make flags analysis: embed in a subshellStefano Lattarini2013-05-031-7/+4
| | | | | | | | | | | | | | | | | | | | So that we won't have to worry about leaking temporary variables, and similar stuff. * lib/am/header-vars.am (am__make_dryrun, am__make_keepgoing): Here. (am__make_running_with_option): Minor adjustments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * make flags analysis: be more robustStefano Lattarini2013-05-021-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, catering to option-with-argument bundled together with options-without-arguments, as in: # With GNU make 3.82: $ make -f- <<<'all:; echo "$$MFLAGS"' -s -k -I none -skiI none # With development version of GNU make (Git commit b5ea49b): $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none -skiI none This fixes some lingering failures in the testsuite; precisely, in tests 'make-dryrun.tap' and 'make-keepgoing.tap'. * t/header-vars.am (am__make_running_with_option): Enhance. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * make flags analysis: cater to GNU make 3.83 (still unreleased as of now)Stefano Lattarini2013-05-021-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current development version of GNU make (that is planned to become GNU make 3.83, sooner or later) has changed the format its $(MFLAGS) variable slightly, removing the space between an option and its argument: # With GNU make 3.82, compiled from official tarball: $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none -I none # With development version of GNU make (Git commit b5ea49b): $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none -Inone This was done on purpose, in order to support more easily the new option '-O', which takes an optional argument; see: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00001.html> So Just adapt to the new format as well. * t/header-vars.am (am__make_running_with_option): Adjust to cater to the new GNU make behaviour. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * make flags analysis: refactor, to reduce code duplicationStefano Lattarini2013-05-011-23/+17
| | | | | | | | | | | | | | | | And make it a little more reliable. * t/header-vars.am (am__make_running_with_option): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * Merge branch 'fix-pr12554' into branch-1.13.2Stefano Lattarini2013-04-302-38/+59
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix-pr12554: tests: avoid a spurious error with Solaris make subdirs: don't return false positives for the '-k' option's presence header-vars: recognize more make flags ('-k' in particular) header-vars: simplify how make flags are determined tests: remove dead code from t/make-dryrun.tap header-vars: new variable $(am__running_with_option) tests: expose bug#12554 (false positives for presence of '-k' make option)
| | * subdirs: don't return false positives for the '-k' option's presenceStefano Lattarini2013-04-291-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes automake bug#12554. The old implementation of the code descending into $(SUBDIRS) entries used the following snippet to decide whether make is running with the '-k' a.k.a. '--keep-going' option, and thus whether a failure in a subdirectory should prevent the descent in the following ones: fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done It's clear that the second pattern in the 'case' construct could possibly match false positives, for examples in these two cases: make check TESTS="x.test k.test" make -I /usr/local/kool-fragments which are somewhat unusual, but not invalid. So we need a more resilient implementation, as we did for the detection of the '-n' flag. This implementation is now provided by the new private macro '$(am__make_keepgoing)' (introduced in recent commits); so we can just us that to fix the bug. * lib/am/subdirs.am ($(am__recursive_targets)): Use '$(am__make_keepgoing)' instead of ad-hoc and more brittle checks. * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test case 't/subdir-keep-going-pr12554.sh'. Reported-by: Michael Daniels <mdaniels@rim.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * header-vars: recognize more make flags ('-k' in particular)Stefano Lattarini2013-04-291-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/am/header-vars.am (am__running_with_option): Here. Few improvements to comments, while at it. (am__make_keepgoing): New, tell whther make is being runt with the '-k' option. * t/make-keepgoing.tap: New test. * t/list-of-tests.mk: Add it. * t/make-dryrun.tap: Minor edits to keep it more in sync with the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>