diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 7932 |
1 files changed, 7932 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 000000000..43cea1840 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,7932 @@ +2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + release: stable release 1.12.1 + + * configure.ac (AC_INIT): Bump version number to 1.12.1. + * m4/amversion.m4: Likewise (auto-updated by "./bootstrap"). + +2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + copyright: update copyright years in a couple of files + + * doc/help2man, t/aclocal-verbose-install.sh: Update copyright, + thanks to "make update-copyright". + +2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failures with Solaris 9 cscope program + + * t/cscope.tap: Also check that the cscope program in use supports the + '-q' option; if this is not the case, some cscope usages in the generated + Makefiles would fail, so we must skip the checks involving those usages. + +2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: fix a spurious failure + + * Makefile.am (test_subdirs): Add 't/perf'. Fix spurious failure + of the 'maintainer-check-list-of-tests' target. + +2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com> + + perf: beginning of a performance testsuite + + Some tests in the Automake testsuite already aims only at verifying + the performance, rather than the correctness, of some operations. + Still, they are somewhat shoehorned and forced into the PASS/FAIL + framework (say, with the 'ulimit' shell builtin used to verify some + operation doesn't take up too much time or memory), but that is + conceptually a stretch, and has already caused problems in practice + (see automake bug#11512 for an example). + + So we start moving the "performance tests" out of the testsuite proper, + and make them run only "on demand" (when the user exports the variable + 'AM_TESTSUITE_PERF' to "yes"). Ideally, we should provide those tests + with a custom runner/driver that measures and displays the relevant + performance information, but doing that correctly and with the right + APIs is definitely more difficult, so we leave it for a later step + (an hope we'll take such a step eventually). + + * t/cond29.sh: Move ... + * t/perf/cond.sh: ... here, and adjust. + * t/testsuite-recheck-speed.sh: Move ... + * t/perf/testsuite-recheck.sh: ... here. + * t/testsuite-summary-speed.sh: Move ... + * t/perf/testsuite-summary.sh: ... here. + * t/list-of-tests.mk (perf_TESTS): New variable, listing the tests in + the 't/perf' directory. + (handwritten_TESTS): Adjust. + * defs: Skip any tests in the 't/perf/' subdirectory unless the + 'AM_TESTSUITE_PERF' variable is set to "yes" or "y". + * .gitignore: Update. + +2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'fix-pr11543' into maint + + * fix-pr11543: + aclocal: declare function prototypes, do not use '&' in function calls + +2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com> + + aclocal: declare function prototypes, do not use '&' in function calls + + This change will also fix automake bug#11543 (from a report by Matt + Burgess). + + * aclocal.in: Declare prototypes for almost all functions early, before + any actual function definition (but omit the prototype for the dynamically + generated '&search' function). Add prototypes to any function definition. + Remove '&' from function invocations (i.e., simply use "func(ARGS..)" + instead of "&func(ARGS...)"). + * THANKS, NEWS: Update. + +2012-05-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: support for configure.in will be dropped in future automake versions + + The use of configure.in as Autoconf input has been deprecated for a + very long time in the Autoconf documentation, and the next version of + Autoconf (2.70) will start warning about it ar runtime as well (see + commit 'v2.69-4-g560f16b' or 2012-05-23, "general: deprecate + 'configure.in' as autoconf input", in the Autoconf's git repository). + + * NEWS (Future backward-incompatibilities): Update. + +2012-05-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix botched heading comments in 'lex-clean-cxx.sh' + + * t/lex-clean-cxx.sh: This file tests lex, not yacc. + +2012-05-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + [ng] maintcheck: some tweaks and fixlets + + * syntax-checks.mk (sc_no_brace_variable_expansions): Do not complain + about ${MAKEVAR} usages in comments: they might be legitimate. This + change is not strictly required for mainline automake, but will help + in the Automake-NG branch. + * sc_tests_here_document_format: Relax a bit, so that usages like + "cout << "string" << endl;" in the test scripts (usages which can be + used in here documents defining C++ sources) are not flagged as uses + of bad delimiters for here documents. This change is not strictly + required for mainline automake, but will help in the Automake-NG + branch, and will anyway be more future proof w.r.t. possible future + testsuite additions. + (sc_tests_Exit_not_exit): Do not whitelist lines containing $PERL + explicitly (that was only required for one test); instead ... + * t/ext2.sh: ... use "exit (1)" instead of "exit 1" in the perl + invocation of the guilty script. + +2012-05-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + help: fix a typo in the list of warning categories + + * lib/Automake/ChannelDefs.pm (usage): s/none'/none/. + +2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: version bump after beta release + + * configure.ac (AC_INIT): Bump version number to 1.12.0c. + * m4/amversion.m4: Likewise (auto-updated by "./bootstrap"). + +2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + release: beta release 1.12.0b (will become 1.12.1) + + * configure.ac (AC_INIT): Bump version number to 1.12.0b. + * m4/amversion.m4: Likewise (auto-updated by "./bootstrap"). + +2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + release: remove overly picky check + + * Makefile.am (git-tag-release): Do not check that the version number + NEWS is updated w.r.t. $(VERSION); given the new way we manage NEWS, + that would cause gratuitous spurious failures. + * HACKING: Update. + +2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'ylwrap-line-filename' into maint + + * ylwrap-line-filename: + ylwrap: preserve subdirectories in "#line" munging + ylwrap: preparatory refactoring + +2012-05-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: use 'parallel-tests' Automake option by default + + This will help our transition from 'serial-tests' to 'parallel-tests' + as the default test suite driver enabled by a TESTS assignment in the + input Makefile.am. Note that that change of default will only take + place in master, though. + + * defs: Pass the 'parallel-tests' option to the AM_INIT_AUTOMAKE + invocation in the created 'configure.ac' stub, unless the variable + 'am_serial_tests' is set to "yes". Don't pay attention anymore to + the 'am_parallel_tests' variable, that's obsolete now. + * defs-static.in: Warn if the 'am_serial_tests' variable is set in the + environment; conversely, don't warn anymore about 'am_parallel_tests' + being set in the environment. + * Makefile.am (AM_TESTS_ENVIRONMENT): Nullify the 'am_serial_tests' + variable instead of the now-obsolete 'am_parallel_tests' one. + * syntax-checks.mk (sc_tests_obsolete_variables): Also warn against + uses of 'am_parallel_tests', which is now deprecated in favor of + 'am_serial_tests'. Similarly, if a use of 'parallel_tests' is seen, + suggest using 'am_serial_tests' instead, not 'am_parallel_tests'. + * gen-testsuite-part: Now that we use the 'parallel-tests' by default + in our tests, we need to completely change the logic and semantics of + generation of sibling tests for those tests that check the Automake + generated testsuite harness itself. Do that, and give a complete + explanation of the new logic and semantics in the relevant comments. + * t/README: Update. + * Lots of test cases: Adjust. + +2012-05-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + doc: fix location of Automake's own test-suite.log file + + * doc/automake.texi (Reporting Bugs): The global testsuite log of + Automake is now (basically since we have removed make recursion from + the Automake's build system) saved in the file 'test-suite.log', not + in the file 'tests/test-suite.log'. Adjust accordingly. + +2012-05-16 Nikolai Weibull <now@bitwi.se> (tiny change) + Stefano Lattarini <stefano.lattarini@gmail.com> + + ylwrap: preserve subdirectories in "#line" munging + + If Automake is used in non-recursive mode and one of the inputs is a + yacc file, for example, "src/grammar.y", ylwrap will remove too many + directories from the output file when it adjusts the paths in it. + This results in #line directives referring to "grammar.y" instead of + "src/grammar.y". + + This is a result of $input_rx simply taking all the directory + components of the absolute input path and removing them. + + One solution is to store the path passed to ylwrap and replace + $input_rx with it. This is what we do. + + Suggestion and initial patch (without tests) by Nikolai Weibull: + <http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html> + Final patch by Stefano Lattarini. + + * lib/ylwrap ($input_sub_rx): New. + When munging the #line directives, substitute '$input_rx' with it, + instead of stripping it altogether. + Adjust comments. + * t/yacc-line.sh, t/lex-line: Adjust and extend. + * NEWS, THANKS: Update. + +2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + ylwrap: preparatory refactoring + + This commit should cause no semantic change in the ylwrap behaviour. + It will only be needed in light of a future change. See: + <http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html> + + * lib/ylwrap (get_dirname, quote_for_sed): New functions, factoring + out some non-trivial code. Use them where appropriate. + +2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + yacc tests: avoid a spurious failure with Sun C++ 5.9 + + * t/yacc-cxx.sh (parse1.yy): When calling the 'getchar' function declared + in the #included <cstdio>, fully qualify it as std::getchar', to avoid + Sun C++ 5.9 erroring out with: + "parse1.yy", line 5: Error: The function "getc" must have a prototype. + * t/yacc-clean-cxx.sh (sub1/parsefoo.yxx): Likewise. + +2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + self tests: cater for /bin/ksh symlinked to Zsh + + * t/self-check-reexec.tap: When searching for a suitable non-Bash + shells, be sure to reject any shell that is Zsh "in disguise" (as + can be found on some Debian systems, where /bin/ksh can be symlinked + to /bin/zsh4). This is required because our testsuite does not + support older versions of Zsh, and that was causing the test to fail + in the setup just described. + +2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failures due to dpkg install-info + + * t/install-info-dir.sh: Skip some checks if 'install-info' is the one + from dpkg, not the one from GNU info; the former might try to create + files in '/var/backups/', causing spurious failures like this for any + non-root user: + + install-info(.../install-info-dir.dir/_inst/info/foo.info): \ + creating new section `Dummy utilities' + cp: cannot create regular file `/var/backups/infodir.bak': \ + Permission denied + install-info(.../install-info-dir.dir/_inst/info/foo.info): \ + could not backup .../install-info-dir.dir/_inst/info/dir in \ + /var/backups/infodir.bak: No such file or directory + +2012-05-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure due to i18n issue + + Fixes automake bug#11452. + + * t/parallel-tests-fork-bomb.sh: Export LANG, LANGUAGE and LC_ALL to + 'C', to ensure error messages will be in English, and thus avoiding + possible false negatives in our grepping of them. + +2012-05-10 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: add few missing 'cc' and 'c++' requirements + + Without that requirements, the configure-time overrides of CC and CXX + wouldn't be honored in the affected tests. + + * t/silent-yacc.sh ($required): Require 'cc'. + * t/silent-yacc-headers.sh: Likewise. + * t/silent-lex.sh: Likewise. + * t/lex-clean.sh: Likewise. + * t/lex-depend.sh: Likewise. + * t/lex-line.sh: Likewise. + * t/lex-depend.sh: Likewise. + * t/lex-pr204.sh: Likewise. + * t/yacc-deleted-headers.sh: Likewise. + * t/yacc-line.sh: Likewise. + * t/yacc-depend.sh: Likewise. + * t/yacc-depend2.sh: Likewise. + * t/yacc-dist-nobuild-subdir.sh: Likewise. + * t/yacc-bison-skeleton.sh: Likewise. + * t/yacc-bison-skeleton-cxx.sh ($required): Require 'c++'. + * t/yacc-clean-cxx.sh: Likewise. + * t/yacc-d-cxx.sh: Likewise. + * t/yacc-cxx.sh: Likewise. + * t/yacc-mix-c-cxx.sh ($required): Require 'cc' and 'c++'. + +2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'testsuite-saner-shell' into maint + + * testsuite-saner-shell: + tests: fix a spurious failure with dash + test defs: fix indentation (cosmetic change) + tests: remove obsolete uses of $sh_errexit_works + configure: search a sturdy POSIX shell to be used in the testsuite + tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL + +2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix a spurious failure with dash + + The dash shell, at least version 0.5.5.1, doesn't always bail out + with a syntax error when a stray "fi" in encountered: + + $ dash -c ":; fi"; echo stat = $? + stat = 0 + + See also the relevant bug report: + + <http://permalink.gmane.org/gmane.comp.shells.dash/717> + + This behaviour was causing a spurious error in our testsuite. Fix it. + + * t/self-check-exit.tap: Use a stray parentheses rather than a stray + 'fi' to trigger a syntax error. + +2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: fix indentation (cosmetic change) + + * defs (exit trap): Fix indentation left botched by previous + patch 'v1.11b-51-g626bf65'. + +2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove obsolete uses of $sh_errexit_works + + After the last changes, configure will ensure that the shell + selected to run the test scripts can correctly propagate exit + status to the exit trap when 'set -e' is in effect. + + * configure.ac (sh_errexit_works): Do not AC_SUBST it anymore. + * defs-static.in (sh_errexit_works): Do not initialize + from the AC_SUBST value anymore. + * defs (trap): Trap the EXIT signal unconditionally. + * t/self-check-explicit-skips.sh: Do not skip the test if + '$sh_errexit_works' is != "yes", this check doesn't make + sense anymore. + * t/self-check-cleanup.tap: Likewise. + * t/self-check-exit.tap: Assume the exit trap is always + installed by ./defs. + +2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + configure: search a sturdy POSIX shell to be used in the testsuite + + * configure.ac: Add code (partially inspired to checks in gnulib's + 'tests/init.sh') to search for a good-enough, not-buggy POSIX/XSI + shell to be used in our testsuite. Accordingly AC_SUBSTitute the + variable 'AM_TEST_RUNNER_SHELL'. + * NEWS: Update. + +2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL + + This is just a preparatory refactoring for future changes. + + * configure.ac (AM_TEST_RUNNER_SHELL): New variable, defined + to $SHELL', and AC_SUBST'd. + * Makefile.am (LOG_COMPILER): Redefine from $(SHELL) to + $(AM_TEST_RUNNER_SHELL). + * defs: Adjust to use $AM_TEST_RUNNER_SHELL instead + of $CONFIG_SHELL and/or $SHELL, where appropriate. Minor + opportunistic changes. + * t/self-check-explicit-skips.sh: Likewise. + * t/self-check-sanity.sh: Likewise. + * t/self-check-tap.sh: Likewise. + * t/self-check-cleanup.tap: Likewise. + * t/self-check-dir.tap: Likewise. + * t/self-check-env-sanitize.tap: Likewise. + * t/self-check-exit.tap: Likewise. + * t/self-check-me.tap: Likewise. + * t/self-check-reexec.tap: Likewise. + +2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: distribute t/README + + Since commit v1.11-2128-g8e02441 of 2012-04-06, "maint: no more make + recursion in Automake's build system" we haven't been distributing the + testsuite README file in our release tarballs. Oops. + + * Makefile.am (EXTRA_DIST): Add 't/README'. + +2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + init: warn against obsolete usage of AM_INIT_AUTOMAKE + + Support for the two- and three-arguments invocation forms of the + AM_INIT_AUTOMAKE macro, as in: + + AM_INIT_AUTOMAKE($PACKAGE, $VERSION) + + or: + + AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE) + + will be removed in the next major Automake release (1.13). + + Such usages have already been deprecated in the documentation + starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs, + news: document planned removal of obsolete macros and features". + + We now start giving runtime warnings as well (in the 'obsolete' + category). + + * NEWS: Update. + * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments + form invocation. + * automake.in (scan_autoconf_traces): Likewise. + * doc/automake.texi: Minor adjustments. Add an @anchor to the + location where it's described how to modernize outdated invocation + of AM_INIT_AUTOMAKE, so that it can be referenced from automake + warning/error messages. + * t/aminit-moreargs-deprecation.sh: New test. + * tests/list-of-tests.mk: Add it. + * tests/ac-output-old.tap: Adjust by calling automake with the + warnings in the 'obsolete' category disabled. + * t/backcompat.test: Likewise. + * t/backcompat3.test: Likewise. + * t/backcompat5.test: Likewise. + * t/backcompat6.test: Likewise. + * t/version.test: Likewise. + * t/version2.test: Likewise. + * t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE + invocations, and use proper m4 quoting. + * t/pr87.test: Likewise. + * t/confsub.test: Likewise. + * t/install2.test: Likewise. + +2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + m4: prepend m4 builtins with "m4_" + + The comments in 'lib/autoconf/autoconf.m4' from Autoconf 2.69 read: + + We discourage the use of the non prefixed macro names: M4sugar maps + all the builtins into 'm4_'. Autoconf has been converted to these + names too. But users may still depend upon these, so reestablish + them. + + Alas, in our init.m4 files, we were still using m4 builtins without + prefixing them with "m4_". Not nice for a package that is one of the + major clients of Autoconf, and an integral part of the GNU Autotools! + + Fix the issue. + + * m4/init.m4 (AM_INIT_AUTOMAKE): Use 'm4_define' and 'm4_defn' instead + of 'define' and 'defn'. + +2012-05-05 Nick Alcock <nick.alcock@oracle.com> (tiny change) + + docs: fix clumsy grammar in the scripts-based testsuite chapter + + * doc/automake.texi (Scripts-based Testsuites): "We'll have later" is + a rare example of English in the Automake manual clearly not written + by a native English-speaker: while comprehensible, it can be better + formulated. + +2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: use append mode to capture parallel make output + + This should fix the spurious failure reported in automake bug#11413. + + This is due to the fact that the redirected output of parallel make + can racily loose lines. For example, if GNU make (3.82) is run 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 and Linux 3.3.1. Redirection in append + mode does not suffer of this problem. + + See also similar commit 'Release-1-10-280-g6426999' of 2009-03-10, + "Use append mode to capture parallel test output", which tackled a + similar problem for 't/parallel-tests3.sh' and 't/lisp8.sh'. + + * t/tap-more.sh: Use append mode for output from "make -j", to avoid + dropped lines. + * t/parallel-tests3.sh, t/lisp8.sh: Enhance comments. + +2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'parallel-tests-performance' into maint + + * parallel-tests-performance: + parallel-tests: separate different logs with an empty line + +2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: separate different logs with an empty line + + After commit v1.12-21-g5eeb366 "parallel-tests: optimize global log + creation", the log files copied in the global log are not anymore + separated by a blank line, causing unclear output like this: + + FAIL: test1 + =========== + + output from test 1 + FAIL: test2 + =========== + + output from test 2 + + where we would want something like this: + + FAIL: test1 + =========== + + output from test 1 + + FAIL: test2 + =========== + + output from test 2 + + Fix this regression. + + * lib/am/check.am (am__create_global_log): Print an extra empty line + after having displayed the content of a '.log' file. + +2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: avoid a couple of spurious failures + + * t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use + "std::cout <<", not "cout <<", to avoid triggering a spurious + failure by the syntax check 'sc_tests_here_document_format'. + + Cherry-picked from yesterday's commit v1.12-81-g7f3f467, that + had erroneously been applied to 'master' only rather than to + 'maint'. + +2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: reduce code duplication, increase coverage + + * syntax-checks.mk: Move ... + (sc_tests_plain_aclocal, + sc_tests_plain_autoconf, + sc_tests_plain_perl, + sc_tests_plain_autoupdate, + sc_tests_plain_automake, + sc_tests_plain_make, + sc_tests_plain_autoheader, + sc_tests_plain_autoreconf, + sc_tests_plain_autom4te): ... all these targets ... + (sc_tests_plain_egrep_fgrep): ... and part of this target ... + (sc_tests_plain_check_rules): ... into this variable, and + reimplement their recipes ... + ($(sc_tests_plain_check_rules)): ... with this static pattern + rule. Enhance the coverage they offer a little since we are + at it. + (sc_m4_am_plain_egrep_fgrep): New rule, the part of the old + 'sc_tests_plain_egrep_fgrep' rule that checked for use of + 'fgrep' and 'egrep' in *.am and *.m4 fragments (rather than + in test scripts). + (syntax_check_rules): Update. + * t/dist-formats.tap: Fix bad use of "make" instead of "$MAKE" + revealed by the extra coverage. + * t/cond5.sh, t/auxdir-autodetect.sh: Cosmetic changes to avoid + spuriously triggering the maintainer checks due to the + enhanced coverage. + +2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'objc++' into maint + + * objc++: + tests: avoid spurious failure on missing Obj C/C++ compiler + +2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure on missing Obj C/C++ compiler + + * t/objc-megademo.sh: Arrange the test to SKIP, not FAIL, if there is + no Objective C or no Objective C++ compiler. Since we are at it, remove + some checks that were actually testing Autoconf (not Automake) behaviour. + +2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'objc++' into maint + + * objc++: + objc, objc++: test support for compilation flags + objc, objc++: add stress test + objc, objc++: test automatic dependency tracking + objc: reorganize basic tests + objc++, objc: add first semantic tests + objc++: add first basic test + news: announce initial support for Objective C++ + objc++: test support for '.mm' suffix in _SOURCES entries + objc++: add documentation + objc++: initial support for Objective C++ + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: document improvement in parallel-tests performance + + * NEWS: Document the improved performances of the parallel-tests targets + 'check' and 'recheck'. See recent commits: + + - v1.12-20-gf5733aa of 2012-04-26, + "parallel-tests: optimize 'recheck' target for speed" + + - v1.12-21-g5eeb366 of 2012-02-26, + "parallel-tests: optimize global log creation" + + - v1.12-22-g4c2dd6e of 2012-04-30, + "parallel-tests: save few forks when possible" + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure due to autom4te caching + + Reported by Peter Breitenlohner : + <http://lists.gnu.org/archive/html/automake-patches/2012-05/msg00045.html> + + * t/suffix.sh: Remove stale autom4te.cache directories, to prevent racy, + spurious failures (using 'aclocal --force' was not enough, since the cache + was still picked up by the following automake call). + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + Peter Breitenlohner <peb@mppmu.mpg.de> + + objc, objc++: test support for compilation flags + + * t/objc-flags.sh, t/objcxx-flags.sh: New tests. + * t/list-of-tests.mk: Add them. + +2012-05-02 Peter Breitenlohner <peb@mppmu.mpg.de> + + objc, objc++: add stress test + + * t/objc-megademo.sh: New test, trying out a package using all + of C, C++, Objective C and Objective C++ at the same time. + * t/list-of-tests.mk: Add it. + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + objc, objc++: test automatic dependency tracking + + * t/objc-deps.sh, t/objcxx-deps.sh: New tests. + * t/list-of-tests.mk: Add them. + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + objc: reorganize basic tests + + * t/objc.sh, t/objc2.sh: Removed, merged into ... + * t/objc-basic.sh: ... this new test. + * t/objcxx-basic.sh: Add reference to new sister test. + * t/list-of-tests.mk: Update. + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + Peter Breitenlohner <peb@mppmu.mpg.de> + + objc++, objc: add first semantic tests + + * t/objcxx-minidemo.sh: New test. + * t/objc-minidemo.sh: Likewise. + * t/list-of-tests.mk: Add them. + +2012-05-02 Peter Breitenlohner <peb@mppmu.mpg.de> + + objc++: add first basic test + + * t/objcxx-basic.sh: New test. + * t/list-of-tests.mk: Add it. + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'parallel-tests-performance' into maint + + * parallel-tests-performance: + parallel-tests: save few forks when possible + parallel-tests: optimize global log creation + parallel-tests: optimize 'recheck' target for speed + coverage: add performance tests on some parallel-tests aspects + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: fix typos + + * NEWS (Bugs fixed in 1.12.1): Fix botched indentation of an entry, + add a forgotten "and", remove a redundant "the". + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + aclocal: error out again on unrecognized arguments + + Starting from commit v1.11-662-g52246cc of 2102-02-18, "cmdline parsing: + move into a dedicated perl module", aclocal has been silently ignoring + non-option arguments instead of correctly reporting them. + Fix this regression. + + * t/aclocal.sh: Update to catch the regression. + * aclocal.in (parse_arguments): Explicitly reject non-option arguments. + * NEWS: Update. + +2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'cygnus-deprecate' into maint + + * cygnus-deprecate: + cygnus: warn when it's used (flagged as 'obsolete' now) + +2012-05-01 Andrew Eikum <aeikum@codeweavers.com> (tiny change) + + cosmetics: fix typo in aclocal m4 directory README + + * m4/acdir/README: Add forgotten "if". + * THANKS: Update. + +2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: botched edit in bootstrap.sh + + * bootstrap.sh (dosubst): Fix botched option ("G" instead of "g") + in a sed "s///" expression. Issue introduced in today's commit + 'v1.12-17-g5f810d0'. + +2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: fix confusing wording + + Reported by Dave Hart. + + * NEWS (Future backward-incompatibilities): Fix possibly confusing + wording about the upcoming requirement of Autoconf >= 2.65. + +2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: fixed weaknesses in build system and testsuite + + * NEWS (Bugs fixed in 1.12.1): Report that several weaknesses in the + Automake's own build system and test suite have been fixed. See for + example recent commits: + - commit v1.12-5-geb7e8f3, for bug#11345 + - commit v1.12-5-g63e07a9, for bug#11346 + - commit v1.12-5-gf31fe4f + - commit v1.12-10-gab14841 + - commit v1.12-19-g807f3cf, for bug#11369 + - commit v1.12-20-gd330368, for bug#11369 + - bug#11387, pre-emptively solved by commit v1.12-4-g444618b + +2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + bootstrap: consistently use correct copyright year + + Suggested by Peter Johansson in the discussion about automake bug#11356: + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11356#41> + + * boostrap.sh (dosubst): Don't initialize the substituted value for the + release year from the current year (using `date +%Y`); instead, do it + through ... + ($RELEASE_YEAR): ... this new statically-defined variable. To ensure it + won't get out-of-sync, it will be automatically updated ... + * Makefile.am (update-copyright): ... by this target's recipe. + Since are at it, fix a botched output redirection for an error message, + i.e., use ">&2" instead of ">&1". + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: remove leftover "TERM=ansi" definition in 't/color.sh' + + It should have actually be removed in commit 'v1.12-23-gb105d40'. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: save few forks when possible + + * lib/am/check.am (am__check_pre): Save some forks, by analyzing more + carefully the value of '$@' to decide how to extract its dirname part, + and whether that should be created as a directory. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: Automake 1.13 will require Autoconf >= 2.65 + + Autoconf 2.65 is almost three years old now, so requiring it is + acceptable. Also, the soon-to-appear support for Objective C++ + in Automake will be simplified if we can assume that Autoconf + version (which is the one that introduced support for Objective + C++). + + * NEWS (Planned future backward-incompatibilities): Automake 1.13 + will require Autoconf 2.65 or later. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: put planned future backward-incompatibilities on top + + * NEWS (New in 1.12): List of planned future backward-incompatibilities + moved from here ... + (New in 1.12.1): ... to here. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + readme: update INSTALL to latest version from Autoconf + + * INSTALL: Updated to the version coming with Autoconf 2.69. This + is warranted now that we use and require that same Autoconf version + in our build system. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + sync: some auxiliary files synced from upstream + + * lib/config.sub: Synced from upstream, by "make fetch". + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: copyright notices must be updated before releasing + + * HACKING (Release procedure): Suggest to use "make update-copyright". + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + color-tests: coloring can be forced on non-ANSI terminals as well + + Before this change, colorization of testsuite output was suppressed + whenever the terminal was recognized to be a "dumb" one, incapable + of handling ANSI coloring (i.e., when the environment variable TERM + had a value of "dumb"). This happened even when the AM_COLOR_TESTS + variable was set to a value of "always". + + Such a behaviour was suboptimal and slightly confusing; in fact, if + a user wants to force coloring of testsuite output that is being + redirected to a regular file, he should be able to do so even if his + terminal is not capable of handling ANSI colors -- in fact, such + terminal wouldn't be involved with the testsuite output in any way, + so why should it be allowed to influence it? + + Thus, we now enable coloring of test output whenever AM_COLOR_TESTS + is set to "always", irrespective of the value of the TERM environment + variable. + + * NEWS: Update. + * lib/am/check.am [%?COLOR%] (am__tty_colors): Activate colorization + of testsuite output whenever AM_COLOR_TESTS has the value of "always". + * t/ax/tap-summary-aux.sh: Export the TERM environment variable to + "dumb" when forcing colorization of the testsuite output; this should + *not* prevent such colorization from taking place, and we want to + check that this expectation really holds. + * t/ax/testsuite-summary-checks.sh: Likewise. + * t/color.sh: Likewise, and adjust some grepping checks. + * t/tap-color.sh: Likewise. Also, remove redundant "make check" + invocation since we are at it. + * t/color2.sh: Likewise, and check that exporting TERM=dumb actually + prevents testsuite output colorization when AM_COLOR_TESTS is unset. + * t/parallel-tests-reset-term.sh: Relax, to prevent it from failing + spuriously due to the new semantic. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + cygnus: warn when it's used (flagged as 'obsolete' now) + + Support for "Cygnus-style" tree as enabled by the 'cygnus' + option is now reported as obsolete when the warnings in the + 'obsolete' category are enabled. + + See automake bug#11034. + + * automake.in (check_cygnus): Report the use of 'cygnus' mode as + obsolete. + * NEWS: Update. + * docs/automake.texi: Minor adjustments. + * t/cygnus-deprecation.sh: New test. + * t/list-of-tests.mk: Add it. + * tests/cygnus-check-without-all.sh: Adjust by calling automake + with the warnings in the 'obsolete' category disabled. + * t/cygnus-requires-maintainer-mode.sh: Likewise. + * t/cygnus-dependency-tracking.sh: Likewise. + * t/cygnus-imply-foreign.sh: Likewise. + * t/cygnus-no-installinfo.sh: Likewise. + * t/cygnus-no-dist.sh: Likewise. + * t/clean2.sh: Likewise. + * t/flavor.sh: Likewise. + * t/txinfo5.sh: Likewise. + * t/txinfo5b.sh: Likewise. + * t/library.sh: Remove use of 'cygnus' and 'dejagnu' options, + and of AM_MAINTAINER_MODE macro. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: optimize global log creation + + With this change, the time required to execute the test case + 'testsuite-summary-speed.sh' has dropped as follows: + + + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, + GNU make 3.81: + - 1 run: 4 minutes => 30/40 seconds + + + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, + Solaris CCS make: + - 2 runs: 6 minutes => 30 seconds + + + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, + GNU make 3.82: + - 5 runs: 7 minutes => 1 minute and 10 seconds + + * lib/am/check.am ($(TEST_SUITE_LOG)): Optimize for speed, by avoiding + lots of forks with the help of ... + (am__create_global_log): ... this new internal variable, basically + defining a smart awk program, and ... + (am__global_test_result_rx, am__copy_in_global_log_rx): ... these new + internal variables, used by the one above. + (am__rst_section): Remove as obsolete + * t/rst-formatting.trs: Remove. + * t/list-of-tests.mk: Update. + * t/testsuite-summary-count-many.sh: Improve its stress testing by + using 1 million tests rather than just 5 thousands: we can afford + this with our new optimization, and still have the test completed + in a reasonable time. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: optimize 'recheck' target for speed + + With this change, the time required to execute the test case + 'testsuite-recheck-speed.sh' has dropped as follows: + + + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, + GNU make 3.81: + - 1 run: 6 minutes => 40 seconds + + + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, + Solaris CCS make: + - 4 runs: 3 minutes => 1 minute + + + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, + GNU make 3.82: + - 5 runs: 4 minutes => 1 minute 30 seconds + + * lib/am/check.am (recheck): Optimize for speed, by avoiding lots of + forks with the help of ... + (am__list_recheck_tests): ... this new internal variable, basically + defining a proper awk program, and ... + (am__recheck_rx): ... this other new internal variable, used by the + one above. + * t/test-trs-recover2.sh: Relax by not checking for a very corner + case ('.log' and '.trs' files both unreadable) that we don't handle + anymore. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: announce initial support for Objective C++ + +2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de> + Stefano Lattarini <stefano.lattarini@gmail.com> + + objc++: test support for '.mm' suffix in _SOURCES entries + + * t/ext.sh: Enhance by adding a file with the '.mm' suffix in + the 'foo_SOURCES' definition. + * t/nodep2.sh: Likewise. + +2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: add performance tests on some parallel-tests aspects + + * t/testsuite-recheck-speed.sh: New test. + * t/testsuite-summary-speed.sh: Likewise. + * t/list-of-tests.mk: Update. + + The new tests are not meant to PASS/FAIL, but rather to help us to + obtain quantitative measurements of the performance improvements + offered by soon-to-appear optimization patches. + + Timing before the optimizations implemented by following patches: + + + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, + GNU make 3.81: + - testsuite-recheck-speed.sh: 1 run, ~ 6 minutes + - testsuite-summary-speed.sh: 1 run, ~ 4 minutes + + + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, + Solaris CCS make: + - testsuite-recheck-speed.sh: 4 runs, ~ 3 minutes + - testsuite-summary-speed.sh: 2 runs, ~ 6 minutes + + + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, + GNU make 3.82: + - testsuite-recheck-speed.sh: 5 runs, ~ 4 minutes + - testsuite-summary-speed.sh: 5 runs, ~ 7 minutes + +2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + objc++: add documentation + + * doc/automake.texi (Objective C++ Support): New node. + (How the Linker is Chosen, Support for Other Languages): Adjust. + +2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + objc++: initial support for Objective C++ + + Original thread (dating back to almost three years ago): + <http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html> + + * automake.in: Register new language 'objcxx'. + (lang_objcxx_rewrite): New subroutine. + (resolve_linker): Add OBJCXXLINK. + (%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX. + (%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS. + * m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX. + * m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook. + +2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'mkdirp-deprecate' into maint + + * mkdirp-deprecate: + AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13 + +2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: root can write on files without write perms; cater for this + + Fixes last part of automake bug#11369. + + * t/dist-readonly.sh ($required): Add 'non-root'. + +2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: require lex, not yacc, in a lex test case + + See automake bug#11369. + + * t/lex-clean.sh ($required): Require 'lex', not 'yacc'. + +2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13 + + Support for the obsolescent 'AM_PROG_MKDIR_P' macro (and its + output variable '$(mkdir_p)') has already been deprecated in + the documentation. It's now time to make its use actively + emit warnings in the 'obsolete' category as well. + + * automake.in (scan_autoconf_traces): Warn about 'AM_PROG_MKDIR_P' + obsolescent if that macro is seen. + * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Warn about its own obsolescence. + * m4/init.m4: Require 'AC_PROG_MKDIR_P', not 'AM_PROG_MKDIR_P'. + * t/mkdirp-deprecation.sh: New test. + * t/list-of-tests.mk: Add it. + * syntax-check.mk (sc_mkdir_p): Delete this check as obsolete. + (syntax_check_rules): Remove it. + * t/gettext-macros.sh: Ensure the gettext-requiring tests will + call aclocal and automake with the 'obsolete' warnings disabled, + since even recent versions of gettext used the now-deprecated + 'AM_PROG_MKDIR_P' m4 macro. + * NEWS: Update. + +2012-04-28 Jim Meyering <meyering@redhat.com> + + maint: fix a comment typo + + * configure.ac: Fix typo in comment: s/out/our/ + +2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: avoid unconditional re-bootstrapping on "make dist" + + Since our 'bootstrap' script is distributed, the 'distdir' target depends + on it. But in our GNUmakefile, we also have a 'bootstrap' target declared + .PHONY, which when called re-bootstrap the Automake distribution. Thus, + whenever we run "make dist", GNU make sees it must remake the 'bootstrap' + target (as it is a dependency of the 'distdir' target), and thus ends up + re-bootstrapping all the package (because of the .PHONY 'bootstrap' target + in GNUmakefile). + + We fix this issue by renaming our bootstrap script to 'bootstrap.sh'. + + * bootstrap: Renamed ... + * bootstrap.sh: ... to this. + * GNUmakefile (bootstrap): Adjust. + * Makefile.am (EXTRA_DIST): Likewise. + (autodiffs): Likewise. + * HACKING: Likewise. + +2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: ensure release year in copyright notice is up-to-date + + From a suggestion by Eric Blake. See automake bug#11356. + This is a follow-up to previous patch 'v1.12-12-gb99b5be'. + + * configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold + the value of the current year. + * Makefile.am (update-copyright): Be sure to also update the + definition of 'RELEASE_YEAR' in configure.ac. + * lib/Automake/Config.in ($RELEASE_YEAR): New exported variable, + initialized from the value substituted for '@RELEASE_YEAR@'. + (@EXPORT): Add it. + * automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be + substituted at make time) instead of hard-coding the release + year. This should ensure the copyright range in the version + message and in the generated files (Makefile.in and aclocal.m4) + are automatically kept up-to-date. + * bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'. + +2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: fix spacing in THANKS + + * THANKS: Use spaces, not tabs, to separate a reporter's name from + his e-mail address. Also, increase such spacing, to allow a more + consistent formatting with longer names. + +2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + readme: explicitly state we use ranges in copyright years + + Reported by Jack Kelly in automake bug#11356. + + * README: Explicitly state we use ranges in copyright years; this is + mandated by the GNU Coding Standards for each package that wants to + actually use ranges in copyright years. + +2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + bootstrap: add convenience make target + + Dependencies in the Automake build system are not completely specified + (see for example the commit log of recent commit 'v1.12-10-gab14841', + "build: avoid too greedy rebuilds in the testsuite"). In fact, some of + them cannot even be; for example, Makefile is generated at configure + time from Makefile.in, which should be regenerated by our bleeding-edge + automake script, which is generated by out Makefile -- specifying the + complete chain of dependencies here would bring to a circular dependency + issue. + + For this reason, before testing or deploying a change, we are often + forced to perform a full re-bootstrap of the Automake package, to ensure + all our files are actually up-to-date. Until now, this has to be done + manually, thus causing wasted keystrokes and more possibilities of error. + + With this change, we introduce a new 'bootstrap' make target to + automatize all the (easy) steps of this re-bootstrapping (plus some + minor bells & whistles since we are at it). + + * GNUmakefile: Rewrite to allow an easy bootstrapping and clean rebuild + of the whole package, in particular with the help of ... + (bootstrap): ... this new target. + +2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + automake, aclocal: update copyright year in output + + Fixes automake bug#11356. + + * aclocal.in, automake.in: Add copyright year '2012' in the version + message. Ditto for the copyright notice in the generated Makefile.in + or aclocal.m4 files; and for those, since we are at it, prefer using + a range for copyright years, rather than listing each copyright year + individually. + +2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: don't use "union" merge driver for NEWS anymore + + The use of the "union" merge driver to avoid conflicts in NEWS has + proven to be problematic, as it often silently produced mis-merges + (instead of spurious conflicts, but a spurious conflict is better + than a mis-merge). Also, our new branching policy (see automake + bug#11153 for a description) should greatly mitigate the problem of + merge conflicts in NEWS. For further discussion, see: + <http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00148.html> + +2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: avoid too greedy rebuilds in the testsuite + + The autogenerated makefile fragment 't/testsuite-part.am' used to depend + on the list of *all* the hand-written files. This was technically correct, + since that makefile fragment was (and still is) generated by the script + 'gen-testsuite-part', which scans all the hand-written files to detect + implicit dependencies and to decide for which tests a further wrapper test + should be generated. + + However, the presence of such a dependency implied that, whenever *any* + test case was modified (no matter how slightly), the 't/testsuite-part.am' + file was rebuilt, and since that is included by our 'Makefile.am', the + 'Makefile.in' file was rebuilt as well by automake. In order to do so, + automake scanned our 'configure.ac' file, which requires the latest + Autoconf version (2.69 at the time of writing), and the casual user can + easily lack that on his machine (and that should be allowed, as automake + currently supports any autoconf version >= 2.62). + + The described situation could hinder in-field testing or debugging by + users (even experienced ones) that are not automake developers; see for + example automake bug#11347. + + So we drop the explicit dependency of 't/testsuite-part.am' on the + hand-written test cases. (As an aside, note that this has already + been done in Automake-NG, albeit for other reasons; see the commit + 'v1.11b-129-g1690aca' of 2012-04-23, "[ng] build: define $(TESTS) + through a wildcard"). + + This is not a serious regression in the faithfulness of the Automake + build systems, since it unfortunately already had several undeclared + dependencies; e.g., 'Makefile.in' should depend on the automake script, + and 'aclocal.m4' should depend on the aclocal script (but this isn't + possible, as it would mean that distributed files depend on ones generated + at make time). Similarly, 'Makefile.in' should depend on some of the + 'lib/am/*.am' files, but does not. + + Currently, the workaround to get a faithful and correct rebuild is to run + + ./bootstrap && ./config.status --recheck && make clean all + + and the present commit does not change that. + + * Makefile.am ($(srcdir)/t/testsuite-part.am): Don't depend on + 't/list-of-tests.mk' nor on '$(handwritten_TESTS)' anymore. + ($(generated_TESTS)): Likewise, and don't depend on 'Makefile.am' + either. + +2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'fix-pr11345-lex' into maint + + * fix-pr11345-lex: + tests: fix a failure in Lex/C++ tests on Mac OS X + +2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'fix-pr11346-timestamp' into maint + + * fix-pr11346-timestamp: + tests: fix a spurious failure due to truncated timestamps + +2012-04-26 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change) + + tests: avoid yet another spurious environment influence + + * t/remake11.sh: Unset 'd' before first use. + +2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix a failure in Lex/C++ tests on Mac OS X + + The <cstdio> header from Xcode-4.3.2 on Mac OS X 10.7.3 declares a 'isatty' + function with C++ linkage, that conflicts with our dummy definition of the + same function, which in turn is required to work around the absence of the + unistd.h header on MinGW (see commit 'v1.11-2138-gfeea090' of 11-04-2012). + So we tweak the affected tests to work around this new problem as well. + + This fixes automake bug#11345. + + * t/lex-clean-cxx.sh ($required): Since we are at it, add an explicit + 'c++' requirement. + * t/lex-depend-cxx.sh ($required): Likewise. + (my-hdr.hxx): Don't include <cstdio>. The "using namespace" directive + should still be enough to ensure the content of this header is not valid + C, albeit being of course valid C++. + Fix unrelated typos in comments. + (joe.ll): Adjust, by removing the call to 'printf'. + * THANKS: Add entry for reporter "Adam Mercer". + +2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com> + Peter Breitenlohner <peb@mppmu.mpg.de> + + tests: fix a spurious failure due to truncated timestamps + + Fixes automake bug#11346. + + * t/self-check-is_newest.tap: Apparently, on some systems (or file + systems), "touch -r" can truncate timestamps :-( Work around that. + +2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: require autoconf 2.69 + + It is only from version 2.69 that the 'AC_PROG_FC' macro has started to + set the '$GFC' variable to "yes" if the selected Fortran compiler is a + GNU compiler. Since we use this variable in our configure.ac, we better + require autoconf 2.69 explicitly. + + * configure.ac (AC_PRERQ): Require autoconf >= 2.69. + Remove a now-obsolete "FIXME" comment. + +2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: don't require minimal automake version in AM_INIT_AUTOMAKE + + * configure.ac (AM_INIT_AUTOMAKE): Don't explicitly require a minimal + automake version number. Since the Automake build system is only meant + to work with the bleeding-edge automake, that requirement was redundant + and misleading. + +2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + post-release: minor version bump + + This is for the maint branch. + + * configure.ac, m4/amversion.m4: Bump version to 1.12.0a. + +2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch master into maint after 1.12 release + +2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + release: stable major release 1.12 + + * configure.ac (AC_INIT): Bump version number to 1.12. + * NEWS: Likewise. + * m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (autoupdated + by ./bootstrap). + +2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branches 'fix-pr11302-opensuse' and 'fix-pr11306-macosx' + + * fix-pr11302-opensuse: + tests: cater to systems installing libs in /lib64 + + * fix-pr11306-macosx: + tests: fix spurious failure on Mac OS X + +2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: test the internal $(am__relativize) variable + + This new coverage might turn out be useful for the planned changes + in Automake-NG. Even if it eventually doesn't, we gen an improved + testsuite exposure of some non-trivial internals, so it's always a + win for us. + + * t/relativize.tap: New test. + * t/list-of-tests.mk: Add it. + +2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: cater to systems installing libs in /lib64 + + See automake bug#11302. + + On at least OpenSUSE 12.1, "make install" will install libraries in + the '${prefix}/lib64' directory by default. This is due to the + $CONFIG_SITE set by /etc/profile.d/site.sh, which sets a libdir + that ends in '/lib64' rather than '/lib' if it finds that the compiler + is generating 64-bit code. This behaviour was causing some spurious + failures in our testsuite. Fix them. + + * t/posixsubst-libraries.sh: Assume the libraries are installed in + '$(libdir)' rather than in '$(prefix)/lib'. + * t/posixsubst-ltlibraries.sh: Likewise. + * t/posixsubst-scripts.sh: Similarly, don't assume that '$(bindir)', + '$(sbindir)' and '$(libexedir)' always defaults to respectively + '$(prefix)/bin', '$(prefix)/sbin' and '$(prefix)/libexec'. + * t/transform3.test: Likewise. + +2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com> + Bruno Haible <bruno@clisp.org> + + tests: fix spurious failure on Mac OS X + + See automake bug#11306. + + * t/lex-libobj.sh: We used to pass LEXLIB='-L /lib' to the ./configure + invocation, to prevent it from explicitly searching for a "lex library". + But the linker on MacOS X 10.5 apparently chokes on that: + + cc -g -O2 -o foo foo.o -L /lib yywrap.o + ld: file not found: /lib + collect2: ld returned 1 exit status + + So, we now instead pass LEXLIB=' ', which being non-empty is enough + to prevent the search of a "lex library". And since we are at it, + enhance comments on this non-obvious usage. + +2012-04-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: parallel make with vala + + * t/vala-parallel.sh: New test. + * t/list-of-tests.mk: Add it. + +2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: configure exit with status 77, not 1, if valac version is too old + + From a report by Bruno Haible in automake bug#1193. This change should + also automatically avoid spurious testsuite failures with older vala + versions. + + * m4/vala.m4 (AM_PROG_VALAC): Exit with status 77, rather than 1, if + the Vala compiler found older than the minimal required version (if + any). This is more consistent with what is done by other macros like + AM_PROG_UPC or AC_PROG_CC. + * NEWS: Update. + * t/vala-headers.sh: Adjust, so that the test is only skipped of the + vala compiler is too old or the required PKG_CHECK_MODULES third-party + macro is not found by aclocal, and not if a generic error happens in + the configure script. + * t/vala-libs.sh: Likewise. + * t/vala2.sh: Likewise. + * t/vala3.sh: Likewise. + * t/vala5.sh: Likewise. + * t/vala-vpath.sh: Likewise (but don't check for the potential error + with PKG_CHECK_MODULES, as that macro is not used in any way here). + * t/vala4.sh: Adjust, to avoid the new semantic causing this test to + skip instead of failing. + +2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + refactor: processing of input makefile rules + + This is a pure refactoring, with no intended functional or semantic + changes. It breaks up an overly-long function in three smaller + sub-functions. This change will very especially useful for the work + on Automake-NG. + + * lib/Automake/Rule.pm (define): Move quite a lot of code out, into ... + (_rule_defn_with_exeext_awareness, _maybe_warn_about_duplicated_target, + _conditionals_for_rule): ... these new subroutines. + +2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + automake: refactor pre-processing of makefile fragments + + This change will provide the automake script with a new function that + reads in a Makefile fragment *without* performing Automake ad-hoc parsing, + but only the pre-processing step, i.e., removal of '##' comments and + substitution of tokens like '%SUBDIRS%', '%?LIBTOOL%' or '?GENENRIC?'. + + This will very likely be useful for the work on Automake-NG. + + This is a pure refactoring, with no intended functional or semantic + changes. + + * automake.in (preprocess_file): New function, extracted ... + (make_paragraphs): ... from here. + +2012-04-20 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: remove obsolete references to Autoconf 2.13 + + Autoconf 2.13 is definitely obsolete today, so giving hints or caveats + about it in the Automake documentation is not only obsolescent, but + also counter-productive, as it suggests that autoconf 2.13 is still + relevant. + + * doc/automake.texi: Adjust. Related rewordings. Since we are at it, + prefer using a more modern autoconf version number (2.68 instead of 2.57) + in an example showing how to correctly use 'AC_PREREQ' in third-party + .m4 files. + +2012-04-20 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure with non-ANSI terminals + + * t/ax/tap-summary-aux.sh: When checking colored testsuite output, + be sure to export the TERM variable to the value "ansi"; otherwise + the automake testsuite driver will not display colored output, not + even if AM_COLOR_TESTS is exported to "always". Failure revealed + by NixOS Hydra. + +2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: fix typo + + * HACKING (Test suite): Refer to file 't/README', not to the + non-existent 'tests/README'. + +2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: version bump after beta release + + * configure.ac (AC_INIT): Bump version number to 1.11e, as per + HACKING suggestion. + * NEWS: Likewise. + * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). + +2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + Beta release 1.11d (will become 1.12) + + * configure.ac (AC_INIT): Bump version number to 1.11d. + * NEWS: Likewise. + * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). + +2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove redundant 'set -e' calls + + * t/aclocal-install-fail.sh: Do not set the 'errexit' shell flag, + as it is already set by './defs'. + * t/aclocal-install-mkdir.sh: Likewise. + * t/aclocal-no-install-no-mkdir.sh: Likewise. + * t/aclocal-verbose-install.sh: Likewise. + * t/instdir-no-empty.sh: Likewise. + * t/link_cond.sh: Likewise. + * t/python-pr10995.sh: Likewise. + * t/vala-vapi.sh: Likewise. + +2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failures when cross-compiling + + * t/parallel-tests-recheck-depends-on-all.sh: Skip the test + when cross-compiling. + * t/vala-vapi.sh: Skip tests that do not make sense when + cross-compiling. + * t/yacc-basic.sh: Likewise. + * t/yacc-cxx.sh: Likewise. + +2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintainer-check: fix definition of $(ams) again + + * syntax-checks.mk (ams): The previous change 'v1.11b-36-g127adfb' solved + one problem in the definition of this variable, but also caused it contain + the names of all the left-behind 't/*.dir' temporary test directories. + Fix that. + +2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintainer-check: do not hang + + * syntax-checks.mk (ams): The definition of this variable was invoking + the 'find' utility in an incorrect way, which resulted into the variable + being empty, thus reducing coverage in some maintainer check and making + other hang. Fix this. + +2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: 'recheck' must depend on 'all' + + Fixes automake bug#11252. + + When a developer experience one or more failures in the testsuite, a good + workflow is for him to modify its program's sources to fix the bug thus + revealed, run "make recheck" to verify that the change has indeed solved + the testsuite failures previously experienced, and then run "make check" + to verify that the change has not introduced any new failure or regression. + + Unfortunately, this apparently natural workflow couldn't have worked until + now, since the Automake-provided 'recheck' target (which didn't depend on + 'all') wouldn't have causes the program to be recompiled, and the failed + tests would have thus been run with the older, buggy version of the + program, failing the same way as before. + + * lib/am/check.am (recheck): Depend on 'all'. + * t/parallel-tests-recheck-depends-on-all.sh: New test. + * t/list-of-tests.mk: Add it. + * NEWS: Update. + +2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: building libraries, and more on '.vapi' files + + * t/vala1.sh: Remove, turned into ... + * t/vala-libs.sh: ... this functional test instead. + * t/list-of-tests.mk: Adjust. + +2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + automake: fix botched call to 'check_user_variables' + + * automake.in (lang_vala_finish_target): The 'check_user_variables' function + takes an array, not an array ref, as argument; adjust its call accordingly. + +2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: cleanup rules are better and more complete now + + * automake.in (lang_vala_finish_target): Ensure Vala-generated C sources + and header files and our custom stamp files are correctly cleaned. + * t/vala-headers.sh, t/vala-vpath.sh: Enhance. + * NEWS: Update. + +2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: check headers generation + + * t/vala-headers.sh: New test, checking use of 'valac' options for + header generation (e.g., '-H', '--vapi', ...) in '$(..._VALAFLAGS)'. + * t/list-of-tests.mk: Add it. + +2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: remove redundant libtool requirements and usages + + * t/vala2.sh: Don't require libtool m4 macros, don't run libtoolize, + don't invoke AC_PROG_LIBTOOL: none of there is really needed. + * t/vala3.test: Likewise. + +2012-04-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: some enhancements + + * t/vala-vpath.sh, t/vala2.sh, t/vala3.sh, t/vala5.sh: Enhance a little. + +2012-04-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: few adjustments and improvements + + * t/vala4.sh: Don't run 'libtoolize', it's not truly required. + ($required): Don't require 'libtoolize'. + (configure.ac): Don't invoke 'AC_PROG_LIBTOOL'. + * t/vala-mix.sh ($required): Require 'cc'. + Avoid some calls to 'framework_failure_', they were only useful when + this test was xfailing (to ensure it wasn't failing for the wrong + reasons). + Ensure the stamp file is created in the source directory. + +2012-04-16 Jim Meyering <meyering@redhat.com> + + build: use latest help2man, but without locale support + + * doc/help2man: Update to latest (1.40.8), but built with + --disable-nls, which elides the less-portable locale-related + code, and with the "use 5.008" manually changed to "use 5.006". + Thanks to Brendan O'Dea for the tips. + * THANKS: Update Brendan's address. + +2012-04-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: print error messages on stderr, not stdout + + * lib/am/check.am ($(TEST_SUITE_LOG)): Be sure to print error messages + on stderr, not on stdout. + +2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + dist tests: fix reduced coverage due to typo + + * t/dist-formats.tap: Append to 'Makefile.am', not to 'Makefil.am'. + +2012-04-13 Jim Meyering <meyering@redhat.com> + + build: use slightly older help2man, for improved portability + + Fixes automake bug#11235 + + * doc/help2man: Downgrade to help2man-1.36.4, so that it does + not require Locale/gettext.pm, which is not available on a + default Fedora 16 installation. Reported by Stefano Lattarini. + +2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure when 'install-info' program is unavailable + + From a report by Dmitry V. Levin: + <http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00085.html> + + * t/install-info-dir.sh : When 'install-info' is unavailable, create a + dummy '${infodir}/dir' file by hand when that file is required by later + checks. + +2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + install: shell parameter expansions can be used in directory names + +2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'fix-pr11232' into maint + + * fix-pr11232: + install: shell parameter expansions can be used in directory names + +2012-04-13 Dmitry V. Levin <ldv@altlinux.org> + + install: shell parameter expansions can be used in directory names + + Fixes automake bug#11232. + + GNU automake used to support shell parameter expansion and command + substitutions in installation directories, but that was inadvertently + broken by commit v1.11-759-g368f1c4 "install: don't create empty dirs + when an empty 'foo_PRIMARY' is used" of 18-03-2012, where shell quoting + of generated MKDIR_P command was changed from double to single quotes + in 3 places, while some 21 other places still use double quotes for + generated MKDIR_P commands. + + * lib/am/data.am: Use double quotes for generated "mkdir -p" commands. + * lib/am/libs.am: Likewise. + * lib/am/ltlib.am: Likewise. + +2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: more environment cleanups + + * defs (SH_LOG_COMPILER, SH_LOG_COMPILE, SH_LOG_FLAGS, + AM_SH_LOG_FLAGS, SH_LOG_DRIVER, SH_LOG_DRIVER_FLAGS, + AM_SH_LOG_DRIVER_FLAGS): Unset these variable to avoid + potential interferences from the environment. + +2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: unset 'AM_UPDATE_INFO_DIR' environment variable + + * defs (AM_UPDATE_INFO_DIR): Unset, to be sure to avoid unduly + interferences from the environment. See also automake bug#11204. + * THANKS: Add entry for David Fang. + +2012-04-12 Jim Meyering <meyering@redhat.com> + + build: generate doc/*.1 files; include help2man + + This change is required to avoid making a distributed file depend + on a generated (non-distributed) one. The preceding change + introduced one such dependency, with the distributed doc/*.1 + depending on the generated aclocal and automake files. Here, + we avoid the problem by generating the doc/*.1 files rather than + distributing them. + + * doc/help2man: New file, version 1.37.1. + * Makefile.am (EXTRA_DIST): Add doc/help2man. + (man1_MANS): Rename from $(dist_man1_MANS). Remove $(srcdir) prefix. + (CLEANFILES): Add these files here, rather than to + $(MAINTAINERCLEANFILES), since we are no longer distributing them. + (update_mans): Use doc/help2man, not $(HELP2MAN). + * configure.ac: Don't test for help2man, now that we bundle it. + +2012-04-12 Jim Meyering <meyering@redhat.com> + + build: avoid parallel build failures + + A parallel build would fail when two concurrent sub-make processes + tried to build lib/Automake/Config.pm. The loser would complain that + grep: lib/Automake/Config.pm-t: No such file or directory + chmod: cannot access `lib/Automake/Config.pm-t': No such file or\ + directory + make[1]: *** [lib/Automake/Config.pm] Error 1 + * Makefile.am (update_mans): Don't build lib/Automake/Config.pm here. + Instead, depend on it from the two rules that use it: + ($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on it. + ($(srcdir)/doc/automake-$(APIVERSION).1): Likewise. + + [ Note that technically, the above is incorrect, since it makes those + distributed doc/*.1 files depend on generated aclocal and automake. + That problem is addressed by the following commit. ] + + However, that was not enough, since even then, a parallel build + would still fail, now with this: + + help2man: can't get `--help' info from automake-1.11a + Try `--no-discard-stderr' if option outputs to stderr + make: *** [doc/automake-1.11a.1] Error 1 + + a subsequent "make -j3" would create the missing file. + That was because help2man would invoke t/wrap/aclocal.in and + t/wrap/automake.in, each of which would require aclocal and + automake, yet those two files weren't guaranteed to be created. + Add explicit dependencies: + ($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on aclocal. + ($(srcdir)/doc/automake-$(APIVERSION).1): Depend on automake. + +2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: remove older entry for "future backward incompatibilities" + + * NEWS (New in 1.11.4): Remove subsection about "Future backward + incompatibilities"; they are now either documented changes for the + upcoming 1.12 release, or re-casted as planned future backward + incompatibilities for the next 1.13 release. + +2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: document fixes for bug#11222 and bug#11229 + + * NEWS (Bugs fixed in 1.11.5): New, documenting the fixes. + +2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + vala: fix distcheck with c/vala mixed projects + vala: fix vapi files handling + vala: test vapi files handling (still failing) + +2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branches 'vala-fix-pr11222' and 'vala-fix-pr11229' into maint + + * vala-fix-pr11222: + vala: fix vapi files handling + vala: test vapi files handling (still failing) + + * vala-fix-pr11229: + vala: fix distcheck with c/vala mixed projects + +2012-04-12 Marc-Antoine Perennou <Marc-Antoine@Perennou.com> (tiny change) + + vala: fix distcheck with c/vala mixed projects + + Fixes automake bug#11229. + + * automake.in (lang_vala_finish_target): Return early if the + current '_SOURCES' variable does not contain any '.vala' nor + '.vapi' source. Otherwise, the vala compiler will be called + without arguments, causing an error. + * tests/vala-mix.test: Enhance to catch the fixed bug. + +2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: fix typo + + * NEWS (Changes to Automake-generated testsuite harnesses): It's + 'perl', not 'per'. Reported by Akim Demaille in a private mail. + +2012-04-12 Marc-Antoine Perennou <Marc-Antoine@Perennou.com> (tiny change) + + vala: fix vapi files handling + + Fixes automake bug#11222. + + Issue introduced in commit 'v1.11-696-g51f61df' of 27-02-2012, + "vala: fix 'valac' calls for projects with mixed Vala/C", which + fixed automake bug#10894. + + * automake.in (lang_vala_finish_target): Also recognize '.vapi' + as an extension for vala input files. + * tests/list-of-tests.mk (XFAIL_TESTS): Remove 'vala-vapi.test'. + +2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change) + Marc-Antoine Perennou <Marc-Antoine@Perennou.com> + + vala: test vapi files handling (still failing) + + Exposes automake bug#11222. + + * tests/vala-vapi.test: New test, still failing. + * tests/list-of-tests.mk (handwritten_TESTS): Add it. + (XFAIL_TESTS): Likewise. + * THANKS: Update. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + self checks: avoid spurious failures when keep_testdirs=yes + + * t/self-check-cleanup.tap, t/self-check-dir.tap: Unset the + 'keep_testdirs' environment variable, to avoid spurious errors + when the testsuite is run with "keep_testdirs=yes make check". + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: some weaknesses in a self-check test case + + * t/self-check-cleanup.tap: This test contained several buglets + introduced in the recent row of commits that converted the Automake + build system to a non-recursive setup. Fix them. Since we are at + it, enhance the test to cover also the use of the 'keep_testdirs' + environment variable in order to keep the temporary test directories + around. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: avoid yet more spurious failures (2) + + Some maintainer checks were too greedy in processing 'Makefile.am' + files, looking for them even in temporary directories left behind + by the test cases, thus causing occasional spurious failures. + + * syntax-checks.mk (ams): Ignore 'Makefile.am' files in the + temporary test directories. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: avoid yet more spurious failures (1) + + The 'sc_tests_makefile_variable_order' maintainer check is too + strict sometimes, blaming automake for outputting out-of-order + variables when this is in fact due to the result of post-processing + of third-party tools or custom test code. + + * t/tap-doc2.sh: Ensure the final Makefile.in (that we hack by + hand) is removed, to avoid a spurious maintainer-check failure. + * t/gettext-macros.sh: Ensure that any leftover Makefile.in (that + is generated by gettext/autopoint) is removed, to avoid a spurious + maintainer-check failure. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: fixlets w.r.t. the release procedure + + * HACKING (Release procedure): Do not state that the result of + "make fetch" is woefully incomplete: this is not true anymore today. + Suggest to re-run the testsuite after a "make fetch", in case any + file has been updated. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: fix spurious failures + + * syntax-check.mk (sc_mkinstalldirs): Now the 'mkinstalldirs' is + listed in the top-level 'Makefile.am', not in 'lib/Makefile.am'; + adjust the "whitelist" accordingly. + (sc_ensure_testsuite_has_run): The 'test-suite.log' file created by + "make check" is now placed in the top-level directory, not in the + 't/' subdirectory. Adjust by using '$(TEST_SUITE_LOG)' instead of + an hand-crafted path for the 'test-suite.log' file. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: version bump after beta release + + * configure.ac (AC_INIT): Bump version number to 1.11c, as per + HACKING suggestion. + * NEWS: Likewise. + * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + Beta release 1.11b (will become 1.12) + + * configure.ac (AC_INIT): Bump version number to 1.11b. + * NEWS: Likewise. + * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + sync: some auxiliary files synced from upstream + + * lib/texinfo.tex: Synced from upstream, by "make fetch". + * lib/INSTALL: Likewise. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: described new branching policy for 1.12 an later + + This change closes automake bug#11153. + + * HACKING (Working with git): Document the new policy for automake + branching and merging, which will start being applied after 1.12 is + released: + + - the maintenance branch will be 'maint', and we will cut the + maintenance releases directly from there; + + - the development branch will be 'master', and we will cut the + new releases directly from there; + + - 'maint' will be kept regularly merged into 'master'. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: avoid spurious failure with older GObject + + * t/vala2.sh: In the 'PKG_CHECK_MODULES' call in 'configure.ac', + don't require gobject >= 2.10, but just >= 2.4: that is enough in + order for the test to pass. + * t/vala3.sh: Likewise. + * t/vala5.sh: Likewise. Also, skip the test instead of failing + if the ./configure invocation fails: that is likely due to the + fact that the GObject library is too old or missing, and that is + not automake's fault. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: force the use of automatic dependency tracking + + * t/vala-mix2.sh: Invoke ./configure with the option + '--enable-dependency-tracking', so that slower dependency + extractors are not rejected. This avoids a spurious failure + at least on Solaris when the Sun C compiler is used. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failures in tests on C++ and lex + + This is a follow-up to commit v1.11-2128-g7f2bc63 of 09-04-2012, + "tests: avoid spurious failures with non-flex 'lex' programs and + C++". It is required to avoid a couple of spurious failures on + Solaris and NetBSD systems (at least). See also automake bug#11185. + + * t/lex-clean-cxx.sh (parsefoo.lxx): Do not declared the provided + dummy 'isatty' function as 'static', since that might conflict with + a declaration of it as 'extern' pulled in through other system + * t/lex-depend-cxx.sh (joe.ll): Likewise. + * t/README: Update advice, to avoid similar issues in the future. + +2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'rmch' + + * rmch: + maint: simplify generation of files with @substed@ stuff + t/README: update w.r.t. recent overhaul (non-recursive build system) + docs: fix names of relevant test cases in comments + NEWS: automake build systems avoids make recursion + maint: no more make recursion in Automake's build system + tests: rename 'tests/' => 't/', '*.test' => '*.sh' + tests: remove recipes that run tests with 'prove' + tests: move most helper scripts and files into the 'ax' subdirectory + +2012-04-09 Stefano Lattarini <stefano.lattarini@gmail.com> + Peter Rosin <peda@lysator.liu.se> + + tests: avoid spurious failures with non-flex 'lex' programs and C++ + + This change fixes automake bug#11185. + + The commit v1.11-2058-g6f4b08d of 06-03-2012, "tests: explicitly + state that our lexers do not require unistd.h" has broken the tests + 'lex-clean-cxx.test' and 'lex-depend-cxx.test' on Solaris, where lex + is not flex and does not understand the "%option never-interactive" + directive. Remove the use of this directive, resorting to defining + a dummy 'isatty()' function instead to keep the flex-generated tests + able to compile also on MinGW/MSYS. + + * tests/lex-clean-cxx.test (parsefoo.lxx): Define a dummy 'isatty()' + function. + * tests/lex-depend-cxx.test (joe.ll): Likewise. + * tests/README: Adjust. Fix an unrelated typo since we are at it. + +2012-04-08 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid a spurious failures for shells with busted 'set -e' + + Some versions of the BSD Korn shell wrongly bail out when the + 'errexit' shell flag is active and the left-hand command in a + "&&" list fails and that list is the *last* command of the body + of a "while" or "for" loop. + + * tests/install-info-dir.test: Work around that behaviour. + +2012-04-08 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: simplify generation of files with @substed@ stuff + + Use a proper "config.status --file=-" idiom to do most substitutions + in our generated files, to avoid too much duplications between the + various $(do_subst) commands in Makefile.am and the (explicit or + implicit AC_SUBST) invocation in configure.ac. + + From a suggestion by Eric Blake and Federico Simoncelli: + <http://lists.gnu.org/archive/html/automake/2012-01/msg00011.html> + + * Makefile.am (do_subst): Rewrite to take advantage of the + "config.status --file=-" idiom. + (generated_file_finalize): New, to help checking that generated + files don't contain unexpanded '@substitutions@', and are made + read-only. + (automake, aclocal): Take advantage of the improved $(do_subst). + Improve comments. + (lib/Automake/Config.pm): Likewise, and of the new variable + $(generated_file_finalize) as well. + ($(top_srcdir)/m4/amversion.m4): Likewise. + (defs-static): Likewise, and depend explicitly on 'Makefile'. + (do_subst_t): Remove as obsolete. + * THANKS: Update. + +2012-04-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove redundant requirement + + * tests/txinfo19.test ($required): Drop required "tex", it is not + really needed. + Add trailing ':' command since we are at it. + +2012-04-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: make two test scripts executable + + * tests/instdir-cond.test: Add executable bit. + * tests/instdir-cond2.test: Likewise. + +2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + t/README: update w.r.t. recent overhaul (non-recursive build system) + + And other miscellaneous improvements since we are at it. + +2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: fix names of relevant test cases in comments + + * doc/automake.texi: In comments reporting which test(s) check a + given feature/idiom, fix the names of the referenced tests, to + reflect the recent 'tests/foo.test' => 't/foo.sh' "Great Rename". + +2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + NEWS: automake build systems avoids make recursion + +2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: no more make recursion in Automake's build system + + We finally merge testsuite-related part of the Automake build + system with the top-level one. See also yesterday's commit + 'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's + own build system". + + * t/gen-testsuite-part: Move ... + * gen-testsuite-part: ... here, with required adjustments. + * t/defs-static.in: Move ... + * defs-static.in: ... here, with required adjustments. In + particular ... + ($testsrcdir, $testbuilddir): Removed. + ($top_testsrcdir): Renamed ... + ($am_top_srcdir): ... to this. + ($top_testbuilddir): Renamed ... + ($am_top_builddir): ... to this. + * t/defs: Move ... + * defs: ... here, and adjust as required. + * t/Makefile.am: Merge ... + * Makefile.am: ... in here, with related adjustments and + simplifications. + * bootstrap: Adjust as required. + * syntax-checks.mk: Likewise. + * .gitignore: Likewise. + * t/ax/tap-setup.sh: Likewise. + * t/get-sysconf.sh: Likewise. + * t/help-multilib.sh: Likewise. + * t/multlib.sh: Likewise. + * t/parallel-tests2.sh: Likewise. + * t/self-check-cleanup.tap: Likewise. + * t/self-check-exit.tap: Likewise. + * t/self-check-dir.tap: Likewise. + * t/self-check-explicit-skips.sh: Likewise. + * t/self-check-reexec.tap: Likewise. + * t/self-check-sanity.sh: Likewise. + * t/yacc-d-cxx.sh: Likewise. + +2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: rename 'tests/' => 't/', '*.test' => '*.sh' + + When we (soon) convert the Automake testsuite to a non-recursive + make setup, we'll have to fix the entries of $(TESTS) to be + prepended with the subdirectory they are in; this will increase + the length of $(TESTS), and thus increase the possibility of + exceeding the command-line length limits on some systems (most + notably, MinGW/MSYS). See automake bug#7868 for more information. + + Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test' + script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test' + will become 't/foo.sh', which have the same number of characters. + + * tests/: Rename ... + * t/: ... to this. + * t/*.test: Rename ... + * t/*.sh: ... to this. + * t/.gitignore: Removed as obsolete. + * t/defs: Adjust. + * t/gen-testsuite-part: Likewise. + * t/list-of-tests.mk: Likewise. + * t/ccnoco.sh: Likewise. + * t/ccnoco3.sh: Likewise. + * t/self-check-cleanup.tap: Likewise. + * t/self-check-dir.tap: Likewise. + * t/self-check-me.tap: Likewise. + * t/self-check-reexec.tap: Likewise. + * README: Likewise. + * bootstrap: Likewise + * configure.ac: Likewise. + * Makefile.am: Likewise. + * .gitignore: Likewise. + * syntax-check.mk: Likewise. + +2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove recipes that run tests with 'prove' + + Those recipes has served its purpose by helping us during the + development of TAP support in Automake, to ensure our TAP driver + didn't have gratuitous incompatibilities with the 'prove' test + runner. But they are now unused, out-of-date and bitrotting. So + it's better to just remove them. We can resurrect them at a later + time if the need arises. + + * tests/Makefile.am (PROVE, AM_PROVEFLAGS, AM_PROVECMD): Remove + these variables. + (prove, installprove): Remove these targets and their recipe. + (EXTRA_DIST): Don't distribute 'ax/prove-runner' anymore. + * ax/prove-runner: Delete. + +2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: move most helper scripts and files into the 'ax' subdirectory + + * tests/defs-static.in ($am_testauxdir): New variable. + * tests/testsuite-summary-checks.sh: Moved ... + * tests/ax/testsuite-summary-checks.sh: ... here. + * tests/trivial-test-driver: Moved ... + * tests/ax/trivial-test-driver: ... here. + * tests/tap-summary-aux.sh: Moved ... + * tests/ax/tap-summary-aux.sh: ... here. + * tests/distcheck-hook-m4.am: Moved ... + * tests/ax/distcheck-hook-m4.am: ... here. + * tests/prove-runner: Moved ... + * tests/ax/prove-runner: ... here. + * tests/depcomp.sh: Moved ... + * tests/ax/depcomp.sh: ... here. + * tests/tap-setup.sh: Moved ... + * tests/ax/tap-setup.sh: ... here. + * tests/tap-functions.sh: Moved ... + * tests/ax/tap-functions.sh: ... here. + * tests/plain-functions.sh: Moved ... + * tests/ax/plain-functions.sh: ... here. + * tests/extract-testsuite-summary: Moved ... + * tests/ax/extract-testsuite-summary.pl: .. . here. + * tests/gen-testsuite-part: Adjusted accordingly. + * tests/Makefile.am: Likewise. + * tests/defs: Likewise. + * syntax-check.mk: Likewise. + * Several tests: Likewise. + +2012-04-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: remove most recursion in automake's own build system + + Recursive make-based build systems tend to be slower, more fragile + and less faithful than "flat" ones. See Peter Miller's article + "Recursive Make Considered Harmful" for more a more in-depth + discussion: + + <http://miller.emu.id.au/pmiller/books/rmch/> + + While in the case of automake this isn't a big problem (given the + small size of its build systems), it still creates occasional + glitches and annoyances. + + With this change, the use of recursion in Automake's own build + system is eliminated *but for the testsuite*. Converting that + is a little more tricky, and better left for a later change (or + series of changes). + + See also commit v1.11-769-gfeeb7f6 of 28-03-2012. + + * contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am, + doc/Makefile.am: Removed, their content merged ... + * Makefile.am: ... here, with required adjustments and few + other "opportunistic" changes. + (SUBDIRS): Update. + * configure.ac (AC_CONFIG_FILES): Likewise. + * .gitignore: Likewise. + +2012-04-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix a spurious failures with non-GNU make + + * tests/instdir-no-empty.test: Also pass proper AM_MAKEFLAGS to + make invocations that might recurse, to ensure the macro definitions + passed from the command line are properly propagated. + +2012-04-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + texinfo: warn about future use of '--tidy' + + Starting from the next major release of Automake (likely 1.13) we + want to start passing the '--tidy' option to texi2dvi and texi2pdf + invocations, so that auxiliary TeX-generated files can be kept + around (thus speeding up rebuilding of DVI and PDF output) without + cluttering the build directory too much. + + Since the '--tidy' option was introduced in Texinfo 4.9 (as + documented in the Texinfo distribution's NEWS file), this also + means that Makefiles generated by future Automake versions will + require at least that version of Texinfo (at the time of writing + four years and nine months old). + + The users should be warned about the planned behavioral change + and the new version requirement it will entail. + + See also automake bug#11146. + + * NEWS (Planned Backward Incompatibilities): Add entry about use + of the '--tidy' option and requirement of Texinfo 4.9. + +2012-04-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + texinfo: don't clutter the builddir when using modern texi2dvi + + In modern versions of texi2dvi (at least since version 1.135, which + comes with Texinfo 4.13) the '-o' option does not imply anymore the + '--clean' option. As a consequence, lots of TeX-generated auxiliary + files are now left in the build directory by the 'pdf', 'ps' and + 'dvi' rules. + + This is especially annoying with non-recursive setups having the + '.texi' files in a subdirectory, as in: + + info_TEXINFOS = doc/foo.texi + + In this case, the stray auxiliary files are left in the top build + directory (since TeX is run from there). See for example: + + <http://lists.gnu.org/archive/html/bug-bison/2012-04/msg00002.html> + + See also automake bug#11146. + + * lib/am/texibuild.am: Call 'texi2dvi' and 'texi2pdf' with the + '--clean' option. Update comments accordingly. + * tests/txinfo-noclutter.test: New test. + * tests/txinfo18.test: Remove as obsolete, the still relevant parts + of it moved into the new test. + * tests/list-of-tests.mk: Adjust. + * NEWS: Update. + +2012-04-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: autotools-generated files are not committed anymore + + * HACKING (Working with git) Generated files like 'configure', + 'Makefile.in' and 'aclocal.m4' are not committed anymore in our + git repository since some months. Remove obsoleted advices that + assumed they still were. + +2012-04-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: simplify documentation of bootstrapping process + + * HACKING (Working with git): Do not suggest that, to ensure the + bootstrapping process is performed with the latest autotools, the + developer could explicitly pass $AUTOCONF and $AUTOM4TE in the + environment to the ./bootstrap and ./configure invocations: that + is a little tricky and quite fragile. Instead, suggest to just + put modern-enough version of the autotools early in PATH. + +2012-04-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: remove repeated line in comment, fix quoting + + * automake.in: Drop a repeated line in a comment. In the same + comment, prefer quoting 'like this' rather than `like this'. + Issue introduced in one of the commits that converted from quoting + `like this' to quoting 'like this'. + +2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: remove useless import in automake script + + * automake.in (Automake::Version): This import is not needed; + remove it. + +2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + docs: deprecate 'cygnus' mode, help the transition + +2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: deprecate 'cygnus' mode, help the transition + + Support for "Cygnus-style" trees (so far enabled by the 'cygnus' + option) will be deprecated in one release of the next major series + (1.12.x) and removed in the next major release after that (1.13). + Better to start warning about this in the manual. + + * docs/automake.texi: Warn about the oncoming deprecation of the + 'cygnus' mode. Suggest some idioms that can be used to retain some + effects of the 'cygnus' option. + * THANKS: Update. + + From a suggestion by Joseph S. Myers in automake bug#11034. + +2012-03-29 Stefano Lattarini <stefano.lattarini@gmail.com> + + perl refactor: use modern semantics of 'open' + + * lib/Automake/XFile.pm: Update comments and POD documentation to + suggest a more idiomatic/modern usage. + (open): Be more robust in detecting whether the created file handle + is being opened for writing. + * lib/Automake/FileUtils.pm (update_file, contents): Call the + 'Automake::XFile' and 'File::IO' constructors with two arguments + rather than one; this change obsoletes ... + (open_quote): ... this subroutine, which has thus been removed. + (@EXPORT): Drop '&open_quote'. + +2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + cosmetics: don't make the generated Config.pm executable + maint: reduce use of recursion in automake build system + + + Extra non-trivial extra edits follows. + + * lib/Makefile.am (amdir): Deleted this definition, it is already + provided by a proper AC_SUBST in configure.ac. + (dist_am_DATA): Remove 'am/ansi2knr.am', 'am/check-html.am' and + 'am/multilib.am'. + (dist_perllib_DATA): Remove 'Automake/Struct.pm'. + +2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: don't make the generated Config.pm executable + + * lib/Makefile.am (Automake/Config.pm): Don't make this executable, + there's not need for it to be (it's a perl module, not a script). + +2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: reduce use of recursion in automake build system + + Recursive make-based build systems tend to be slower, more fragile + and less faithful than "flat" ones. See Peter Miller's article + "Recursive Make Considered Harmful" for more a more in-depth + discussion: + + <http://miller.emu.id.au/pmiller/books/rmch/> + + While in the case of automake this isn't a big problem (given the + small size of its build systems), it still creates occasional + glitches and annoyances. So, with this change, we start making + less use of make recursion in the Automake's own build system + (future changes will reduce it even more). + + * lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their + content merged ... + * lib/Makefile.am: ... here, with required adjustments. + * configure.ac (AC_CONFIG_FILES): Update. + +2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: sync with branch-1.11, fix mis-merges + +2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + acinstall: remove, it has never been really used + + Accordingly to the git history (see for example the 'README-alpha' + in commit 'Release-1-1e-39-g9beb4ec' of 06-10-1996), the 'acinstall' + script should have been used to install m4 files for aclocal. The + comments in this script report that "... A script is needed to do + this because we want to do serial-number checking; newer versions + of macro files should always be preferred". + + But the 'acinstall' script has never been really used: for example, + the entry "actually use acinstall program" was removed (unfixed) + from the TODO file in commit 'Release-1-1k-12-g1201405' of + 08-12-1996, and the only citation of 'acinstall' in the manual was + removed in commit 'Release-1-1l-37-g128c3d7' of 19-03-1997, and + never added back. In addition, the last non-trivial edit to the + script (that is, besides updates to the copyright notice) dates + back to 1996. + + More importantly, now that aclocal supports the ACLOCAL_PATH + environment variable, installing m4 files directly in the + system-wide acdir is discouraged, and better left only to + distros' package managers (which already have their own way to + do so, with which third-party build systems should not directly + meddle). + + So we just remove the 'acinstall' script. + + * lib/acinstall: Remove. + * lib/Makefile.am (dist_script_DATA): Update. + +2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: reorganize the source tree and make it less cluttered + + * TODO: Move ... + * old/TODO: ... here. This is done because this file is quite + outdated, and today TODO and wishlist items are better handled + though the debbugs tracker. + * ChangeLog.00: Move ... + * old/ChangeLog.00: ... here. + * ChangeLog.01: Move ... + * old/ChangeLog.01: ... here. + * ChangeLog.02: Move ... + * old/ChangeLog.02: ... here. + * ChangeLog.03: Move ... + * old/ChangeLog.03: ... here. + * ChangeLog.04: Move ... + * old/ChangeLog.04: ... here. + * ChangeLog.09: Move ... + * old/ChangeLog.09: ... here. + * ChangeLog.11: Move ... + * old/ChangeLog.11: ... here. + * ChangeLog.96: Move ... + * old/ChangeLog.96: ... here. + * ChangeLog.98: Move ... + * old/ChangeLog.98: ... here. + * tests/ChangeLog-old: Move ... + * old/ChangeLog-tests: .. here. + * tests/Makefile.am (EXTRA_DIST): Adjust. + * Makefile.am (EXTRA_DIST): Likewise. + * .autom4te.cfg: New file, instructing the autotools to place the + autom4te cache directory in '.autom4te.cache' rather than in + 'autom4te.cache'. + * .gitignore: Adjust. + * Makefile.am (maintainer-clean-local): Remove the '.autom4te.cache' + directory. + +2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: we are going to drop 'cygnus' soonish + + * NEWS (Future backward incompatibilities): Support for + "Cygnus-style" trees (so far enabled by the 'cygnus' option) + will be deprecated in the next minor release and removed in + in the next major release. + +2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + depcomp: support tcc (Tiny C Compiler) + tests: workaround for automatic linker determination and conditionals + info: allow user to inhibit pruning of '${infodir}/dir' + vala tests: fix spurious failures with older valac (<= 0.7.2) + tests: fix a timestamp issue, and other minor buglets + tests: fix spurious failure with older autoconf + build: remove duplicated entries in $(TESTS) + + + Extra non-trivia edits: + * tests/link_cond.test: Use 'configure.ac', not 'configure.in'. + +2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + depcomp: support tcc (Tiny C Compiler) + + This change fixes automake bug#11007. + + Since git commit 0c928da9 of 21-06-2010, "tcc: Draft suppoprt for + -MD/-MF options" (sic, with typo in summary line), tcc has supported + automatic dependency generation with a command-line interface + similar to what old (pre-8.0) Intel compilers did. This caused + Automake-generated code for automatic dependency tracking to + recognize tcc dependency style as "icc". However, the format of + the dependency files generated by tcc is apparently different enough + from that of icc to cause spurious failures in the post-processing + operated by our 'depcomp' script on such files. + + The failure was exposed with the development version of tcc 0.9.26 + (as installed with debian package "tcc 0.9.26~git20120104.83d") by + test case 'depcomp-auto.tap' (available only in the master branch). + + * lib/depcomp (icc): Cater to tcc as well. Update comments + accordingly. + * NEWS: Update. + +2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: workaround for automatic linker determination and conditionals + + See automake bug#11089. + + Automake is not very smart in automatically determining the command + to be used to link a program whose source files' languages are + conditionally defined. For example, an input like: + + if HAVE_CXX + foo_SOURCES = more.c++ + else + foo_SOURCES = less.c + endif + + will cause the build rules for 'foo' to *unconditionally* use the + C++ compiler for linking, even when the 'HAVE_CXX' conditional + evaluates to false (which might mean that no C++ compiler is + available). + + This behaviour is not really correct, but it's easy enough to work + around, and it's only relevant for fringe use cases (at best). So + let's just test that the workaround really works. + + * tests/link_cond.test: New test. + * tests/list-of-tests.mk: Add it. + * THANKS: Update. + +2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + info: allow user to inhibit pruning of '${infodir}/dir' + + This should have ideally been part of commit 'v1.11-519-g1ec1668' + of 23-11-2011 "info: allow user to inhibit creation/update of + '${infodir}/dir'". Well, better late than never. + + * lib/am/texinfos.am (uninstall-info-am): Don't look anymore at the + output of "install-info --version" to decide whether to use it to + update the '${infodir}/dir' or not; instead, honour the environment + variable 'AM_UPDATE_INFO_DIR'. To avoid code duplication with ... + (install-info-am): ... the recipe of this target, move common code + out to ... + (am__can_run_installinfo): ... this new internal variable. + * tests/install-info-dir.test: Enhance. + * doc/automake.texi (Texinfo): Update. + * NEWS: Likewise. + +2012-03-26 Bruno Haible <bruno@clisp.org> + Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: fix spurious failures with older valac (<= 0.7.2) + + See automake bug#11093. + + The Vala compiler before the 0.7.3 release does not support the + '--profile' option. But some of our tests were relying on it, so + skip those tests if the detected Vala compiler is too old. + + * tests/vala-vpath.test, tests/vala-mix.test, tests/vala-mix2.test + (configure.in): Require vala version >= 0.7.3 in AM_PROG_VALAC call. + +2012-03-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix a timestamp issue, and other minor buglets + + Cherry picked from commit v1.11-1988-g82616f0 of 21-02-2012. + + Reported by Panther Martin in automake bug#10848. See also + automake bug#11093. + + * tests/conffile-leading-dot.test: Add a proper '$sleep' invocation, + to avoid spurious failures on fast systems without sub-second + timestamp resolutions. Add other minor related and unrelated + improvements and fixlets since we are at it. + +2012-03-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure with older autoconf + + Cherry picked from commit v1.11-1950-gba5a89b of 16-02-2012. + + * tests/conffile-leading-dot.test: Relax grepping of 'config.status' + stderr, to cater for older autoconf. Issue revealed by a failure + with autoconf 2.63 on Cygwin 1.5.25. See also automake bug#11093. + +2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: update THANKS + + * THANKS: Add entry for Tim Landscheidt. + +2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: terminate unfinished sentence, fix reference to a test case + + * doc/automake.texi (Using the TAP test protocol): Here. + +2012-03-24 Tim Landscheidt <tim@tim-landscheidt.de> (tiny change) + + docs: fix some small typos and grammaros + + * doc/automake.texi (Using the TAP test protocol): Here ... + * tests/tap-doc2.test: ... and here. + +2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: remove duplicated entries in $(TESTS) + + * tests/list-of-tests.mk (handwritten_TESTS): Remove duplicated + entries for test cases 'extra-portability*.test'. + +2012-03-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: update TODO file + + We don't have to make creation of $(foodir) conditional when + foo_PRIMARY is conditionally defined; that has been solved in + a more sweeping way by commit v1.11-759-g368f1c4 of March 18, + which solved bug#11030 and bug#10997. + + The "check" target already depends on the "all" target. + + Remove comment "investigate problems with conditionally defined + libraries"; it is aimed at automake 1.5 (!) and too terse and old + to be useful now. + + Remove the 12 years old suggestion that "distcheck should make sure + that each file that uses _() is listed in POTFILES.in"; this is + handled by gnulib-provided syntax check 'sc_po_check' already today. + + Don't tell to "Run automake before libtool"; automake does not + automatically run libtool anymore today. + + Remove hint about the possibility to "rewrite automake in guile" or + "add a GUI": we are not going to do so. + + The automatic de-ANSI-fication feature has already been remove, so + no need to suggest its potential removal in the future. + + Remove reference to a prospective "cvs" option that could add some + cvs-specific rules. First of all, CVS is falling out of use today. + Secondly, and most to the point, instead of guessing which VCS + is going to be most popular and try to hack support for it into + automake, we should leave it to developer-specific makefile + fragments offered by projects like Gnulib to provide such rules + (they are already doing so with succcess). + + About DOS support: it should actually be dropped, not extended. + + Add link about Karl Berry's proposal of preferring HTML over Info + documentation installed in the local system: + <http://lists.gnu.org/archive/html/texinfo-devel/2012-03/msg00018.html> + + Remove items about "beautification" of output Makefile.in; they + are pretty obvious, and mostly noise (after all, everybody prefers + clean output where possible). Leave it to any developer doing + future refactorings to find out low-hanging and/or high-impact + optimizations and beatifications of the generated Makefiles. + + Remove item about internationalization: we're not going to + implement it. + + Remove an item explicitly marked as "not that it matters". + + The order of files in a distribution tarball does not really + matter, nobody has ever complained about it, so do not worry + about it. + + Remove the suggestions about allowing hierarchy of dirs to share + one aclocal.m4 and about printing full file name of Makefile.am + or configure.in when giving error, in order to help very large + trees: nobody has ever complained about the current behaviours, + so no real need to change them. + +2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: bootstrapping issues with 'list-of-tests.mk' + + * tests/list-of-tests.mk: This file is expected to be executed + directly with make from the bootstrap script, so we can't use + Automake '##' comments after line continuations. + +2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + maint: move definition of XFAIL_TESTS near TESTS + + Actually, after the trivial merge conflicts have been solved, what + this change actually does is moving the definition of XFAIL_TESTS + near that of handwritten_TESTS. But the rationale is the same of + that of commit 'v1.11-761-gabf40ce' (being merged here), and still + works, so all is good. + +2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: move definition of XFAIL_TESTS near TESTS + + The $(TESTS) variable is defined in file 'tests/list-of-tests.mk', + while the $(XFAIL_TESTS) variable is defined in 'tests/Makefile.am'. + This means that when a new xfailing test is to be added, two files + must be touched; this is suboptimal and slightly confusing. + + * tests/Makefile.am (XFAIL_TESTS): Definition moved ... + * tests/list-of-tests.mk: ... here. + +2012-03-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failures caused by uses of 'configure.in' + + Issue introduced by the recent merges of maint into master, and + revealed by "make maintainer-check". + + * tests/aclocal-install-fail.test: Likewise. + * tests/aclocal-install-mkdir.test: Likewise. + * tests/aclocal-verbose-install.test: Likewise. + * tests/installdir.test: Likewise. + * tests/instdir-cond2.test: Likewise. + * tests/instdir-no-empty.test: Likewise. + * tests/python-pr10995.test: Likewise. + * tests/aclocal-no-install-no-mkdir.test: Likewise. + +2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + install-mans: avoid spurious failure with NetBSD make + install: don't create empty dirs when an empty 'foo_PRIMARY' is used + aclocal: remove a couple of useless imports + aclocal: create local directory where to install m4 files + +2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + install-mans: avoid spurious failure with NetBSD make + + * lib/am/mans.am: After the changes introduced by previous commit + v1.11-759-g368f1c4, some manpage installation recipes started to + fail spuriously on NetBSD 5.1 make. Apparently, the system make + there eats backslashes used to escape whitespace characters in the + relevant recipes. Revert to slightly slower but safer idioms that + avoid the need of such escaping. + +2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + install: don't create empty dirs when an empty 'foo_PRIMARY' is used + + Fixes automake bug#11030 and bug#10997. + + An empty declaration of "foo_PRIMARY" in a Makefile.am used to + cause the generated install rules to create the directory $(foodir) + anyway, even if nothing was to be installed there. + + While this could be seen as a convenient way to create a $(foodir) + directory upon "make install" (respecting $(DESTDIR) settings and + such), it also caused problems with conditionals; for example, an + input of: + + if FALSE + pgkdata_DATA = something + endif + + caused the generated install rules to unconditionally create the + $(pkgdatadir) directory (see automake bug#10997). + + Also, a user wanting to create an empty directory upon installation + can easily do so with a custom install hook, as in: + + installdirs-local: + $(MKDIR_P) $(DESTDIR)$(foodir) + install-data-hook: installdirs-local + + On the other hand, the old behavior of "always create $(foodir), + even if 'foo_PRIMARY' is empty" was harder and more tricky to + override. + + Thus, from now on, an empty declaration of "foo_PRIMARY" will not + cause the directory $(foodir) to be created upon "make install" + anymore. + + * lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, + lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am, + lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid + creating an installation directory if no files are actually to be + installed there. + * tests/instdir-empty.test: Remove, it was testing a semantic + opposite to the one we now want and implement. + * tests/instdir-no-empty.test: New test, check the new semantic. + * tests/instdir-cond.test: Enhance. Move the still-failing part + of the test ... + * tests/instdir-cond2.test: ... here. + * tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update. + * tests/java3.test: Adjust to avoid spurious failures. + * HACKING, NEWS, THANKS: Update. + +2012-03-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + aclocal: remove a couple of useless imports + + * aclocal.in (File::stat, Cwd): Remove these imports, they are not + really required. + +2012-03-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + aclocal: create local directory where to install m4 files + + Fixes automake bug#8168 and bug#10816. + + A call like "aclocal -I m4 --install" used to fail if the 'm4' + directory wasn't pre-existing. This could be particularly + annoying when running in a checked-out version from a VCS like + git, which doesn't allow empty directories to be tracked. + + * aclocal.in (File::Path): New import. + (scan_m4_dirs): Don't die if the first directory of type FT_USER + doesn't exist and the '--install' option was given; that directory + will be created later ... + (install_file): ... here. Change signature of this function: now + it takes as second argument the destination directory rather than + the destination file. Crate the destination directory if it + doesn't already exist. In verbose mode, tell what is being copied + where. + (write_aclocal): Update to the changes in 'install_file'. + * NEWS, THANKS: Update. + * tests/aclocal-install-fail.test: New test. + * tests/aclocal-install-mkdir.test: Likewise. + * tests/aclocal-no-install-no-mkdir.test: Likewise. + * tests/aclocal-verbose-install.test: Likewise. + * tests/list-of-tests.mk: Add them. + +2012-03-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + python: avoid failures due to $(am__py_compile) being undefined + python: expose automake bug#10995 + +2012-03-15 Steven Drake <sbd@NetBSD.org> (tiny change) + + python: avoid failures due to $(am__py_compile) being undefined + + Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf. + + * lib/am/python.am: Move the definition of 'am__py_compile' to + ensure it is always emitted in the output Makefile.in. Previously, + this wouldn't have happened if the input Makefile.am contained a + 'noinst_PYTHON' declaration before a 'python_PYTHON' one. + * tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and + 'python.test'. + * NEWS: Update. + +2012-03-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + python: expose automake bug#10995 + + * tests/python.test: Expose the bug in grepping tests. + * tests/python-noinst.test: New functional test to expose the + bug. + * tests/list-of-tests.mk: Add it. + * tests/Makefile.am (XFAIL_TESTS): Add the new test and the + extended one. + * THANKS: Update. + +2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: one more use of 'unindent' function + + * tests/yacc-d-cxx.test (write_parse, write_main): Use 'unindent' + instead of ad-hoc sed invocation to strip extra leading whitespace. + +2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove redundant 'set -e' calls + + * tests/dist-pr109765.test: Do not set the 'errexit' shell flag, + as it is already set by 'tests/defs'. + * tests/instdir-cond.test: Likewise. + * tests/instdir-empty.test: Likewise. + * tests/lex-clean-cxx.test: Likewise. + * tests/lex-clean.test: Likewise. + * tests/lex-depend-cxx.test: Likewise. + * tests/lex-depend.test: Likewise. + * tests/lex-line.test: Likewise. + * tests/lex-nodist.test: Likewise. + * tests/lex-pr204.test: Likewise. + * tests/silent-lex.test: Likewise. + * tests/silent-yacc-headers.test: Likewise. + * tests/silent-yacc.test: Likewise. + * tests/vala-mix2.test: Likewise. + * tests/yacc-auxdir.test: Likewise. + * tests/yacc-bison-skeleton-cxx.test: Likewise. + * tests/yacc-bison-skeleton.test: Likewise. + * tests/yacc-clean-cxx.test: Likewise. + * tests/yacc-cxx.test: Likewise. + * tests/yacc-d-cxx.test: Likewise. + * tests/yacc-deleted-headers.test: Likewise. + * tests/yacc-depend.test: Likewise. + * tests/yacc-depend2.test: Likewise. + * tests/yacc-line.test: Likewise. + * tests/yacc-mix-c-cxx.test: Likewise. + * tests/yacc-weirdnames.test: Likewise. + +2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + tests: avoid spurious failures in get-sysconf.test + scripts: bump the depcomp scriptversion + sync: some auxiliary files synced from upstream + coverage: an empty foo_PRIMARY should create directory $(foodir) + coverage: make sure am__py_compile is defined when needed + coverage: expose automake bug#10997 + coverage: expose automake bug#10975 + getopt: relax version requirement for perl + + + Extra non-trivial edits: + + * tests/dist-pr109765.test: Use 'configure.ac', not 'configure.in'. + * tests/instdir-cond.test: Likewise. + * tests/instdir-empty.test: Likewise. + +2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure with older m4 + + Reported by Panther Martin in automake bug#10866, diagnosed by + Panther Martin and Eric Blake. + + Older GNU m4 versions (e.g., 1.4.6) did error reporting at the end + of an error construct rather than the beginning. This was causing + a spurious testsuite failure due to an off-by-one error in the line + number reported in an aclocal diagnostic. + + * tests/cond41.test: Keep all the body of the 'AM_COND_IF' + invocation on a single line, to avoid the off-by-one error. + +2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failures in get-sysconf.test + + This change fixes the last bit of automake bug#10866. + + * tests/get-sysconf.test: When Homebrew spawns a build, even if + from a project's VCS, it stages the files in a new temporary + directory, instead of building directly from a VCS checkout. + This behaviour was causing a spurious failure in this test, which + expected to find either a ChangeLog file or a .git directory in + the source directory (the former happening when the test was run + from a distribution tarball, the latter when it was run from a + git checkout). The Homebrew issue shows that these expectations + are not truly warranted, so relax the test to just give a warning, + not a failure, in case they do not hold. Since we are at it, fix + an unrelated weakness in the displaying of the git log, which + could have failed when the builddir was not a subdirectory of the + srcdir. + +2012-03-12 Peter Rosin <peda@lysator.liu.se> + + scripts: bump the depcomp scriptversion + + * lib/depcomp (scriptversion): Bump, to account for recent changes. + +2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + sync: some auxiliary files synced from upstream + + * lib/texinfo.tex: Synced from upstream, by "make fetch". + * lib/config.guess: Likewise. + * lib/config.sub: Likewise. + * lib/gnupload: Likewise. + +2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: an empty foo_PRIMARY should create directory $(foodir) + + For example, a Makefile.am containing the definition: + + pkgdata_DATA = + + should cause the 'install' rule of the generated Makefile.in to + create the '$(pkgdatadir)' directory (respecting any DESTDIR + setting as well). + + Suggestion by Peter Breitenlohner in automake bug#10997. + +2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: make sure am__py_compile is defined when needed + + See automake bug#10995. + + * tests/python.test: Also make sure 'am__py_compile' is defined + correctly in the generated Makefile.in. + +2012-03-12 Daiki Ueno <ueno@unixuser.org> (tiny change) + + coverage: expose automake bug#10997 + + * tests/instdir-cond.test: New test. + * tests/list-of-tests.mk: Add it. + * tests/Makefile.am (XFAIL_TESTS): Likewise. + +2012-03-09 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: expose automake bug#10975 + + * tests/dist-pr10975.test: New test. + * tests/list-of-tests.mk: Add it. + * tests/Makefile.am (XFAIL_TESTS): Likewise. + +2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + getopt: relax version requirement for perl + + * lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former + is enough. See also commit 'v1.11-2054-g7df05a0' on master (dated + 04-03-2012). + +2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + cosmetics: fix repeated changelog entry heading + +2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: fix repeated changelog entry heading + +2012-03-07 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'maint' + +2012-03-07 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'msvc' into maint + + This merge remedies the confusing situation that some changes + destined for both the master branch and the release branch (a.k.a. + branch-1.11) currently needs to be made on the non-obvious msvc + branch and not on the more natural maint branch. This has caused + a seemingly endless string of less than optimal commits. + + The reason for the confusion stems from the fact that the changes made + on the msvc branch became too radical and was considered only suitable + for the master branch, and was thus written in a form suitable for + master and then merged there. Later, the msvc branch was merged + directly into branch-1.11, in order to rush the new features to the + market and to keep the released scripts (lib/ar-lib, lib/compile and + lib/depcomp) consistent with those on the master branch. However, + some changes had to be made to the features added by the msvc branch + in order for them to fit the requirements of branch-1.11, notably that + the warnings issued in the extra-portability class cannot be enabled + by -Wall in the 1.11.x maintenance releases. + + In retrospect, it would have been better to not merge msvc directly + into branch-1.11, but instead do it via the maint branch (followed up + with a dummy merge from maint into master) the moment it was decided + that the msvc changes should make it into branch-1.11. + + All in all, this merge is going to affect neither the master branch + nor branch-1.11, since it is followed up with dummy merges masking all + changes. The merge is made to maintain the sanity of the poor + developers, who wishes to once again have a working maint branch. + + Discussion about merging the msvc branch into branch-1.11: + http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html + + Discussion about why this merge hasn't happened before: + http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html + + Extra edits below. + + * lib/Automake/ChannelDefs.pm: Use the version from branch-1.11. + * tests/ar-lib3.test: Likewise. + * tests/ar-lib4.test: Likewise. + * tests/extra-portability.test: Likewise. + * tests/extra-portability2.test: Likewise. + * tests/extradep.test: Likewise. + * tests/extradep2.test: Likewise. + * tests/list-of-tests.mk: Likewise. + * HACKING: Backport the version from branch-1.11 while at it (as the + change on branch-1.11 is also present on master via an unrelated + commit), even though this change has nothing to do with the changes + on the msvc branch. + +2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove useless sleep from tests on remake rules + + The sleeps were there to make generated autotools files strictly + newer than their sources; however, this is not necessary, since + POSIX mandates that make considers files with the same timestamp + of their dependencies to be up-to-date. + + * tests/remake9a.test: Remove useless $sleep. + * tests/remake9b.test: Likewise. + * tests/remake9c.test: Likewise. + * tests/remake9d.test: Likewise. + * tests/remake10a.test: Likewise. + * tests/remake10b.test: Likewise. + * tests/remake10c.test: Likewise. + +2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'msvc' into master (dummy merge) + +2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' into msvc + + * maint: + news: describe recently-fixed bug in vala support + depcomp: add support for IBM xlc/xlC compilers + +2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge remote-tracking branch 'origin/master' + +2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + news: describe recently-fixed bug in vala support + depcomp: add support for IBM xlc/xlC compilers + +2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: describe recently-fixed bug in vala support + + * NEWS (Long-standing bugs): Document fix for bug#10894, fixed + by commit 'v1.11-696-g51f61df' of 27-02-2012. + +2012-03-06 Michael Hofmannm <hofma@googlemail.com> (tiny change) + + depcomp: add support for IBM xlc/xlC compilers + + * lib/depcomp (xlc): New depmode. + * NEWS, THANKS: Update. + +2012-03-06 Peter Rosin <peda@lysator.liu.se> + + tests: do not clobber the $CC set by AM_PROG_CC_C_O + + If $CC is originally a losing compiler, AM_PROG_CC_C_O will + modify $CC. "$MAKE -e" will then clobber this modified $CC + and reintroduce the raw losing compiler causing the test + to fail, as subdir-objects is in effect. + + * tests/yacc-dist-nobuild-subdir.test: Drop -e from the $MAKE + invocations. This is safe since DISTCHECK_CONFIGURE_FLAGS is not + specified in the Makefile and since the YACC override is carried + over from the configure invocation into the Makefile making it + redundant to specifiy it again in the environment for $MAKE. + +2012-03-06 Peter Rosin <peda@lysator.liu.se> + + tests: explicitly state that our lexers do not require unistd.h + + By default, GNU flex generates code that is dependent on unistd.h, + which is not portable to non-ANSI systems causing spurious test + failures. + + * tests/cond35.test (tscan.l): Define YY_NO_UNISTD_H. + * tests/lex-clean.test (lexer.l): Likewise. + * tests/lex-depend.test (joe.l): Likewise. + * tests/lex-lib-external.test (foo.l): Likewise. + * tests/lex-lib.test (foo.l): Likewise. + * tests/lex-libobj.test (foo.l): Likewise. + * tests/lex-line.test (zardoz.l): Likewise. + * tests/lex-nodist.test (lexer.l): Likewise. + * tests/lex-noyywrap.test (foo.l): Likewise. + * tests/lex-pr204.test (lexer.l): Likewise. + * tests/lex-subobj-nodep.test (subl/sl.l): Likewise. + * tests/lex3.test (foo.l): Likewise. + * tests/lex5.test (foo/foo.l): Likewise. + * tests/lexvpath.test (lexer.l): Likewise. + * tests/silent-lex.test (foo.l): Likewise. + * tests/silent-many-gcc.test (foo5.l): Likewise. + * tests/silent-many-generic.test (foo5.l): Likewise. + * tests/lex-clean-cxx.test (parsefoo.lxx): Likewise. Also specify + the never-interactive option to prevent usage of the non-ANSI + function isatty(3) (from unistd.h). + * tests/lex-depend-cxx.test (joe.ll): Likewise. + * tests/README: Describe these quirks. + +2012-03-06 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'msvc' + + * msvc: + scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile + +2012-03-06 Peter Rosin <peda@lysator.liu.se> + + scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile + + POSIX mandates that the compiler accepts a space between the -I, + -l and -L options and their respective arguments. See + http://pubs.opengroup.org/onlinepubs/000095399/utilities/c99.html + + * lib/compile (func_cl_dashl): New function with factored out code + for implementing the -l option for the cl wrapper. + (func_cl_dashL): New function with factored out code implementing + the -L option for the cl wrapper. + (func_cl_wrapper): Use func_cl_dashl to implement both -l <lib> + and -l<lib>, and func_cl_dashL to implement both -L <dir> and + -L<dir>. Also add support for -I <dir>. + (scriptversion): Update. + * tests/compile3.test: Test both with and without a space between + -I, -l and -L and their respective arguments. + * tests/compile5.test: Likewise. + * tests/compile6.test: Likewise. + * tests/compile3.test: Likewise. + * NEWS: Update. + +2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: drop 'Automake::Struct' module + + Now that we require Perl 5.6, we can drop the 'Automake::Struct' + module, which was basically just a backport of Perl 5.6's + 'Class::Struct' to Perl 5.5. + + * automake.in: Use 'Class::Struct', not 'Automake::Struct'. + * lib/Automake/Struct.pm: Delete. + * lib/Automake/Makefile.am (dist_perllib_DATA): Remove it. + +2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: require perl 5.6 throughout + + That version of perl is quite old already, so it should be OK to + require it. More importantly, it is the older perl versions the + developers can currently use for testing, thus it's safer and more + honest to just require it throughout. And anyway, we were already + requiring it in Automake::Getopt, which implied that both automake + and aclocal wouldn't have worked in practice with an older perl + version. + + See also the discussion related to automake bug#10925. + + * lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6. + * lib/Automake/Channels.pm: Likewise. + * lib/Automake/Condition.pm: Likewise. + * lib/Automake/Configure_ac.pm: Likewise. + * lib/Automake/DisjConditions.pm: Likewise. + * lib/Automake/FileUtils.pm: Likewise. + * lib/Automake/General.pm: Likewise. + * lib/Automake/Item.pm: Likewise. + * lib/Automake/ItemDef.pm: Likewise. + * lib/Automake/Location.pm: Likewise. + * lib/Automake/Options.pm: Likewise. + * lib/Automake/Rule.pm: Likewise. + * lib/Automake/RuleDef.pm: Likewise. + * lib/Automake/Struct.pm: Likewise. + * lib/Automake/VarDef.pm: Likewise. + * lib/Automake/Variable.pm: Likewise. + * lib/Automake/Version.pm: Likewise. + * lib/Automake/Wrap.pm: Likewise. + * lib/Automake/XFile.pm: Likewise. + +2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: remove useless escaping for "'" character + +2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: remove redundant and unused requirements + + * tests/defs (xsi-bin-sh, xsi-shell): Remove these requirements, + they have never been used. + (cygpath, cscope): Recognizing these explicitly is mostly redundant; + just merge them with the default "catch all" rule, and adjust that + accordingly. + (bzip2): Adjust some outdated comments. + +2012-03-03 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure on case-insensitive file systems + + See automake bug#10866. + + * tests/java-uninstall.test: Relax the test a little to cater to + case-insensitive file systems, like HFS+ on MacOS X. + +2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: more about planned backward incompatibilities + + * NEWS (Future backward-incompatibilities): Starting from the next + major Automake versions, the parallel testsuite driver will be used + by default, instead of the serial testsuite driver as in the past. + +2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: fix few spurious failures + + * syntax-checks.mk: Fix some spurious failures by tightening and/or + tweaking few checks so that some false positives end up whitelisted. + +2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure due to exported MAKEINFO + + * tests/txinfo30.test: Unset variable MAKEINFO, as its content could + take precedence over our faked makeinfo script and cause a spurious + failure. Reported as part of automake bug#10866. Add trailing ':' + command since we are at it. + +2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure in a vala test + + * tests/vala-mix2.test: Append to 'configure.ac' rather than to + 'configure.in'. Reported as part of automake bug#10866, and also + revealed by "make maintainer-check". + +2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + self checks: relax tests on cleanup + + Some find(1) implementations have problems operating recursively on + directories having subdirectories with null permissions, even when + the permissions of such subdirectory should be fixed by find before + it descends into them; for example, with this setup: + + % mkdir a a/b + % chmod 000 a/b + + a command like this: + + % find a -type d ! -perm -700 -exec chmod u+rwx '{}' ';' + + fails with this diagnostic on MacOS X 10.7: + + find: a/b: Permission denied + + and with this diagnostic on Solaris 10: + + find: cannot read dir a/b: Permission denied + + The problem is that our self checks were simply demanding too much + from our cleanup trap: our tests never use subdirectories with null + permissions, so it doesn't matter if the cleanup trap fails to + handle those. Just relax the self checks to avoid such useless + testsuite noise. + + * tests/self-check-cleanup.tap: Only try directories missing + write permissions, not with null permission. That should be + enough for our usages. + +2012-03-02 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'msvc' + + * msvc: + news: add entry about recent 'ar-lib' changes + +2012-03-02 Peter Rosin <peda@lysator.liu.se> + + news: add entry about recent 'ar-lib' changes + + * NEWS: Add information about recent 'ar-lib' changes. + +2012-03-02 Peter Rosin <peda@lysator.liu.se> + + scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib + + * lib/ar-lib: Implement the "q" (quick) action as a synonym + for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol + index) when used as modifiers and "s" when used as a command, + there is simply no way for Microsoft lib to not update the + symbol table index in the archive. + (scriptversion): Update. + * tests/ar-lib.test: Check the added behavior. Also add checks + for the recently added "u" (update) and "v" (verbose) modifiers. + +2012-03-02 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'fix-vala-test' + + * fix-vala-test: + tests: fix (harmless) botched merge + +2012-03-02 Peter Rosin <peda@lysator.liu.se> + + tests: fix (harmless) botched merge + + Commit v1.11-1750-g9928ea5 of 2012-01-16 (Merge branch 'maint') + reordered the macro calls so that AM_PROG_AR ended up after + AC_PROG_LIBTOOL, which is not allowed. This error went by + undetected since AC_PROG_LIBTOOL was redefined, but that also + removed the ordering requirement making the error benign. + + * tests/vala.test: Put AM_PROG_AR before AC_PROG_LIBTOOL. + +2012-03-02 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'maint' into msvc + +2012-03-01 Peter Rosin <peda@lysator.liu.se> + + scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib + + * lib/ar-lib: Implement the "q" (quick) action as a synonym + for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol + index) when used as modifiers and "s" when used as a command, + there is simply no way for Microsoft lib to not update the + symbol table index in the archive. + (scriptversion): Update. + * tests/ar-lib.test: Check the added behavior. Also add checks + for the recently added "u" (update) and "v" (verbose) modifiers. + +2012-02-29 Peter Rosin <peda@lysator.liu.se> + + tests: do not try to use ar(1) when $AR points to something else + + * tests/libobj10.test: Move the archive listing commands to the + Makefile, so that $AR - as determined by configure - can be + used. + * tests/libobj17.test: Likewise. + +2012-02-29 Peter Rosin <peda@lysator.liu.se> + + tests: make tests behave for the AR=lib case + + These below tests were left mostly as-is when AM_PROG_AR was + introduced (with libobj16b being the exception, that test was + forgotten or has regressed since), in a misguided attempt to + not make them diverge from the original problem reports. + + Modernize them so that they do not FAIL when $AR is Microsoft + 'lib'. + + * tests/libobj16b.test: Add AM_PROG_AR to configure.ac and remove + the no-longer-needed -Wno-extra-portability option when invoking + automake. + * tests/pr300-lib.test: Likewise. + * tests/pr300-ltlib.test: Likewise. + * tests/pr307.test: Likewise. + * tests/pr401.test: Likewise. Also fetch the 'ar-lib' script. + * tests/pr401b.test: Likewise. + * tests/pr401c.test: Likewise. + +2012-02-29 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + vala: fix 'valac' calls for projects with mixed Vala/C + vala: expose automake bug#10894 + +2012-02-29 Dave Goodell <goodell@mcs.anl.gov> (tiny change) + Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure with Portland Compilers + + * tests/silent-many-generic.test (configure.ac): Be more careful + in the workaround to avoid spurious failures with C++ compilers + containing the string "CC" in their names; this avoids spurious + failures with at least the Sun Studio C++ compiler (when named + "sunCC") and the Portland Group C++ Compiler ("pgCC"). + Also handle arguments with whitespace correctly in the 'am--cxx' + temporary wrapper. + * THANKS: Update. + +2012-02-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure when dependency tracking is unavailable + + Report by Dave Goodell. See automake bug#8880. + + * tests/yacc-dist-nobuild.test: Run the sanity check that aims at + ensuring we really cover the expected code paths in a new build + directory, to avoid spurious failures when automatic dependency + tracking is disabled. + +2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: fix 'valac' calls for projects with mixed Vala/C + + Fixes automake bug#10894. + + * automake.in (lang_vala_finish_target): Strip non-vala files + from the dependencies of vala stamps, and from the invocation + of valac compiler. Related refactorings. + * tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'. + +2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: expose automake bug#10894 + + * tests/vala-mix2.test: New test. + * tests/list-of-tests.mk: Add it. + * tests/Makefile.am (XFAIL_TESTS): Likewise. + * THANKS: Update. + +2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: remove a duplicated copyright line + + * tests/list-of-tests.mk: Remove a duplicated copyright line. + +2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: --program-transform shouldn't transform too much + + Stemmed from a report by Vladimir 'φ-coder/phcoder' Serbinenko: + <http://lists.gnu.org/archive/html/automake/2012-02/msg00025.html> + + * tests/transform3.test: New test, checking that --program-transform + does not transform too much stuff (in particular, pkglibexecdir, + pgklibdir and pkgdatadir). + * tests/list-of-tests.mk: Add it. + * THANKS: Update. + +2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure (line too long in awk) + + * tests/parallel-tests-many.test: Use perl, not awk, to write the + Makefile.am with (deliberately) overly long TESTS content, as some + inferior awk implementations (e.g., Solaris 10 /usr/bin/awk) are + unable to handle the long lines used there and die with errors like: + "awk: string too long near line 5". + +2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failures when awk is "traditional awk" + + * tests/Makefile.am (do_subst): Also substitute '@AWK@'. + * tests/defs-static.in ($AWK): New, user-overridable and defaulting + to the substituted '@AWK@'. + * tests/defs (fetch_tap_driver): When the shell+awk implementation + of the TAP driver is required, export AM_TAP_AWK to point to a + properly capable awk, since the default awk might be a "traditional" + implementation, which won't be enough for our driver. This is the + right fix, since a proper setting of AM_TAP_AWK in the driver's + environment is expected (and documented to be required) in real + world uses of 'tap-driver.sh'. + +2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid many spurious failures for shells with busted 'set -e' + + Some versions of the BSD Korn shell wrongly bail out when the + 'errexit' shell flag is active and the left-hand command in a + "&&" list fails and that list is the *last* command of an entry + in a "case" statement. + + * tests/defs (gcc, g++, gcj): Work around that. + +2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + aclocal: don't create /usr/share/aclocal as empty + + Related to automake bug#10791. + + Since automake 1.11.2, aclocal no longer succeeds if the system + acdir '${datadir}/aclocal' (i.e., "/usr/share/aclocal" when + ${prefix} is "/usr") does not exist. So we now have a directory + *installed empty by default*, but whose existence is required by + aclocal in order for it to function at all. This might be + confusing, and sounds like asking for trouble in the long term. + + So we now also install a simple README file in that directory, + which briefly explains its purpose and warn that its existence + is required by the normal aclocal functioning. + + * m4/acdir/README: New file. + * m4/Makefile.am (dist_system_ac_DATA): Add it. + * m4/acdir/.placeholder: Delete, no more needed. + * m4/Makefile.am (EXTRA_DIST): Remove it. + * THANKS: Update. + +2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: document format for git commit messages + + * HACKING (Writing a good commit message): New section. + (Working with git): A related minor adjustment. + +2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: improve 'dist-hook' documentation + + * doc/automake.texi (The dist Hook): Explicitly document the fact + that the dist-hook should account for the case where the source + tree is read-only, mostly for the benefit of distcheck. Since + we are at it, do some minor unrelated rewordings, and remove + obsolescent advice. Motivated by the discussion on automake + bug#10878. + * tests/disthook.test: New test. + * tests/disthook-perms.test: Delete as obsolete. + * tests/list-of-tests.mk: Adjust. + +2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: improve "make distcheck" documentation + + * doc/automake.texi (Checking the Distribution): The fact that + "make distcheck" uses a read-only srcdir wasn't documented clearly + enough here. Fix that. Since we are at it, be more explicit + about the steps undertaken by "make distcheck", and re-organize + this section a bit. Motivated by the discussion on automake + bug#10878. + (distcleancheck): Rename this node (in the "FAQ" section) ... + (Errors with distclean): ... to this. + Add a proper "FIXME" comment. + +2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: proper capitalization and full stops in 'm4/depend.m4' + +2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: dist-hook and distcheck-hook can modify file permission + + See automake bug#10878. + + * tests/dist-hook-perms.test: New test, checking that the user can + use the 'dist-hook' target to modify permissions of distributed + files before putting them in the distribution tarball. + * tests/distcheck-writable-srcdir.test: New test, checking that the + user can use 'distcheck-hook' to ensure his packages is built by + "make distcheck" with a writable srcdir. This goes against the GNU + Coding Standards, but some package authors might not care about + them too much, and it's nice to support their use case too. + * tests/list-of-tests.mk: Add them. + +2012-02-25 Jim Meyering <meyering@redhat.com> + + tests: avoid spurious failure when gcj is not installed + + Since yesterday's commit, v1.11-2019-g4d2bf42, + the gcj4 test would fail when gcj is not installed. + + * tests/defs-static.in (GNU_GCJ, GNU_GCJFLAGS): Define. + * tests/Makefile.am (do_subust): Add those to the list of + substituted symbols. + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: look for GNU Java compiler at configure time + + Do this for consistency with what is done with other compilers. + + * configure.ac: Look for GNU java compiler at configure time. + * tests/defs (gcj): Adjust and simplify. + ($am__tool_prefix): Remove definition, it's not used anymore. + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + refactor: in Automake::Options (no semantic change) + + * lib/Automake/Options.pm: Prefer leading spaces to leading tabs + throughout. Minor whitespace and comment changes. + (_process_option_list): Simple refactoring to make the code more + pleasant to read and easier to modify in the future. This + refactoring also reduces code duplication, with the help of ... + (_option_must_be_from_configure, _is_valid_easy_option): ... these + new internal subroutines. + * tests/tar3.test: Enhance. + * tests/silent-amopts.test: New, checks that automake complains if + the 'silent-rules' option is used in AUTOMAKE_OPTIONS. + * tests/list-of-tests.mk: Add it. + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: typofixes and whitespace changes + + * configure.ac: Fix a typo in comments. + * aclocal.in: Get rid of latest form-feed (^L) usages. + * automake.in: Likewise. + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: looks for GNU compilers at configure time + + This way, if the generic C compiler determined configure time is + recognized to be the GNU C compiler, we can reuse it instead of + looking for a compiler named "gcc" (over and over again) in the + test scripts requiring the GNU C compiler. Ditto for the C++, + Fortran, and Fortran 77 compilers. + + This change will improve coverage by allowing us to more easily + use non-default GNU compilers throughout the testsuite. + + And as a bonus, this change also removes a weakness from our + testsuite that could cause spurious failures when flags passed + to the generic compilers were erroneously reused for the GNU + compilers; see automake bug#10859. + + * configure.ac: Look for the GNU compilers explicitly. Improve + some configure output and diagnostic since we are at it. + * tests/defs-static.in ($GNU_CC, $GNU_CXX, $GNU_FC, $GNU_F77): + Initialize with the values determined at configure time (while + allowing user overrides). + * tests/Makefile.am (do_edit): Also substitute the configure-time + values of GNU_CC, GNU_CXX, GNU_FC and GNU_F77. + * tests/defs (gcc, g++, gfortran, g77): Use the values for the GNU + compilers determined at configure time (i.e., $GNU_CC for the GNU + C compiler, and so on). + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs, news: document planned removal of obsolete macros and features + + * NEWS (Future backward-incompatibilities): Document planned removal + of several superseded and/or obsoleted macros, of the $(mkdir_p) + variable and @mkdir_p@ substitution, and of the support for the + two- or three-arguments invocation forms of AM_INIT_AUTOMAKE. + * doc/automake.texi: Likewise. + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: remove reference to lzma support, it has been removed + + Support for lzma compression in distribution tarball has been + removed in commit 'v1.11-1674-g02e9072' of 01-01-2012, "dist: + remove support for lzma (superseded by xz and lzip)", but was + still documented in the manual. + + * doc/automake.texi: Remove references to the 'dist-lzma' option + and to the lzma compression support. + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: fixlet in comment in automake + + * automake.in ($configure_dist_common): In the associated comment, + refer to scanning of 'configure.ac', not 'configure.in'. + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: assume 'test -x' is portable + + * lib/Makefile.am (installcheck-local): To verify that the installed + scripts are actually executable, simply use 'test -x', instead of + resorting to perl and its '-x' file operator. Today, 'test -x' + should today be portable to any non-museum system. Since we are at + it, improve diagnostic in case of failure. + +2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + deptrack: avoid few forks in configure (minor optimization) + + * m4/depend.m4 (_AM_DEPENDENCIES): Use 'echo > file' instead of + 'touch file' to ensure the creation of a dummy file. Adjust the + comment that explains why we can't simply use ': > file': the + problem this latter idiom tickles is present also with Solaris 10 + /bin/sh, not merely with Solaris 8 /bin/sh. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: remove an obsolete check + + * syntax-checks.mk (sc_perl_local_no_parens): Remove, we don't even + allow the use of local but for the '$_' and '$~' special variables. + (syntax_check_rules): Adjust. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: update w.r.t. change in quoting format + + * NEWS (New in 1.11.1a): State that we prefer to quote 'like this' + or "like this" rather than `like this', as according to the new GCS + recommendations. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + automake: do not quote `like this', as per GCS recommendation + + * automake.in: Convert comments, diagnostic and help screen to the + use of new quoting format 'like this' or "like this" rather than + `like this'. + * tests/stdlib2.test: Adjust. + * tests/ltinstloc.test: Likewise. + * tests/location.test: Likewise. + * tests/libtool8.test: Likewise. + * tests/ldadd.test: Likewise, and prefer trailing ':' over trailing + 'Exit 0'. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + aclocal: do not quote `like this', as per GCS recommendation + + * aclocal.in: Convert comments, diagnostic and help screen + to the use of new quoting format 'like this' or "like this" + rather than `like this'. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + pm: do not quote `like this', as per GCS recommendation + + This patch converts the internal perl modules used by automake and + aclocal to the use of new quoting format 'like this' or "like this" + rather than `like this'. + + * lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm, + lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm, + lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm, + lib/Automake/General.pm, lib/Automake/Item.pm, + lib/Automake/Rule.pm, lib/Automake/Getopt.pm, + lib/Automake/Options.pm, lib/Automake/Struct.pm, + lib/Automake/VarDef.pm, lib/Automake/Variable.pm, + lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and + adjust quoting format throughout, in comments and diagnostic. + Some minor related rewordings and reformatting since we are + at it. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + m4: do not quote `like this', as per GCS recommendation + + This patch converts the files comprising the automake's own build + system to the use of new quoting format 'like this' or "like this" + rather than `like this'. + + * m4/auxdir.m4, m4/ccstdc.m4, m4/depend.m4, m4/depout.m4, m4/tar.m4, + m4/init.m4, m4/maintainer.m4, m4/make.m4, m4/missing.m4, m4/vala.m4, + m4/mkdirp.m4, m4/sanity.m4, m4/silent.m4, m4/strip.m4: Update and + adjust quoting format throughout, in comments and diagnostic. Some + minor related rewordings and reformatting since we are at it. Bump + serial numbers. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: do not quote `like this', as per GCS recommendation + + This patch converts the files implementing the automake's own build + system to the use of new quoting format 'like this' or "like this" + rather than `like this'. + + * bootstrap, configure.ac, syntax-checks.mk, Makefile.am, + lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting + format throughout, in comments and diagnostic. Some minor related + rewordings and reformatting since we are at it. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: update advice w.r.t. release process + + * HACKING: Don't describe the obsolete 'git-release' target anymore. + Instead, document the new and improved targets 'git-tag-release' and + 'git-upload-release' (introduced in commit v1.11-674-gaf5f939 of + 25-01-2012, "release: revamp rules to tag and upload the releases"). + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: do not quote `like this', as per GCS recommendation + + * HACKING: Quote 'like this' or "like this", not `like this'. This + is done for consistency with the new recommendations in the GNU + Coding Standards, and because I've come to actually prefer the '...' + and "..." quoting format over the `...' one. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + am: do not quote `like this', as per GCS recommendation + + This patch converts the automake-provided '*.am' fragments, and + related files, to the use of new quoting format 'like this' or + "like this" rather than `like this'. + + * lib/am/check.am: Update quoting format throughout, in comments + and diagnostic. Some related rewordings, reformatting, and removal + of redundant commands since we are at it. + * lib/am/configure.am: Likewise. + * lib/am/dejagnu.am: Likewise. + * lib/am/depend2.am: Likewise. + * lib/am/distdir.am: Likewise. + * lib/am/inst-vars.am: Likewise. + * lib/am/install.am: Likewise. + * lib/am/lang-compile.am: Likewise. + * lib/am/lisp.am: Likewise. + * lib/am/ltlib.am: Likewise. + * lib/am/mans.am: Likewise. + * lib/am/progs.am: Likewise. + * lib/am/remake-hdr.am: Likewise. + * lib/am/subdirs.am: Likewise. + * lib/am/tags.am: Likewise. + * lib/am/texi-vers.am: Likewise. + * lib/am/texibuild.am: Likewise. + * lib/am/texinfos.am: Likewise. + * lib/am/yacc.am: Likewise. + +2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: quote 'like this', not `like this', as per GCS recommendation + + This patch converts the automake testsuite and related files, to + the use of new quoting format 'like this' or "like this" rather + than `like this'. + + This is done for consistency with the new recommendations in the GNU + Coding Standards, and, well, because I've come to actually prefer + the '...' and "..." quoting formats over the `...' one. + + * tests/README: Update quoting format throughout. Remove some + "excessive" use of quoting, and throw in minor rewording where + appropriate. + * tests/Makefile.am: Likewise, for comments. + * tests/CheckListOfTests.am: Likewise. + * tests/defs-static.in: Likewise. + * tests/defs: Likewise. + * tests/trivial-test-driver: Likewise. + * Many tests/*.tap, tests/*.test and tests/*.sh files: Likewise, + and for the diagnostic and informational messages as well. + * tests/gen-testsuite-part: Likewise, and for the generated tests + as well. + +2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + spy: "rm -f" and "rm -rf" without args are portable + + According to recent testing by Eric Blake, it seems that all + non-museum rm(1) implementations don't complain if called without + file operands, *if* the '-f' option is used. This behaviour will + likely be mandated by future versions of the POSIX standard as + well. + + We'd like to start assuming this rm(1) behaviour in future Automake + releases, in order to simplify some automake-provided cleanup rules. + So, for the moment, we add a new "spy" test in our test suite, to + try ensuring that all the rm(1) implementation we encounter "in the + wild" truly behaves as expected in this regard. + + For more references, see this discussion on the bug-autoconf list: + <http://lists.gnu.org/archive/html/bug-autoconf/2012-02/msg00002.html> + which sprang from coreutils bug#10819: + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10819> + and brought to the POSIX issue#542: + <http://austingroupbugs.net/view.php?id=542> + which has been accepted and will ensure that future version of the + POSIX standards will mandate that 'rm' shouldn't complain if called + without file operands, when the '-f' option is in use. + + * tests/spy-rm.test: New test. + * tests/list-of-tests.mk: Add it. + +2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failures under "make distcheck" + + * tests/tap-setup.sh: Pass also '-f' option to 'cp' invocations, + so that files that have already been copied in without write + permissions will still be overwritten where needed, instead of + causing a spurious testsuite failure. Issue seen when the + testsuite is run under "distcheck". + * tests/defs (get_shell_script): Remove target file before + overwriting it, for the same reason. Rework code flow a bit + since we are at it. + +2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: avoid spurious failure for 'parallel-tests-many.test' + + * tests/parallel-tests-many.test: Adjust grepping of "make check" + and "make recheck" output to match the new format of the testsuite + summary. Remove redundant 'set -e' call since we are at it. + +2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: prefer 'configure.ac' over 'configure.in' + + With this change, our testsuite now uses 'configure.ac' as the + name for the typical autoconf input, instead of the obsolescent + 'configure.in' (which has been deprecated for several years, at + least since autoconf 2.50). + + Most of the test cases changed by this commit have been + automatically modified with this sed command (using GNU + sed): + + sed -i 's/\<configure\(\\\?\)\.in\>/configure\1.ac/g' + + * syntax-checks.mk (sc_tests_no_configure_in): New syntax check. + (syntax_check_rules): Add it. + * tests/defs: Create stub for autoconf input in 'configure.ac', + not in 'configure.in'. Adjust comments. + ($AUTOCONF, $AUTOHEADER, $AUTORECONF): Remove workaround for the + infamous debian autoconf wrapper: we don't need such workaround + anymore now that we name our autoconf input as 'configure.ac'. + For more information, see commit v1.11-564-g63da492 "test defs: + hack to support autoconf-wrapper programs" of 16-12-2011. + * tests/README: Use 'configure.ac', not 'configure.in'. + * Many many tests: Likewise. + * tests/backcompat3.test: Adjust to avoid spurious failures. + * tests/backcompat5.test: Likewise. + * tests/missing6.test: Likewise. + * tests/backcompat6.test: Likewise, and extend a bit since we + are at it. + +2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: expose automake bug#7868 + + Expose the command-line length limit issue that can affect the + Automake-generated parallel-tests harness, especially on systems + where this limit is smaller (e.g., MinGW/MSYS). + + Suggestion by Bob Friesenhahn. + + * tests/parallel-tests-many.test: New test. We have verified that + it actually exposes the bug#7868, as it passes when we opportunely + reduce the number of test cases in $(TESTS). Checked on NetBSD 5.1 + 64bit, Debian unstable 32bit, Solaris 10 64bit and Cygwin 1.5 32bit. + * tests/list-of-tests.mk (handwritten_TESTS): Add it. + * tests/Makefile.am (XFAIL_TESTS): Likewise. + +2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove obsoleted "icc" requirement + + * tests/defs (icc): This requirement is not used anymore by any + test case, so remove it. + +2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + readme: fix typo in tests/README + +2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: "make installcheck" shouldn't run the testsuite twice + + * Makefile.am (installcheck-local): Remove. The "installcheck" + target provided by automake is already a recursive target, so + there's no need to have an 'installcheck-local' recipe that + manually recurse into 'tests/'. In fact, such a manual recursion + was causing the testsuite to be run twice by "make installcheck". + +2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: minor fixlets and reorganization + + * NEWS: Get rid of form-feed characters (^L) throughout the file. + Use separator lines instead (composed by 76 '~' characters), or + just an extra blank lines for older less verbose entries (those + predating the 1.8 release). + (New in 1.11.3): Move description of planned future backward + incompatibilities that won't make it to 1.12 ... + (New in 1.11a): ... in here. Quote 'like this', not `like this'. + Other minor miscellaneous rewordings and fixlets. + +2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: few typofixes + +2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + automake: new option 'serial-tests' + + Currently, automake offers a 'parallel-tests' option to enable the + use of the parallel testsuite harness in the generated Makefiles, + but no option to explicitly state the intention of using the older + serial testsuite driver (which is currently the default). + + This makes the parallel test harness seems like a second-class + citizen (while actually it should be the other way around); more + importantly, it will prevent us from making the parallel harness + be the default one in future automake versions, since the users + of the serial harness would then have no way to instruct automake + to continue using it. + + We solve all of this by introducing a new 'serial-tests' option. + + * lib/Automake/Options.pm (_process_option_list): Recognize the + new option, and related minor refactoring. + * tests/serial-tests.test: New test. + * tests/list-of-tests.mk: Add it. + * doc/automake.texi: Update. + * NEWS: Likewise. + +2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix a timestamp issue, and other minor buglets + + Reported by Panther Martin in automake bug#10848. + + * tests/conffile-leading-dot.test: Add a proper '$sleep' invocation, + to avoid spurious failures on fast systems without sub-second + timestamp resolutions. Add other minor related and unrelated + improvements and fixlets since we are at it. + +2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + automake: new option to print location of scripts and data files + + With this change, we add a new automake option '--print-libdir' + that prints (on stdout) the path of the directory containing the + Automake-provided scripts (e.g., 'missing' and 'install-sh') and + data files (e.g., INSTALL or texinfo.tex). + + Suggestion by Nick Bowler. See also automake bug#10473. + + * automake.in (parse_arguments): Handle the new option. + (usage): Mention it. + * doc/automake.texi (automake Invocation): Document it. + * NEWS: Update. + * tests/print-dir.test: New test. + * tests/list-of-tests.mk: Add it. + +2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: prefer the awk+sh TAP driver over the perl one + + We had completed our shell+awk implementation of the TAP driver + months ago, but never documented it in the manual, continuing to + document only the "prototype" written in perl instead. Time to + fix this, before the 1.12 release. + + * doc/automake.texi (Use TAP with the Automake test harness): Now + we document the use of the awk+shell implementation of our TAP + driver, rather than of the perl one. + * tests/tap-doc2.test: Adjust to use the shell+awk implementation + of the TAP driver. + +2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: be stricter in determining whether "make -jN" works + + * tests/parallel-tests3.test: With at least Solaris 10 CCS make, + "make -jN" does not fail, but merely prints a warning about + "DistributedMake -j option" being ignored. This was causing this + test case to fail spuriously. So we now use a stricter check in + determining whether make works in parallel mode. Since we are at + it, we try to cater also to Sun Distributed make, which understands + "-j N" but *not* "-jN". + +2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: don't trust exit status of "make -k" + + * tests/parallel-tests-extra-programs.test: Unless $MAKE is GNU + make, don't trust the exit status of "$MAKE -k". Fixes a spurious + failure with OpenBSD 5.0 make and NetBSD 5.1 make. + +2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix race condition in 'self-check-dir.tap' + + * tests/self-check-dir.tap (do_check): Don't fail if "ls -l" fails. + +2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: fix another BSD parallel make issue + + When BSD make is run in parallel mode, it apparently strips any + leading directory component from the automatic variable '$*' (of + course, against what POSIX mandates). This was causing FreeBSD 9.0 + make and NetBSD 5.1 make to spuriously fail with automake-generated + test harnesses if subdir tests were present *and* make was being + run in parallel mode. This issue affected also the Automake own + testsuite. + + * lib/am/check2.am (am__set_b): New internal variable. + (%OBJ%, %EXT%.log, %EXT%$(EXEEXT).log): Use it to work around + the described BSD make issue. + * tests/parallel-tests3.test: Enhanced to expose the bug. + * tests/parallel-tests-subdir.test: Enhance a little, since we + are at it. + * NEWS: Update. + +2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid FreeBSD make VPATH issues in more tests (see bug#7884) + + See also similar change 'v1.11-755-g818bc40' of 07-02-2012, + "tests: work around bug#7884 in many yacc/lex tests". The + rationale for this change is basically the same. + + * tests/lex-lib-external.test: Use "yl_distcheck" instead of + bare "$MAKE distcheck" to avoid extra failures caused by + automake bug#7884. + * tests/lex-noyywrap.test: Likewise. + * tests/lex-libobj.test: Likewise. + * tests/man6.test: This test suffers from the same FreeBSD make + incompatibility in VPATH handling that is the source of automake + bug#7884. Since this is caused by rules that are defined in the + Makefile.am by the test itself, rather that being generated by + automake, the best thing to do is to skip this test if we detect + the presence of said make incompatibility (through the function + 'useless_vpath_rebuild'). + * tests/man8.test: Likewise. + +2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: remove extra trailing whitespace in configure.ac + +2012-02-18 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'yacc-quote-fix' + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure with FreeBSD make + + * tests/parallel-tests-extra-programs.test: FreeBSD make seems to + write (some) diagnostic messages on stdout instead than on stderr, + so now we also grep the stdout for the expected make diagnostic. + +2012-02-17 Peter Rosin <peda@lysator.liu.se> + + tests: fix broken quoting in the generated yacc grammar + + Fixes problem introduced by v1.11-1912-ge0906b7 "tests: avoid + spurious failure with non-bison yacc" from 12-02-2012. + + * tests/suffix10.tap (Makefile.am): Avoid outer single quotes + when we need to produce single quotes. + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: always use correct path for automake/aclocal wrappers + + Otherwise, bootstrapping from a git checkout won't work anymore. + Issue introduced in today's commit 'v1.11-1974-ga98e58f'. + + * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Export PATH in a + way that makes the automake and aclocal wrappers truly accessible + (the location of this wrappers has been modified in a recent commit, + but this makefile hadn't been updated accordingly). + (update_mans): Likewise. + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure in VPATH build + + * tests/self-check-dir.tap: Adjust to handle running in a VPATH + build correctly. + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix many spurious failures in VPATH builds + + The 'is' helper script, used by some test cases since commit + 'v1.11-1830-g96401cb' of 08-02-2012, "tests: better way to compare + lists in Makefile rules", is not available in VPATH builds, since + it resides in $(srcdir), nor in $(builddir), and only $(builddir) + is added to $PATH in the test script. This was causing spurious + failures. + + Solve this issue by re-organizing a bit the layout and placing of + wrapper and help scripts used by the testsuite. This reorganization + is by no mean complete, but should be enough to solve the VPATH + issues. + + * tests/is: Moved ... + * tests/ax/is: ... here + * tests/automake.in: Moved ... + * tests/wrap/automake.in: ... here. + * tests/aclocal.in: Moved ... + * tests/wrap/aclocal.in: ... here. + * tests/defs-static.in ($am_bindir, $PATH): Adjust. + * configure.ac (AC_CONFIG_FILES): Likewise. + * tests/Makefile.am (EXTRA_DIST, check_SCRIPTS): Likewise. + * tests/get-sysconf.test: Likewise. + * .gitignore: Likewise. + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: relax a test to cater to NetBSD make + + * tests/parallel-tests-empty-testlogs.test: When $(TESTS) is empty, + NetBSD 5.1 make ends up defining $(TESTS_LOGS) to ".log" rather than + to the empty string (as would be expected). This behaviour was + causing a check in this test case to fail. But that check was in + fact overly strict, since our recipes are smart enough to work + around the botched-up substitution. Also, the failure wasn't a + regression from Automake 1.11, since that version too would have + triggered the same error with NetBSD 5.1 make. So we just relax + the test a little to avoid extra noise in the testsuite. + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS) + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS) + + * lib/am/header-vars.am (am__make_dryrun): Be smarter and more + correct in handling shell metacharacters in $(MAKEFLAGS). + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: TAP-based tests should error if no plan was specified + + After this change, it will still be OK for TAP-based tests not to + report any explicit TAP plan -- but they should state *explicitly* + that they want to do so, by calling the 'plan_' function with a + proper argument (currently, either "later" or "unknonwn"). + + Motivated by a recent issue introduced by yesterday's commit + 'v1.11-1959-g0699a84' (pointed out by Peter Rosin, and fixed + by follow-up commit 'v1.11-1961-gea44190'). + + * tests/tap-functions.sh (plan_): Get rid of '$have_tap_plan_', + and refactor use and initialization of '$planned_' in a way that + will allow client script to get more information on which kind + of plan (if any) has been declared by the former 'plan_' invocation. + (skip_all_): Adjust. + * tests/defs (exit trap): Only print the "lazy" TAP plan if 'plan_' + has requested that *explicitly*. + * syntax-check.mk (sc_tests_tap_plan): Remove: it's obsolete now, + since a TAP-based test that doesn't call 'plan_' explicitly won't + print any TAP plan, and the TAP driver will catch that and report + an error. + (syntax_check_rules): Adjust. + +2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: expose $(am__dry_run) limitations + + Currently, the internal $(am__dry_run) macro can fail in weird ways + when $(MAKEFLAGS) contains shell metacharacters. Let's expose this + limitation in the testsuite (and fix a couple of related weaknesses + since we are at it). + + * tests/make-dryrun.test: Moved ... + * tests/make-dryrun.tap: ... here, converted to TAP, and extended to + expose the described limitations. Also ... + (am_parallel_tests): Define this so that the 'gen-testsuite-part' + script won't generate a useless wrapper script. + * test/list-of-tests.mk: Update. + +2012-02-17 Peter Rosin <peda@lysator.liu.se> + + cosmetics: fix commit message typo in previous + + * .git-log-fix: The file is called .git-log-fix, nothing else. + +2012-02-17 Peter Rosin <peda@lysator.liu.se> + + fixup: .git-log-fix should not be executable + + * .git-log-fix: Set mode 644. + +2012-02-17 Peter Rosin <peda@lysator.liu.se> + + maint: support amending the generated ChangeLog, and fix a typo + + * Makefile.am (gitlog_to_changelog_options): Add support for + amending the generated ChangeLog. + (EXTRA_DIST): Update. + * .git-log-fix: New file with things to amend to the generated + ChangeLog, starting with a fix for a typo in v1.11-1963-g3b369e6 + "maint: use AC_PACKAGE_BUGREPORT to avoid duplication" from + yesterday. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: normalize copyright notice in some tests + + * tests/lisp3.test: Normalize copyright notice to read the + same of that of other tests. + * tests/lisp4.test: Likewise. + * tests/lisp5.test: Likewise. + * tests/lisp6.test: Likewise. + * tests/lisp7.test: Likewise. + * tests/lisp8.test: Likewise. + * tests/lispdry.test: Likewise. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + readme: fix grammaro + + Reported by Eric Blake. + + * README: Use "also has" instead of "has also"; the former sounds + better to a native speaker. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: use AC_PACKAGE_BUGREPORT to avoid duplication + + * configure.ac: In the message reporting whether the user is about + to build an alpha or beta version, use the autoconf-provided + AC_PACKAGE_BUGREPORT macro instead of duplicating the bug reporting + address. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + readme: update and renew + + * README: Remove stale or now-obvious description and advices. + Add reference to the INSTALL file. Some minor rewordings. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + depcomp tests: fix up today's botched commit + + Today's commit 'v1.11-1959-g0699a84' has caused the generated + 'depcomp*.tap' tests to call the 'plan_' function *before* it is + defined, and has also caused the extra checks required for better + libtool coverage to be run only when libtool is *not* in use, + rather than the other way around. Fix this mess. + + Report by Peter Rosin. + + * tests/gen-testsuite-part: Include './defs' in the generated + tests, rather than doing so from 'depcomp.sh'. Adjust the count + of TAP tests for 'depcomp-lt-auto.test' (it's 84, not 72). + * tests/depcomp.sh: Adjust accordingly, and fix inverted logic + about the decision of when to run extra checks for libtool. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: clearer diagnostic if "make" is invoked before "./configure" + + Since a GNUmakefile wrapper has been introduced in our build + system, a "make" invocation issued before a "./configure" one + has caused GNU make to die with the cryptic message: + + GNUmakefile:18: Makefile: No such file or directory + GNUmakefile:19: /syntax-checks.mk: No such file or directory + make: *** No rule to make target `/syntax-checks.mk'. Stop. + + * GNUmakefile: Detect when we are being run from an unconfigured + tree, and give helpful diagnostic. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + depcomp tests: put TAP plan in generated tests + + This avoids a spurious maintcheck failure, and also simplifies + the 'depcomp.sh' helper script a little. + + * tests/gen-testsuite-part: Create and place also a proper 'plan_' + call (to emit the TAP plan) in each generated 'depmod*.tap' test. + * tests/depcomp.sh: Remove 'plan_' invocations, and simplify a + little since we are at it. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + update-copyright: don't touch COPYING and INSTALL + + Reported by Peter Rosin. + + * update-copyright: Also exclude the COPYING and INSTALL files + found in the top-level directory. + * COPYING, INSTALL: Revert update of copyright years done in + today's commit 'v1.11-1948-g641a5a4'. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: whitelist some false positives + + Instead of tweaking or dumbing down some of our sources or tests + in order not to make them spuriously trigger few maintainer checks, + we tweak such checks instead. + + * syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Also + allow the variable 'exp' to be overridden on the make command line. + Whitelist the test 'make-dryrun.test' where appropriate. + (sc_mkinstalldirs): When whitelisting the 'mkinstalldirs' occurrence + in 'lib/Makefile.am', do not look for the exact line number: it is + obviously too fragile. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure with parallel make + + * tests/parallel-tests-extra-programs.test: Run make with the '-k' + option where appropriate, to ensure it doesn't stop at the first + error, which would prevent the building of the extra programs we + expect it to build. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure on older Cygwin + + * tests/tap-signal.tap: Sending a SIGQUIT on Cygwin 1.5 can cause a + segmentation fault instead (sometimes at least). Don't let this + older bug pollute the results of our testsuite. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: display captured make stdout in 'tap-signal.tap' + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure in 'suffix3.tap' + + * tests/suffix3.tap (foo.zoo): This C++ file fails to compile with + older g++ (3.4.4) on Cygwin 1.5.25 if we #include <iostream>. Don't + do that, since it's not strictly required, and the "using namespace" + directive is already enough to ensure the file contents is valid C++ + but invalid C. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: fix typo in description of AM_YFLAGS + + Report by Akim Demaille. + + * doc/automake.texi (Program variables): Don't list "-d -t" twice + in the examples of valid ways to specify the '-d' flag to Yacc; + instead, use "-d -t" and "-t -d". Add missing period. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: another spurious failure with older autoconf fixed + + * tests/aclocal8.test (configure.in): Also call 'AC_INIT', it's + required by some older autoconf versions (e.g., 2.63). + * tests/acloca15.test: Likewise. Add trailing ':' command since + we are at it. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure with older autoconf + + * tests/conffile-leading-dot.test: Relax grepping of 'config.status' + stderr, to cater for older autoconf. Issue revealed by a failure + with autoconf 2.63 on Cygwin 1.5.25. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: sync auxiliary files from upstream + + * lib/texinfo.tex: Synced from upstream, by "make fetch". + * lib/config.guess: Likewise. + * lib/config.sub: Likewise. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: run "make update-copyright" + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: add some missing copyright notices + + * tests/ChangeLog-old: Add copyright notice. + * tests/aclocal.in: Likewise. + * tests/automake.in: Likewise. + * tests/extract-testsuite-summary: Likewise. + * tests/prove-runner: Likewise. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + update-copyright: don't touch files synced from external packages + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + update-copyright: don't touch files synced from external packages + + * Makefile.am (update-copyright): Do not update copyright years of + files synced from external packages, as given by the '$(FETCHFILES)' + variable. Silence the recipe since we are at it. + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'extra-dist-tests-ksh-bug' + + * extra-dist-tests-ksh-bug: + tests: fix spurious failure when testing wildcards in EXTRA_DIST + +2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure when testing wildcards in EXTRA_DIST + + * tests/extra10.test: Remove the "make distcheck" call, since, at + least with GNU make 3.82, it trips on the fact that $(srcdir) is + not explicitly used in the wildcard in EXTRA_DIST. + +2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + fixup: distribute 'lib/update-copyright' + +2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: distribute 'lib/update-copyright' + + While the 'update-copyright' script shouldn't be needed by final + users, that's not a good reason to keep it out by the distribution, + as doing so might be unhelpful toward occasional but curious users + interested in peeking into the automake build system. + + * lib/Makefile.am (EXTRA_DIST): Distribute 'update-copyright'. + +2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: prefer $(GIT) over hard-coded "git" in maintainer recipes + + * Makefile.am (update-copyright, autodiffs): Use '$(GIT)' instead + of hard-coding 'git'. + +2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + maint: add a rule to use gnulib's update-copyright + +2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'extra-dist-tests-ksh-bug' + + * extra-dist-tests-ksh-bug: + tests: avoid ksh bug for wildcards in EXTRA_DIST + +2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'yl-work-for-master' + + * yl-work-for-master: (44 commits) + tests: truly use Lex and Yacc selected by configure + news: fix grammaros related to Yacc + yacc/lex tests: avoid spurious skips with non-GNU make + fixup: remove double news entry + tests: workaround for shells with broken 'set -e' + tests: avoid spurious failure with non-bison yacc + tests: fix spurious failures due to missing 'yywrap()' function + fixup: list of yacc/lex tests was botched + tests: work around bug#7884 in many yacc/lex tests + yacc/lex tests: remove an unneeded workaround for bug#8485 + yacc/lex tests: avoid too much failures with FreeBSD make + yacc-dist-nobuild.test: add reference to bug#7884 + yacc tests: fix bug in 'yacc-cxx.test' + lex tests: fix spurious link errors on Solaris + lex: "make clean" removes .c files from non-distributed .l + lex tests: make test on Lex dependency tracking more "semantic" + lex tests: remove erroneous check about ylwrap distribution + yacc tests: "make clean" removes C++ files from non-distributed .y + tests: add a workaround for automake bug#8485 + tests: add a couple of inter-tests reference + ... + +2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + cscope: is only expected to work with GNU make in VPATH setup + + The 'cscope' functionality does not properly handle VPATH rewrites; + so we explicitly document that, for now, it is only ensured to work + with GNU make when doing a VPATH build, and we adjust testsuite + requirements accordingly. + + Issue revealed by a failure of 'cscope.test' with Solaris 10 CCS + make. + + * doc/automake.texi (Tags): Document the limitations of the cscope + support. Couple of fixlets to formatting since we are at it. + * tests/cscope.test: Converted to TAP, and thus moved ... + * tests/cscope.tap: ... here. Only run tests with VPATH builds when + using GNU make. Adjust so that no C, C++, Fortran or Java compiler, + nor any Emacs program, will be required to run this test. + * tests/list-of-tests.mk: Adjust. + +2012-02-14 Jim Meyering <meyering@redhat.com> + + maint: add a rule to use gnulib's update-copyright + + * lib/update-copyright: New file, from gnulib. + * Makefile.am (FETCHFILES): Add update-copyright to the list. + (fetch): Fetch it. + (update-copyright): New rule. + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'doc-no-history' + + * doc-no-history: + docs: move chapter on automake history out of main manual + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + check: fix test-suite.log formatting with NetBSD sed + + * lib/am/check.am (am__rst_section): Tweak to ensure en extra final + newline is printed also with NetBSD sed. Issue revealed by a + failure of 'test-metadata-global-result.test'. + * tests/rst-formatting.test: New test, checking the internal + variables '$(am__rst_title)' and '$(am__rst_section)'. + * tests/list-of-tests.mk: Add it. + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid ksh bug for wildcards in EXTRA_DIST + + Some shells, like NetBSD 5.1 /bin/ksh, have a bug that causes + wildcards resulting from an unquoted parameter expansion not to + be expanded as expected in some cases: + + $ touch a b c d + $ /bin/sh -c 'var="[ab]" && echo $var' # As expected. + a b + $ /bin/ksh -c 'var="[ab]" && echo $var' # Oops. + [ab] + $ /bin/ksh -c 'var="?" && echo $var' # But this as expected. + a b c d + + This was causing a failure in our testsuite. Work around that. + + See also: + <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00149.html> + + * tests/extra11.test: Work around the described issue by using the + $(wildcard) builtin in the EXTRA_DIST definition. This is not a + problem, since this test was assuming GNU make anyway. Since we are + at it, enhance coverage a little by also running "make distcheck". + * tests/extra10.test: Similarly, enhance coverage by also running + "make distcheck", and fix a minor bug in the process. But continue + using a "bare" wildcard expression in EXTRA_DIST, without involving + the $(wildcard) builtin, to ensure coverage of similar usages "in + the wild". + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'fix-tap-signal-test' + + * fix-tap-signal-test: + fixup: fix test tap-signal.tap to avoid false negatives + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: fix test tap-signal.tap to avoid false negatives + + Problem introduced by yesterday commit v1.11-1851-g79b2c6a, + "tests: avoid yet other spurious failures on NetBSD" + + * tests/tap-signal.tap: Truly ensure the exit status of the make + call under test is correctly reflected in the TAP result displayed + by the corresponding 'command_ok_' invocation. + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + fixup: do not tickle makefile-deps.test with the make_dryrun code + gitattributes: custom merge driver for ChangeLog not needed anymore + gitattributes: use "union" merge driver for NEWS + +2012-02-14 Peter Rosin <peda@lysator.liu.se> + + fixup: do not tickle makefile-deps.test with the make_dryrun code + + * lib/am/header-vars.am (am__make_dryrun): Avoid code matching + '^ *:' in the Makefile, as that tickles makefile-deps.test. + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + gitattributes: custom merge driver for ChangeLog not needed anymore + + * .gitattributes: We don't maintain a version-controlled ChangeLog + file anymore, so we have no need to specify a custom merge driver + for it anymore. Update accordingly. + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + gitattributes: use "union" merge driver for NEWS + + This should help in reducing the spurious merge conflicts for the + NEWS file, which have already caused a great deal of confusion and + wasted time. + + Suggestion by Eric Blake: + http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00119.html + + * .gitattributes (NEWS): Use the "union" merge driver. + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: truly use Lex and Yacc selected by configure + + When 'yacc-work' was merged into 'yl-work-for-master' in commit + v1.11-1910-ge6c40d4 (12-02-2012), the values for $YACC and $LEX + stopped being substituted directly by config.status, and started + being substituted by a Makefile rule using the contents of the + $(YACC) and $(LEX) makefile variables. + + Unfortunately, our configure.ac was calling AM_SUBST_NOTMAKE on + 'YACC' and 'LEX' (see commit v1.11-284-g34ca92b of 29-01-2011, + "tests: don't define YACC and LEX in the Makefiles", for a + rationale), so that the $(YACC) and $(LEX) in the Makefile simply + hold the default make-provided values (that is, "yacc" and "lex" + respectively), independently of what yacc and lex programs were + defined at configure time. + + Apart from reducing coverage and creating confusion, this behaviour + also caused spurious failures on systems lacking a yacc and/or lex + programs. + + Problem reported by Peter Rosin. References: + <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00131.html> + <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00132.html> + + * configure.ac (AM_SUBST_NOTMAKE): Don't call anymore on 'YACC' nor + on 'LEX'. + +2012-02-14 Peter Rosin <peda@lysator.liu.se> + + depcomp tests: do not specify LDFLAGS for static libraries + + Commit v1.11-1848-gb3f34ca accidentally specified LDFLAGS + for libbaz even when built as a static library, which is + not allowed. + + * tests/depcomp.sh (src/Makefile.am): Don't add any LDFLAGS + when libbaz is built as a static library. + +2012-02-14 Peter Rosin <peda@lysator.liu.se> + + depcomp tests: avoid redundant runs for non-libtool test + + When running the dependency tests without libtool, it's + not meaningful to run the tests three-fold, the libtool + configure options are simply ignored anyway. + + * tests/depcomp.sh: Only run the tests three-fold when + libtool is in use. + +2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid yet other spurious failures on NetBSD + + * tests/tap-signal.tap: Add a "strategically placed" extra 'echo' + command and a temporary silencing of xtraces; they are required + to avoid possible garbled output with NetBSD make, which would + miss some final newlines in the expected places and thus mess up + our TAP output. + +2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid a spurious failure on NetBSD + + * tests/test-driver-is-distributed.test: Rewrite to avoid having to + edit configure.in; such editing was subtly botched on NetBSD (the + 'AC_CONFIG_AUX_DIR' call got misplaced, ending up *before* the + 'AC_INIT' call), and that caused an hard-to-track bug. Since we + are at it, extend coverage a little. + +2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure with NetBSD /bin/ksh + + * tests/parallel-tests-fd-redirect-exeext.test (configure.in): Tweak + so that we don't end up with the generated configure script having + two nested subshells that start with '((': + + ((./conftest$EXEEXT 9>&1) | grep "^foobar") >&5 2>&5 + + which is unportable and could confuse some shells (e.g., NetBSD 5.1 + /bin/ksh) into thinking we are trying to perform an arithmetic + operation. + +2012-02-13 Peter Rosin <peda@lysator.liu.se> + + tests: increase coverage for depcomp tests + + On platforms requiring that no undefined symbols exist in order + to build shared libraries (e.g. Windows DLLs), you have to + explicitly declare that the libtool library you are building + does not actually have any undefined symbols, for libtool to + even try to build it as a shared library. Without that + explicit declaration, libtool falls back to a static library + only, regardless of any --enable-shared flags etc. + + tests/depcomp.sh (Makefile.am): Add -no-undefined if a libtool + library (.la) is built. + (src/Makefile.am): Likewise. + +2012-02-13 Peter Rosin <peda@lysator.liu.se> + + news: fix grammaros related to Yacc + + * NEWS: Fix some grammaros and typos. + +2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + yacc/lex tests: avoid spurious skips with non-GNU make + + * tests/defs (useless_vpath_rebuild): Fix botched logic that + was causing this function to always diagnose non-GNU make + implementations as being affected by the "useless rebuilds + in VPATH setup" bug (that affects FreeBSD make and causes + automake bug#7884). + +2012-02-13 Peter Rosin <peda@lysator.liu.se> + + fixup: remove double news entry + + * NEWS: Remove double (stale) news entry introduced by a botched + merge. + +2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: workaround for shells with broken 'set -e' + + * tests/dist-formats.tap: Some versions of the BSD shell wrongly + bail out when the 'errexit' shell flag is active and the left-hand + command in a "&&" list fails and that list is the *last* command + of a "case" statement. This was causing an incorrect initialization + of the '$missing_compressors' variable, and thus potential spurious + failures when non-existing programs were assumed to be available. + +2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: workaround for shells with broken 'set -e' + + * tests/yacc-cxx.test: Some versions of the BSD shell wrongly bail + out when the 'errexit' shell flag is active if the left-hand + command in a "&&" list fails and such list is the *last* command + of a "for" or "while" loop or of an "if" construct. Work around + this issue. + * tests/check12.test: Likewise. + +2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure with non-bison yacc + + Issue revealed by a failure on NetBSD 5.1. + + * tests/suffix10.tap (Makefile.am): Adjust the rule generating + the '.y' files so that such files won't use bison-only features. + +2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failures due to missing 'yywrap()' function + + The AC_PROG_LEX Autoconf macro does not diagnose a failure to find + the "lex library" expected to provide a 'yywrap' function (function + which is required to link most lex-generated programs). On the + contrary, when all the link attempts (i.e., with '-ll' and '-lfl') + fail, configure declares that no lex library is needed, and simply + proceeds with the configuration process -- only for the build to + possibly fail later, at make time. + + This behaviour is intended; the Autoconf manual reads: + + You are encouraged to use Flex in your sources, since it is + both more pleasant to use than plain Lex and the C source it + produces is portable. In order to ensure portability, however, + you must either provide a function 'yywrap' or, if you don't use + it (e.g., your scanner has no '#include'-like feature), simply + include a '%noyywrap' statement in the scanner's source. + + This AC_PROG_LEX behaviour is causing some spurious failures of + the Automake testsuite in environments which lack a proper library + providing 'yywrap' (this happens for example on Fedora-based + systems). The proper workaround is to simply provide a fall-back + implementation of 'yywrap' in our lexers. + + See also similar commits 'v1.11-546-gca0ba5d' (24-10-2011), + 'v1.11-1085-gb5c3968' (24-10-2011) and 'v1.11-871-geb147a1' + (25-05-2011). + + * tests/lex-clean.test: Provide a dummy 'yywrap' function. + * tests/lex-line.test: Likewise. + * tests/lex-nodist.test: Likewise. + * tests/lex-depend.test: Likewise. + * tests/lex-clean-cxx.test: Move the dummy 'yywrap' function + from the main '.cc' file into the '.lxx' file, so that it won't + be subject to the namespace declaration in the '.cc' file (which + was causing a spurious link error in systems without a default + "lex library"). + +2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'yacc-work' into yl-work-for-master + + * yacc-work: (37 commits) + fixup: list of yacc/lex tests was botched + tests: work around bug#7884 in many yacc/lex tests + yacc/lex tests: remove an unneeded workaround for bug#8485 + yacc/lex tests: avoid too much failures with FreeBSD make + yacc-dist-nobuild.test: add reference to bug#7884 + yacc tests: fix bug in 'yacc-cxx.test' + lex tests: fix spurious link errors on Solaris + lex: "make clean" removes .c files from non-distributed .l + lex tests: make test on Lex dependency tracking more "semantic" + lex tests: remove erroneous check about ylwrap distribution + yacc tests: "make clean" removes C++ files from non-distributed .y + tests: add a workaround for automake bug#8485 + tests: add a couple of inter-tests reference + lex tests: require just `lex' instead of `flex' + fix typo in ChangeLog (2011-05-04) + tests defs: use `skip_' for skipping yacc/lex related tests + lex/yacc tests: remove redundant $distdir definition + coverage: test lex-generated "#line" directives postprocessing + tests: minor improvements to a couple of yacc tests + tests: fix spurious failure in test 'yacc-d-cxx.test' + ... + + + Extra non-trivial edits: + + * tests/defs.in: Delete; the differences from maint has been + merged into 'tests/defs' and 'tests/defs-static.in'. + * tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to + skip the whole test case if yacc (resp. lex) is missing. + (bison): New, set up the environment so that 'bison -y' will + be used as the yacc program. + (useless_vpath_rebuild, yl_distcheck): Moved in from + 'tests/defs.in'. + * tests/defs-static.in ($YACC, $LEX): Default to the values + determined at configure time, and allow them to be overridden + by the more namespace-safe variables '$AM_TESTSUITE_YACC' and + '$AM_TESTSUITE_LEX' respectively. + * tests/Makefile.am (do_subst): Also substitute '@YACC@' and + '@LEX@'. + * Several tests: Fix requirements declarations, by preferring + 'lex' and 'yacc' over 'flex' and 'bison' whenever possible. + +2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: list of yacc/lex tests was botched + + * tests/list-of-tests.mk: Update to take into account the addition, + renaming, removing or split-ups of Yacc/Lex tests that have taken + place in the 'yacc-work' branch. Problem likely introduced by a + botched merge of 'maint' into 'yacc-work'. + +2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: move chapter on automake history out of main manual + + The chapter on Automake history, while certainly interesting and + even fascinating, does not truly pertain to a reference manual, + so move it out from there and into its own dedicated file. This + change is made more advisable and pressing by the fact that such + and "Automake history" chapter hasn't been updated since the 1.9.6 + release, so it has been becoming less faithful and useful since + then. + + * doc/history.texi: New, manual on the history of the automake + package; extracted from ... + * doc/automake.texi: ... this file, with related adjustments. + * doc/Makefile.am (info_TEXINFOS): Add 'history.texi'. + (history_TEXINFOS): New, list included file 'fdl.texi'. + * Makefile.am (release-stats): Remove as obsolete. + * HACKING (Release Procedure): Don't advise anymore to run the + "release-stats" target and to update the manual with its output. + * NEWS: Update. + * .gitignore: Likewise. + +2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + depcomp tests: avoid redundant runs for libtool tests + + When running libtool-oriented tests, our 'depcomp.sh' script used + to run the same checks thrice: once after having run configure + with the '--disable-shared' option, once after having run it with + the '--enable-shared' option, and once by allowing configure to + automatically select which kind of library (or libraries) to build. + + This was done to offer extra coverage for the less-common depmodes + (like "aix" of "hp2") where the name of the compiler-generated + depfiles can depend on whether libtool is in use *and* on which + kind of libraries libtool is building (static, shared, or both). + About this, see commit 'Release-1-10-24-ge89ec38' of 28-03-2007, + "* lib/depcomp (aix): Rewrite depmode in the spirit of the tru64 + one". + + But that extra coverage came at the price of *considerably* slowing + down the depcomp libtool-oriented tests, since for each of them the + tested source tree was configured and built *twelve* times (rather + than "just" four as it is for the non-libtool case). + + So, to strike a balance between coverage and speed, we now run the + libtool-oriented tests with the three different configuration modes + *only* when it is possible that the depmode that will get selected + is one of those which can actually benefit from the extra coverage. + + * tests/depcomp.sh: Adjust to only run the threefold libtool tests + when that can truly be potentially useful. Add related explanatory + comments. + +2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid wrong skips in dist-formats.tap + + * tests/dist-formats.tap: The test checking whether the 'compress' + program is actually capable of compressing files relied on the + assumption that 'compress' exits with status zero if no problem + occurs; alas, this reasonable assumption doesn't hold in practice, + since 'compress' does (and is documented to) exit with status 2 if + the output is larger than the input after (attempted) compression! + Fix this by using and input that 'compress' can actually reduce in + size when compressing. + Do some related reformatting of surrounding code since we are at it. + +2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: few tweakings and cosmetic changes + + * tests/dist-formats.tap: Fix botched spacing. + * tests/subobjname.test: Prefer spaces to tabs in indentation. + * tests/cond43.test: Likewise. + * tests/comment7.test: Likewise. + * tests/compile_f90_c_cxx.test: Use "$tab" instead of literal + tab characters in the grep regexp. + * tests/compile_f_c_cxx.test: Likewise. + * tests/pluseq3.test: Likewise. + * tests/cond-basic.test: Likewise. + * tests/acloca16.test: Add empty line before trailing ':' command. + * tests/bsource.test: Likewise. + * tests/depend5.test: Likewise. + * tests/depend6.test: Likewise. + * tests/destdir.test: Likewise. + * tests/fort2.test: Likewise. + * tests/instdir-java.test: Likewise. + * tests/instdir-lisp.test: Likewise. + * tests/instdir-python.test: Likewise. + * tests/instdir.test: Likewise. + * tests/instdir2.test: Likewise. + * tests/ltinstloc.test: Likewise. + * tests/missing.test: Likewise. + * tests/missing2.test: Likewise. + * tests/nodef.test: Likewise. + * tests/nodef2.test: Likewise. + * tests/subst4.test: Likewise. + * tests/werror3.test: Likewise. + * tests/commen11.test: Likewise. Also, make grepping of automake + stderr slightly stricter, and properly quote strings with shell + metacharacters. + * tests/nodep2.test: Add empty line before trailing ':' command. + Do not create unneeded dummy source files. + +2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove a couple of redundant 'set -e' calls + + * tests/conffile-leading-dot.test: Do not set the 'errexit' + shell flag, as it is already set by 'tests/defs'. + * tests/make-dryrun.test: Likewise. + +2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + tests: fix a timestamp-related spurious failures + dryrun: fix regression with '$(am__make_dryrun)' + test defs: function 'is_newest' now works also with directories + +2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'dryrun-fix' into maint + + * dryrun-fix: + dryrun: fix regression with '$(am__make_dryrun)' + +2012-02-09 Peter Rosin <peda@lysator.liu.se> + + tests: check if 'compress' is real or fake + + On Cygwin, 'compress' is provided by sharutils and is just a + dummy script that is not able to actually compress (it can + only decompress). This fake 'compress' is not usable for + our purpose - to create compressed tarballs. + + * tests/dist-formats.tap (missing_compressors): Count 'compress' + as missing if it does not support the -c option. + +2012-02-08 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'msvc' + + * msvc: + depcomp: try to prevent whitespace regressions + depcomp: recognize tabs as whitespace in the dashmstdout mode + depcomp: quote 'like this', not `like this' + +2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com> + + depcomp tests: avoid spurious failures with 'dashXmstdout' depmode + + * tests/gen-testsuite-part: The 'dashXmstdout' depmode cannot be + truly forced on gcc (like we were trying to do, causing spurious + failures in the process); so don't do that. This change shouldn't + actually reduce coverage anyway, since, as the comments in + 'lib/depcomp' say, the 'dashXmstdout' depmode is just like + the 'dashmstdout' one, only with a different argument for the + compiler. + +2012-02-08 Peter Rosin <peda@lysator.liu.se> + + depcomp: try to prevent whitespace regressions + + Suggested by Stefano Lattarini. + + * lib/depcomp: Add $tab and $nl variables and use them + throughout. + +2012-02-08 Peter Rosin <peda@lysator.liu.se> + + depcomp: recognize tabs as whitespace in the dashmstdout mode + + Commit Release-1-7-2b-2-gf03ceab "Cope with DOS filenames in + dependencies." inadvertedly converted tabs into spaces. + + * lib/depcomp (dashmstdout): Add a tab character to all sets + matching whitespace. + +2012-02-08 Peter Rosin <peda@lysator.liu.se> + + depcomp: quote 'like this', not `like this' + + Cherry-picked from recent changes from master. + + * lib/depcomp: Quote 'like this', not `like this'. + +2012-02-08 Peter Rosin <peda@lysator.liu.se> + + tests: check the depmodes 'msvisualcpp' and 'msvcmsys' + + * tests/defs (cygpath): New requirement, checking that cygpath + is working. + (mingw): New requirement, checking that the build system is + MSYS (in its normal MinGW mode). + * tests/gen-testsuite-part (depmodes): Add entries for depmodes + 'msvisualcpp' and 'msvcmsys'. + +2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: better way to compare lists in Makefile rules + + With this commit, we introduce a new helper shell script for use + in the testsuite, which is meant to allow the test cases to easily + check whether two whitespace-separated lists are equal; this ability + is particularly useful to check for equality of the contents of make + variables that are expected to contain multiple whitespace-separated + words, and are defined through line continuations (or are rewritten + by automake in this way), or that contain expansion of potentially + empty variables. + + Before this change, a test checking that an usage like this one: + + VAR = valA + if COND1 + VAR += val1 # com1 + endif COND1 + VAR += valC + + worked as expected, couldn't use rules like: + + ## Doesn't work because $(VAR) expands to multiple words + verify: + test $(VAR) = "valA val1 valC" + + nor like: + + ## Doesn't work because the final expansion of $(VAR) contains + ## repeated contiguous whitespace characters (it actually + ## equals "valA val1 valC", not "valA val1 valC"), and this + ## is an internal detail which might change and which we don't + ## want to explicitly rely on. + verify: + test "$(VAR)" = "valA val1 valC" + + Instead, we had to rely on cumbersome workaround such as: + + ## This works, but is ugly. + verify: + test "`echo $(VAR)`" = "valA val1 valC" + + or: + + ## This works, but is even uglier. + verify: + echo BEG: $(VAR) :END | grep "BEG: valA val1 valC :END" + + Now, with the help of the new 'is' script, we can perform such a + check in a clearer and more straightforward way, as in: + + ## Works, and reads clearly. + verify: + is $(VAR) == valA val1 valC + + * tests/is: New helper shell script, telling whether two whitespace + separated lists are equal. + * Makefile.am (EXTRA_DIST): Add it. + * tests/colneq2.test: Use the new helper script, and accordingly + get rid of older, more cumbersome idioms. + * tests/cond11.test: Likewise. + * tests/cond16.test: Likewise. + * tests/cond18.test: Likewise. + * tests/cond22.test: Likewise. + * tests/cond31.test: Likewise. + * tests/cond38.test: Likewise. + * tests/test-logs-repeated.test: Likewise. + * tests/objext-pr10128.test: Likewise. + * tests/programs-primary-rewritten.test: Likewise. + * tests/substre2.test: Likewise. Also ... + (configure.in, Makefile.am): Add a couple of hack to avoid having + to require (and run) a C compiler; accordingly ... + ($required): ... remove this. + * tests/exeext4.test: Likewise. + * tests/substref.test: Likewise. Also ... + (hello.c): Use ": >" rather than "cat <<EOF" to generate it, + since it's meant to be empty anyway. + * tests/cond4.test: Use the new helper script, and accordingly + get rid of older, more cumbersome idioms. Avoid some unnecessary + uses of "make -e" since we are at it. + * tests/cond19.test: Likewise. + * tests/cond32.test: Likewise. + * tests/cond6.test: Use the new helper script, and accordingly + move some checks in the Makefile.am. + Avoid unnecessary execution of automake remake rules by manually + "touching" aclocal.m4 + +2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: improve and rework tests on dependency tracking + + Fixes automake bug#10434. Suggestion by Peter Rosin. + + The 'depcomp.tap' test case worked by trying to unconditionally + force the compiler in use by the testsuite to use, one by one, *all* + the dependency modes known by the 'depcomp' script, and, for each + such forced mode that was compatible enough with said compiler not + to cause breakage in the basic compilation rules, checking that it + was *also* good enough not to break remake rules in VPATH builds. + + This seemed a good approach when this test was first introduced, as + it apparently increased coverage for the less used and less tested + dependency-tracking modes. But in the log run it turned out the + approach was actually in part too brittle, causing some annoying + spurious failures (as with the Tru64 depmode forced on GCC, see + automake bug#10434), and partly too forgiving, since, for some of + the more corner-case dependency modes, the 'depcomp' script simply + reverts to silently disabling dependency tracking when an error is + encountered (this happened e.g., with the Tru64 depmode forced on + the Sun C compiler 5.9), so that a passing test means nothing, and + only gives a false sense of security. + + As Peter Rosin put it, "it's just dead wrong to assume that feeding + -M or -xM to the compiler (or whatever other random stuff 'depcomp' + might do) and not get an error is the same as dependencies magically + appearing". + + So we get rid of this wrong approach, and in the process proceed to + a complete overhaul of many of the tests on automatic dependency + tracking, extending the offered coverage and rationalizing their + organization. + + * tests/depcomp.sh: New helper script, used by several new + autogenerated tests. + * tests/gen-testsuite-part: Generate several tests based on the + new 'depcomp.sh' script. Emit makefile code that declares their + dependency on that script, and that extends EXTRA_DIST in order + to distribute it. + * tests/depmod.tap: Remove. + * tests/depend2.test: Remove, it has been subsumed by the new + autogenerated test 'depcomp-disabled.tap'. + * tests/depcomp3.test: Remove, it has been subsumed by the new + autogenerated test 'depmod-dashmstdout.tap'. + * tests/depcomp3.test: Remove, it has been subsumed by the new + autogenerated test 'depmod-lt-makedepend.tap'. + * tests/depcomp6.test: Remove, it has been subsumed by the new + autogenerated test 'depmod-auto.tap'. + * tests/depcomp7.test: Remove, it has been subsumed by the new + autogenerated test 'depmod-lt-auto.tap'. + * tests/depcomp5.test: Remove as obsolescent. + * test/list-of-tests.mk: Adjust. + * .gitignore: List the new autogenerated tests. + +2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix a timestamp-related spurious failures + + Fixes automake bug#10737. Report from Larry Daniel. + See also automake bug#8365 and commit 'v1.11-329-gd4df619' of + 30-03-2011, "tests: fix timestamp-related failures". + + * tests/aclocal5.test: Sleep before modifying m4 files that should + trigger remake rules. This fixes an hard-to-hit timestamp-related + race condition. + * THANKS: Update. + +2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + dryrun: fix regression with '$(am__make_dryrun)' + + In commit v1.11-683-gda0964e of 05-02-2012, we introduced a new + variable '$(am__make_dryrun)' that could be used in recipes to + determine whether make is running in dry mode (e.g., as with + "make -n"). Unfortunately, the idiom we used fails to take into + account the case in which $(MAKEFLAGS) contains one or more variable + definitions whose value is a whitespace-separated list; for example, + if we invoke make as: + + make check TESTS="n1.test n2.test" + + then the better make implementations out there (at least modern + GNU make and BSD make) will export MAKEFLAGS to the following + value: + + TESTS=n1.test\ n2.test + + So a shell loop like the one we used in $(am__make_dryrun): + + for flag in $$MAKEFLAGS; do ... + + won't behave as expected: the shell word-splitting rules will break + up the entry for TESTS into the two distinct entries "TESTS=n1.test\" + and "n2.test", and this second entry will goad our $(am__make_dryrun) + code into thinking that make is performing a dry run! + + So now we simply loop over the expanded value of $(MAKEFLAGS). + This solves the regression, but alas, is more brittle in case the + users passes on the command line a macro value containing unbalanced + " or ' quotes, or shell metacharacters like, say, '`' or '('. This + should almost never happen though, so we don't worry about it now; + we will revisit the issue only when and if we receive bug reports in + this area. + + * lib/am/header-vars.am (am__make_dryrun): Fix. + * tests/make-dryrun.test: New test. + * tests/list-of-tests.mk: Add it. + +2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: work around bug#7884 in many yacc/lex tests + + Due to automake bug#7884, many test cases on Yacc/Lex support are + failing when run with FreeBSD make. Since these failures are all + due to the same bug, and that bug is well understood and already + explicitly exposed in the dedicated 'yacc-dist-nobuild.test' test, + the reported failures are mostly noise, that not only is annoying, + but which might end up covering different real bugs or regressions. + + Thus we minimize such spurious failures, by ensuring the commands + triggering them (most of them being "make distcheck" invocations) + will be skipped when $MAKE suffers of the bug/limitation that + triggers automake bug#7884. + + * tests/defs.in (useless_vpath_rebuild): New function. + (yl_distcheck): Likewise. + * tests/lex3.test, tests/subpkg-yacc.test, tests/yacc-basic.test, + tests/yacc-cxx.test, tests/yacc-d-basic.test, tests/yacc-d-cxx.test, + tests/yacc-dist-nobuild-subdir.test : Use them to avoid extra + failures caused by automake bug#7884. Where possible, throw in + some related simplifications. + +2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' into yacc-work + + * maint: (75 commits) + test defs: function 'is_newest' now works also with directories + refactor: new variable telling whether make is running in "dry mode" + ... + +2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: avoid spurious XPASS results with NetBSD make + + * tests/defs (make_can_chain_suffix_rules): Ensure to properly + declare the '.SUFFIXES:' in the temporary Makefile used to check + whether $MAKE is able to automatically chain suffix rules. This + avoids spurious XPASS results with (at least) NetBSD make in some + 'suffix*.tap' tests; in a sense also, this also makes the probing + of $MAKE capabilities more faithful, since the Automake-generated + Makefiles are expected to properly declare the '.SUFFIXES:' as + well. + +2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: few whitespace fixlets + +2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: various typofixes + + Several typofixes in documentation and comments, as + suggested by the "codespell.py" script. Reference: + <http://git.profusion.mobi/cgit.cgi/lucas/codespell/> + +2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: convert encoding from ISO-8859 to UTF-8 in some tests + + The changed files have been converted using iconv; specifically, + the command "iconv --from-code=ISO-8859-1 --to-code=UTF-8". + + * tests/block.test, tests/tagsub.test: Converted to UTF-8 encoding. + +2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: remove obsolete requirement 'rst2html' + + * tests/defs (rst2html): Remove, it's not needed anymore now that + the old code supporting the ".log -> .html" conversion for the + parallel-tests harness has been moved in contrib. This removal + should have actually be done in commit v1.11-1757-g0a9d201 of + 17-01-2012, 'check: move ".log -> .html" conversion in contrib'. + +2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: workaround for shells with broken 'set -e' + + * tests/defs (gmake, native, rst2html): Some versions of the BSD + shell wrongly bail out when the 'errexit' shell flag is active and + the left-hand command in a "&&" list fails, if that list is the + *last* command of a "for" or "while" loop. Work around this issue. + * tests/lex3.test: Likewise. + * tests/check12.test: Likewise. + * tests/yacc-basic.test: Likewise. + * tests/lex-noyywrap.test: Likewise. + * tests/parallel-tests2.test: Likewise. + * tests/lex-lib-external.test: Likewise. + * tests/check-no-test-driver.test: Likewise. + * tests/test-metadata-recheck.test: Likewise. + * tests/parallel-tests-dry-run-1.test: Likewise. + * tests/parallel-tests-dry-run-2.test: Likewise. + * tests/parallel-tests-unreadable.test: Likewise. + * tests/test-driver-custom-no-extra-driver.test: Likewise. + + Problem revealed by spurious testsuite failures on a NetBSD 5.1 + system and an OpenBSD 5.0 system. + +2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: fix a typo in comments + + * tests/extra-programs-empty.test: Fix typo in heading comments. + +2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: function 'is_newest' now works also with directories + + Reported by Jim Meyering against automake master (see bug#9147) and + by Adam Sampson against automake 1.11.3 (see bug#10730). + + * tests/defs (is_newest): Call 'find' with the '-prune' option, + so that it won't descend in the directories (which could cause + spurious results). + * THANKS: Update. + + Backported from commit v1.11-914-gb6a40fa (originally on master). + +2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: more uses for '$(am__make_dryrun)' + + With this change we refactor some recipes of the parallel-tests + harness to make them use, where appropriate, the new internal + variable '$(am__make_dryrun)' (introduced in the 'maint' branch) + when they need to determine whether make is running in "dry mode", + i.e., with "make -n". This allows for some simplifications and + for improved uniformity. + + * lib/am/check.am (check-TESTS recheck): Use $(am__make_dryrun) and + simplify accordingly. + (am--redo-logs): Delete this internal helper recipe, merged into ... + ($(TEST_SUITE_LOG)): ... this, with the help of $(am__make_dryrun). + recipe accordingly. + +2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + refactor: new variable telling whether make is running in "dry mode" + tests: do not clobber the modified CC + +2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + refactor: new variable telling whether make is running in "dry mode" + + We define a new variable '$(am__make_dryrun)', that can be used + in recipes to determine whether make is running in "dry mode" (as + with "make -n") or not. This is useful in rules that invoke make + recursively, and are thus executed also with "make -n" -- either + because they are declared as dependencies to '.MAKE' (NetBSD make) + or because their recipes contain the "$(MAKE)" string (GNU and + Solaris make). + + * lib/am/header-vars.am (am__make_dryrun): New variable. + * lib/am/check.am (check-TESTS recheck): Use it, and simplify + recipe accordingly. + * lib/am/distdir.am (distdir): Likewise. + * lib/am/lisp.am ($(am__ELCFILES)): Likewise. + +2012-02-02 Peter Rosin <peda@lysator.liu.se> + + tests: do not clobber the modified CC + + If CC is originally a losing compiler, AM_PROG_CC_C_O will + modify CC. "$MAKE -e" will then clobber this modified CC + and reintroduce the raw losing compiler causing the test + to fail, as subdir-objects is in effect. + + tests/check8.test: Drop -e from the $MAKE invocation, since + AM_COLOR_TESTS is not specified in the Makefile and -e is + therefore not needed. + +2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: fix indentation and typos in perl TAP driver + + * lib/tap-driver.pl (get_test_exit_message): Fix botched + indentation. Fix typo in error message: s/ststus/status/. + +2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: fix typo in variable name ($AM_TESTSUITE_PERL) + + * tests/defs-static.in: Fix typo: it's '$AM_TESTSUITE_PERL', + not '$AM_TESTUITE_PERL'. + +2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + tap/perl: handle missing or non-executable scripts better + + This change improves how our Perl-based TAP driver handles + non-runnable test scripts (meaning they might be not executable, + or not readable, or even not exist). In particular, it makes the + driver deterministically display a clear "ERROR" result instead + of possibly dying with diagnostic from 'TAP::Parser' internals, + and prevents it from displaying spurious "missing TAP plan" errors. + + Moreover, with this change, some testsuite failures present only + with newer perl versions (e.g., 5.14) are fixed. See automake + bug#10418. + + * tests/tap-bad-prog.tap: When testing the perl implementation of + the TAP driver, and when the perl interpreter offers a good-enough + 'IPC::Open3::open3' function, expect it not to display spurious + "missing TAP plan" diagnostic if the error is actually due to a + non-runnable test script. + * lib/tap-driver.pl (start): Removed, broken up into ... + (setup_io): ... this ... + (setup_parser): ... and this, which now tries to catch and report + errors in launching the test scripts. + (finish): New, used by both 'main' and 'setup_parser'. + (main): Adjust. + +2012-02-01 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'maint' + +2012-02-01 Peter Rosin <peda@lysator.liu.se> + + tests: put AM_PROG_CC_C_O before AC_OUTPUT to help losing compilers + + When AM_PROG_CC_C_O is after AC_OUTPUT, the compile script + is not used even if needed, causing testsuite fails if + libtool is not used. + + * tests/depcomp8a.test: Uncomment the AM_PROG_CC_C_O macro + in its correct location, as indicated... + (configure.in): ...with this comment. + * tests/depcomp8b.test: Sync with tests/depcomp8a.test. + +2012-01-31 Stefano Lattarini <stefano.lattarini@gmail.com> + + cleanup: remove unused .am file + + * lib/am/comp-vars.am: Remove. This file has stopped being useful + since commit 'Release-1-4d-206-g3334f9a' of 09-04-2001, and should + have been removed back then. But apparently only its contents were + removed, leaving the file empty but still present in the repository. + Or maybe this situation is the consequence of a minor blunder in + the conversion from CVS to Git; either way, this is not a big deal. + +2012-01-31 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + tests: do not assume the object file extension is .o + tests: avoid spurious failure of 'transform2.test' on Cygwin + tests: avoid spurious failure of deleted-am.test with FreeBSD make + tests: avoid possibly undeserved PASS from check8.test + warnings: more precise category and message for one warning + release: revamp rules to tag and upload the releases + amversion: add missing dependency + hacking: update advice w.r.t. synced files + hacking: don't reference ChangeLog anymore + + + Extra non-trivial edits: + + * tests/suffix8.tap: Copy in (by hand) the modifications done + to 'suffix8.test' on maint, i.e., the addition of an explicit + '.y_.obj:' suffix rule to Makefile.am. + +2012-01-30 Peter Rosin <peda@lysator.liu.se> + + Merge branch 'msvc' + + * msvc: + ar-lib: ignore the verbose modifier instead of erroring out + scripts: cherry-pick recent changes from master + tests: add missing dependency for some 'ar-lib*.test' tests + +2012-01-30 Peter Rosin <peda@lysator.liu.se> + + ar-lib: ignore the verbose modifier instead of erroring out + + * lib/ar-lib: A number of tests uses the v modifier when listing + the archive content, ignore it to make them pass. + +2012-01-30 Peter Rosin <peda@lysator.liu.se> + + scripts: cherry-pick recent changes from master + + * lib/ar-lib: prefer the term "Windows" over "Win32" and quote + 'like this', not `like this'. + * lib/compile: Likewise. + +2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: fix real and spurious warnings + + * lib/Makefile.am (install-data-hook): Correctly quote $(DESTDIR) + occurrences. + * Makefile.am (install-exec-hook, uninstall-hook): Likewise. + (autodiffs): Prefer '$(am__cd)' to plain 'cd', where warranted. + * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise. Also, + prefer using AC_SUBST'd $(abs_top_builddir) over obtaining it at + runtime from $(top_builddir). + * syntax-check.mk (sc_mkinstalldirs): Tweak to whitelist known + harmless occurrences of the checked-against usages. + (sc_no_for_variable_in_macro): Likewise. + * tests/CheckListOfTests.am (maintainer-check-list-of-tests): Tweak + to avoid spuriously triggering the 'sc_no_for_variable_in_macro' + maintainer check. Prefer '$(am__cd)' to plain 'cd' when warranted. + +2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: take advantage of some GNU make features + + We can do so now that our maintainer checks require GNU make + unconditionally. + + * syntax-check.mk (ams, xtests): Redefine as "immediate variables", + using the GNU make $(shell ...) builtin. + (maintainer-check-list-of-tests): Take advantage of GNU make "-C" + option. Don't use $(AM_MAKEFLAGS), we shouldn't need it with GNU + make. + +2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: require GNU make in order to run the maintainer checks + + This is not a real regression in portability, since most maintainer + check rules already assumed GNU grep, and were anyway only meant to + run on the developers' systems (where we can safely assume the + presence of GNU make). + + This change will allow us to take advantage, in future changes, of + more GNU make features, thus simplifying or optimizing some of our + maintainer rules. + + * GNUmakefile: New, including 'Makefile' and 'syntax-checks.mk'. + * configure.ac (AC_CONFIG_LINKS): Link it in the builddir. + * Makefile.am (EXTRA_DIST): Distribute 'GNUmakefile' and + 'syntax-checks.mk'. + Move all syntax-check rules and auxiliary variables into ... + * syntax-checks.mk: ... this new file, with some adjustments. + +2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: refactor rules checking '*.am' files + + A small refactoring in our syntax-check to avoid code duplication + and to ensure more uniform checking. This change introduces some + new failures in syntax-check rules (both real and spurious), that + will be fixed in follow-up changes and code reorganizations. + + * Makefile.am (ams): New variable, holding the list of all the + '*.am' fragments in he automake source tree. + (sc_no_brace_variable_expansions): Use it. + (sc_rm_minus_f): Likewise. + (sc_no_for_variable_in_macro): Likewise. + (sc_mkinstalldirs): Likewise. + (sc_pre_normal_post_install_uninstall): Likewise. + (sc_cd_in_backquotes): Likewise. + (sc_cd_relative_dir): Likewise. + (sc_tests_make_without_am_makeflags): Likewise. + (sc_tests_plain_egrep_fgrep): Likewise. + (sc_mkdir_p): Likewise. + +2012-01-30 Peter Rosin <peda@lysator.liu.se> + + tests: do not assume the object file extension is .o + + * tests/specflg7.test: Dig out the object file extension from the + OBJEXT makefile variable. + * tests/substref.test: Likewise. + * tests/specflg8.test: Likewise. Also check that the false-true + object is created instead of checking the true-true object twice. + * tests/suffix8.test: Add a chain rule for the case where the + object file extension is .obj. + +2012-01-30 Peter Rosin <peda@lysator.liu.se> + + tests: fetch the 'compile' script for subdir objects + + * tests/libobj19.test: Subdir objects are used, so the 'compile' + script needs to be present for inferior hosts. Fetch it. + +2012-01-30 Peter Rosin <peda@lysator.liu.se> + + tests: fetch the 'ar-lib' script for archiver usage + + * tests/libobj10.test: The archiver is used, so the 'ar-lib' + script needs to be present for inferior hosts. Fetch it. + +2012-01-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure of 'transform2.test' on Cygwin + + On newer Cygwin versions (at least 1.7.x), the 'transform2.test' + test has been failing spuriously; the gist is the following: + some *purposefully* rigged install rules there try something + like: + + install bla.exe .../inst/bin/foo.exe + install script.sh .../inst/bin/foo + + and the second install command fails (trying to overwrite the + '.../inst/bin/foo.exe' file, likely due to overly aggressive + appending of '.exe' suffix when copying/renaming Windows + executables). Since this is a Cygwin issue rather than an + Automake one (and since the use case we are testing is a really + corner-case anyway, making it unworthy to attempt to work + around it in automake proper), we simply hack the test case + to avoid the failure. + + Analysis by Peter Rosin and Ralf Wildenhues. + + References: + <http://lists.gnu.org/archive/html/automake-patches/2010-08/msg00153.html> + <http://thread.gmane.org/gmane.os.cygwin/119380> + + * tests/transform2.test: Skip the affected part of the test + if the described Cygwin behaviour is detected. + +2012-01-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failure of deleted-am.test with FreeBSD make + + * tests/deleted-am.test: Sleep between the removal of the included + '.am' fragments and the subsequent "make" calls, to ensure that the + remake rules kick in. This is required to avoid racy spurious + failures (~ 60% of the time) with FreeBSD make. + +2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid possibly undeserved PASS from check8.test + + * tests/check8.test: Strengthen grepping of "make check" output + where we know no problem with VPATH rewrites can take place. This + has the advantage of ensuring that we won't match also "sub/bar" + when looking for "bar" during the uncolorized tests. + + Suggestion by Peter Rosin. + +2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: work around MinGW/MSYS issue in fd redirections + + Some checks on $(AM_TESTS_FD_REDIRECT) were failing on MSYS, likely + because system calls like "write(9, ...)" simply doesn't work for + MinGW-compiled programs. Similar usages work for the shell scripts + though, since /bin/sh is an MSYS program and thus is a lot more + POSIX-ish than most MinGW-compiled programs. + + The best fix for this issue is to separate the checks using shell + scripts as dummy test cases from the checks using compiled programs + for the same purpose, and skip these latter checks on MinGW. + + This change fixes automake bug#10466. Report by Peter Rosin. + + * tests/parallel-tests-fd-redirect.test: Move checks using compiled + C programs as test cases to ... + * tests/parallel-tests-fd-redirect-exeext.test: ... this new test. + * tests/list-of-tests.mk: Update. + +2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com> + + warnings: more precise category and message for one warning + + If automake detected an usage like "AC_CONFIG_FILES([./Makefile])" + in configure.ac, it warned that such an usage was unportable to + non-GNU make implementations. But the truth is actually worse: + that is actually *unportable to GNU make* itself, since it breaks + the automatic remake rules in subtle ways. + + So we now reveal this breakage in a new test case, and enhance + the warning by giving it a more precise and correct wording, and + by moving it from the category 'portability' to the category + 'unsupported'. + + * automake.in (scan_autoconf_config_files): Improve the warning. + * tests/conffile-leading-dot.test: New test. + * tests/list-of-tests.mk: Add it. + +2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + release: revamp rules to tag and upload the releases + + The older Makefile rules used to create and tag the releases were + based on an approach we now consider flawed: they over-mechanized + some delicate operations that are better performed manually *and* + double-checked by a developer, and at the same time they did not + run enough safety checks. + + * Makefile.am (GIT, version_rx, stable_version_rx, beta_version_rx, + match_version, git_must_have_clean_workdir, determine_release_type): + New variables. + (git-release, git-dist): Remove, they are superseded by ... + (git-tag-release, git-upload-release): ... these new targets. + +2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + amversion: add missing dependency + + * m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Depend on + configure.ac, since the value of $(VERSION) can change every + time configure.ac is updated. + +2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: update advice w.r.t. synced files + + * HACKING: Update and improve advices and explanations about files + in the automake repository that are now owned by automake, but + mirrored from other upstreams. Also, don't list these files + explicitly, rather point the reader to the $(FETCHFILES) variable + in Makefile.am. + * Makefile.am (FETCHFILES): Don't state that "there should be a + lot more here", as this is not true anymore today. Only 'COPYING' + must be synced by hand. + +2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com> + + hacking: don't reference ChangeLog anymore + + * HACKING: Don't reference the ChangeLog file anymore, since that + is now generated from the git commit messages, not maintained by + hand. So remove advice that is obsolete, and speak about "git + commit message" instead of "ChangeLog entry" for advice that is + still relevant. + +2012-01-24 Stefano Lattarini <stefano.lattarini@gmail.com> + + multilib: move to contrib + + This follows up on commit v1.11-665-gc5df21e of 2012-01-17, + "multilib: deprecate, will be moved to contrib". See also: + <http://lists.gnu.org/archive/html/automake-patches/2012-01/msg00109.html> + + * NEWS: Update. + * automake.in ($seen_multilib): Remove. + (scan_autoconf_traces): Don't trace 'AM_ENABLE_MULTILIB', and don't + handle it anymore. + (handle_multilib): Remove. + (generate_makefile): Don't call it anymore. + * doc/automake.texi: Remove documentation about multilib support, + related macros, and helper files. + * m4/multi.m4: Delete. + * m4/Makefile.am (dist_automake_ac_DATA): Remove it. + * lib/am/multilib.am: Delete. + * lib/am/Makefile.am (dist_am_DATA): Remove it. + * contrib/multilib/multilib.am: New file, adapted from extracts of + a Makefile.in generated with automake multilib support. We did + this instead of moving and editing 'lib/am/multilib.am' because it + allows us to license this file with a liberal license that will + permit users to copy-and-paste it in non-GPLed Makefile.am files + too). + * lib/symlink-tree, lib/config-ml.in: Move ... + * contrib/multilib: ... in here. + * lib/Makefile.am (dist_script_DATA, dist_pkgvdata_DATA): Update. + * contrib/multilib/README: New file. + * contrib/Makefile.am (EXTRA_DIST): Add the files created or moved + in 'contrib/multlib'. + * tests/multilib.test: Update and enhance a little. + * tests/help-multilib.test: Likewise. + +2012-01-23 Peter Rosin <peda@lysator.liu.se> + + tests: improve diagnostics when write(2) fails + + MinGW programs can't redirect file descriptor 9, they can only redirect + stdin, stdout and stderr. So, improve the information in the test log. + + See automake bug#10466. + + * tests/parallel-tests-fd-redirect.test (baz.c, zardoz.c): Check the + return value from the write(2) call, and report detected errors. + +2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'compilers-for-testsuite' + + * compilers-for-testsuite: + readme: how to run the testsuite with cross-compilers + tests: no need to unset CFLAGS in tests requiring 'gcc' anymore + test defs: allow compilers to be auto-selected on user's request + test defs: substitute compilers and flags found at configure time + test defs: setup `*FLAGS' variables for GNU compilers + configure: search generic compilers for use in the tests + +2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com> + Peter Rosin <peda@lysator.liu.se> + + readme: how to run the testsuite with cross-compilers + + * tests/README: Suggest a better way to run the automake testsuite + with cross-compilers -- that is, configuring the Automake source + tree with proper `--build' and `--host' configure option. And + yes, specifying both these options (not only `--host') is indeed + required to avoid spurious failures in corner cases. + When you call configure with the `--host' option but without the + `--build' option, configure tries to auto-detect whether you are + cross-compiling or not, by trying to run a generated executable. + That test might spuriously "succeed" in some corner cases (e.g., + Cygwin is able to run non-Cygwin apps). In fact, generally, it + can be the case that a cross-compilation is not detected as a + cross anymore just because someone has installed an emulator; as + an example, think of what can happen on a GNU/Linux system that + is configured (through the use of the binfmt_misc kernel module) + to execute PE executables (compiled for MS-DOS or Windows) through + Wine *automatically*. In conclusion, configure needs to be used + as recommended in the documentation (i.e., by specifying *both* + `--host' and `--build' instead of just one of them) to not have + the build fall into any of a number of weird traps. + * tests/defs (cross_compiling): Improve comments. + +2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: no need to unset CFLAGS in tests requiring 'gcc' anymore + + * tests/ccnoco.test: Since this test have "gcc" in $required, + there is no need to manually nullify the CFLAGS variable, since + now `tests/defs' should automatically re-define that to a value + appropriate for gcc. + * tests/ccnoco3.test: Likewise. + +2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: allow compilers to be auto-selected on user's request + + In the recent changes, by pre-setting the required compilers for + the `configure' scripts launched by the test scripts, we have + slightly reduced the coverage of autoconf/automake code aimed at + automatically detecting said compilers. This commit restore such + coverage, by allowing the user to instruct the testsuite *not* to + preset the testsuite compiler(s). + + * tests/defs (cc): If $CC is set to the special value "autodetect" + or "autodetected", don't export the configure-detected CC, CFLAGS + and CPPFLAGS variables; rather, unset them. + (c++): Likewise, but for CXX, CXXFLAGS and CPPFLAGS instead. + (fortran): Likewise, but for FC and FCFLAGS instead. + (fortran77): Likewise, but for F77 and FFLAGS instead. + (require_compiler_): New function, to reduce code duplication. + +2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: substitute compilers and flags found at configure time + + * tests/Makefile.am (do_subst): Also substitute CC, CXX, F77, FC, + CPPFLAGS, CFLAGS, CXXFLAGS, FCFLAGS and FFLAGS. + * tests/defs-static.in: Define those variables, allowing for + overrides from the environment. + * tests/defs (for tool in $required): Export (subsets of) those + variables when the stuff in `$required' calls for it. + Add related explanatory comments. + +2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: setup `*FLAGS' variables for GNU compilers + + * configure.ac: Setup some `*FLAGS' variables for use by the + GNU compilers in our testsuite. For example, use `GNU_CFLAGS' + instead of `CFLAGS', and so on for similar variables. This + is especially useful in case the compilers found or defined + at configure time are not the GNU ones. + * tests/defs-static.in: Initialize those same variables with + the values set at configure time, but allowing overrides + from the environment. + * tests/Makefile.am (do_subst): Process configure-style + substitutions of those variables (e.g., `@GNU_CFLAGS@'). + * tests/defs: When a GNU compiler is required, override the + corresponding generic `*FLAGS' variable with the GNU-specific + variant (e.g., redefine `$CFLAGS' to take the value of + `$GNU_CFLAGS'). + +2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com> + + configure: search generic compilers for use in the tests + + * configure.ac: Look for "generic" C, C++ and Fortran compilers, + with the aim of starting to use them in the testsuite (this will + be done in future changes). This is more tricky than it seems, + since we don't want to abort the whole configure script even if + no one of those compilers is available (after all, they're only + needed by the testsuite, not to build automake), but currently + autoconf doesn't offer an easy way to obtain this behaviour. + We prefer non-GNU compilers to the GNU ones, to ensure better + coverage "in the wild". + +2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: remove redundant 'set -e' calls + + * tests/aclocal-install-absdir.test: Do not set the 'errexit' shell + flag, as it is already set by 'tests/defs'. + * tests/distcheck-pr10470.test: Likewise. + * tests/objext-pr10128.test: Likewise. + * tests/parallel-tests-dry-run-1.test: Likewise. + * tests/silent-nested-vars.test: Likewise. + * tests/tar-override.test: Likewise. + * tests/vala-mix.test: Likewise. + * tests/vala-vpath.test: Likewise. + +2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + tests: fix spurious failure due to autom4te caching + vala: fix name of temporary file used in vala rules + vala tests: add missing 'valac' requirement, and other minor fixlets + news: fix grammaro + +2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure due to autom4te caching + + * tests/lzma.test: Remove stale autom4te.cache directories, to + prevent racy, spurious failures (using 'aclocal --force' was + not enough, since the cache was still picked up by the following + automake call). + +2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + dist tests: missing 'compress' program was causing spurious failures + + Fixes automake bug#10575. + + The compress(1) tool is becoming anachronistic, and thus is not + installed by default on modern distros (e.g., Fedora 16). We + can't thus unconditionally assume it exists on every reasonable + portability target. + + * tests/dist-formats.tap ($missing_compressors): When defining + this, don't assume anymore that compress(1) is unconditionally + available. + (Parallel compression): Skip this sub-test if compress(1) is + unavailable. + Since we are at it, fix a couple of unrelated buglets: a typo + in a test name (s/distcheck/ark-exists/), and some attempts to + remove directories with "rm -f". + +2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: fix name of temporary file used in vala rules + + Unquoted `@' characters in a "..." string in the automake script + were causing slightly wrong rules to be emitted in the generated + Makefile.in; i.e., rules like: + + rm -f $@ && echo stamp > $10t + + instead of the expected: + + rm -f $@ && echo stamp > $@-t + + * automake.in (lang_vala_finish_target): Fix that. + * tests/vala.test: Enhance. + +2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala tests: add missing 'valac' requirement, and other minor fixlets + + See also automake bug#10575. + + * tests/vala-mix.test ($required): Add 'valac'; this will avoid + spurious failures on systems lacking a Vala compiler. + Add some explicative comments for a couple of non-obvious make + calls. + Make grepping of "make -n" slightly stricter, to avoid potential + false positives. + +2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: fix grammaro + + * NEWS (Miscellaneous changes): Fix grammaro: s/don't/doesn't/. + + Reported by Jim Meyering. + +2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + fixup: distribute 'contrib/multilib/multi.m4' + multilib: deprecate, will be moved to contrib + fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS + cosmetics: fix a botched comment in a maintainer check + +2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: distribute 'contrib/multilib/multi.m4' + + This fix up a blunder in commit v1.11-665-gc5df21e of 2012-01-17, + "multilib: deprecate, will be moved to contrib". + + * contrib/Makefile.am (EXTRA_DIST): Add 'multilib/multi.m4'. + +2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + multilib: deprecate, will be moved to contrib + + As of 2012-01-17, according to Google codesarch, almost no active + package is using the 'multilib' feature offered by automake. + + The only major exception seems to be GCC... But on a closer look, + it become clear that GCC basically carries its own version of + multilib support. In fact, Automake syncs its 'config-ml.in' and + 'symlink-tree' scripts from GCC; and the GCC repository contains a + version of the 'multi.m4' file that is *more* updated than the one + in the automake repository (the former having being modified the + last time in 2008, the latter only in 2006). + + The 'multilib' feature was anyway hardly documented at all, only + being briefly cited in the manual as an "obscure feature", "still + experimental", that was only for users "familiar with multilibs" + and which "can debug problems they might encounter". We expect + such users to be motivated and knowledgeable enough to make the + minor adjustments required to start using the contrib version of + multilib, if they really need to. + + * NEWS (Future backward incompatibility): Update. + * doc/automake.texi: Deprecate multilib support. State that it + will be removed from automake core in the next major release. + * m4/multi.m4 (AM_ENABLE_MULTILIB): Deprecate. If called, now + gives a proper warning in the 'obsolete' category (while still + retaining its former behaviour for the rest). + * tests/multilib.test: Update. + * contrib/multilib/multi.m4: New, verbatim copy of the earlier + version of multi.m4, without the new deprecation warning. + * Makefile.am (fetch): Don't sync the 'config-ml.in' file nor + the 'symlink-tree' script from GCC SVN repository anymore. + (FETCHFILES): Adjust. + (WGET_GCC): Remove, it's not needed anymore. + +2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS + + This change fixes automake bug#10555. + + Note that the bug was a minor one, since it didn't affect the + compilation rules generated by automake, but only only the "hints" + printed by automake in some error messages (e.g., "The usual way + to define `FFLAGS' is to add AC_PROG_F77 to configure.ac"). + + * lib/Automake/Variable.pm (%_ac_macro_for_var): The code generated + by AC_PROG_F77 uses FFLAGS, not F77FLAGS, as the variable where to + look for switches for the Fortran 77 compiler: adjust accordingly. + +2012-01-19 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: fix a botched comment in a maintainer check + + * Makefile.am (sc_tests_make_without_am_makeflags): Adjust + botched description of this check. + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + cmdline parsing: move into a dedicated perl module + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + cmdline parsing: move into a dedicated perl module + + With this change, we delegate most of the automake and aclocal code + for command-line options parsing to a new module "Automake::Getopt". + This allows better code sharing between automake and aclocal, and + also with Autoconf, which will sync the new module from us. See + also autoconf commit 'v2.68-120-gf4be358' (2012-01-17, "getopt: new + Autom4te::Getopt module"), and this mailing list discussion: + <http://lists.gnu.org/archive/html/autoconf-patches/2012-01/msg00033.html> + + This change might interact with the behaviour described in automake + bug#7434; for example, starting from now, "automake -Wfoo --version" + will cause automake to emit diagnostic like "unknown warning + category 'foo'" before actually printing the version number and + exiting. This is not a big deal in practice, and the code sharing + and simplifications introduced by this patch is certainly worth it. + Still, we should revisited the issue in the future. + + * lib/Automake/Getopt.pm: New module, basically a slightly-edited + copy of the 'lib/Autom4te/Getopt.pm' file from the autoconf devel + repository (commit v2.68-120-gf4be358). It defines and exports ... + (parse_options): ... this new function. + * automake.in (parse_arguments): Use the new function. + * aclocal.in (parse_arguments): Likewise. + * lib/Automake/Makefile.am (dist_perllib_DATA): Add the new file. + * tests/getopt.test: Remove. + * tests/list-of-tests.mk: Update. + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: don't use custom TAP diagnostic in our own tests + + We simply don't need it (yet), we are not actually using it (the + set up for using it is there in the Makefile, but no test script + makes actual use of that). + + * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Remove '-comments' and + '--diagnostic-string' options. + * tests/defs ($diag_string_): Remove redefinition. + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: better name for a couple of tests + + Two tests checking "make -n" behaviour with the parallel-tests + harness has been introduced in the Automake repository in the past: + one of them ('parallel-tests-dryrun.test') in the maint branch, the + other one ('parallel-tests-dry-run.test') in the master branch. + + Needless to say, their too-much-similar names can be a great source + of confusion now. Moreover, the two tests have been written during + distinct refactorings, and are meant to exercise different code + paths and/or usage scenarios, so that no one of them subsumes the + other, and they should be both kept. + + Thus we simply rename both of them to avoid future confusion. + + * tests/parallel-tests-dryrun.test: Renamed ... + * tests/parallel-tests-dry-run-1.test: .. to this. + * tests/parallel-tests-dry-run.test: Renamed ... + * tests/parallel-tests-dry-run-2.test: .. to this. + Add cross-reference among them. + * tests/list-of-tests.mk: Adjust. + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: simplify our top-level "recheck" target + + * Makefile.am (recheck): Now that all the test scripts are in + the 'tests/' directory, its recipe can be greatly simplified, + as we don't need to deal with recursion in multiple subdirectories + anymore. + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + cosmetics: move CheckListOfTests.am into tests/ + tests: move all under the same hierarchy ('tests/' directory) + gitlog-to-changelog: update from upstream + changelog: don't cluster multiple entries under the same "date line" + + + Extra non-trivial edits: + + * tests/Makefile.am (XFAIL_TESTS): Update with the xfailing tests + that were in 'lib/Automake/tests'. Add proper "FIXME" comment. + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + cosmetics: move CheckListOfTests.am into tests/ + + After the previous change 'v1.11-660-gfbeda3d', the makefile + fragment 'CheckListOfTests.am' is used only by the Makefile.am + in 'tests'; so keeping them two nearer makes sense. It also help + in reducing potential confusion, since (after that same change) + the whole Automake testsuite is expected to be (and remain) + contained into the 'tests' subdirectory. + + * CheckListOfTests.am: Move ... + * tests/CheckListOfTests.am: ... to this. + * tests/Makefile.am (include): Adjust. + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: move all under the same hierarchy ('tests/' directory) + + This simplifies the organization of the Automake source tree and + reduces the (lamentably high) number of Makefiles in the Automake + build system by one. It also makes the maintainer check that + verifies the consistency of list of tests more self-contained and + simpler. Finally, it might be a first step forward the transition + to a non-recursive build system for automake (if we ever decide to + go down that road fully some day). + + * lib/Automake/tests: All the '*.pl' tests in here moved ... + * tests/pm: ... into this new directory. + * lib/Automake/tests/Makefile.am: Remove, its meaningful + contents moved ... + * tests/Makefile.am: ... here, with obvious adjustments. + (test_subdirs): New variable, for the sake of the recipe + of 'maintainer-check-list-of-tests'. + * CheckListOfTests (maintainer-check-list-of-tests): Enhance + its recipe to make it able to deal with test script residing + in subdirectories. + * Makefile.am (maintainer-check-list-of-tests): Simplified. + (TEST_SUBDIRS): Remove, no more needed. + * tests/list-of-tests.mk (perl_TESTS): New variable, lists + the '.pl' tests just moved into 'tests/pm'. + (handwritten_TESTS): Add the contents of '$(perl_TESTS)'. + * lib/Automake/Makefile.am (SUBDIRS): Remove. + * configure.ac (AC_CONFIG_FILES): Update. + * .gitignore: Adjust. + +2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com> + + gitlog-to-changelog: update from upstream + + * lib/gitlog-to-changelog: Update from gnulib upstream. The only + changes should be cosmetic and/or minor fixlets. + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + changelog: don't cluster multiple entries under the same "date line" + + * lib/gitlog-to-changelog: Synced from gnulib. The new version + has a new option '--no-cluster', that disables clustering of + adjacent commit messages under the same "date line". + * Makefile.am (gitlog_to_changelog_options): Add '--no-cluster'. + Also add a proper '--format' specification to ensure we have a + blank line between the summary line and the commit message body. + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + fixup: contrib: really integrate in automake build system + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: contrib: really integrate in automake build system + + * configure.ac (AC_CONFIG_FILES): Add 'contrib/Makefile'. + * Makefile.am (SUBDIRS): Add 'contrib'. + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + check: move ".log -> .html" conversion in contrib + + That feature has been deprecated in the 1.11.x series, and marked + for removal from the automake core in the 1.12 release. Here we + implement such removal. + + Reference: + <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> + + See also commit 'v1.11-650-g20f2ac9'. + + * doc/automake.texi, NEWS: Update. + * lib/am/check.am: Don't include 'check-html.am' anymore. + * lib/am/check-html.am: Move ... + * contrib/check-html.am: ... to this, and adjust comments. + * lib/am/Makefile.am (dist_am_DATA): Update. + * contrib/Makefile.am (EXTRA_DIST): Likewise. + * tests/parallel-tests2.test: Adjust. + * tests/parallel-tests-dryrun.test: Remove checks on the + ".log -> .html" conversion. + * tests/test-driver-custom-html.test: Remove as obsolete. + * tests/test-driver-custom-no-html.test: Likewise. + * tests/tap-html.test: Likewise. + * tests/list-of-tests.mk: Don't list removed tests anymore. + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + contrib: new, a directory for non-mainstream functionalities + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tap: some makes in parallel mode unconditionally serialize output + + Some make implementations (among them, FreeBSD make, NetBSD make, + and Solaris Distributed Make), when run in parallel mode, serialize + the output from their targets' recipes unconditionally. This has + the nasty side effect that the user won't see the partial results + of a TAP test until the test has terminated. This is not something + our TAP driver script can work around unfortunately; in fact, the + driver is sending out its output progressively and "in sync" with + test execution -- it is make that is stowing such output away + instead of presenting it to the user as soon as it gets it. + + So we content ourself with working around the issue in our + testsuite, to at least avoid failures we could do nothing to + prevent. + + * tests/tap-realtime.test: Skip this test if the make program used + is a non-GNU make running in parallel mode. And if Sun dmake is + being used, try to force it to run in serial mode, by exporting the + 'DMAKE_MODE' environment variable to "serial". + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + contrib: new, a directory for non-mainstream functionalities + + This new 'contrib' hierarchy will be a good place were to move + implementation/support for obsolescent features we are not yet + ready to remove completely, or were to leave experimental or + third-party features to cook before their eventual inclusion in + the automake core. + + * contrib: New directory. + * contrib/README: New file. + * contrib/Makefile.am: New file. + (EXTRA_DIST): Distribute README. + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: APIs for custom test drivers are highly experimental + + * doc/automake.texi (API for Custom Test Drivers): The APIs + described here are not "somewhat experimental", but rather + "highly experimental". Don't promise the sure a sort of + backward-compatibility that we are very likely not going to + keep. + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid spurious failures with parallel make + + Some tests are unprepared to be run with a make command that runs + in parallel mode by default. This can happen e.g., if the user + explicitly run the tests with something like: + + AM_TESTSUITE_MAKE="gmake -j3" in the + + in the environment, but also if the make used in the testsuite is + Sun Distributed Make, and the 'DMAKE_MODE' environment variable is + set to "parallel". + + Fix some instances of this issue. + + * tests/tap-doc.test (Makefile.am): Declare explicit dependencies + among the test cases, to ensure they are run in the correct order. + * tests/tap-doc2.test: Set the 'DMAKE_MODE' environment variable + to "serial", to prevent Sun dmake from trying to run in parallel. + Remove other now-superfluous workarounds for dmake. + +2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failures with Solaris dmake + + Solaris Distributed Make, when run in parallel mode, can sprinkle + its standard output with lines like: + + hostname --> 2 jobs + ... + hostname --> Job output + ... + + This behaviour was causing spurious errors in some tests where we + compare the output of make with a known, expected value. Fix that. + + * tests/tap-doc.test: Before comparing the output from make with its + expected value, remove extra lines that could have been printed by + Solaris dmake. + * tests/tap-doc2.test: Likewise. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + recheck: fix interaction with "make -n" + vala: avoid potential useless remakes (minor bugfix) + vala: enhance tests + recheck: behave better with non-GNU make + check: separate .log -> .html conversion from core testsuite harness + docs: deprecate .log -> .html conversion by parallel-tests + tests: list some forgotten test cases in $(TESTS) + maintcheck: consistency of list of test scripts + build: explicitly declare some targets as .PHONY + maint: remove obsolete/broken maintainer targets + build: improve silencing of automake build system + tests: move list of tests in its own Makefile fragment + + + Extra non-trivial edits: + + * tests/parallel-tests2.test: Obvious edits to merge the slightly + inconsistent enhancements to coverage done in master with those + done in maint. + * lib/am/check.am (check-TESTS, recheck): Sweeping and rather + complex changes to merge the considerable divergences between + maint and master in a way that is meaningful and, where possible, + retains the semantic changes from both maint and master. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'check-html-deprecate' into maint + + * check-html-deprecate: + recheck: fix interaction with "make -n" + recheck: behave better with non-GNU make + check: separate .log -> .html conversion from core testsuite harness + docs: deprecate .log -> .html conversion by parallel-tests + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + recheck: fix interaction with "make -n" + + * lib/am/check.am (recheck): Ensure the recipe does not erroneously + remove '.log' files when running under "make -n". For the sake of + NetBSD make, this also means that ... + (.MAKE): ... this cannot depend on 'recheck' anymore. + * tests/parallel-tests-dryrun.test: New test. + * tests/list-of-tests.mk: Add it. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: avoid potential useless remakes (minor bugfix) + + * automake.in (lang_vala_finish_target): Ensure the timestamp file + from which the C files generated from Vala sources depend on gets + created with a modification time that is truly older than those of + said generated C files. This prevents make from attempting useless + rebuilds (which were bound to happen deterministically on systems + with sub-second timestamp resolutions). It is worth noting that, + luckily, those useless rebuild ended up being a no-op, since the + Vala compiler is careful not to update the timestamp of an output + file if its content has not changed from the previous version. + Still, the useless rebuilds messed up "make -q" and "make -n" + invocations, and were technically incorrect (despite being, as + noted, inoffensive in practice). + + Problem revealed by failure of tests vala-mix.test and vala5.test + on a fast Solaris 10 system whose filesystem had a sub-second + timestamp resolution. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: enhance tests + + * tests/vala.test: Extend test. Throw in some cosmetic and + consistency changes since we are at it. + * tests/vala5.test: Avoid uselessly requiring libtool. Ensure a + failure happens in case VALAFLAGS are not supported as expected. + Extend test in some ways. Throw in some cosmetic and consistency + changes since we are at it. + * tests/vala-mix.test: New test. + * tests/list-of-tests.mk: Add it. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + recheck: behave better with non-GNU make + + * automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with + the value of the '@check' array, containing the list of early + test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)', + etc. + * lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'. + (check, recheck): Unify the implementation of their recipes, with + different code paths taken depending on the name of the target. + This makes the implementation of "recheck" less brittle in the + process (especially when non-GNU make and AM_MAKEFLAGS overriding + are involved). + * lib/am/check-html.am (check-html, recheck-html): Likewise. + * tests/check.test: Adjust to avoid spurious failure. + * tests/parallel-tests2.test: Improve coverage. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + check: separate .log -> .html conversion from core testsuite harness + + That feature is to be deprecated in the 1.11.x series, and removed + from the automake core in the 1.12 release, where it will instead + be offered in a semi-independent extra '*.am' fragment. So let's + start better separating the .log -> .html conversion from the "core + code" of the parallel-tests harness. + + Reference: + <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> + + * lib/am/check.am (.log.html, check-html, recheck-html): Move these + targets ... + * automake.in (handle_tests): ... and the initialization of the + TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML) + file ... + * lib/am/check-html.am: ... in this new file, with related (minor) + refactorings, enhancements and simplifications. + * lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust. + * lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'. + * tests/parallel-tests2.test: Improve coverage. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: deprecate .log -> .html conversion by parallel-tests + + That feature is to be deprecated in the 1.11.x series, and + removed in the 1.12 release. + + Reference: + <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> + + * doc/automake.texi (Simple Tests using parallel-tests): Deprecate + the '.log' -> '.html' conversion and the targets 'check-html' and + 'recheck-html'. Related rewording and reformatting. + * NEWS (Future backward-incompatibilities): Update. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: list some forgotten test cases in $(TESTS) + + This way, they will be properly executed by "make check", and + properly distributed. Our previous commit 'v1.11-647-g27f1a1c' + is already paying its dividends! + + * tests/list-of-tests.mk (handwritten_TESTS): Add check12.test, + dist-missing-included-m4.test, dist-missing-am.test, and + dist-missing-m4.test. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: consistency of list of test scripts + + This is basically a backport of commit 'v1.11-358-g7b6ab07' + and its follow-ups. The possibility of easily checking that + the list of test scripts listed in a Makefile equals that of + the tests on the filesystem has proved itself so useful that + it's worth taking the annoyance of backporting it to maint. + + * CheckListOfTests.am: New file, backported from master (commit + 'v1.11-1736-g083a75b') with minor adjustments. + (maintainer-check-list-of-tests): New target, check for consistency + between the list of tests defined in the including Makefile and the + list of tests on the filesystem. + (clean-maintcheck-testslist-tmp): New rule, to clean up temporary + files that might be left around by the rules associated with the + previous target. + (clean-local): Depend on it. + * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'. + * tests/Makefile.am: Likewise. + * Makefile.am (maintainer-check-list-of-test): New target, + calling recursively into `tests/' and `lib/Automake/tests/', + using ... + (TEST_SUBDIRS): ... this new variable. + (maintainer-check): Added dependency from the new target + `maintainer-check-list-of-tests'. + +2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: completeness check on list of tests simplified + + * CheckListOfTests.am: Simplify the recipe, accordingly to the + assumption that all the entries in $(TEST_EXTENSIONS) and in + $(TESTS) have an associated real test script. This was not the + case when we used to have some entries in $(TESTS) that were not + real files, but rather "parameters" (sort of) for the corresponding + $(LOG_COMPILER). However, that usage had proven to be confusing + and brittle, and thus removed (see commit 'v1.11-1308-g375f23d' of + September 8 2011, "testsuite: revamp generation of autogenerated + tests"). + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: explicitly declare some targets as .PHONY + + * Makefile.am (fetch, git-dist, git-release, maintainer-check): + Declare as ".PHONY". + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: remove obsolete/broken maintainer targets + + * Makefile.am (git-diff): Remove. First, we don't distribute diffs + between an automake version and the next one anyway, so this target + is pointless. Moreover, its recipe has been broken for quite a + long time now, always generating an empty diff due to the spurious + '$(PACKAGE)' argument that was passed to the "git diff" invocation. + (path-check): Remove. The 'pathchk' program running in this check + complains about any file with name longer than 14 characters, which + is a ridiculously low limit for today standards. Also, we already + had several test scripts (no less than 195!) that were exceeding + that limit, and nobody ever complained (not even on MinGW/MSYS nor + Cygwin). + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: improve silencing of automake build system + + In this change, we continue the silencing of the automake build + system that has been started in commit v1.11-642-g17542c3, but + which has been left incomplete there for an (absent-mindness) + mistake. + + * Makefile.am (INSTALL): Silence the recipe. + (automake, aclocal): Likewise, and improve them a little since + we are at it. + * lib/Automake/Makefile.am (Config.pm): Likewise. + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: move list of tests in its own Makefile fragment + + This change will make it easier to merge maint into master, which + has a similar Makefile setup in the testsuite. + + * tests/Makefile.am (include): Inclusion of ... + * tests/list-of-tests.mk: ... this new file. + * tests/Makefile.am (TESTS): Move most of its content into, + and redefine in function of, ... + * tests/list-of-tests.mk (handwritten_TESTS): ... this new + variable. + * tests/gen-parallel-tests: Update. + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + tests: move list of tests in its own Makefile fragment + build: silence automake build system + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: move list of tests in its own Makefile fragment + + This change will make it easier to merge maint into master, which + has a similar Makefile setup in the testsuite. + + * tests/Makefile.am (include): Inclusion of ... + * tests/list-of-tests.mk: ... this new file. + * tests/Makefile.am (TESTS): Move most of its content into, + and redefine in function of ... + * tests/list-of-tests.mk (handwritten_TESTS): ... this new + variable. + * tests/gen-parallel-tests: Update. + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: silence automake build system + + * configure.ac (AM_SILENT_RULES): Invoke with "yes" as a parameter, + to activate silent rules by default. + * NEWS: Update. + * Makefile.am (sc_perl_syntax): Silence its recipe unconditionally, + similarly to what is done for other syntax checks. + (release-stats): Be silent by default *but not unconditionally*, + thanks to the use of $(AM_V_GEN). + (path-check, git-diff): Be silent by default, thanks to the use + of $(AM_V_GEN). + * m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise. + * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise. + * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise. + ($(parallel_tests)): Likewise. + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + gnupload: moved to gnulib + sync: gitlog-to-changelog from gnulib upstream + test defs: backport optimized 'using_gmake' implementation + tests: unify some tests on "make -n", reducing duplication + vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)" + + + Extra edits: + + * tests/maken3.test: Carry over (with necessary adjustments) the + code from maken4.test that determines whether $MAKE supports the + special '.MAKE' target. + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + gnupload: moved to gnulib + + Since the gnupload script is not required by automake-generated + code (be it configure or Makefile content), and is not specifically + tied to automake in any way, it is better to have its master copy + installed in the gnulib repository, as is already done for similar + generally-useful, maintainer-oriented scripts. We can them sync it + from there. + + See also gnulib commit v0.0-6822-gf8b7120, and: + <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html> + + * Makefile.am (FETCHFILES): Added 'gnupload'. + (fetch): Also sync 'gnupload' from the gnulib repository. + * lib/gnupload: Synced from gnulib. + * NEWS: Update. + +2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> + + sync: gitlog-to-changelog from gnulib upstream + + * lib/gitlog-to-changelog: Synced from upstream, by "make fetch". + +2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: backport optimized 'using_gmake' implementation + + * tests/defs.in (using_gmake): Backport optimized, result-caching + implementation from master. + +2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: unify some tests on "make -n", reducing duplication + + * tests/maken2.test: Merge into ... + * tests/maken.test: ... this test, to avoid unnecessary code + duplication. Make checks depending on GNU make conditional to + the actual presence of GNU make. + * tests/maken4.test: Similarly, merge into ... + * tests/maken3.test: ... this test. + * tests/Makefile.am (TESTS): Remove maken2.test and maken4.test. + +2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)" + + * automake.in (lang_vala_finish_target): In the generated rules, + use '$(am__cd)', not bare 'cd', to chdir into $(scdir). Issue + revealed by the maintainer check 'sc_cd_relative_dir'. + +2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + dist: avoid $(distdir) removal failure on MSYS/MinGW + tests: fix spurious failure of 'get-sysconf.test' + coverage: expose automake bug#10470 (distcheck-related) + tests: make 'aclocal-install-absdir.test' executable + tests: require GNU make in 'vala-vapth.test' + vala: fix VPATH builds + tests: fix some bugs in the vala-vpath test + +2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'fix-pr10470' into maint + + * fix-pr10470: + dist: avoid $(distdir) removal failure on MSYS/MinGW + coverage: expose automake bug#10470 (distcheck-related) + +2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + dist: avoid $(distdir) removal failure on MSYS/MinGW + + This change fixes automake bug#10470. + + On MSYS (1.0.17) it is not possible to remove a directory that is + in use, and this, together with timing issues, could cause spurious + failures in the cleanup code of the "distcheck" recipe. In fact, + it should be noted that assuming a directory can be removed while + it the CWD of a running process is a POSIX violation: + + "If the directory is the root directory or the current working + directory of any process, it is unspecified whether the function + succeeds, or whether it shall fail and set errno to [EBUSY]." + + * lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some + seconds and retry, to give potential "pending" processes some time + to exit and "release" the directory. + * tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'. + + Report and suggestions by Peter Rosin and Eric Blake. + +2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure of 'get-sysconf.test' + + * tests/get-sysconf.test: Do not assume that a ChangeLog file exists + in $(srcdir): now that the ChangeLog is autogenerated and not under + version control anymore, this is not necessary true. Instead, if we + are running from a git checkout, use "git log" to get information on + the version of the automake snapshot being tested (and fall back on + extracting the first ChangeLog entry otherwise). + + Reported by Jim Meyering in automake bug#10418. + + Cherry picked from commit v1.11-1675-g104f302. + +2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: expose automake bug#10470 (distcheck-related) + + * tests/distcheck-pr10470.test: New test. + * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it. + + Report and suggestions by Peter Rosin and Eric Blake. + +2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: make 'aclocal-install-absdir.test' executable + + * tests/aclocal-install-absdir.test: Make it executable. + +2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: add missing dependency for some 'ar-lib*.test' tests + + This change fixes spurious failures of the tests ar-lib4.test, + ar-lib6a.test and ar-lib6b.test. + + * tests/Makefile.am (ar-lib4.log): Depend explicitly on the + `libtool-macros.log' file. + (ar-lib6a.log, ar-lib6b.log): Likewise. + +2012-01-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + dist: distdir not unconditionally removed anymore for xz and lzip + + This change fixes automake bug#10444 a.k.a. bug#10448. + + The 'dist-xz' and 'dist-lzip' recipes were erroneously using + '$(am__remove_distdir)' instead of '$(am__post_remove_distdir)' + to cleanup the '$(distdir)'; so a "make dist" issued in a package + using (say) gzip and xz compression would have failed to properly + created the gzip tarball, since the distdir was unconditionally + removed by "make dist-xz" upon its completion, instead of being + left populated for the following "make dist-gzip". + + The problem with 'dist-xz' was introduced in the merge commit + `v1.11-1142-g47587d1', and the problem with 'dist-lzip' was + introduced in the merge commit `v1.11-1673-gc1b14e9' + + * lib/am/distdir.am (dist-xz): Use '$(am__post_remove_distdir)', + not '$(am__remove_distdir)'. + (dist-lzip): Likewise. + +2012-01-11 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: archive and compression formats used by "make dist" + + This change exposes automake bug#10444 a.k.a. bug#10448. + + * tests/dist-formats.tap: New test. + * tests/lzip.test: Remove, it's obsolete now. + * tests/nogzip.test: Likewise. + * tests/nogzip2.test: Likewise. + * tests/xz.test: Likewise. + * tests/list-of-tests.mk: Update. + +2012-01-10 Peter Rosin <peda@lysator.liu.se> + + tap/awk: avoid redirection issues with bash 3.2 and earlier + + Fixes automake bug#10465. + + * lib/tap-driver.sh: Add workaround for bash 3.2 and earlier, which + sometimes does not properly set '$?' when failing to write redirected + output of a compound command. See the Autoconf manual for more details. + + The workaround was pointed out by Eric Blake. + +2012-01-09 Peter Rosin <peda@lysator.liu.se> + + tests: detect that MSYS lacks symlinks + + * tests/self-check-cleanup.tap: Also check if "ln -s" really created a + symlink to cater for MSYS falling back to an ordinary copy. Also, don't + chmod the symlinks if they were never created. + +2012-01-08 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: avoid many spurious failures on MSYS due to lack of symlinks + + Fixes automake bug#10441. + + * tests/add-missing.tap: Do not assume the system supports real + symlinks, as this is not the case for MinGW/MSYS. Skip checks + that would spuriously fail in that situation. + * tests/copy.test: Likewise. + + Reported by Peter Rosin. + +2012-01-08 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: require GNU make in 'vala-vapth.test' + + * vala-vpath.test ($required): Add the "GNUmake" requirement, since + rules generated by vala support are expected to work with GNU make + only. + +2012-01-08 Ryan Lortie <desrt@desrt.ca> (tiny change) + Stefano Lattarini <stefano.lattarini@gmail.com> + + vala: fix VPATH builds + + This change fixes automake bug#9859. + + * automake.in (lang_vala_finish_target): Create the stamp file + '${derived}_vala.stamp' in $(srcdir), not in $(builddir). + Also, don't try to chdir to the $(srcdir) to trigger the rebuild + rules, since that is just wrong in a VPATH setup. + * tests/vala-vpath.test, tests/vala2.test: Extend to catch more + possible VPATH issues. + * tests/Makefile.am (XFAIL_TESTS): Remove 'vala-vpath.test'. + * NEWS, THANKS: Update. + +2012-01-08 Ryan Lortie <desrt@desrt.ca> (tiny change) + + tests: fix some bugs in the vala-vpath test + + * tests/vala-vpath.test: There are (trivial) problems in this + testcase that would cause the build to fail even if the core + issue were resolved. Fix those. + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: list forgotten test case in $(TESTS) + + * tests/list-of-tests.mk: Also list 'tar-override.test'. + +2012-01-06 Paul Eggert <eggert@cs.ucla.edu> + + scripts: quote 'like this', not `like this' + + This change follows up on recent changes to the GNU coding standards. + They now suggest that we should quote 'like this' or "like this" instead + of `like this'; see: + <http://www.gnu.org/prep/standards/html_node/Quote-Characters.html>. + + Gnulib is being changed accordingly, and Gnulib imports some files + directly from Automake master, so change those files to use the + straight-up style. This affects only commentary and quoting in + diagnostics. + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: safer declarations of test dependencies + + To declare prerequisites common to all the tests, we now prefer to + use the special `check_DATA' and `check_SCRIPTS' variables rather + than "lazy" dependency declaration like "$(TEST_LOGS): DEPS ..."; + this because the latter, allowing run-time overriding of the + TEST_LOGS variable, turned out to be subtly incomplete in some + situations involving non-trivial inter-test dependencies. For + example, if the user issued a: + + make check TESTS=libtool.test + + before the `defs-static' file was created (either explicitly or + implicitly), a spurious errors followed, along these lines: + + 1. $(TEST_LOGS) got dynamically defined to `libtool.log'; + + 2. make saw that, in the Makefile, `libtool.log' was explicitly + declared depending on `libtool-macros.log' and `defs-static'; + + 3. somehow, make considered the dependency on `libtool-macros.log' + *before* considering the one on `defs-static' (which BTW is + perfectly legitimate on make's part); + + 4. to satisfy such a dependency, make set out to execute the + test `libtool-macros.test' in order to create the file + `libtool-macros.log'; + + 5. since `libtool-macros.log' was *not* in $(TEST_LOGS), it + didn't appear to depend on the `defs-static' file, so make + didn't consider necessary to build `defs-static' before + running the `libtool-macros.test' script; + + 6. but that script sources `./defs-static' in order to work; + thus the test `libtool-macros.test' failed spuriously. + + * tests/Makefile.am ($(TEST_LOGS)): Remove explicit declaration + of dependency on the required files/scripts; instead use ... + (check_SCRIPTS, check_DATA): ... these new variables. + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: skip tests on perl TAP driver if TAP::Parser is not available + + We had so far taken for granted that all the perl installations + modern enough to correctly run automake also came with a built-in + TAP::Parser module; unfortunately, testing on MinGW/MSYS has + shown that this is not always true, and that a lot of spurious + testsuite failures would take place in such a situation (see + automake bug#10440). + + Luckily, the perl implementation of the Automake TAP driver is + only meant to be used for prototyping and consistency checks, the + "real" Automake TAP driver being the portable one implemented in + awk. So we can simply skip the affected tests on systems lacking + TAP::Parser. + + * tests/defs (fetch_tap_driver): Skip the whole test case if + the desired tap driver implementation is the perl one but the + TAP::Parser module is unavailable. + * tests/tap-bad-prog.tap: Adjust order of calls to `plan_' and + `fetch_tap_driver', to ensure the test is not skipped after the + TAP plan has been outputted (which would lead to a spurious + error). + * tests/tap-bad-signal.tap: Tweak to avoid the need to source the + `tap-setup.sh' script, as that might cause a test skip too late, + i.e., after a TAP plan has been already printed. + * tests/tap-test-number-0.test: Do not force the test to skip + when the tested TAP driver implementation is not the perl one. + On the other hand, when it *is* the perl one, skip the test if + the TAP::Parser module is unavailable. + * tests/test-driver-cond.test: Skip the part of the test actually + running "make check" if the TAP::Parser module is unavailable. + * tests/get-sysconf.test: Also print the version of the + `TAP::Parser' module, if available. + + Reported by Peter Rosin. + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + dist: do not wrap calls to 'tar' with the 'missing' script + fixup: previous commit v1.11-627-g1e0aedc + tests: fix spurious failures due to autom4te caching + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + dist: do not wrap calls to 'tar' with the 'missing' script + + The `missing' script is meant to allow non-developers to build a + package in the face of slightly-skewed timestamps (as might happen + e.g. when the package is obtained from a VCS checkout rather than + from a distribution tarball). It is *not* the business of the + `missing' script to try to provide wrappers for all the maintainer + tools (in this case, to tool being a decent tar program). Such + wrapping of `tar' was not only inappropriate, but it was also + preventing the legitimate overriding (at make runtime) of the + `tar' program used in the creation of the distribution tarballs. + + See also automake bug#9822. + + * lib/missing: Don't try to specially wrap `tar' invocations + anymore. + * m4/tar.m4 (_AM_PROG_TAR): In the definitions of the `AMTAR' + variable, do not wrap the `tar' invocation with the `missing' + script anymore. Instead, allow the user to override the intended + tar program at make runtime, by defining the `TAR' environment + variable. + [$1 == v7]: Similarly for the definitions of the `am__tar' and + `am__untar' variables. Since we are at it, don't make them depend + anymore on the definition of the obsolescent `AMTAR' variable. + * NEWS: Update. + * tests/missing-tar.test: Remove, it's obsolete. + * tests/tar-override.test: New test. + * tests/Makefile.am (TESTS): Update. + + Reported by Akim Demaille. + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + fixup: previous commit v1.11-627-g1e0aedc + + * tests/acloca18.test: Do not remove an aclocal.m4 file that is + needed by a later autoconf invocation. + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failures due to autom4te caching + + * tests/aclocal9.test: Call aclocal and autoconf with the `--force' + option. + * tests/acloca10.test: Sleep between re-runs of aclocal and autoconf. + * tests/acloca18.test: Explicitly remove also the configure script + and the aclocal.m4 before re-invoking aclocal and autoconf. + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: avoid trailing backslashes in make recipes + + The new testsuite-harness could generate recipes with a trailing + backslash character (possibly followed by blank characters only), + in the very common case where the user hadn't defined the special + $(AM_TESTS_FD_REDIRECT) variable. This caused spurious syntax + errors with at least older bash versions (e.g., bash 2.05b), and + could be potentially unportable to other weaker shells. + + See automake bug#10436: + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10436> + and coreutils bug#10427: + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8> + + * lib/am/check2.am: Rework line breaks so that no backslash can + be at the end of a line. + * tests/parallel-tests-trailing-bslash.test: New test. + * tests/list-of-tests.mk: Add it. + + Report and diagnosis by Paul Eggert. + +2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + parallel-tests: avoid issue with overly long lines in sed input + + Additional edits: + * NEWS: Remove entry from merged commit, since that will also be + present in the NEWS file of automake 1.11.3. + * lib/am/check.am (check-TESTS, recheck, recheck-html): Rework + merged changes to adapt them to the different form these recipes + has assumed in the master branch (w.r.t. the maint branch). + +2012-01-05 Stefano Lattarini <stefano.lattarini@gmail.com> + + parallel-tests: avoid issue with overly long lines in sed input + + See automake bug#10437: + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10437> + and coreutils bug#10427: + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8> + + * lib/am/check.am (recheck, recheck-html): In order to strip + trailing whitespace from the definition of the `$list' variable, + we used to invoke sed in a way that could cause it to get passed + overly long input lines, causing spurious failures. So rework + the logic of the recipe to avoid any sed invocation, relying on + simpler shell idioms instead. + (check-TESTS): Reorganize the recipe to be more similar to the + one of `recheck', for consistency and simplicity. + * NEWS: Update. + + Report and analysis by Paul Eggert. + +2012-01-05 Peter Rosin <peda@lysator.liu.se> + + tests: work around strangeness in MSYS + + MSYS mishandles carriage returns and behaves very strangely for + directories with colon in them. It seems that colon-directories are + somehow mixed up with drive letters. + + Fixes automake bug#7849. + + * tests/instspc.tap: Skip instead of erroring out when $test_string + is empty for the carriageret case, as that is expected on MSYS. Also, + for similar reasons, skip instead of erroring out when it is not + possible to cd into the just created directory, and the directory + name contains a colon. Update copyright years. + +2012-01-04 Paul Eggert <eggert@cs.ucla.edu> + + cosmetics: prefer the term "Windows" over "Win32" + + Microsoft has renamed the Win32 API to "Windows API": + <http://msdn.microsoft.com/en-us/library/aa383723.aspx> + + Also, after some discussion on bug-gnulib, when talking about hosts and + platforms we believe it's better to talk about "Windows" or "native + Windows" instead: + <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00009.html> + <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html> + + * doc/automake.texi: Mention "Windows", not "Win32". + * lib/Automake/XFile.pm: Likewise. + * lib/ar-lib: Likewise. + * lib/compile: Likewise. + * tests/compile2.test: Mention "Windows", not "w32". + +2012-01-04 Peter Rosin <peda@lysator.liu.se> + + test defs: skip all tests when the lib requirement isn't fulfilled + + * tests/defs (lib): Use skip_all_ instead of skip_, in order to support + TAP-based test scripts. + +2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: be sure to list all test cases in $(TESTS) + + * tests/list-of-tests.mk: Due to slightly botched merges, the test + scripts `objext-pr10128.test' and `silent-nested-vars.test' weren't + being correctly listed in $(TESTS); fix this. + +2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + sync: auxiliary files from upstream synced + sync: fix syncing of 'gitlog-to-changelog' script + maintcheck: avoid false positive in sc_tests_plain_make + +2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + sync: auxiliary files from upstream synced + + * lib/texinfo.tex: Synced from upstream, by "make fetch". + * lib/gitlog-to-changelog: Likewise. + * lib/config.guess: Likewise. + * lib/config.sub: Likewise. + +2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + sync: fix syncing of 'gitlog-to-changelog' script + + * Makefile.am (FETCHFILES): Also list 'gitlog-to-changelog'. + +2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: avoid false positive in sc_tests_plain_make + + * Makefile.am (sc_tests_plain_make): Ensure to only match full + `make' words. Avoid false positive in `silent-nested-vars.test'. + +2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + install: pkglibexec_SCRIPTS is a valid prefix/primary combination + coverage: expose automake bug#10128 + progs, libs: implement EXTRA_foo_DEPENDENCIES + tests: fix spurious failures in 'pr300*.test' + +2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com> + + install: pkglibexec_SCRIPTS is a valid prefix/primary combination + + It makes little sense for `libexec_SCRIPTS' to be accepted as valid + while `pkglibexec_SCRIPTS' is not. So fix this inconsistency by + explicitly allowing `pkglibexec_SCRIPTS' as well. It is worth + noting that the inconsistency has been there for a long time, + but only the quite recent commit `v1.11-373-g9ca6326' "Warnings + about primary/prefix mismatch fixed and extended" has made it + noisy enough to be noticed. + + * automake.in (handle_scripts): Also list `pkglibexec' among the + prefixes valid for the `SCRIPTS' primary. + * doc/automake.texi (Scripts): Likewise. + * tests/primary-prefix-valid-couples.test: Update. + * THANKS: Likewise. + * NEWS: Likewise. + + Reported by Dennis Schridde on the automake list: + <http://lists.gnu.org/archive/html/automake/2012-01/msg00002.html> + +2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com> + + coverage: expose automake bug#10128 + + * tests/objext-pr10128.test: New test, still expected to fail. + * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it. + +2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com> + + progs, libs: implement EXTRA_foo_DEPENDENCIES + + Backported from commit `v1.11-377-g6edafbb'. + + The feature implemented by that change is quite unobtrusive, so + adding it to a maintenance release is acceptable. Also, there + have been requests from real-world users for this feature since + it has been implemented in master; see automake bug#9320: + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9320> + and this short discussion on the automake list: + <http://lists.gnu.org/archive/html/automake/2010-11/msg00099.html> + It would be a pity to make such users wait even more (until + Automake 1.12 is out) before they could start using this feature. + Thus we backport it, so that it will appear in the next maintenance + version of automake (1.11.3). + + * automake.in (handle_programs, handle_libraries) + (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized. + * doc/automake.texi (Linking, Program and Library Variables) + (LIBOBJS): Document EXTRA_*_DEPENDENCIES. + * lib/am/library.am (%LIBRARY%): Also depend on + $(EXTRA_%XLIBRARY%_DEPENDENCIES). + * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on + (%XLTLIBRARY%_DEPENDENCIES). + * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on + $(EXTRA_%XPROGRAM%_DEPENDENCIES). + * tests/extradep.test, tests/extradep2.test: New tests. + * tests/Makefile.am (TESTS): Update. + * NEWS: Update. + +2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failures in 'pr300*.test' + + This change fixes automake bug#10426. + + * tests/pr300-lib.test: Call configure with an explicit '--libdir' + option, to avoid spurious failures due to users possibly overriding + '${libdir}' in ther config.site files. + * tests/pr300-ltlib.test: Likewise. + + Reported by Bruno Haible. + +2012-01-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure due to I/O buffering + + * tests/parallel-tests-interrupt.tap: Ensure the dummy test script + `foo.test' flushes its standard output before starting to grep the + log file where such output is being redirected by the parallel test + harness. Since we are at it, improve this same dummy script to + better catch unexpected behaviours and results. + + Reported by Jim Meyering in automake bug#10418. + +2012-01-02 Stefano Lattarini <stefano.lattarini@gmail.com> + + news: fix botched merges, rebase on 1.11.2a NEWS version + + The NEWS file is unfortunately written in a format that doesn't + lend itself very well to automatic merges; the recent merges of + maint into master have left it full of blunders and in a somewhat + inconsistent state. + + Another orthogonal issue is that the current version of NEWS + still reports all the changes since the last 1.11 version, rather + than since the latest maintenance version 1.11.2, or, even better, + since the planned next maintenance version 1.11.3. + + * NEWS: Fix blunders and errors from botched merges. Rebase the + file on the NEWS file from branch-1.11 (from which automake 1.11.3 + is expected to be released). + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'msvc' + + * msvc: + tests: fix spurious failure due to autom4te caching + news: fix suboptimal wording + tests: various minor tweakings, mostly related to AM_PROG_AR + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure due to autom4te caching + + * tests/ar-lib3.test: Remove stale autom4te.cache directory, to + prevent racy, spurious failures. + + Reported by Jim Meyering in automake bug#10418. + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' into msvc + + * maint: + tests: make 'lzip.test' executable + dist: obsolete support for lzma (superseded by xz and lzip) + test defs: more granular overriding of the make program + docs: fix a couple broken anchors + dist: add support for lzip compression + docs: fix paragraph names for automake and aclocal invocations + tests: fix spurious failure due to autom4te caching + fix: last entry in ChangeLog + tests: tweak tests on silent-rules for makes without nested vars + silent-rules: fallback for makes without nested vars + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure of 'get-sysconf.test' + + * tests/get-sysconf.test: Do not assume that a ChangeLog file exists + in $(srcdir): now that the ChangeLog is autogenerated and not under + version control anymore, this is not necessary true. Instead, if we + are running from a git checkout, use "git log" to get information on + the version of the automake snapshot being tested (and fall back on + extracting the first ChangeLog entry otherwise). + + Reported by Jim Meyering in automake bug#10418. + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + dist: remove support for lzma (superseded by xz and lzip) + + See also commit `v1.11-611-ge637fa2' (from maint), where support + for lzma compression of distribution archive had been deprecated. + + * NEWS: Update. + * lib/Automake/Options.pm: Error out if the `dist-lzma' option + is used. + * lib/am/distdir.am: Remove all support for the creation of a + lzma-compressed distribution archive. + * tests/lzma.test: Update. + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + tests: make 'lzip.test' executable + dist: obsolete support for lzma (superseded by xz and lzip) + test defs: more granular overriding of the make program + docs: fix a couple broken anchors + dist: add support for lzip compression + docs: fix paragraph names for automake and aclocal invocations + tests: fix spurious failure due to autom4te caching + fix: last entry in ChangeLog + tests: tweak tests on silent-rules for makes without nested vars + silent-rules: fallback for makes without nested vars + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: make 'lzip.test' executable + + * tests/lzip.test: Make it executable. + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'deprecate-lzma' into maint + + * deprecate-lzma: + dist: obsolete support for lzma (superseded by xz and lzip) + +2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com> + + dist: obsolete support for lzma (superseded by xz and lzip) + + The lzma utilities are today superseded by the xz utilities; in + fact, the official site at <http://tukaani.org/lzma/> reads: + + ``LZMA Utils are legacy data compression software with high + compression ratio. LZMA Utils are no longer developed, ... + Users of LZMA Utils should move to XZ Utils.'' + + and the existing automake manual (as of 1.11.2) already says: + + ``dist-xz + Generate an 'xz' tar archive of the distribution. xz archives + are frequently smaller than bzip2-compressed archives. The 'xz' + format will soon (early 2009) displace the 'lzma' format'' + + Also, the `dist-lzma' target still suffers of never-solved bugs, + due to the too-high compression ratio its uses by default, which + might cause an unacceptable memory consumption when one tries to + compress or, worse, decompress the created tarballs; see also: + + <http://lists.gnu.org/archive/html/automake/2011-12/msg00025.html> + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9658> + + * NEWS: Update. + * doc/automake.texi (Dist, Options): State that `dist-lzma' will + go away in the next major automake version. + * lib/Automake/Options.pm (_process_option_list): Deprecate + `dist-lzma'. + * tests/lzma.test: Update. + +2011-12-31 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: fix a couple of typos in error messages + + * Makefile.am (sc_tests_plain_autoheader): Fix the message to + report a bad use of "autocheader", not of "automake." + (sc_tests_plain_autom4te): Likewise, but for "autom4te" instead. + (sc_tests_plain_autoreconf): Likewise, but for "autoreconf" + instead. + +2011-12-31 Stefano Lattarini <stefano.lattarini@gmail.com> + + maintcheck: be sure to look at all the test cases + + Many maintainer checks in the top-level Makefile.am did some + unwarranted assumptions about the test cases, i.e., they assumed + that all the test scripts matched the wildcard `$(srcdir)/*.test'. + + This failed to properly take into account VPATH builds (where some + generated tests might be in ${builddir} rather than in ${srcdir}), + TAP-based tests script (which have a `.tap' extension) and helper + scripts used by other test cases (which have a `.sh' extension). + + Fixes automake bug#9299. + + * Makefile.am (xtests): New variable, containing a (dynamically + computed) of files that looks like test cases of the automake + testsuite. + Update many rules to use this new variable instead of blindly + assuming that all the testcases matches the $(srcdir)/tests/*.test + wildcard. + * tests/tap-bad-prog.tap: Do a minor formatting change to + avoid spuriously triggering a match from the syntax check + `sc_tests_overriding_macros_on_cmdline'. + +2011-12-31 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'dist-lzip' into maint + + * dist-lzip: + dist: add support for lzip compression + +2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + test defs: more granular overriding of the make program + + Before this change, the only way the user could override the make + program used in the automake test cases was to override the $MAKE + variable in the environment. This had the annoying side effect of + requiring that, whenever a non-default make program was to be used + in the test cases, that same make program had to be used to drive + the execution of the automake testsuite; otherwise, the recursive + make invocations could pick up $MAKE from the environment, and use + that instead of re-executing with the correct make. + + So, for example, if one wanted to try how Solaris /usr/ccs/bin/make + behaved in the automake test cases, he couldn't run the testsuite + in parallel mode, because that make lacks support for concurrent + execution of recipes; on fast machines, this easily meant a 4x or + higher slow-down. + + Once the problem is clear, the solution is pretty simple: allow + the use of another variable, besides $MAKE, to override the make + program to be used in the test cases. + + See also commit `v1.11-1318-g3ceeef4', that introduced a more + general version of this change to the master branch. + + * tests/defs.in: Allow the make implementation to be used by the + test cases to be overridden by the `$AM_TESTSUITE_MAKE' variable, + in preference to the `$MAKE' variable. + +2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: fix a couple broken anchors + + * doc/automake.texi: In previous commit v1.11-605-g5f71f2b (related + to automake bug#8071), we had renamed the chapters about aclocal + and automake invocation, and added anchors to the old names as not + to break hyperlinks to our on-line manual. Unfortunately, these + anchors had been erroneously placed *before* the relevant `@node' + commands, instead that just after, so that they ended up pointing + to the wrong chapters. Fix this. Since we are at it, tweak the + wording of the comments to the anchors to better match that used + in the autoconf manual. + + Report and suggestion by Eric Blake. + +2011-12-30 Antonio Diaz Diaz <ant_diaz@teleline.es> + + dist: add support for lzip compression + + * NEWS: Update. + * automake.in (handle_dist): Recognize dist-lzip. + (make_paragraphs): Map LZIP to dist-lzip. + * doc/automake.texi (Dist, Options): Describe dist-lzip. + * lib/Automake/Options.pm (_process_option_list): Recognize + `dist-lzip'. + * lib/am/distdir.am (dist-lzip): New target. + (DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'. + (dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed + tarball. + (distcheck): Handle lzip-compressed tarballs just like the others. + * tests/lzip.test: New test. + * tests/Makefile.am (TESTS): Add it. + +2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge remote-tracking branch 'silent-fixes' into maint + + * origin/silent-fixes: + fix: last entry in ChangeLog + tests: tweak tests on silent-rules for makes without nested vars + silent-rules: fallback for makes without nested vars + +2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + docs: fix paragraph names for automake and aclocal invocations + + All the other autotools entitle their invocation nodes + "autofoo Invocation", whereas automake used to call its + "Invoking Automake" and "Invoking aclocal". So let's + try to be more consistent. + + This change is related to automake bug#8071. + + Suggestion by Reuben Thomas and Eric Blake. + + * doc/automake.texi (Invoking Automake): Node renamed ... + (automake Invocation): ... to this. + (Invoking aclocal): Node renamed ... + (aclocal Invocation): ... to this. + Add proper @anchor directives to avoid breaking existing web + hyperlinks still using the old names of the renamed nodes. + +2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failure due to autom4te caching + + * tests/acloca18.test: Remove stale autom4te.cache directories, to + prevent racy, spurious failures. + * tests/python11.test: Likewise. Fix a typo in comments since we + are at it. + +2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' into msvc + + * maint: + maint: autogenerate ChangeLog + +2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' into silent-fixes + + * maint: + maint: autogenerate ChangeLog + fix: last ChangeLog entry + tests: drop unnecessary requirement in 'subpkg.test' + gitlog-to-changelog: new auxiliary script, synced from gnulib + docs: "aclocal --install -I /abs/dir" actually copies files + docs: fix node names for automake and aclocal invocations + +2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' into yacc-work + + * maint: + maint: autogenerate ChangeLog + +2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + Merge branch 'maint' + + * maint: + maint: autogenerate ChangeLog + +2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com> + + maint: autogenerate ChangeLog + + Following the practice set by various other GNU projects, we start + to automatically generate the ChangeLog file from the git commit + messages. This will avoid duplication (as the ChangeLog entries + were always inserted both in the git commit message and in the + version-controlled ChangeLog file), and potential problems with + spurious merge conflicts (which, although greatly mitigated by + Bruno Haible's `git-merge-changelog' helper program, have never + been completely solved). + + * ChangeLog: Moved ... + * ChangeLog.11:... to this. + * Makefile.am (EXTRA_DIST): Add it. + (gitlog_to_changelog_command, gitlog_to_changelog_options): New + variables. + (ChangeLog, am--changelog-regen-hook): New targets. + * .gitignore: Add ChangeLog. |