Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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 | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 64b18e07 | 2012-04-20 10:05:51 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f46359b4 | 2012-04-18 11:40:15 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 944ec778 | 2012-04-14 09:55:41 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f4b8c585 | 2012-04-13 14:36:31 | Merge branch 'maint' * maint: install: shell parameter expansions can be used in directory names | ||
| e9c2b9e9 | 2012-04-13 14:16:29 | Merge branch 'fix-pr11232' into maint * fix-pr11232: install: shell parameter expansions can be used in directory names | ||
| 0bb60761 | 2012-04-12 16:24:23 | 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. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| faffcc87 | 2012-04-11 17:51:59 | sync: some auxiliary files synced from upstream * lib/texinfo.tex: Synced from upstream, by "make fetch". * lib/INSTALL: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a4b0f4b5 | 2012-04-01 11:48:47 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9fe2ba38 | 2012-04-01 21:55:09 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2d671e11 | 2012-03-29 00:31:47 | 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'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 84bf694b | 2012-03-28 22:50:27 | 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'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 26a63b3b | 2012-03-28 17:12:36 | 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). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| feeb7f6a | 2012-03-28 17:03:25 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3856a940 | 2012-03-28 14:31:36 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7a56bed0 | 2012-03-27 22:40:20 | 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'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b96263e1 | 2012-03-27 17:55:07 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 619c1b26 | 2012-03-27 13:10:16 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| db1138c5 | 2012-03-18 22:31:45 | 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 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 45ffbe9f | 2012-03-18 22:19:45 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 368f1c4c | 2012-03-16 23:48:53 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 295c5f26 | 2012-03-15 09:16:46 | Merge branch 'maint' * maint: python: avoid failures due to $(am__py_compile) being undefined python: expose automake bug#10995 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 819005ae | 2012-03-15 09:12:00 | 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. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6a6bc51e | 2012-03-14 22:29:59 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| fdde53d3 | 2012-03-12 16:58:55 | scripts: bump the depcomp scriptversion * lib/depcomp (scriptversion): Bump, to account for recent changes. | ||
| 327358d8 | 2012-03-12 15:10:39 | 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. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ddac0505 | 2012-03-07 23:26:24 | 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). | ||
| 3a814608 | 2012-03-07 21:08:06 | 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. | ||
| 24ab9845 | 2012-03-07 08:20:26 | Merge branch 'maint' into msvc * maint: news: describe recently-fixed bug in vala support depcomp: add support for IBM xlc/xlC compilers | ||
| 45fbc8b4 | 2012-03-06 22:03:22 | Merge branch 'maint' * maint: news: describe recently-fixed bug in vala support depcomp: add support for IBM xlc/xlC compilers | ||
| b0887067 | 2012-03-05 20:05:37 | depcomp: add support for IBM xlc/xlC compilers * lib/depcomp (xlc): New depmode. * NEWS, THANKS: Update. Copyright-paperwork-exempt: yes | ||
| 5f624a6a | 2012-03-06 09:31:43 | Merge branch 'msvc' * msvc: scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile | ||
| 8902f83d | 2012-03-06 09:14:50 | 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. | ||
| 74a7f492 | 2012-03-04 16:00:58 | 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. | ||
| 7df05a0b | 2012-03-04 15:44:46 | 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. | ||
| 8be5d254 | 2012-03-01 09:30:45 | 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. | ||
| aadd78e9 | 2012-03-02 11:04:05 | Merge branch 'maint' into msvc | ||
| 8d0391c5 | 2012-03-01 09:30:45 | 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. | ||
| 00eb4ac9 | 2012-02-24 14:35:06 | 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. | ||
| 4a38f180 | 2012-02-23 22:47:42 | 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. | ||
| 3e887a13 | 2012-02-23 20:25:26 | 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. | ||
| 2d951983 | 2012-02-23 19:21:00 | 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. | ||
| de58d25e | 2012-02-23 15:15:26 | 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. | ||
| deb77738 | 2012-02-20 18:33:50 | 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. | ||
| e1606b32 | 2012-02-18 13:59:26 | 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. | ||
| b5788178 | 2012-02-17 13:29:19 | Merge branch 'maint' * maint: dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS) | ||
| 4df475a2 | 2012-02-17 11:52:13 | 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). | ||
| acde2706 | 2012-02-16 10:51:23 | maint: sync auxiliary files from upstream * lib/texinfo.tex: Synced from upstream, by "make fetch". * lib/config.guess: Likewise. * lib/config.sub: Likewise. | ||
| 641a5a4b | 2012-02-16 10:46:23 | maint: run "make update-copyright" | ||
| e05e1bed | 2012-02-15 19:32:07 | Merge branch 'maint' * maint: fixup: distribute 'lib/update-copyright' | ||
| 8dd50099 | 2012-02-15 19:00:10 | 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'. | ||
| fd0ca827 | 2012-02-15 18:40:06 | Merge branch 'maint' * maint: maint: add a rule to use gnulib's update-copyright | ||
| f4d2f3b7 | 2012-02-15 18:29:57 | 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 ... | ||
| 43b8af82 | 2012-02-12 16:57:42 | 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. | ||
| b2c1adfe | 2012-02-14 21:23:04 | 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. | ||
| 2a2500ce | 2012-02-14 14:07:12 | 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 | ||
| 4ced60d7 | 2012-02-14 12:55:32 | 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. | ||
| e6c40d4b | 2012-02-12 15:06:17 | 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. | ||
| b1d998fb | 2012-02-09 18:15:43 | 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 | ||
| e36b1ad1 | 2012-02-08 15:12:40 | 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' | ||
| 6fca3afa | 2012-02-03 16:10:52 | depcomp: try to prevent whitespace regressions Suggested by Stefano Lattarini. * lib/depcomp: Add $tab and $nl variables and use them throughout. | ||
| 81193035 | 2012-02-03 08:54:49 | 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. | ||
| 1e2ced5c | 2012-02-08 14:40:15 | depcomp: quote 'like this', not `like this' Cherry-picked from recent changes from master. * lib/depcomp: Quote 'like this', not `like this'. | ||
| 947ce0ed | 2012-02-07 11:12:59 | 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. | ||
| df6841b7 | 2012-02-06 23:17:32 | 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" ... | ||
| 21f97935 | 2012-02-06 22:45:47 | cosmetics: few whitespace fixlets | ||
| d029740b | 2012-02-05 21:22:01 | 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. | ||
| d2d18dca | 2012-02-05 18:37:45 | Merge branch 'maint' * maint: refactor: new variable telling whether make is running in "dry mode" tests: do not clobber the modified CC | ||
| da0964eb | 2012-01-23 21:02:05 | 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. | ||
| 6b819187 | 2012-02-02 20:14:30 | 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/. | ||
| 2077a044 | 2012-02-02 14:51:59 | 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. | ||
| dde91c54 | 2012-02-01 16:28:48 | Merge branch 'maint' | ||
| c3e4962a | 2012-01-31 12:52:24 | 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. | ||
| a6c17113 | 2012-01-30 23:27:06 | 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 | ||
| 2a2f57fc | 2012-01-30 23:19:03 | 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. | ||
| 41404a8f | 2012-01-30 23:16:37 | 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. | ||
| ef20e28b | 2012-01-28 13:23:16 | 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. | ||
| bd34a47c | 2012-01-21 11:33:44 | 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. | ||
| e5ae760b | 2012-01-21 20:52:43 | 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 | ||
| 84fbf466 | 2012-01-20 20:52:02 | 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. | ||
| 3a7b60b1 | 2012-01-18 18:42:46 | Merge branch 'maint' * maint: cmdline parsing: move into a dedicated perl module | ||
| 52246cc7 | 2012-01-18 17:55:40 | 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. | ||
| b4ba4e86 | 2012-01-18 14:08:57 | 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. | ||
| fbeda3da | 2012-01-18 12:17:11 | 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. | ||
| 2a9862a8 | 2012-01-18 09:45:01 | gitlog-to-changelog: update from upstream * lib/gitlog-to-changelog: Update from gnulib upstream. The only changes should be cosmetic and/or minor fixlets. | ||
| a6e60819 | 2012-01-17 23:31:19 | 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. | ||
| 0a9d201c | 2012-01-17 15:06:05 | 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. |