Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 06dfdbe3 | 2012-06-10 13:38:58 | subdir-objects: improve "make mostlyclean" efficiency and flexibility Fixes automake bug#10697. Before this change, the generated Makefile issued one 'rm' invocation for each subdir object file. Not only was this very inefficient when there were several such files, but it also caused stale object files to be left behind when a source file was renamed or removed. * automake.in (handle_single_transform): When a subdir object is seen, update '%compile_clean_files' to clean all the compiled objects in its same subdirectory, and all the libtool compiled objects ('.lo') there as well is that subdir object is a libtool one. * t/subobj-clean-pr10697.sh: New test. * t/subobj-clean-lt-pr10697.sh: Likewise. * t/list-of-tests.mk: Add them. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 98b96fcc | 2012-06-09 20:13:43 | tests: look for '.lo' rather than '.o' object when using Libtool with C++ * t/cxx-lt-demo.sh: ... in this test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0e489645 | 2012-06-09 20:04:24 | cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py" The typofixes offered by this patch have been suggested by the "codespell.py" script. Reference: <http://git.profusion.mobi/cgit.cgi/lucas/codespell/> * old/ChangeLog.01, old/ChangeLog.02, old/ChangeLog.03: Fix few typos. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f3710b5b | 2012-06-09 15:11:10 | tests: add basic semantic tests on C++ support Strange as it might seem, we were still missing them (yikes). * t/cxx-demo.sh: New test. * t/cxx-lt-demo.sh: Likewise (using libtool). * t/list-of-tests.mk: Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3cd1a2d0 | 2012-06-09 13:50:12 | tests: minor tweak to 't/objc-megademo.sh' * t/objc-megademo.sh (am_create_testdir): Define to "empty" before including ./defs, because this test doesn't rely on the files usually pre-set by the setup in there. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 64766637 | 2012-06-02 09:34:29 | news: document deprecation of configure.in * NEWS (Warnings and deprecations): We now warn if 'configure.in' is used instead of 'configure.ac' as autoconf input. (Future backward-incompatibilities): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cdf93deb | 2012-06-02 09:24:29 | news: put planned backward compatibilities early * NEWS (Future backward-incompatibilities): Put them in the news entries for the future 1.12.2 release. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 94dc4ba0 | 2012-06-01 20:24:20 | sync: update files from upstream with "make fetch" * lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 96497293 | 2012-06-01 19:15:29 | maint: deprecate 'configure.in' as autoconf input It has been years since that has been deprecated in the documentation, in favour of 'configure.ac': Previous versions of Autoconf promoted the name configure.in, which is somewhat ambiguous (the tool needed to process this file is not described by its extension), and introduces a slight confusion with config.h.in and so on (for which '.in' means "to be processed by configure"). Using configure.ac is now preferred. It's now time to start giving runtime warning about the use of 'configure.in', so that support for it can be removed in future versions of autoconf/automake. See also, in the Autoconf repository, commit 'v2.69-4-g560f16b' of 2012-05-23, "general: deprecate 'configure.in' as autoconf input". * lib/Automake/Configure_ac.pm: Issue a warning in the 'obsolete' category if 'configure.in' is detected. Since this module is synced from Automake, this change is to be backported there (and will be soon). * t/help.sh: Adjust. * t/configure.sh: Adjust and enhance. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 12bef166 | 2012-06-01 18:55:14 | maint: post-release minor version bump * configure.ac (AC_INIT): Bump version number to 1.12.1a. * m4/amversion.m4: Likewise (automatically regenerated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 58cad831 | 2012-06-01 15:50:03 | 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"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 192d699a | 2012-06-01 15:47:17 | copyright: update copyright years in a couple of files * doc/help2man, t/aclocal-verbose-install.sh: Update copyright, thanks to "make update-copyright". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 423105aa | 2012-06-01 12:37:41 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9a7a83ba | 2012-06-01 11:49:16 | maintcheck: fix a spurious failure * Makefile.am (test_subdirs): Add 't/perf'. Fix spurious failure of the 'maintainer-check-list-of-tests' target. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ff022f46 | 2012-05-29 11:58:02 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e6184b2c | 2012-05-29 09:36:26 | Merge branch 'fix-pr11543' into maint * fix-pr11543: aclocal: declare function prototypes, do not use '&' in function calls | ||
| 6bf58a59 | 2012-05-28 13:32:03 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| abc3d3d1 | 2012-05-28 13:52:34 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8ef057e4 | 2012-05-26 18:01:23 | tests: fix botched heading comments in 'lex-clean-cxx.sh' * t/lex-clean-cxx.sh: This file tests lex, not yacc. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6bd70f6a | 2012-05-25 18:49:07 | [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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0d1e28a8 | 2012-05-21 15:44:14 | help: fix a typo in the list of warning categories * lib/Automake/ChannelDefs.pm (usage): s/none'/none/. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 16bf8ebc | 2012-05-19 15:27:21 | 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"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0bec8b53 | 2012-05-19 15:18:43 | 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"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a36a8f6e | 2012-05-19 15:11:36 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 91ac5d2c | 2012-05-19 13:22:12 | Merge branch 'ylwrap-line-filename' into maint * ylwrap-line-filename: ylwrap: preserve subdirectories in "#line" munging ylwrap: preparatory refactoring | ||
| 7b142a7b | 2012-05-15 16:12:09 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8084ae1b | 2012-05-17 12:36:23 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b6359a5f | 2012-05-16 18:16:41 | 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. Copyright-paperwork-exempt: yes Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0ce63a38 | 2012-05-16 17:35:05 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0592e126 | 2012-05-16 16:26:39 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f9006f81 | 2012-05-16 16:10:06 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 911204a1 | 2012-05-16 15:50:14 | 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 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d89da9c2 | 2012-05-12 08:42:37 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9c86ba6b | 2012-05-10 14:32:27 | 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++'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 33c59ec5 | 2012-05-07 22:11:28 | 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 | ||
| f974da70 | 2012-04-23 19:03:33 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1cf7d188 | 2011-12-28 13:23:31 | test defs: fix indentation (cosmetic change) * defs (exit trap): Fix indentation left botched by previous patch 'v1.11b-51-g626bf65'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6b641de5 | 2011-12-28 13:23:31 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2d68fd9b | 2011-12-28 13:23:31 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 21d1b934 | 2011-12-28 13:23:31 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1cab373b | 2012-05-06 13:33:09 | 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'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 27136dfe | 2012-03-31 16:39:32 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 37267407 | 2012-05-06 10:15:59 | 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'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| bd75e7a8 | 2012-05-04 15:14:43 | 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. Copyright-paperwork-exempt: yes Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 45c1fcd9 | 2012-05-05 19:22:40 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a16b838b | 2012-05-05 16:39:10 | Merge branch 'parallel-tests-performance' into maint * parallel-tests-performance: parallel-tests: separate different logs with an empty line | ||
| 952d91c0 | 2012-05-05 16:33:36 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5677e1d4 | 2012-05-04 18:09:02 | 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'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 67b86e08 | 2012-05-05 02:01:20 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 33f4f7d3 | 2012-05-04 17:32:08 | Merge branch 'objc++' into maint * objc++: tests: avoid spurious failure on missing Obj C/C++ compiler | ||
| 8450f187 | 2012-05-04 17:31:06 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 75b91149 | 2012-05-04 13:24:23 | 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++ Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3b447abc | 2012-05-02 18:04:25 | 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" Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a66cd033 | 2012-05-02 17:47:56 | 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). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 679d8a84 | 2012-05-01 15:04:37 | objc, objc++: test support for compilation flags * t/objc-flags.sh, t/objcxx-flags.sh: New tests. * t/list-of-tests.mk: Add them. Co-authored-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 49aa6e01 | 2012-04-30 16:11:03 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3434a649 | 2012-04-30 15:17:13 | objc, objc++: test automatic dependency tracking * t/objc-deps.sh, t/objcxx-deps.sh: New tests. * t/list-of-tests.mk: Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8e6c0c51 | 2012-04-30 14:30:42 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| fe2037a2 | 2012-04-30 14:17:44 | objc++, objc: add first semantic tests * t/objcxx-minidemo.sh: New test. * t/objc-minidemo.sh: Likewise. * t/list-of-tests.mk: Add them. Co-authored-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 23197cff | 2012-04-27 01:00:27 | objc++: add first basic test * t/objcxx-basic.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f9dbb0a6 | 2012-05-02 12:51:09 | 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 | ||
| 93814708 | 2012-05-02 09:48:11 | news: fix typos * NEWS (Bugs fixed in 1.12.1): Fix botched indentation of an entry, add a forgotten "and", remove a redundant "the". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 18015811 | 2012-05-02 00:13:10 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e7745eaa | 2012-05-02 09:59:46 | Merge branch 'cygnus-deprecate' into maint * cygnus-deprecate: cygnus: warn when it's used (flagged as 'obsolete' now) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| dda82273 | 2012-05-01 09:18:56 | cosmetics: fix typo in aclocal m4 directory README * m4/acdir/README: Add forgotten "if". * THANKS: Update. Copyright-paperwork-exempt: yes Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f3f85d2e | 2012-05-01 14:25:51 | 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'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3687a13b | 2012-05-01 13:42:52 | news: fix confusing wording Reported by Dave Hart. * NEWS (Future backward-incompatibilities): Fix possibly confusing wording about the upcoming requirement of Autoconf >= 2.65. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 96a78f13 | 2012-05-01 13:32:42 | 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 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c1c27cf1 | 2012-05-01 12:43:22 | 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". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5bcc8fa1 | 2012-04-30 23:25:18 | fixup: remove leftover "TERM=ansi" definition in 't/color.sh' It should have actually be removed in commit 'v1.12-23-gb105d40'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 4c2dd6e0 | 2012-04-30 22:18:24 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 99dc7acd | 2012-04-30 21:43:21 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c5efa270 | 2012-04-30 21:29:34 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 22e26c6f | 2012-04-30 21:25:37 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 06ed2f31 | 2012-04-30 21:18:36 | sync: some auxiliary files synced from upstream * lib/config.sub: Synced from upstream, by "make fetch". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f44ae9ea | 2012-04-30 21:17:06 | hacking: copyright notices must be updated before releasing * HACKING (Release procedure): Suggest to use "make update-copyright". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b105d40d | 2012-04-30 20:44:50 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 71cc0e09 | 2012-03-31 14:53:24 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5eeb3660 | 2012-02-26 00:30:18 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f5733aab | 2012-04-26 22:25:35 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6542254a | 2012-04-26 15:14:04 | news: announce initial support for Objective C++ Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 401d4119 | 2012-04-26 15:12:39 | 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. Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6e5b4441 | 2012-02-26 09:42:11 | 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 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8becdd30 | 2012-04-26 15:03:02 | objc++: add documentation * doc/automake.texi (Objective C++ Support): New node. (How the Linker is Chosen, Support for Other Languages): Adjust. Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| df306b52 | 2012-04-26 15:01:23 | 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. Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d6294a12 | 2012-04-29 22:35:16 | Merge branch 'mkdirp-deprecate' into maint * mkdirp-deprecate: AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13 | ||
| d3303684 | 2012-04-28 23:18:45 | 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'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 807f3cf6 | 2012-04-28 21:36:42 | tests: require lex, not yacc, in a lex test case See automake bug#11369. * t/lex-clean.sh ($required): Require 'lex', not 'yacc'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7a1eb9ff | 2012-04-02 17:05:42 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b4653256 | 2012-04-28 10:40:26 | maint: fix a comment typo * configure.ac: Fix typo in comment: s/out/our/ | ||
| 5f810d0d | 2012-04-28 10:21:31 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8ea72c74 | 2012-04-27 16:27:08 | 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@'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 05f91a92 | 2012-04-27 23:56:17 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| af627d37 | 2012-04-28 09:29:34 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 56badcd4 | 2012-04-27 18:48:27 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b99b5be0 | 2012-04-27 11:14:53 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 018a1866 | 2012-04-26 17:47:14 | 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> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ab14841a | 2012-04-26 15:05:05 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ae3d5dfc | 2012-04-26 17:14:34 | Merge branch 'fix-pr11345-lex' into maint * fix-pr11345-lex: tests: fix a failure in Lex/C++ tests on Mac OS X | ||
| e25a41fa | 2012-04-26 12:34:51 | Merge branch 'fix-pr11346-timestamp' into maint * fix-pr11346-timestamp: tests: fix a spurious failure due to truncated timestamps |