kc3-lang/automake

Branch :


Log

Author Commit Date CI Message
f7540da7 2013-05-28 22:04:25 Merge branch 'suffix-rules-work' into micro * suffix-rules-work: 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
87e49f4f 2013-05-28 20:51:42 NEWS: report recent documentation fix about AM_PROG_MKDIR_P Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
15f610e7 2013-05-28 20:48:11 NEWS: Automake 2.0 will assume "rm -f" without args work Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e6df383b 2013-05-28 19:29:11 NEWS: fix a couple of typos in older entries Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e833dfe6 2013-05-28 17:52:15 docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake See the 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' file in the 'maint' branch (as of commit v1.13.2-201-gd99e3f3) for details. * doc/automake.texi: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
8a2c43b6 2013-05-28 16:24:41 maint: sanity checks in 'check-minimal-autoconf' convenience target * maint.mk (check-minimal-autoconf): Here, check that autoconf seems to be locally installed, and that such local install refers to the correct expected minimal version. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
cc9d8f26 2013-05-28 15:58:06 maint: test minimal supported autoconf through convenience target * maint.mk (check-minimal-autoconf): New convenience target. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
dd78a5e8 2013-05-28 15:13:46 maint: install minimal supported autoconf through convenience targets To make testing of Automake in conjunction with it easier and more reproducible. It might be nice to also have convenience targets to actually automatically run the Automake testsuite with such autoconf version, but that is left to later patches. * configure.ac: AC_SUBST the definition of $required_autoconf_version. * maint.mk (WGET): Move definition earlier. (gnu-ftp, ac-v, ac-n, ac-p, ac-t, ac-l, ac-d): New auxiliary variables. (fetch-minimal-autoconf, build-minimal-autoconf): New convenience targets. * .gitignore: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
a4c5b27b 2013-05-28 10:54:25 NEWS: document fix for bug#14441 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f98ca068 2013-05-28 10:56:30 Automake::Rule: consistently prepend underscore to private variables * 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>
986ca6c0 2013-05-27 12:55:27 Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() * 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>
1246ace6 2013-05-27 12:30:14 Automake::Rule: adjust comments and POD according to previous changes * 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>
71e0af47 2013-05-27 12:24:02 Automake::Rule: make private variables lexically scoped * 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>
6d4ffd83 2013-05-27 11:14:22 suffix rules: better distinction between builtin and user-derived 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>
55f82a80 2013-05-27 10:44:06 Automake::Rule: expose suffix rules as a function, not a scalar 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>
4ba95192 2013-05-27 01:02:05 tests: expose automake bug#14441 * t/suffix-custom-pr14441.sh: New test, still failing. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. Helped-by: Felix Salfelder <felix@salfelder.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3fd6f164 2013-05-26 20:51:57 test-lib: typofix in comments * t/ax/am-test-lib.sh: In here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3f152503 2013-05-26 20:37:23 tests: remove an "unworthy" FIXME comment * t/location.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
5ed59024 2013-05-26 20:34:14 tests: remove one obsolete workaround for long-lifted limitations * t/silent-many-languages.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b95a0444 2013-05-26 19:18:55 tests: couple of minor tweaks in demo tests in C++ and Libtool * t/cxx-lt-demo.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2ea48f45 2013-05-26 12:42:04 tests: adjust or remove some obsolete comments * t/ax/am-test-lib.sh: Here. * t/distcheck-configure-flags.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d33783f5 2013-05-26 12:13:33 tests: remove some useless 'unset' of variables They are redundant, now that we no longer call "make -e". * t/javaflags.sh: Don't unset JAVAC. * t/lflags.sh: Don't unset LEX. * t/lflags2.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
73a09981 2013-05-26 11:35:15 tests: avoid a couple of extra sleep with GNU make They are only required by BSD make in order to avoid spurious failures. * t/deleted-am.sh: Here. * t/parallel-tests-recheck-pr11791.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
bf81b6d1 2013-05-26 11:23:29 NEWS: document testsuite work for 1.13.3 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
fc1aac7a 2013-05-25 22:50:20 lint: remove a couple of obsolete syntax checks * syntax-checks.mk (sc_obsolete_requirements_rules): Remove definition of this variable. (modern-requirement.texi2dvi-o): Likewise. (modern-requirement.makeinfo-html): Likewise. ($(sc_obsolete_requirements_rules)): Remove these obsolete syntax checks. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
372d0c09 2013-05-25 22:22:55 lint: cosmetics: use #-comments, not ##-comments * syntax-checks.mk: Here. This makes sense because this file is not meant to be processed by Automake, so the ##-comments are not treated specially. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f61ae294 2013-05-25 22:20:44 lint: cosmetics: some reordering * syntax-checks.mk: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
057ff0fe 2013-05-25 22:18:45 lint: recipes of syntax check require GNU grep; ensure it is used * syntax-checks.mk (sc_sanity_gnu_grep): New. ($(syntax_check_rules)): Depend on it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b9c579cb 2013-05-25 21:36:35 lint: better name for a syntax check * syntax-checks.mk (sc_tests_make_without_am_makeflags): Rename ... (sc_make_without_am_makeflags): ... like this. (syntax_check_rules): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
74c1336d 2013-05-24 20:54:41 tests: rename $am_make_rc_got -> $am_make_rc The latter is more natural More importantly, I keep misspelling the former over and over. * t/ax/am-test-lib.sh (run_make): Update. * t/ax/tap-summary-aux.sh: Adjust. * t/ax/testsuite-summary-checks.sh: Likewise. * t/parallel-tests-exit-statuses.sh: Likewise. * t/parallel-tests-extra-programs.sh: Likewise. * t/parallel-tests-fd-redirect-exeext.sh: Likewise. * t/parallel-tests-fd-redirect.sh: Likewise. * t/parallel-tests-fork-bomb.sh: Likewise. * t/parallel-tests-no-spurious-summary.sh: Likewise. * t/parallel-tests-recheck-pr11791.sh: Likewise. * t/parallel-tests-reset-term.sh: Likewise. * t/tap-signal.tap: Likewise. * t/test-driver-acsubst.sh: Likewise. * t/test-driver-cond.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f6b9a22e 2013-05-24 12:46:17 tests: ensure $required is not set too late And do so in a safer way, with a runtime check rather than a brittle static maintainer check. * t/ax/test-init.sh: Set the 'required' variable to readonly. * syntax-checks.mk (sc_tests_required_after_defs): Remove. (syntax_check_rules): No longer list it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d19eb85c 2013-05-24 01:13:40 tests: use append mode to capture parallel make output This will allow us to run the Automake testsuite forcing all the make invocations in the test cases to run in parallel mode [1], but without hitting the spurious failure reported in automake bug#11413. See also: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00135.html> The make invocations in the test cases can be forced to run in parallel mode by, e.g., invoking "make check" like this: make check AM_TESTSUITE_MAKE="make -j16" The possible spurious failures hinted above are due to the fact that the redirected output of parallel make can racily lose lines. For example, if GNU make (3.82) is run with -j10 on a Makefile like this: all = 0 1 2 3 4 5 6 7 8 9 default: $(all) $(all): @sleep 0.$$(($RANDOM % 10)); echo $@ and has its standard output redirected in overwrite-mode to a regular file, it looses a line of that output every 15 runs or so on a Fedora 17 system with 64 ppc64 cores. Redirection in append mode does not suffer of this problem, as explained here: <http://lists.gnu.org/archive/html/automake-patches/2009-03/msg00073.html> See also previous commits v1.12-63-g45c1fcd of 2012-05-05 (tests: use append mode to capture parallel make output) and Release-1-10-280-g6426999 of 2009-03-10 (Use append mode to capture parallel test output). * t/ax/am-test-lib.sh (run_make): Adjust and enhance. * t/lisp8.sh: Take advantage of the enhancement, nd stop doing output redirection for $MAKE by hand. * t/tap-more.sh: Likewise. * t/parallel-tests-concurrency.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f859f346 2013-05-24 00:44:59 tests: new convenience target 'check-parallel' To force the test scripts to invoke make in parallel mode. This should enhance coverage of use cases (make concurrency) that are becoming more and more important with today multicore fast machines. * Makefile.am (check-parallel): New .PHONY target. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3ce4015f 2013-05-23 12:10:18 tests: avoid '$MAKE' redirections, use 'run_make' instead The use 'run_make' with the -E, -O and -M option, it is more idiomatic now. Also, this way, centralized fixes and improvements done in 'run_make' will automatically propagate through most of the testsuite. * syntax-checks.mk (sc_tests_no_run_make_redirect): Also check against '$MAKE' invocations that uses output redirections (and not only against 'run_make' invocation that do so). * Several tests: Adjust (and few minor cosmetic changes as well, while at it). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e2a000cc 2013-05-22 23:29:47 tests: avoid use of redirected 'run_make' invocations Instead, properly use the -E, -O, or -M options of run_make. The occurrences of the 'run_make' invocations using output redirection has been found by the recently-introduced maintainer check 'sc_tests_no_run_make_redirect'. * t/ax/tap-summary-aux.sh: Adjust. * t/ax/testsuite-summary-checks.sh: Likewise. * Several other tests: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
20963917 2013-05-22 22:34:12 lint: warn against redirected 'run_make' invocations The testsuite shell function 'run_make()' has the three options -E, -O and -M to perform the various kind of output redirections, so the test scripts should use them instead of redirecting the output "by hand": run_make ARGS >stdout => run_make -O ARGS run_make ARGS >stderr => run_make -E ARGS run_make ARGS >stdout 2>stderr => run_make -O -E ARGS run_make ARGS >output 2>&1 => run_make -M ARGS See the commit message of v1.13.2-13-gc7cfa09, 2013-05-22 (tests: run_make: options to do command redirection) for an explanation of why this is a good idea. It's worth noting that the present patch only introduced a new static maintainer check looking against the undesired idioms, but doesn't yet remove usages of such idioms from the testsuite. That will be done by follow-up patch(es). * syntax-checks.mk (sc_tests_no_run_make_redirect): New check. (syntax_check_rules): List it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f2a1ef46 2013-05-22 23:42:09 comments: next GNU make release 4.0, not 3.83 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>
c8e1373f 2013-05-22 20:39:59 tests: fix a potential spurious failure due to global config.site * t/instdir-no-empty.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d9a3a447 2013-05-22 20:13:41 HACKING: it's OK to do testsuite refactoring in a micro version Reported-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
15996acc 2013-05-22 13:00:48 tests: remove some code duplication * t/ax/am-test-lib (null_install): New function. * t/instdir-java.sh: Use it instead of copied & pasted code. * t/instdir-lisp.sh: Likewise. * t/instdir-ltlib.sh: Likewise. * t/instdir-prog.sh: Likewise. * t/instdir-python.sh: Likewise. * t/instdir-texi.sh: Likewise. * t/instdir.sh: Likewise. * t/instdir2.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
edbe522d 2013-05-22 11:09:39 cosmetics: remove a couple of extra whitespaces in tests * t/instdir.sh: Here. * t/instdir2.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e958709f 2013-05-22 10:56:07 tests: two minor fixups * t/make-keepgoing.tap: Here. * t/parallel-tests-exit-statuses.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
c7cfa093 2013-05-21 20:22:17 tests: run_make: options to do command redirection Let's improve the API of the 'run_make()' helper shell function by adding three new options: -O Save the standard output from make on disk, in a regular file named 'stdout'. -E Save the standard error from make on disk, in a regular file named 'stderr'. -M Save both the standard output and standard error from make on disk, in a regular file named 'output'. This option supersedes both the '-O' and '-E' options. This new API has two main advantages. 1. Its use will allow us to get rid of more cumbersome idioms like, e.g., $MAKE check >stdout && { cat stdout; exit 1; } cat stdout That can now be substituted with a simpler one: run_make -e FAIL -O check 2. More importantly, using the new API we will prevent any extra output from the shell traces of the code in run_make to be redirected along with the make stderr (where that was redirected). This problem was present in usages like, e.g., run_make TESTS=foo.test check 2>stderr && exit 1 grep 'expected error message' stderr Such usages are now to be rewritten as follows: run_make -e FAIL -E TESTS=foo.test check grep 'expected error message' stderr ensuring that 'stderr' won't end up containing unrelated stuff. Note that we do not convert in bulk the old idioms and the use of redirected 'run_make' invocations with this patch. We only convert some occurrences, to ensure that the new implementation of 'run_make' is sound enough. More sweeping conversions will likely be done in follow-up patches. * t/ax/am-test-lib.sh (run_make): Enhance and implement the extended API. * t/tap-xfail-tests.sh: Use the new 'run_make' API. * t/test-driver-cond.sh: Likewise. * t/tests-environment-fd-redirect.sh: Likewise. * t/uninstall-fail.sh: Likewise. * t/yacc-dist-nobuild.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
a422365b 2013-05-21 11:59:21 tests: only activate 'unset' alias if required This makes the test logs easier to read for most shells (which do not actually require that alias). This is especially important now that 'unset' is used in the new 'run_make()' function, and that function is likely going to be used more and more in the future. * t/ax/test-lib.sh (_am_unset, unset): Only define this function and alias if "unset VAR" returns a non-zero exit status when VAR is already unset. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ffd4ecc9 2013-05-20 11:23:01 tests: better idiom to override make macro defs on the cmdline We now do so with a new wrapper shell function 'run_make()', which relies on the use of AM_MAKEFLAGS, avoiding the use of the '-e' make option. The use of that option (that causes the environment variables to take precedence over the macro definitions in the Makefile) has proved to be quite brittle in the past, causing annoying and sometimes problematic spurious failures. This has worsened in some still unpublished work going on in development branches. It's time to solve the issue once and for all. Note that we do not convert all uses of $MAKE in the testsuite right away; we might do so in follow-up changes, with leisure, to avoid a "patch bomb" effect (this commit is already too much of a bomb itself). What we do in this commit is to get rid of all "$MAKE -e" invocations. We admit that the implementation and feature-set of 'run_make()' are far from perfect, but good enough for our current purposes. We'll improve 'run_make()' if and when the need arises. * syntax-checks.mk (sc_tests_no_make_e): New syntax check, guard against the use of "$MAKE -e". (syntax_check_rules): Add it. (sc_tests_overriding_macros_on_cmdline): Adjust. (lint): New, alias for 'maintainer-check', for lazy typists. Idea backported from the 'maint' branch (Automake 1.13a). * t/ax/am-test-lib.sh (run_make): New function. Run $MAKE with the given command-line arguments, handling command-line override of variable definitions in a smart way (using AM_MAKEFLAGS if a non-GNU make implementation is detected to be in use). (useless_vpath_rebuild): Adjust to use 'run_make', to avoid a spurious maintainer check failure. (yl_distcheck): Use 'run_make' rather than bare '$MAKE'. (single_quote, append_single_quoted, is_valid_varname): New auxiliary function, used, directly or indirectly, by it. * Many tests: Adjust to avoid the use of "$MAKE -e", and prefer the use of 'run_make' in few other contexts as well, where it makes sense. Other minor fixlets while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
12cfd38f 2013-05-20 15:17:11 test-lib: minor style changes * t/ax/am-test-lib.sh (require_tool): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
8a39c6de 2013-05-20 15:07:48 test-lib: fix botched function name in an error message * t/ax/am-test-lib.sh (useless_vpath_rebuild): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
608ba821 2013-05-20 10:53:11 maintcheck: minor tweaks and fixlets * syntax-checks.mk: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
0256f1d6 2013-05-18 13:35:16 lisp: fix a failure with Solaris /usr/xpg4/bin/sh * 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>
84e12c32 2013-05-17 13:45:44 tests: sanitize 'unset' usages In some shells (e.g., Solaris 10 /bin/ksh, or NetBSD 5.1 /bin/sh), "unset VAR" returns a non-zero exit status in case the VAR variable is already unset. This doesn't interact well with our usage of "set -e" in the testsuite. So far, we've avoided spurious failures by either explicitly ignoring the exit status from unset: unset VAR || : or explicitly ensuring that a variable is set, before trying to unset it: VAR=; unset VAR But we can do better, by aliasing the 'unset' command to a custom function that will take care of these details for us. This will avoid us annoying spurious failures in the future, failures that have already bitten us too much times. For an example, refer to commit 'v1.12.2-88-g5b1dae5' of 2012-08-05 (tests: avoid tons of spurious failures on NetBSD). * t/ax/test-lib.sh (_am_unset): New function. (unset): New alias to it. (_am_exit): Adjust comments. * t/ax/am-test-lib.sh: No need to temporary disable the 'errexit' shell flag when unsetting variables that are potentially already unset. (am_process_requirements): Adjust to remove a now-useless workaround related to unset. * t/aclocal-macrodir.tap: Likewise. * t/aclocal-macrodirs.tap: Likewise. * t/auxdir-autodetect.sh: Likewise. * t/ax/am-test-lib.sh: Likewise. * t/ax/test-lib.sh: Likewise. * t/check-tests-in-builddir.sh: Likewise. * t/dist-formats.tap: Likewise. * t/distcheck-configure-flags-am.sh: Likewise. * t/distcheck-configure-flags.sh: Likewise. * t/java-empty-classpath.sh: Likewise. * t/javaflags.sh: Likewise. * t/lflags.sh: Likewise. * t/lflags2.sh: Likewise. * t/lisp-flags.sh: Likewise. * t/lisp6.sh: Likewise. * t/missing-auxfile-stops-makefiles-creation.sh: Likewise. * t/parallel-am.sh: Likewise. * t/parallel-am2.sh: Likewise. * t/parallel-am3.sh: Likewise. * t/parallel-tests-log-override-recheck.sh: Likewise. * t/pkg-config-macros.sh: Likewise. * t/python-missing.sh: Likewise. * t/python-too-old.sh: Likewise. * t/python11.sh: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-report.sh: Likewise. * t/self-check-seq.tap: Likewise. * t/silent-configsite.sh: Likewise. * t/suffix6c.sh: Likewise. * t/tar-override.sh: Likewise. * t/tests-environment-and-log-compiler.sh: Likewise. * t/vala-configure.sh: Likewise. * t/werror3.sh: Likewise. * t/yflags-cmdline-override.sh: Likewise. * t/yflags.sh: Likewise. * t/yflags2.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
176d229b 2013-05-16 14:49:44 tests: fix some botched/outdated comments * t/ax/test-defs.in: Here. Also, fix a couple of grammaros while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
361430c0 2013-05-16 14:18:55 tests: use perl, not find+rm, to remove temporary directories The File::Path::rmtree function from perl, if used right, is more reliable and more portable of our past idiom: find $dirs -type d ! -perm -700 -exec chmod u+rwx {} ';'; rm -rf $$dirs || exit 1 at least of the face of unreadable dirs/files and other similar permission issues (and we have those in our test directories). In fact, this change fixes some spurious failures seen in "make distcheck" on Solaris 10. * t/ax/deltree.pl: New. * Makefile.am (EXTRA_DIST): Add it. (clean-local-check): Use it. * t/ax/test-lib.sh (rm_rf_): Use it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
74017b56 2013-05-16 12:18:43 tests: remove exec bit from all of them ('micro' branch) It gives the impression that they are directly runnable, as with "./t/foo.sh", but it has been a while since that was the case. Today, tests are runnable only through "make check" or "./runtest". This change is for the 'micro' branch (automake 1.13.2a). It will soon be followed by similar patches for the 'maint' branch (automake 1.13a) and the 'master' branch (automake 1.99a). * t/*.sh, t/*.tap: Remove executable bit. * maint.mk (sc_tests_executable): Remove. (syntax_check_rules): Adjust. * gen-testsuite-part: Set permissions of generated tests to '444' (-r--r--r--), rather than 555 (-r-xr-xr-x). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
48fc2d83 2013-05-16 12:13:32 maint: tests no longer need to have executable bit set It has been a while since they are runnable only through "make check" or "./runtest", and not directly. * HACKING: Adjust. * t/README: Likewise, and updated the surrounding text to get rid of obsolete statements and advices. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e89b9083 2013-05-15 22:44:43 post-release: micro version bump (1.13.2a) * configure.ac, m4/amversion.m4: Bump version: 1.13.2 -> 1.13.2a Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
21824fbc 2013-05-15 19:43:39 release: stable micro release 1.13.2 * configure.ac (AC_INIT): Bump version number to 1.13.2. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
4348577b 2013-05-15 22:05:21 vala tests: skip in a cross compiler setup The "vala + pkg-config" doesn't interact well with cross-compilation: <https://mail.gnome.org/archives/vala-list/2012-September/msg00094.html> That is causing annoying failures in our testsuite when it's run in cross-compilation mode. It's not worth trying too be overly smart and work around these problems; just skip the affected tests instead. * t/ax/am-test-lib.sh (require_tool): A new requirement 'valac', telling that the test needs to compile Vala-generated C files. In particular, this causes the test to be skipped when using a cross-compiler. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3a4c7cf9 2013-05-15 19:34:41 HACKING: miscellaneous fixes, updates and enhancements Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
1a05e925 2013-05-15 19:13:13 NEWS: minor improvements to wording (about new versioning scheme) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
74be388e 2013-05-10 23:59:02 warns: don't tell AM_PROG_MKDIR_P is going to be removed That is no longer true. For a more extended rationale, see file 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' in the maint branch (as of commit v1.13.1d-132-g90ec3fe). * automake.in (scan_autoconf_traces): So adjust the warning message here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
a5a167fc 2013-05-10 12:13:00 automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/ Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
66ab18ae 2013-05-10 10:50:05 cosmetics: fix few typos, grammaros and missing whitespace * lib/am/*.am: In comments in some of these files. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
53201da1 2013-05-10 10:35:26 fixup: remove an obsolete comment * lib/am/header-vars.am (am__make_running_with_option): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
4ccf9a80 2013-05-09 20:23:40 docs: we still don't have the promised better Java interface Reported by Michael Zucchi: <http://lists.gnu.org/archive/html/automake/2013-05/threads.html> See also automake bug#9088. * doc/automake.texi (Java): Adjust and clarify. * THANKS: Update. Reported-by: Michael Zucchi <notzed@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d2ed3559 2013-05-09 13:55:15 announcement: cater to more flexible NEWS format * maint.mk (announcement): Here, be prepared to handle the case in which the first section of the NEWS file is dedicated to report future backward-incompatibilities and/or other warnings. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
799fa256 2013-05-05 00:46:54 maint: version bump after beta release 1.13.1d * configure.ac (AC_INIT): Bump version number to 1.13.1e. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3e6cad96 2013-05-04 23:19:36 release: beta release 1.13.1d (will become 1.13.2) * configure.ac (AC_INIT): Bump version number to 1.13.1d. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
8a11e2fd 2013-05-04 22:58:25 NEWS: document more robust handling/recognition of make options Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f5f75eef 2013-05-04 11:37:09 Merge 'better-makeflags-recognition' and 'testing-work' into branch-1.13.2 * better-makeflags-recognition: 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 * testing-work: maint: targets and recipes to simplify testing on real-world packages build: preparatory refactoring build: tiny reduction in code duplication
b993a265 2013-05-03 23:02:11 maint: targets and recipes to simplify testing on real-world packages We introduce a new section in the maintainer-specific makefile that contains recipes to test the build system of some well-known GNU packages with the current development version of Automake. Not the cleanest way to do so, but good enough for the moment. We'll revisit the matter after the 1.13.2 release (which we now hope will happen soon). * maint.mk (git-sv-host): New. (SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): Use it to reduce code duplication. (ALL_PACKAGES, FEW_PACKAGES): New, lists of GNU packages to try out. (ttp-check, ttp-check-all): New targets, do the checking with said packages. (ttp): New, alias for 'ttp-check'. (ttp-all): New, alias for 'ttp-check-all'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
eddba1cc 2013-05-03 21:02:42 build: preparatory refactoring No semantic change intended. This change will be required by a later patch. * Makefile.am (setup_autotools_paths): New. ($(srcdir)/doc/amhello-1.0.tar.gz): Use it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
dc3cdb1d 2013-05-03 20:56:02 build: tiny reduction in code duplication The code was only duplicated two times, but we are soon going to need a third occurrence, and that would be one to much. * Makefile.am (extend_path): New. (update_mans): Use it instead of copying & pasting its contents. ($(srcdir)/doc/amhello-1.0.tar.gz): Likewise, and minor related adjustments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
57925b67 2013-05-03 14:06:25 make flags analysis: handle more options with args 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>
1adb0570 2013-05-03 13:01:35 make flags analysis: use simpler variable names * 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>
6d643e93 2013-05-03 12:52:14 make flags analysis: whitespace changes * 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>
5c4aaae2 2013-05-03 12:47:59 make flags analysis: embed in a subshell 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>
b62616b3 2013-05-02 19:41:24 make flags analysis: be more robust 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>
c93bc3d4 2013-05-02 01:10:13 make flags analysis: cater to GNU make 3.83 (still unreleased as of now) 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>
7aa99186 2013-05-02 00:43:33 tests: expose weaknesses in make flags analysis This introduces some failures in the testsuite, that will be fixed soon enough by follow-up patches. * t/make-dryrun.tap: Enhance and extend. * t/make-keepgoing.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d017b54b 2013-05-02 00:27:46 tests: improve debugging output in checks on make flags analysis * t/make-dryrun.tap: Here. * t/make-keepgoing.tap: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e242b44e 2013-05-01 23:26:42 make flags analysis: refactor, to reduce code duplication 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>
425fe1e8 2013-05-01 17:06:42 tests: avoid one tricky use of "make -e" Which was causing a spurious failure on FreeBSD. Not particularly surprising, given how brittle "make -e" is in general ... * t/cxx-lt-demo.sh: Instead of forcing $(CC) to be 'false' by exporting "CC=false" in the environment and then passing the '-e' option to make, do so by passing "CC=false" on the make command line, both directly and using AM_MAKEFLAGS. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d432f067 2013-04-30 23:55:47 Merge branch 'fix-pr12554' into branch-1.13.2 * 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)
6d3ffeb9 2013-04-30 23:00:53 cosmetics: remove few trailing whitespace occurrences Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
8430d412 2013-04-30 22:59:30 typofix: in NEWS (extra whitespace) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2a40fa71 2013-04-30 14:48:45 Merge branch 'fix-pr13588-pax-hangs' into branch-1.13.2 * fix-pr13588-pax-hangs: tar: format 'ustar' cannot support UID/GID longer than 21 bits
5a29f7aa 2013-04-29 20:43:02 tests: avoid a spurious error with Solaris make * t/make-keepgoing.tap (Makefile.am): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
02ead48e 2013-04-29 16:12:34 subdirs: don't return false positives for the '-k' option's presence 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>
69f77915 2013-04-29 15:22:10 header-vars: recognize more make flags ('-k' in particular) * 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>
f6338e8c 2013-04-29 16:44:00 sync: update files from upstream with "make fetch" * lib/config.guess: Likewise. * lib/config.sub: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ba7b59bf 2013-04-29 16:39:47 maintcheck: remove outdated whitelisting * syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Here. The test 'make-dryrun.sh' has been since long rewritten as the TAP test 'make-dryrun.tap', and no longer spuriously triggers this maintainer check. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e432b0d3 2013-04-27 16:09:43 header-vars: simplify how make flags are determined Actually, son far only the '-n' option ("dry mode") was detected, but this change will allow us to soon detect more options. * lib/am/header-vars.am (am__running_with_option): Even when $MAKEFLAGS appears to contain definition of variables with embedded whitespace, use simple textual pre-processing over $MAKEFLAGS rather than tricky recursive invocations of make to determine whether the '-n' option was given. This is enough to correctly handle all the tricky usages covered in the testsuite. * t/nodep.sh: Adjust to avoid a spurious failure. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
c97218a5 2013-04-27 15:49:52 tests: remove dead code from t/make-dryrun.tap Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
6eedee4c 2013-04-27 15:25:06 header-vars: new variable $(am__running_with_option) This is a preparatory refactoring, needed by later patches. No semantic change is intended. * lib/am/header-vars.am (am__running_with_option): New, contains shell code that determines whether the current make instance is running with a given one-letter option (e.g., -k, -n) that takes no argument. Actually, the only supported option at the moment is '-n' (support for '-k' will be added soon). (am__make_dryrun): Rewrite as a thin wrapper around '$(am__make_running_with_option)'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
cbf23ceb 2012-10-02 21:27:28 tests: expose bug#12554 (false positives for presence of '-k' make option) The current implementation of the code descending into $(SUBDIRS) entries uses 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 can 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. But alas, such an implementation seems quite tricky to obtain in portable make. So for the moment we content ourselves with exposing the bug, with the hope of being able to fix soon enough. * t/subdir-keep-going-pr12554.sh: New test. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. * THANKS: Update Reported-by: Michael Daniels <mdaniels@rim.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
edfd3bc4 2013-02-17 16:42:46 tar: format 'ustar' cannot support UID/GID longer than 21 bits See automake bug#8343 and bug#13588. POSIX 1988 'ustar' format is defined with *fixed-size* fields. There is notably a 21 bits limit (2097151) for the UID and the GID. Tom Rini tom_rini@mentor.com says (in bug#8343): When the user has a UID or GID that is larger than the ustar format supports, pax does not error out gracefully in some cases (FC13). Marc Herbert <marc.herbert@intel.com> adds (in bug#8343): When "configure" is run by a user with an UID bigger than 21 bits, BSD pax 3.4 aborts when trying to create the 'conftest.tar' test archive and leaves an empty or corrupted conftest.tar file behind. In the next step, pax tries to extract this incomplete or corrupted archive and this *** hangs the whole ./configure script ***. Note: GNU cpio 2.9 pretends to pass the test but it is a LIE: it silently truncates any big UID to its lower 21 bits. I don't know what can be the consequences of this lie. I think there is currently a design issue in automake/m4/tar.m4 considering that a ustar archive should should *never* succeed when ./configure is run from a big user ID. Months later, Petr Hracek <phracek@redhat.com> reports a similar issue (in bug#13588) for Fedora 17: I am trying to solve problem in case a user is created with big UID and during configuration pax hangs with message ATTENTION! pax archive volume change required. Ready for archive volume: 1 Input archive name or "." to quit pax. Archive name > and needs user interaction. Reference: <https://bugzilla.redhat.com/show_bug.cgi?id=843376> Time to fix this issue, on the line of a preliminary patch provided by Petr Hracek in bug#13588. The final patch ended up being remarkably different from that original proposition, though. * m4/tar.m4 (_AM_PROG_TAR): If the UID or GID of the current user is too high (> 2097151), the 'ustar' format cannot work. Adjust checks accordingly. Some related code reordering and clean-up. * t/tar-ustar-id-too-high.sh: New test. * t/list-of-tests.mk: Add it. * t/tar.sh: While at it, tweak and enhance a little. * t/tar2.sh: Likewise. * t/tar3.sh: Likewise. * t/tar-override.sh: Likewise. * NEWS: Update. * THANKS: Likewise. Helped-by: Pavel Raiskup <praiskup@redhat.com> Helped-by: Petr Hracek <phracek@redhat.com> Helped-by: Marc Herbert <marc.herbert@intel.com> Helped-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3fd147d8 2013-04-26 20:22:24 Merge few bug-fixing branches into branch-1.13.2 * fix-part-pr13832: tests: avoid possible autotools caching issues (automake bug#13832) * fix-pr13760: dry-run: don't get confused by '-I' option dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS) header vars: can determine whether we are running under GNU make * fix-doc-pr14019: docs: issues with configure substitutions in TESTS * news-wording-improve: NEWS: improve wording for automake bug#13514 fix
526df875 2013-04-25 21:03:40 docs: issues with configure substitutions in TESTS Motivated by automake bug#14019. * doc/automake.texi: Currently, when the parallel test harness is in use, configure substitutions in TESTS definitions can only work if they expand to tests that ends with a suffix listed in TEST_EXTENSIONS. Document this limitation. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13ca4c13 2013-04-20 22:46:30 tests: avoid possible autotools caching issues (automake bug#13832) * t/ar-lib4.sh: Here, by removing the autom4te cache before editing configure.ac and re-running the autotools. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
fa55c5d8 2013-04-25 21:34:17 docs: add myself and Ralf Wildenhues as authors * doc/automake.texi: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>