Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 27478539 | 2012-06-28 10:59:45 | Merge branch 'maint' * maint: coverage: tests AM_MISSING_PROG usage docs: document AM_MISSING_PROG Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 78900b93 | 2012-06-28 10:55:13 | coverage: tests AM_MISSING_PROG usage Now that AM_MISSING_PROG is documented, we want to make sure it works as expected when used in third-party code. * t/am-missing-prog.sh: New test. * t/ammissing: Rename ... * t/am-macro-not-found.sh: ... like this, to avoid confusion (this test has nothing to do with the 'missing' script nor with the 'AM_MISSING_PROG' macro). * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e677ba93 | 2012-06-27 15:55:14 | docs: document AM_MISSING_PROG Addresses automake bug#11793. This macro has been present for a long time, and coreutils has been relying on it despite no documentation, which argues that it is stable enough to be worth documenting. Furthermore, since we are hoping to change our preferred invocation from 'missing --run program' to 'missing program' in a future version of automake, we need a way for packages to consistently get the preferred invocation form rather than open-coding a call to 'missing'. In particular, the Autoconf manual would love to recommend this macro when discussing how to integrate an autotest suite with automake. * doc/automake.texi (Public Macros): Document AM_MISSING_PROG. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b4b6a1a6 | 2012-06-27 15:29:42 | Merge branch 'maint' * maint: tests: fix a spurious failure with Solaris make tests: avoid several spurious failures on Solaris tests: avoid a spurious failure on NetBSD | ||
| dabdb014 | 2012-06-27 15:07:03 | tests: fix a spurious failure with Solaris make * t/subdir-order.sh: Run make in parallel only if the make implementation truly supports it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ebc92e19 | 2012-06-26 20:16:21 | Merge branch 'missing-not-touch-just-warn' * missing-not-touch-just-warn: missing: --run is supported again (as a no-op) for use by older automake | ||
| 0fcbd7c1 | 2012-06-26 10:40:39 | missing: --run is supported again (as a no-op) for use by older automake Commit v1.12.1-87-ga22717d of 2012-06-21 ("missing: do not touch timestamps; only warn for out-of-date files") has removed the '--run' option, since our new preferred calling conventions now imply it; but if a newer 'missing' is mixed with an already built project that used an older Automake version (this happened in practice for GNU m4; see: <http://lists.gnu.org/archive/html/bug-m4/2012-06/msg00001.html>), then the 'Makefile' in that project will fail due to passing the '--run' option when trying to bring the project up-to-date. * lib/missing: Parse and ignore '--run'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 78c4ba0d | 2012-06-25 10:40:39 | Merge branch 'missing-not-touch-just-warn' * missing-not-touch-just-warn: missing: don't cater to 'configure.in' in our advice missing: better tips about missing tools | ||
| 9adbc8d7 | 2012-06-25 10:38:58 | missing: don't cater to 'configure.in' in our advice The use of 'configure.in' as autoconf input now deprecated the development versions of both Automake and Autoconf, and we'd like to speed up its demise. * missing: In the advice displayed in case some autotools are detected to be missing, refer to 'configure.ac' unconditionally, instead of referring to 'configure.in' when that file exists in the current directory (and no 'configure.ac' does). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| aa630a92 | 2012-06-24 17:57:10 | tests: avoid several spurious failures on Solaris * t/ax/is_newest: Rewrite to be Bourne-compatible, for /bin/sh shells like Solaris' that are not POSIX-conforming. The script is so small that such a rewrite is easier than going through the hoops that would be required to ensure this script is always executed with a POSIX shell. * t/ax/is: Add a comment stating that this script is to be kept Bourne compatible as well. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| dbc83fa9 | 2012-06-24 16:52:51 | tests: avoid a spurious failure on NetBSD * t/maken.sh: Do not expect the timestamp of the current directory to be unchanged after a "make -n". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 57f5a614 | 2012-06-24 10:12:43 | Merge branch 'maint' * maint: tests: fix automatic re-execution of tests with Zsh tests: drop support for older Zsh shells tests: allow AM_TEST_RUNNER_SHELL to be overridden tests: fix setup for older Zsh Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3a714959 | 2012-06-23 13:42:10 | tests: fix automatic re-execution of tests with Zsh * defs: Use '$argv0' instead of '$0'. With Zsh not started right away in Bourne-compatibility mode, the latter will be the path not of the test script itself, but of the file it's currently sourcing -- i.e., in our case, './defs'. This would cause the automatic re-execution code to execute './defs' (basically a no-op) rather than re-run the test correctly. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 76fea2de | 2012-06-23 11:16:08 | tests: drop support for older Zsh shells * defs-static.in: Here. The fact that such support has been broken for almost a year (only fixed by today's commit 'v1.12.1-57-gf1e0300'), causing no bug reports from anyone, shows that such support is not truly warranted. And it will get in the way of future improvements in the handling of the exit trap (because bugs in older Zsh versions will prevent some of our planned improvements). So just drop it. * t/README: Remove obsolete advice for working around bugs in older versions of Zsh; instead, indicate version 4.3 is the oldest Zsh now supported. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d8024b51 | 2012-06-23 10:39:33 | tests: allow AM_TEST_RUNNER_SHELL to be overridden * defs-static.in: Here. This will make it easier for the maintainer to run some self checks (like those in 't/self-check-exit.tap') with different shells, to look for possible portability problems. Fix a typo (doubled "the") while we are at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f1e0300d | 2012-06-23 10:34:29 | tests: fix setup for older Zsh * defs-static.in: After the addition of TAP-based tests and our renaming of "simple" test scripts from 'tests/foo.test' to 't/foo.sh', a test name is valid if it matches the wildcard "*.sh" or "*.tap", not the wildcard "*.test". Adjust accordingly. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1ece804e | 2012-06-23 09:04:46 | missing: better tips about missing tools * lib/missing: Try to point the user to the home page of such tools where possible. Also, make clear that some tools (e.g., aclocal or autoheader) are distributed as part of bigger projects (resp. automake and autoconf, in those cases). While at it, refactor and re-format the existing code heavily, in particular introducing (give_advice): ... this new function in the process. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9465eb26 | 2012-06-23 00:32:30 | Merge branch 'missing-not-touch-just-warn' * missing-not-touch-just-warn: missing: do not touch timestamps; only warn for out-of-date files Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| edbcd8f1 | 2012-06-23 00:16:26 | Merge branch 'maint' * maint: tests: avoid one last `...` command substitution in 'test-init.sh' maintcheck: guard against `...` for command substitution in test cases tests: more uses of $(...) over `...` for command substitution cosmetics: quote `like this', not 'like this', in a couple of tests readme: clarify/extend few entries in 't/README' readme: better separation of entries in 't/README' readme: subsections "Do" and "Do not" in 't/README' merged tests: new requirement 'grep-nonprint' cosmetics: fix description of an expected error message in a test tests: assume automake quotes 'like this', not `like this' Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5898641f | 2012-06-23 00:12:08 | tests: avoid one last `...` command substitution in 'test-init.sh' * t/ax/test-init.sh (me): In the definition of this variable. This also shave off a couple of forks, and the need for a sanity check only required in fringe situations. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e5343765 | 2012-06-23 00:06:10 | maintcheck: guard against `...` for command substitution in test cases But still allow them in configure.ac, Makefile.am and shell scripts created or used inside test cases itself, because Autoconf (as of version 2.69) does not yet ensure that $CONFIG_SHELL will be set to a proper POSIX shell. * syntax-checks.mk (sc_tests_command_subst): New check. (syntax-check_rules): Add it. * t/tap-global-log.sh: Minimal tweakings to avoid triggering the new maintainer check. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 465111cd | 2012-06-22 23:31:00 | tests: more uses of $(...) over `...` for command substitution Somehow missed by the previous changes. No big deal, fix them now. * t/ax/depcomp.sh: Here. * t/autodist.sh: And here. * t/autodist-no-duplicate.sh: And here. * t/autodist-subdir.sh: Ad here. * t/remake11.sh t/self-check-me.tap: And here. * t/perf/testsuite-summary.sh: And here. * t/perf/testsuite-recheck.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d1490b59 | 2012-06-22 23:18:54 | cosmetics: quote `like this', not 'like this', in a couple of tests * t/ansi2knr-no-more.sh: Here. * t/aclocal-verbose-install.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ca744ade | 2012-06-22 23:14:38 | readme: clarify/extend few entries in 't/README' * t/README (Writing test cases): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f4a04f21 | 2012-06-22 23:06:55 | readme: better separation of entries in 't/README' * t/README (Writing test cases): Prepend different entries with a '*' character acting like a bullet in a list. This make different entries better separated, visually-wise. Minor related reformatting. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 91251075 | 2012-06-22 23:01:37 | readme: subsections "Do" and "Do not" in 't/README' merged * t/README (Writing test cases): Merge subsections "Do" and "Do not". The distinction was rather artificial, and more confusing than helpful. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 19c56b1d | 2012-06-22 22:31:35 | tests: new requirement 'grep-nonprint' * t/ax/test-inist.sh ($esc): New, a literal escape character. (grep-nonprint): New requirement, check that the grep implementation available that can handle non-printing characters correctly. * t/color.sh: Use it instead of hand-rolled equivalent, and do not (re)define '$esc' explicitly. * t/color2.sh: Likewise. * t/tap-color.sh: Likewise. * t/vtexi4.sh: Likewise. * t/parallel-tests-no-color-in-log.sh: Likewise. Also prefer the use of grep over that of $FGREP, because the new requirement only check grep, and ensure we only grep non-printing characters from a pipe, to avoid hitting a BSD grep limitation. * t/parallel-tests-reset-term.sh: Likewise. * t/ax/tap-summary-aux.sh: Use '$esc' instead of hard-coding the literal escape character. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c94da992 | 2012-06-22 21:59:26 | cosmetics: fix description of an expected error message in a test * t/vartypo2.sh: Here. This reflects the change from `this style' of quoting to 'this style'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 24c1056f | 2012-06-22 21:44:15 | tests: assume automake quotes 'like this', not `like this' * t/add-missing.tap: Here. This slightly simplifies and/or enhances some grepping checks on automake diagnostic. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3b83966e | 2012-06-22 18:55:01 | Merge branch 'maint' * maint: tests: prefer using 'is_newest' over 'ls -t' hacks tests: implement is_newest as an auxiliary script, not shell function tests: fix some spurious failures in VPATH setup tests: work in VPATH setup again | ||
| 13dd512d | 2012-06-22 18:15:21 | tests: prefer using 'is_newest' over 'ls -t' hacks To verify that a file 'new' is newer than the file 'old', it's much cleaner to use "is_newest new old" rather than the more clumsy "ls -t". Adjust several of our tests accordingly. * syntax-checks.mk (sc_tests_ls_t): New check, guard against uses of "ls -t" and similar. (syntax_check_rules): Add it. * t/maken.sh: Adjust. * t/autohdr4.sh: Likewise. * t/extradep2.sh: Likewise. * t/lex-depend-cxx.sh: Likewise. * t/extradep.sh: Likewise. * t/yacc-depend2.sh: Likewise. * t/yacc-pr204.sh: Likewise. * t/lex-pr204.sh: Likewise. * t/yacc8.sh: Likewise. * t/acloca13.sh: Likewise. * t/lex-depend.sh: Likewise, and enhance. * t/acloca14.sh: Likewise. * t/aclocal7.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| dc18830f | 2012-06-22 16:18:28 | tests: implement is_newest as an auxiliary script, not shell function This will allow to also use it in the makefile recipes used in our test cases. * t/ax/test-init.sh (is_newest): Remove. * t/ax/is_newest: New script. * Makefile.am (EXTRA_DIST): Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9c90cf76 | 2012-06-22 15:34:12 | tests: fix some spurious failures in VPATH setup * t/self-check-cleanup.tap: No need to copy the 'ax/t/test-init.sh' file over in our temporary directory. * t/self-check-reexec.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 74c0fd3e | 2012-06-22 15:14:20 | tests: work in VPATH setup again * defs: Drop overly paranoid sanity checks that was causing all the tests to fail spuriously when run in a VPATH setup, with a message like: "../t/nodef.sh: ./t/ax/test-init.sh: not found in current directory". Those checks looked for invariants that, even if broken, would still cause the test to fail very early and with a pretty clear error message anyway. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 062aeb24 | 2012-06-22 14:52:21 | Merge branch 'maint' * maint: tests: automatic re-execution works for non-POSIX shells too tests: use more POSIX shell features our test scripts + Extra non-trivial edits: * t/ax/test-init.sh: Apply the diffs between past versions of 'defs' in maint and in master; i.e., remove handling of $required entries 'texi2dvi-o' and 'makeinfo-html', and adjust to the fact that the parallel testsuite harness is now the default. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3a1a8c6d | 2012-06-22 11:40:39 | tests: automatic re-execution works for non-POSIX shells too Some inferior shells are too greedy in parsing their input. If a non-POSIX Bourne shell (like Solaris 10 /bin/sh) was used to launch one of our test scripts, it would fail unconditionally, because it unexpectedly saw some (by it) unsupported constructs, notwithstanding such constructs being placed *after* the code implementing automatic test re-execution with a better shell. In conclusion, the shell bailed out like this: $ /bin/sh t/ar.sh $ t/ar.sh: syntax error at line 257: `is_newest_files=$' unexpected By moving all the potentially problematic code in a separate file, to be sourced only after the code for automatic re-execution with a better shell, we ensure that inferior shell cannot see such code by mistake. * defs: All code after automatic shell re-execution moved out ... * t/ax/test-init.sh: ... to this new file. * syntax-checks.mk (xdefs): Add it. * Makefile.am (dist_check_DATA): Add it. Also move in 'defs' from a less explicit 'check_DATA' declaration. (nodist_check_DATA): Move in 'defs-static' from a less explicit 'check_DATA' declaration. (check_DATA): Remove. * t/self-check-sanity.sh: Remove, it was actually too hacky and brittle, sanity-checking situations we don0t actually care about. * t/list-of-tests.mk: Adjust. * t/self-check-explicit-skips.sh: Adjust, and fix a botched heading comments while we are at it. * t/self-check-reexec.tap: Adjust. * t/self-check-cleanup.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6e713425 | 2012-06-14 13:13:58 | tests: use more POSIX shell features our test scripts Since commit 'v1.12-36-g2d68fd9' of 2012-05-07, "configure: search a sturdy POSIX shell to be used in the testsuite", the shell running our test script is assured to be a POSIX-conforming shell, so we can use the more modern and flexible idioms and features that we couldn't use when we also aimed at compatibility with non-POSIX Bourne shells, like Solaris /bin/sh. * t/README: Suggest to use POSIX shell features liberally in test cases, with possible exception of Makefile recipes and configure shell code. * Several tests: Adjust to use more POSIX shell features; e.g., $(...) rather than `...`, $((...)) rather than `expr ...`, "if ! CMD; then ..." instead of "if CMD; then :; else ...", and so on. In several places, when using the 'test' built-in, prefer '-eq' over '=' for numeric comparisons, and prefer "grep -c PATTERN FILE" over "grep PATTERN FILE | wc -l". Throw in other low-hanging easy improvements and fixlets while we are at it. * t/ax/depcomp.sh, t/ax/tap-summary-aux.sh, t/ax/tap-functions.sh, defs, defs-static.in: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 488de31e | 2012-06-21 13:15:05 | Merge branch 'maint' * maint: docs: avoid failures with development version of Texinfo (4.13.90) typofix: s/test derivers/test drivers/ in check.am comments typofix: s/env/even/ in comments in GNUmakefile | ||
| d0dc4485 | 2012-06-21 13:13:04 | docs: avoid failures with development version of Texinfo (4.13.90) * doc/automake-history.texi: Use '@item' instead of '@itemx' where appropriate. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a22717df | 2012-06-15 11:13:00 | missing: do not touch timestamps; only warn for out-of-date files Before this change, the missing script had a twofold role: - it warned the user if some required maintainer tools was missing, or too old; - in such a case, it tried to "fix" the timestamp of the files that should have been rebuilt by that tool (without actually updating the file contents, of course), to allow the build to continue. The second capability used to be quite useful in the days when most projects committed files generated by maintainer-only tools in their VCS repository (today the trend is not to keep such generated files VCS-committed anymore). In such a setup, the "timestamp-fixing" capability of 'missing' was quite useful, in that it allowed users lacking some required maintainer tool to build from a VCS checkout in the face of skewed timestamps (as could have been caused by "cvs update" or "git checkout"). But then, when the automatic remake rules kicked in due to the generated files being *actually out-of-date* (e.g., because the user had modified 'configure.ac' but lacked a modern-enough autoconf to rebuild it), that behaviour of 'missing' caused the same problem that plagued AM_MAINTAINER_MODE; i.e., the user would get non-dependable builds and inconsistent statuses of the build tree -- changes to source files don't reflect on generated files, and this can be very confusing and cause hard-to-spot errors). So we now believe that the best approach to deal with timestamp-related issues is not to have 'missing' to "automagically" try to resolve them (with all the risk and brittleness entailed), but rather to suggest those projects still keeping generated files committed in their VCS to provide a proper (say) 'fix-timestamp.sh' script that touches the timestamp of the checked-out files, to ensure no spurious rebuild will be triggered. As a bonus, such a script can be more aware of the particularities, nooks and corner cases of a project, and thus more reliable than the old 'missing' script. An example of this approach is offered by GNU awk (release 4.0.1, Git tag 'gawk-4.0.1', commit b85b04e8). The GNU awk maintainers commit the Autotools-generated files (configure, Makefile.in, etc.) and other generated in the project's Git repository, but offer a useful script 'bootstrap.sh' that fixes the timestamps of those files, to ensure no useless remake is triggered in a freshly cloned repository: #! /bin/sh # bootstrap.sh --- touch relevant files to avoid out-of-date issues # in Git sandboxes touch aclocal.m4 find awklib -type f -print | xargs touch sleep 1 touch configure sleep 2 touch configh.in sleep 1 touch test/Maketests find . -name Makefile.in -print | xargs touch touch doc/*.info touch po/*.gmo touch po/stamp-po touch awkgram.c touch command.c touch version.c A similar, simplified script is also reported as an example in the manual. * NEWS: Update. * doc/automake.texi (Auxiliary Programs, maintainer-mod): Update. (CVS): Do not suggest that 'missing' can "automagically" fix botched timestamp due to a "cvs update"; this isn't true anymore. Give an example of a custom 'fix-timestamp.sh' script that can be used to obtain the same effect (in a slightly more laborious but also more explicit and less brittle way). Fix some minor typos and improper wordings while we are at it. * lib/missing: Basically rewritten to implement the new semantics. As a side effect (one of the several), the '--run' option is no more required nor recognized. * m4/missing.m4 (AM_MISSING_HAS_RUN): Enhance the test on '$MISSING' to ensure it actually provides the new semantics (by trying the new "witness" option '--is-lightweight'). * lib/am/distdir.am (distdir): No need anymore to check for "bad" distributed man pages that were actually dummy stubs generated by the 'missing' script. * t/missing4.sh: Rename ... * t/remake-aclocal-version-mismatch.sh: ... like this. * t/missing2.sh: Rename ... * t/missing-version-mismatch.sh: ... like this, and adjust to the new semantics. * t/missing3.sh: Adjust to the new semantics. * t/man4.sh: Remove as obsolete. * t/missing.sh: Likewise. * t/missing5.sh: Likewise. * t/txinfo30.sh: Likewise. * t/man6.sh: Adjust grepping checks. * t/remake6.sh: Likewise. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9c6ee0cd | 2012-06-21 11:43:54 | typofix: s/test derivers/test drivers/ in check.am comments Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0f330313 | 2012-06-20 23:32:44 | typofix: s/env/even/ in comments in GNUmakefile Spotted by Eric Blake. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7c6310c3 | 2012-06-20 18:35:57 | Merge branch 'maint' * maint: bootstrap: overhaul and improve docs: quote 'like this', not `like this' | ||
| fe4d80cd | 2012-06-20 18:28:02 | bootstrap: overhaul and improve This fixes several weaknesses and buglets in the 'bootstrap' convenience target offered in GNUmakefile (and its supporting code). Refer to the extensive code comments in there for more details. * GNUmakefile: Almost completely rewritten. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8d864157 | 2012-06-20 17:27:57 | docs: quote 'like this', not `like this' * doc/automake.texi: Fix the reported warnings and informative messages from automake to quote 'like this' rather than as `like this'. Do the same for comments and some text in our examples. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5741ca22 | 2012-06-20 14:23:28 | fixup: tests: special requirement 'makeinfo-html' removed from ./defs This should have ideally been part of earlier commit v1.12.1-93-g3c64d54. * defs (makeinfo-html): Remove. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9c22243a | 2012-06-20 13:49:18 | maintcheck: guard against obsolete $required entries * syntax-check.mk: Add rules guarding against the use of the obsolete test requirements 'texi2dvi-o' and 'makeinfo-html'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3c64d54c | 2012-06-20 12:27:11 | tests: drop requirement 'makeinfo-html'; 'makeinfo' is enough * defs: Since we now require Texinfo 4.9 or later in the Automake generated Makefiles, and since the '--html' option of makeinfo, as well as its capability to generate HTML output, has been supported since Texinfo 4.0 (according to the Texinfo NEWS file), the requirement 'makeinfo-html' is obsolete -- the simpler requirement 'makeinfo' is enough. * t/instdir-texi.sh ($required): Adjust by using simply 'makeinfo' instead of 'makeinfo-html'. * t/silent8.sh: Likewise. * t/txinfo21.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 32d81dcd | 2012-06-20 11:52:20 | tests: drop requirement 'texi2dvi-o'; 'texi2dvi' is enough * defs: Since we now require Texinfo 4.9 or later in the Automake generated Makefiles, and since the '-o' option of texi2dvi has been supported since Texinfo 4.1, the requirement 'texi2dvi-o' is obsolete -- the simpler requirement 'texi2dvi' is enough. * t/silent8.sh ($required): Adjust by using simply 'texi2dvi' instead of 'texi2dvi-o' * t/txinfo-no-clutter.sh: Likewise. * t/txinfo13.sh: Likewise. * t/txinfo23.sh: Likewise. * t/txinfo24.sh: Likewise. * t/txinfo25.sh: Likewise. * t/txinfo28.sh: Likewise. * t/txinfo33.sh: Likewise. * t/vtexi4.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 205c7572 | 2012-06-17 12:23:18 | texi: require Texinfo >= 4.9, related enhancements We start passing the '--build-dir' option to the texi2dvi and texi2pdf invocations done in our Texinfo-related rules. The argument for this option will be specific for each info_TEXINFOS entry, to work around a texi2dvi bug that could otherwise cause racy failures in parallel make builds: <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html> That bug seems already fixed in the development version of texi2dvi, though: <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00074.html> so the details of our '--build-dir' usage can be revisited once we can assume Texinfo 5.0 or later. Since the '--build-dir' options has been only supported since Texinfo 4.9, we lose compatibility with all older Texinfo versions. But we also get some real improvements. First, the '--build-dir' option implies the '--tidy' option; this, like the '--clean' option that we were formerly using, prevents cluttering of the build directory with all the TeX and Texinfo auxiliary files and build by-products, but, differently from '--clean', keeps them around for later re-runs to use; this shortens the rebuild times considerably. Second, the use of '--build-dir' also allows us to specify different build directories for the PDF and DVI output, preventing the rules building them from stomping on each other's feet when run in parallel. This is demonstrated by the test cases 'txinfo-no-clutter.sh' and 'txinfo33.sh', which before this change used to fail when run with MAKE="make -j4", but now succeed even in that case. * NEWS: Update. * lib/am/texibuilds.am: Do not try to avoid texi2dvi/texi2pdf option '-o'; it has been supported since Texinfo 4.1, and we now require Texinfo >= 4.9. Remove an obsolete comment. Modify calls to texi2dvi and texi2pdf to use the '--build-dir' option, so that TeX auxiliary files and build by-products for a 'foo.texi' input will be placed in a 'foo.t2d' directory (for texi2dvi) or in a 'foo.t2p' directory (for texi2pdf). * automake.in (scan_texinfo_file): Greatly simplify the implementation, since we don't need anymore to keep track of the TeX auxiliary files and build by-products to clean. Drop the '@CLEAN_FILES' part of the return value. (handle_texinfo_helper): Adjust the 'scan_texinfo_file()' call to its new signature. Append the "work directories" now created by texi2dvi and texi2pdf invocation to the list of files/directories removed upon "make mostlyclean". * lib/am/texinfos.am: Update the cleaning rules (and comments) accordingly. * t/txinfo-no-clutter.sh: Minimal adjustment to avoid spurious failures. * .gitignore: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ffe04c8d | 2012-06-16 09:16:53 | docs: it's not true that DISTCHECK_CONFIGURE_FLAGS is maintainer-reserved At least, not anymore since commit 'v1.11-372-g9760039' of 2001-06-10, "distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS". See also automake bug#8784. * doc/automake.texi (Flag Variables Ordering): Do not report 'DISTCHECK_CONFIGURE_FLAGS' as a "variables that are only useful to the maintainer that has no user counterpart": now it is a user-reserved variable, its maintainer-reserved counterpart being 'AM_DISTCHECK_CONFIGURE_FLAGS' . Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6d7399c9 | 2012-06-15 15:07:05 | Merge branch 'am-preprocess-drop-tricky-transform' * am-preprocess-drop-tricky-transform: automake: stop supporting "%KEY?iftrue:iffalse%" transforms am: stop using "%KEY:iffalse?iftrue%" transforms | ||
| 7b1697bd | 2012-06-15 10:27:27 | Merge branch 'maint' * maint: tests: minor reorganization of few tests fixup: adjust t/list-of-tests.mk for renamed/added tests subdirs: enhance coverage, tweak and rename few tests sync: update files from upstream with "make fetch" py-compile: consistently quote 'like this', not `like this'. docs: recursive make considered harmful docs: clean rules are not run in reverse order of build rules anymore silent: new $(AM_V_P) variable, tell if we're running in silent mode refactor: silent rules handling (a little) refactor: &define_verbose_var: accept a third optional argument + Extra non-trivial edits: These are due to the fact that support for silent rules is enabled unconditionally these days (since commit 'v1.12-34-g14141f2' of 2012-05-01, "silent rules: support for them is always active now"). * automake.in: In the new silent related code, do not ever check whether the 'silent-rules' option is active; just assume support for silent rules is enabled. * t/silent-obsolescent-warns.sh: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| db16f500 | 2012-06-15 10:09:19 | Merge branch 'docs-recursion' into maint * docs-recursion: docs: recursive make considered harmful | ||
| 401a2a82 | 2012-06-15 10:09:04 | Merge branch 'silent-custom' into maint * silent-custom: silent: new $(AM_V_P) variable, tell if we're running in silent mode refactor: silent rules handling (a little) refactor: &define_verbose_var: accept a third optional argument Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 4de5cb06 | 2012-06-14 23:45:08 | automake: stop supporting "%KEY?iftrue:iffalse%" transforms And the similar "reduced forms" "%KEY:iffalse%" and "%KEY?iftrue%" as well. They are convoluted, never used (after the previous change), and will get in the way in the Automake-NG branch, where we'll soon want to use GNU make static pattern rules in our internal '*.am' fragments. * automake.in (preprocess_file, transform): Simplify not to support those transform patterns. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ed1dc9dd | 2012-06-14 23:41:58 | am: stop using "%KEY:iffalse?iftrue%" transforms And the similar "reduced forms" "%KEY:iffalse%" and "%KEY?iftrue%" as well. They are harder to grasp, can be easily reformulated in function of other "plainer" transforms ("?KEY?" and "?!KEY?"), and we'll remove support for them anyway in a later change. * lib/am/data.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am, lib/am/progs.am, lib/am/python.am, lib/am/scripts.am: Adjusted not to rely on those kinds of transforms. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9cb6dc88 | 2012-06-14 23:27:42 | tests: minor reorganization of few tests * t/subdir3.sh: Rename ... * t/sourcefile-in-subdir.sh: ... like this. * t/subdir4.sh: Rename ... * t/depcomp-implicit-auxdir.sh: ... like this. * t/subdir6.sh: Rename ... * t/confh-subdir-clean.sh: ... like this. * t/subdir7.sh: Renamed ... * t/dir-named-obj-is-bad.sh: ... like this, and enhance. * t/srcsub.sh, t/srcsub2.sh: Unify ... * t/src-acsubst.sh: ... as this test. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 911a6e9f | 2012-06-14 23:04:33 | fixup: adjust t/list-of-tests.mk for renamed/added tests Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b72e9747 | 2012-06-14 22:47:28 | subdirs: enhance coverage, tweak and rename few tests * t/subdir5.sh: Rename ... * t/subdir-add-pr46.sh: ... like this. * t/subdir8.sh: Rename ... * t/subdir-add2-pr46.sh: ... like this. * t/cond2.sh: Rename ... * t/subdir-cond-err.sh: ... like this. * t/subdir9.sh: Rename ... * t/subdir-with-slash.sh: ... like this; improve heading comments. * t/subcond.sh: Rename ... * t/subdir-cond-gettext.sh: ... like this; improve m4 quoting. * t/subcond2.sh: Rename ... * t/subdir-am-cond.sh: ... like this; adjust heading comments. * t/subcond3.sh: Rename ... * t/subdir-ac-subst.sh: ... like this; adjust heading comments. * t/subdir2.sh: Rename ... * t/subdir-subsub.sh: ... like this; enhance so that it also runs './configure' and 'make'. * t/subdir-order.sh: New test, check that the $(SUDBIRS) entries are processed in the order they are specified. * doc/automake.texi: Adjust references to tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6f01c1e0 | 2012-06-14 16:32:47 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c5f70e79 | 2012-06-14 16:30:16 | py-compile: consistently quote 'like this', not `like this'. * lib/py-compile (usage_error): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 61dfb470 | 2012-06-12 17:24:21 | docs: recursive make considered harmful In the documentation, we shouldn't confuse "packages using subdirectories" with "packages using recursive make invocations". A package can have a careful organization in subdirectories, make no (or almost no) use of make recursion (examples of such packages are GNU bison, GNU cppi, and Automake itself). In fact, make recursion should be used as seldom as possible, because it makes the build system more brittle and dependency declarations less faithful. See Peter Miller's article "Recursive Make Considered Harmful" for more a more in-depth discussion: http://miller.emu.id.au/pmiller/books/rmch/ * doc/automake.texi (Directories): Clarify how a build system based on make recursion does. Observe that such a system, albeit being very widespread, has its own issues and drawbacks, and that one can have a non-recursive setup also for projects using complex directory layout. (Recursing subdirectories): Speak of "packages that use make recursion" rather than of "packages with subdirectories". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a9bd0856 | 2012-06-12 16:12:45 | Merge branch 'subdirs-simplify' into maint * subdirs-simplify: docs: clean rules are not run in reverse order of build rules anymore | ||
| aca096de | 2012-06-12 16:10:19 | docs: clean rules are not run in reverse order of build rules anymore At least since commit 'v1.12.1-12-gec6a135' of 2012-06-10, "subdirs: unify rules for "cleaning" and "normal" recursive targets" * doc/automake.texi (Recursing subdirectories): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2ef0a2d3 | 2012-06-11 21:39:46 | Merge branch 'maint' * maint: maintcheck: fix failures, both real and spurious subdir tests: avoid an use of "make -j4", for portability tests: avoid failure due to libtool quirks in C++ demo test tests: fix spurious failures due to missing '$sleep' subdirs: unify rules for "cleaning" and "normal" recursive targets tests: add a "demo" test on C support tests: look for '.lo' rather than '.o' object when using Libtool with C++ cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py" maint: grammar fixes: s/all these/all of these/ subdir-objects: improve "make mostlyclean" efficiency and flexibility Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c8ec1527 | 2012-06-11 21:27:12 | Merge branch 'subdir-objects-pr10697' into maint * subdir-objects-pr10697: maintcheck: fix failures, both real and spurious | ||
| 511b6896 | 2012-06-11 21:21:32 | maintcheck: fix failures, both real and spurious * syntax-checks.mk (sc_rm_minus_f): Whitelist the 't/subobj-clean*-pr10697.sh' tests. * t/subobj-clean-pr10697.sh: When redefining PATH, use '$PATH_SEPARATOR', not hard-coded ':'. * t/subobj-clean-lt-pr10697.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c45604a7 | 2012-06-11 19:48:08 | tests: merged some testsuite fixlets * fix-cxx-libtool-demo: tests: avoid failure due to libtool quirks in C++ demo test * subdir-objects-pr10697: tests: fix spurious failures due to missing '$sleep' * subdirs-simplify: subdir tests: avoid an use of "make -j4", for portability Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2f67c25f | 2012-06-11 19:46:46 | subdir tests: avoid an use of "make -j4", for portability Otherwise, a spurious failure with Solaris CCS make can be triggered. The coverage is not actually reduced, since the code path is still covered when one runs the testsuite with AM_TESTSUITE_MAKE="make -jN" (as should be done periodically). * t/subdir-distclean.sh : Call simply "make maintainer-check", not "make -j4 maintainer-check". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c5e9dac8 | 2012-06-11 19:38:54 | tests: avoid failure due to libtool quirks in C++ demo test Revealed by failures on NetBSD 5.1. * t/cxx-lt-demo.sh: In "make distcheck" invocation, don't define 'CC' to "false", as that value would be exported and passed to the child ./configure invocation, and some configure checks generated by libtool autoconf macros can still require a C preprocessor even for packages using only C++, and bail out if it's not found. The problem was not apparent on Solaris and GNU/Linux because those systems have a '/lib/cpp' program, and configure detected and used that as a fallback C preprocessor. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c39549d0 | 2012-06-11 18:52:38 | tests: fix spurious failures due to missing '$sleep' Revealed by failures on NetBSD 5.1. * t/subobj-clean-pr10697.sh: Call '$sleep' before modifying the files that should trigger an automatic remake. * t/subobj-clean-lt-pr10697.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 620362cd | 2012-06-11 17:35:35 | Merge branches 'subdirs-simplify' and 'subdir-objects-pr10697' into maint * subdirs-simplify: subdirs: unify rules for "cleaning" and "normal" recursive targets tests: add a "demo" test on C support * subdir-objects-pr10697: subdir-objects: improve "make mostlyclean" efficiency and flexibility tests: look for '.lo' rather than '.o' object when using Libtool with C++ cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py" Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ec6a1357 | 2012-06-10 23:08:07 | subdirs: unify rules for "cleaning" and "normal" recursive targets Before this change, the recursive invocation of cleaning targets in the $(SUBDIRS) where done in inverse order, i.e., starting from the last $(SUBDIRS) entry and proceeding towards the first. According to the code comments, this was done ... ... in an attempt to alleviate a problem that can happen when dependencies are enabled. In this case, the .P file in one directory can depend on some automatically generated header in an earlier directory. Since the dependencies are required before any target is examined, make bombs. But this comment does not apply anymore to the current implementation of automatic dependency tracking: the '.Po' and '.Plo' files does not depend on any C header or source file, ever! So it seems that the distinction between "normal" and "cleaning" recursive targets is a stale leftover of an older implementation of the automatic dependency tracking. In fact, the Automake History manual seems to confirm this suspect; the section "First Take on Dependency Tracking" reads: Because each .P file was a dependency of Makefile, this meant that dependency tracking was done eagerly by make. For instance, "make clean" would cause all the dependency files to be updated, and then immediately removed. This eagerness also caused problems with some configurations; if a certain source file could not be compiled on a given architecture for some reason, dependency tracking would fail, aborting the entire build. and the following section "Dependencies As Side Effects" reads: In this approach, the .P files were included using the -include command, which let us create these files lazily. This avoided the "make clean" problem. So the distinction between "normal" and "cleaning" recursive targets has likely been obsolete since by then already. We can thus remove such distinction, thus reducing some complications and duplication in our rules. Doing so, the whole testsuite still passes (both with GCC and Sun C 5.9), even the test 'c-demo.sh', which, among the other things, exercise the setup described in the obsolete code comment referenced above. Finally, note that we still keep '$(RECURSIVE_CLEAN_TARGETS)' and '$(RECURSIVE_TARGETS)' as two distinct variables, to ensure a better backward-compatibility for any user-defined rules that happen to use those variables. * NEWS: Update. * lib/am/subdirs.am ($(RECURSIVE_CLEAN_TARGETS), $(CLEAN_TARGETS)): Merge their recipes. * t/subdir-distclean.sh: New test, check that "./configure && make && make distclean" is actually a no-op, even when conditional SUBDIRS are involved. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| af5d52b7 | 2012-06-11 00:49:18 | tests: add a "demo" test on C support Showing and testing non-trivial use of C support, and its interaction with other features. * t/c-demo.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 066c8cad | 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> | ||
| dbbcd360 | 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> | ||
| 825722a1 | 2012-06-11 16:12:01 | silent: new $(AM_V_P) variable, tell if we're running in silent mode Addresses part of automake bug#8665. * automake.in (handle_silent): Define a new make variable '$(AM_V_P)', that expands to a shell conditional that can be used in make recipes to determine whether they are being run in silent mode or not. The choice of the name derives from the LISP convention of appending the letter 'P' to denote a predicate (see also "the '-P' convention" in the Jargon File); we do so for lack of a better convention. * t/automake.texi, NEWS: Document the new variable. * t/silent6.sh: Adjust and extend. Move out the checks that didn't actually deal with user extension of silent rules ... * t/silent-obsolescent-warns.sh: ... into this test (bound to be removed once 'maint' is merged into the 'master' branch). * t/list-of-tests.mk: Add the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5f6e8015 | 2012-06-11 13:00:23 | refactor: silent rules handling (a little) * automake.in (handle_languages): Move definition of $(AM_V_GEN) variable ... (define_verbose_tagvar): ... and of '$(AM_V_at)' variable ... (handle_silent): ... in this new subroutine. (generate_makefile): Call it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1f009dac | 2012-06-11 12:48:29 | refactor: &define_verbose_var: accept a third optional argument This is only required by future changes. * automake.in (define_verbose_var): Accept a third optional argument, specifying the value to assign to the given make variable when silent rules are disabled. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| fa0cd34b | 2012-06-10 22:03:49 | maint: grammar fixes: s/all these/all of these/ Run this command: git grep -li '\<all.these\>' \ |xargs perl -pi -e 's/\b([Aa])ll these\b/${1}ll of these/' | ||
| 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> | ||
| c8d13b61 | 2012-06-09 20:15:18 | Merge branch 'maint' * maint: tests: look for '.lo' rather than '.o' object when using Libtool with C++ cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py" tests: add basic semantic tests on C++ support tests: minor tweak to 't/objc-megademo.sh' | ||
| 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> | ||
| 995e5ff0 | 2012-06-07 19:14:30 | cleanup: simplify subroutine '&saw_extension' * automake.in (saw_extension): Now that we use the '%extension_seen' hash only as a set (it's keys being its elements), we can simplify the implementation of this function accordingly. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5f54e9ec | 2012-06-07 19:14:12 | cleanup: remove subroutine '&saw_sources_p' * automake.in (saw_sources_p): Remove, its implementation is now so trivial that it's easier to inline it into ... (handle_languages): ... it's only caller. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2fbd43d6 | 2012-06-07 19:13:39 | cleanup: remove unused '&count_files_for_language' subroutine * automake.in (count_files_for_language): Remove. Its only remaining caller (saw_sources_p) has stopped calling it in the previous commit. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| be7cd4fa | 2012-06-07 19:12:43 | automake: simplify '&saw_sources_p' This is just a minor cleanup. No semantic change is intended. * automake.in (saw_sources_p): Since its now-only caller calls it with the '0' argument, remove the code paths that assumed the argument could be '1', and assume no arguments. (handle_languages): Drop the arguments '0' in the '&saw_sources_p' invocation. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 11a645aa | 2012-06-07 19:12:11 | tags: look at $(am__tagged_files) to decide whether to activate This is just a preparatory refactoring in view of future changes. * automake.in (handle_tags): To decide whether to include the tags rules, rely on whether the automake-defined variable $(SOURCES) is non-empty, rather than on the fact that '&saw_sources(1)' returns true. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 712c083e | 2012-06-07 20:13:37 | tags: new var $(am__tagged_files) to list all files to run taggers on This change reduce code duplication a little, and will be needed by future simplifications. * automake.in (handle_tags): Define a new 'am__tagged_files' private make variable that lists all files to run taggers (mkid, cscope, ctags, etc) on. Drop the now-useless transform '%CONFIG%' when including 'tags.am'. * lib/am/tags.am: Use it in several recipes and dependencies list to reduce code duplication. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cb497781 | 2012-06-07 19:41:37 | tags (cscope): also process $(TAGS_FILES) * lib/am/tags.am (cscopelist): Also scan the files (if any) listed in the '$(TAGS_FILES) variable, for consistency by what is done by the 'ID', 'TAGS' and 'CTAGS' rules. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 32fab273 | 2012-06-07 19:19:15 | tags (ID, cscope): also process config header (if any) * lib/am/tags.am (cscopelist, ID): Also scan the file given by the '%CONFIG%' transform, for consistency by what is done by the 'TAGS' and 'CTAGS' rules. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e92bd2e7 | 2012-06-02 09:54:17 | Merge branch 'maint' * maint: news: document deprecation of configure.in news: put planned backward compatibilities early sync: update files from upstream with "make fetch" maint: deprecate 'configure.in' as autoconf input maint: post-release minor version bump release: stable release 1.12.1 copyright: update copyright years in a couple of files tests: avoid spurious failures with Solaris 9 cscope program maintcheck: fix a spurious failure perf: beginning of a performance testsuite aclocal: declare function prototypes, do not use '&' in function calls news: support for configure.in will be dropped in future automake versions tests: fix botched heading comments in 'lex-clean-cxx.sh' [ng] maintcheck: some tweaks and fixlets help: fix a typo in the list of warning categories maint: version bump after beta release release: beta release 1.12.0b (will become 1.12.1) release: remove overly picky check 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> |