kc3-lang/automake

Branch :


Log

Author Commit Date CI Message
6febcd41 2013-06-12 21:22:58 Merge branch 'micro' into maint * micro: THANKS: update e-mall address for Ralf Corsepius lang, suffix rules: don't require C stuff needlessly tests: expose automake bug#14560 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ddc755a6 2013-06-12 21:21:38 Merge branch 'fix-pr14560' into micro * fix-pr14560: lang, suffix rules: don't require C stuff needlessly tests: expose automake bug#14560
3afe7a86 2013-06-12 19:41:40 THANKS: update e-mall address for Ralf Corsepius Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
4f7cc4fe 2013-06-11 21:20:18 lang, suffix rules: don't require C stuff needlessly This change fixes automake bug#14560: when two or more user-defined suffix rules were present in a single Makefile.am, automake would needlessly include definition of some make variables related to C compilation in the generated Makefile.in. * automake.in (handle_languages): Fix logic to decide whether or not to include definitions of C compilation related variables in the generated Makefile.in: instead of doing so when two or more user-defined suffix rules are seen (which is a completely bogus criterion), do so when two or more compiled languages are used. * lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used. (@EXPORT): Adjust. * t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script 'suffix-extra-c-stuff-pr14560.sh', which now passes. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
0164f831 2013-06-08 17:36:07 tests: expose automake bug#14560 Automake needlessly generates definition of make variables related to C compilation when two or more user-defined suffix rules are present in a single Makefile.am. * t/suffix-extra-c-stuff-pr14560.sh: New test, exposing the bug. This test is still xfailing. * t/no-extra-c-stuff.sh: New test, check for a potential related regression. This regression is not actually present here (so this test passes), but it still took place in our first attempt at fixing bug#14560 -- so this test has proven to be actually useful. * t/no-extra-makefile-code.sh: Improve comments, and tighten the grepping checks a little. * t/list-of-tests.mk (handwritten_TESTS): Add the new tests. (XFAIL_TESTS): Add the new xfailing test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
9892eb78 2013-06-09 11:37:01 Merge branch 'micro' into maint * micro: maint: add a missing copyright notice sync: update config.guess from upstream tests: expose automake bug#13928 comments: fix some out-of-sync refs to test scripts tests: expose automake bug#13940
2d6fec69 2013-06-09 11:31:58 maint: add a missing copyright notice * t/ax/deltree.pl: Here. Issue revealed by "make update-copyright". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
843fc2e5 2013-06-09 10:35:25 sync: update config.guess from upstream * lib/config.guess: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
004eba9b 2013-06-08 22:00:32 tests: expose automake bug#13928 * t/subobj-indir-pr13928.sh: New test, still xfailing. * t/subobj-vpath-pr13928.sh: Likewise. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f7492285 2013-06-08 17:56:34 comments: fix some out-of-sync refs to test scripts Those script has been renamed since those comments where written. * lib/Automake/Rule.pm: Adjust. * lib/am/distdir.am: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b2b3692d 2013-06-08 17:47:30 tests: expose automake bug#13940 * t/override-conditional-pr13940.sh: New test, still xfailing. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e9d79f11 2013-06-03 21:18:25 Merge branch 'micro' into maint * micro: configure: remove an obsolete TODO comment post-release: micro version bump (1.13.3a) release: stable micro release 1.13.3 typofix: fix grammaro in comments in t/tags-pr12372.sh Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
de1343a6 2013-06-03 21:15:50 configure: remove an obsolete TODO comment * configure.ac: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
0ebaea2d 2013-06-03 21:13:34 post-release: micro version bump (1.13.3a) * configure.ac: Bump version: 1.13.3 -> 1.13.3a * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e166a135 2013-06-03 18:03:24 release: stable micro release 1.13.3 * configure.ac (AC_INIT): Bump version number to 1.13.3. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
14b9ec0e 2013-06-03 16:19:52 typofix: fix grammaro in comments in t/tags-pr12372.sh Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
6d03501b 2013-06-03 15:25:50 Merge branch 'micro' into maint * micro: NEWS: minor fixlets, re-wording, and better text wrapping tests: slightly stricter checks in t/cxx-demo.sh tests: fix spurious failure when 'etags' program is Exuberant Ctags tests: fix spurious failure due to missing sleeps
a7cf36ae 2013-06-03 15:12:18 NEWS: minor fixlets, re-wording, and better text wrapping Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d6013ec5 2013-06-03 12:01:02 tests: slightly stricter checks in t/cxx-demo.sh This is a follow-up to the commit fixing automake bug#14493. * t/cxx-demo.sh: Also check that the built program returns the correct (i.e., zero) exit status when run. And improve comments a little while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
9137db89 2013-06-03 11:45:29 tests: fix spurious failure when 'etags' program is Exuberant Ctags Fixes automake bug#14517. * t/tags-pr12372.sh: If the 'etags' program in use supports the '--langmap' option, use it. That is required to avoid spurious failures with Exuberant Ctags (at least version 5.8), which by default do not generate any tags for file extensions it doesn't recognize. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b4eefc79 2013-06-03 11:27:49 tests: fix spurious failure due to missing sleeps Fixes automake bug#14528. * THANKS: Give credit to that bug's original reporter. * t/remake-configure-dependencies.sh: Add few missing '$sleep' invocations. I thought that the sleeps implicit in the configure invocation were enough, but they were not, actually. Here is what can happen: 1. The config.status script is generated by a configure run. 2. ./config.status and make are run. 3. The 'print-version' script is modified. 4. Since that script is listed in $(CONFIGURE_DEPENDENCIES), autoconf is re-run. 5. On a fast-enough machine, the three steps 2-4 above, even combined, might have taken less than a second to run; 6. If the filesystem doesn't have a sub-second timestamp resolution, that means the newly-generated configure has the same timestamp of the old config.status; 7. So, config.status is not re-run, and the Makefiles are not updated. 8. Spurious failure! So we really need more explicit sleeps. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b3bf07f7 2013-05-31 11:42:38 maint: version bump after beta release 1.13b * configure.ac (AC_INIT): Bump version number to 1.13c. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
4d7136ed 2013-05-31 10:51:38 release: beta release 1.13b (will become 1.14) * configure.ac (AC_INIT): Bump version number to 1.13b. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
fb3fe261 2013-05-30 15:41:34 Merge branch 'micro' into maint * micro: maint: support new Automake versioning scheme in tagging/uploading rules announcement: can be generated from development snapshots as well announcement: can be generated from development snapshots as well announcement: be less strict in the paring of NEWS maint: version bump after beta release 1.13.2b release: beta release 1.13.2b (will become 1.13.3) sync: update config.guess from upstream Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
80238728 2013-05-30 15:30:02 maint: support new Automake versioning scheme in tagging/uploading rules * maint.mk (base_version_rx: Drop. (rx-0, rx-1): New. (stable_major_version_rx, stable_minor_version_rx, beta_version_rx): Update. (stable_micro_version_rx, alpha_version_rx: New. (determine_release_type): Adjust. (web-manual-update): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
4882d43e 2013-05-30 15:18:11 announcement: can be generated from development snapshots as well And not only from checkouts corresponding exactly from a beta or stable release. That was only getting in the way of proper testing for the 'announcement' recipe. * maint.mk (determine_release_type): If the make variable DEVEL_SNAPSHOT is set, do not error out if the current version denotes a development snapshot (e.g., "1.13.2c" or "1.99a"). (announcement): Relax, by also accepting to run from development snapshots, not only stable or beta releases. Do so by defining the target-specific variable DEVEL_SNAPSHOT to "yes". (print-release-type): Micro enhancement while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
8d579d6a 2013-05-30 15:16:44 announcement: can be generated from development snapshots as well And not only from checkouts corresponding exactly from a beta or stable release. That was only getting in the way of proper testing for the 'announcement' recipe. * maint.mk (determine_release_type): If the make variable DEVEL_SNAPSHOT is set, do not error out if the current version denotes a development snapshot (e.g., "1.13.2c" or "1.99a"). (announcement): Relax, by also accepting to run from development snapshots, not only stable or beta releases. Do so by defining the target-specific variable DEVEL_SNAPSHOT to "yes". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
765f951d 2013-05-30 15:00:52 announcement: be less strict in the paring of NEWS So that the file generated by "make announcement" is correct also for beta releases. * maint.mk (announcement): Relax the awk program processing NEWS a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
a24bfc3e 2013-05-30 14:58:01 maint: version bump after beta release 1.13.2b * configure.ac (AC_INIT): Bump version number to 1.13.2c. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
a1e97a9f 2013-05-30 14:01:49 release: beta release 1.13.2b (will become 1.13.3) * configure.ac (AC_INIT): Bump version number to 1.13.2b. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f968f3c3 2013-05-30 13:19:43 sync: update config.guess from upstream Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
0d9399f1 2013-05-30 11:55:48 Merge branch 'micro' into maint * micro: NEWS: document recent testsuite fixes (MinGW/MSYS related) depcomp: avoid trailing backslash in depfile for depmode=msvc7 tests: prune some weed in a non-POSIX test tests: avoid a spurious failure on MSYS
9f325eea 2013-05-30 11:31:02 automake: assume we can always pass '-o' to the C compiler It is assumed that we can pass -c -o to the C compiler, so remove some special casing and always do that. This change is similar in spirit to v1.13.1d-217-g7299c4d "depend: assume we can always pass '-o' to the C compiler" This change also happen to fix a testsuite failure (t/silent-many-languages.sh) when mixing MSVC and GNU fortran, which have different default object file extensions (.obj vs. .o). This difference in object file extension is not handled well and caused Automake to look for MSVC objects with .o extension. Always using -o makes MSVC create .o object files and linking succeeds. Not that anybody recommends mixing toolchains or anything. * bin/automake.in (handle_languages): Remove conditional modification of 'output_flag' entry for 'c'. (register_language ('name' => 'c')): Add 'output_flag' entry set to '-o'. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
d3b8ad21 2013-05-30 11:28:02 NEWS: document recent testsuite fixes (MinGW/MSYS related) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b4bfacb6 2013-05-30 10:49:42 depcomp: avoid trailing backslash in depfile for depmode=msvc7 When compiling a file without any dependencies (no #includes), the msvc7 depmode (and consequently msvc7msys) generates a depfile Makefile fragment with the last line ending with a backslash. This is less robust than needed. Fixes automake bug#14501. * lib/depcomp (msvc7): Finish off the depfile Makefile fragment with an empty line. (scriptversion): Update. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
eb33ae2b 2013-05-29 17:10:40 tests: prune some weed in a non-POSIX test Fixes automake bug#14494. * t/distcheck-pr10470.sh: Make sure the test-driver is installed. Adjust to run_make changes. Adjust grep pattern to match new output. Signed-off-by: Peter Rosin <peda@lysator.liu.se> Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
625678d5 2013-05-29 16:53:55 tests: avoid a spurious failure on MSYS Fixes automake bug#14493. * t/cxx-demo.sh: Strip CR characters from the program output. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
649c03b4 2013-05-29 14:54:47 Merge branch 'micro' into maint * micro: t/README: document "run_make", discourage "make -e" cosmetics: tiny whitespace fixlets tests: avoid a spurious failure with MSVC tests: avoid a spurious failure on non-POSIX systems
eefd01b3 2013-05-29 14:16:19 t/README: document "run_make", discourage "make -e" Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
88b04360 2013-05-29 13:55:48 cosmetics: tiny whitespace fixlets Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d817a68e 2013-05-29 12:06:17 tests: avoid a spurious failure with MSVC Fixes automake bug#14498. * t/yacc-bison-skeleton.sh: inline was not standardized prior to C99. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
a4598c57 2013-05-29 12:01:07 tests: avoid a spurious failure on non-POSIX systems Fixes automake bug#14495. * t/lex-header.sh: Make sure unistd.h isn't included. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
c98d5235 2013-05-29 10:39:58 Merge branch 'micro' into maint * micro: NEWS: fix typos and grammaros NEWS: document fix for bug#14441 Automake::Rule: consistently prepend underscore to private variables Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() Automake::Rule: adjust comments and POD according to previous changes Automake::Rule: make private variables lexically scoped suffix rules: better distinction between builtin and user-derived Automake::Rule: expose suffix rules as a function, not a scalar tests: expose automake bug#14441
03025525 2013-05-29 10:20:48 NEWS: fix typos and grammaros Reported-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f7540da7 2013-05-28 22:04:25 Merge branch 'suffix-rules-work' into micro * suffix-rules-work: NEWS: document fix for bug#14441 Automake::Rule: consistently prepend underscore to private variables Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() Automake::Rule: adjust comments and POD according to previous changes Automake::Rule: make private variables lexically scoped suffix rules: better distinction between builtin and user-derived Automake::Rule: expose suffix rules as a function, not a scalar tests: expose automake bug#14441
b1b1b299 2013-05-28 21:26:28 NEWS: fix typo Reported-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
7c53e4c3 2013-05-28 21:04:39 Merge branch 'micro' into maint * micro: NEWS: report recent documentation fix about AM_PROG_MKDIR_P NEWS: Automake 2.0 will assume "rm -f" without args work NEWS: fix a couple of typos in older entries
87e49f4f 2013-05-28 20:51:42 NEWS: report recent documentation fix about AM_PROG_MKDIR_P Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
15f610e7 2013-05-28 20:48:11 NEWS: Automake 2.0 will assume "rm -f" without args work Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d987aa36 2013-05-28 20:09:54 NEWS: on assuming "rm -f" without arguments work Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e6df383b 2013-05-28 19:29:11 NEWS: fix a couple of typos in older entries Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
94d57f3d 2013-05-28 17:53:03 Merge branch 'micro' into maint * micro: docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake maint: sanity checks in 'check-minimal-autoconf' convenience target maint: test minimal supported autoconf through convenience target maint: install minimal supported autoconf through convenience targets test-lib: typofix in comments
e833dfe6 2013-05-28 17:52:15 docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake See the 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' file in the 'maint' branch (as of commit v1.13.2-201-gd99e3f3) for details. * doc/automake.texi: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d99e3f32 2013-05-28 17:45:25 docs: AM_PROG_CC_C_O: correct imprecise statements about it * doc/automake.texi: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
8a2c43b6 2013-05-28 16:24:41 maint: sanity checks in 'check-minimal-autoconf' convenience target * maint.mk (check-minimal-autoconf): Here, check that autoconf seems to be locally installed, and that such local install refers to the correct expected minimal version. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
cc9d8f26 2013-05-28 15:58:06 maint: test minimal supported autoconf through convenience target * maint.mk (check-minimal-autoconf): New convenience target. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
dd78a5e8 2013-05-28 15:13:46 maint: install minimal supported autoconf through convenience targets To make testing of Automake in conjunction with it easier and more reproducible. It might be nice to also have convenience targets to actually automatically run the Automake testsuite with such autoconf version, but that is left to later patches. * configure.ac: AC_SUBST the definition of $required_autoconf_version. * maint.mk (WGET): Move definition earlier. (gnu-ftp, ac-v, ac-n, ac-p, ac-t, ac-l, ac-d): New auxiliary variables. (fetch-minimal-autoconf, build-minimal-autoconf): New convenience targets. * .gitignore: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
a4c5b27b 2013-05-28 10:54:25 NEWS: document fix for bug#14441 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f98ca068 2013-05-28 10:56:30 Automake::Rule: consistently prepend underscore to private variables * lib/Automake/Rule.pm (%suffix_rules): Rename ... (%_suffix_rules): ... like this. (%suffix_rules_builtin): Rename ... (%_suffix_rules_builtin): ... like this. (reset, next_in_suffix_chain, register_suffix_rule, suffix_rules_count): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
986ca6c0 2013-05-27 12:55:27 Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() * lib/Automake/Rule.pm (suffix_rule): Rename ... (next_in_suffix_chain): ... like this. (%suffix_rules): Adjust comments. (@EXPORT): Adjust. * automake.in (derive_suffix): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
1246ace6 2013-05-27 12:30:14 Automake::Rule: adjust comments and POD according to previous changes * lib/Automake/Rule.pm: Here, in several places. * automake.in (register_language): And a tiny adjustment here as well. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
71e0af47 2013-05-27 12:24:02 Automake::Rule: make private variables lexically scoped * lib/Automake/Rule.pm (@_known_extensions_list): This one. (@_suffixes): And this one. (%_rule_dict): And this one. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
6d4ffd83 2013-05-27 11:14:22 suffix rules: better distinction between builtin and user-derived Fixes automake bug#14441. * lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ... (%suffix_rules_builtin): ... this lexical variable. ($suffix_rules): Remove, superseded by ... (%suffix_rules): ... this lexical variable. (suffix_rules, suffix_rules_count): Adjust. (register_suffix_rule): Update '%suffix_rules_builtin' rather than '%suffix_rules' if the location (as passed by the '$where' argument) is an "internal" one (doesn't come from user-provided Makefile.am). (reset): Simplify resetting of '%suffix_rules' to the default ones accordingly. * t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
55f82a80 2013-05-27 10:44:06 Automake::Rule: expose suffix rules as a function, not a scalar This is just a preparatory refactoring in view of future patches. No semantic change is intended. * lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level variable to a lexical variable. (suffix_rule): New function, expose the details of $suffix_rules that are actually required by code outside thus modules --- and only those details, no more. (@EXPORT): Adjust. * automake.in (derive_suffix): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
4ba95192 2013-05-27 01:02:05 tests: expose automake bug#14441 * t/suffix-custom-pr14441.sh: New test, still failing. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. Helped-by: Felix Salfelder <felix@salfelder.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3fd6f164 2013-05-26 20:51:57 test-lib: typofix in comments * t/ax/am-test-lib.sh: In here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
974d1780 2013-05-26 20:40:12 Merge branch 'micro' into maint * micro: tests: remove an "unworthy" FIXME comment tests: remove one obsolete workaround for long-lifted limitations tests: couple of minor tweaks in demo tests in C++ and Libtool
3f152503 2013-05-26 20:37:23 tests: remove an "unworthy" FIXME comment * t/location.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
5ed59024 2013-05-26 20:34:14 tests: remove one obsolete workaround for long-lifted limitations * t/silent-many-languages.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b95a0444 2013-05-26 19:18:55 tests: couple of minor tweaks in demo tests in C++ and Libtool * t/cxx-lt-demo.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3f19ee5f 2013-05-26 14:09:20 Merge branch 'micro' into maint * micro: tests: adjust or remove some obsolete comments tests: remove some useless 'unset' of variables
d6efe326 2013-05-26 13:54:29 NEWS: document deprecation of 'shar' and 'compress' dist formats Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e5b40a3e 2013-05-26 13:30:52 Merge branch 'prog-cc-c-o-work' into maint * prog-cc-c-o-work: tests: some tests make no sense if "$CC -c -o" doesn't work AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
6f109602 2013-05-26 12:52:07 m4: rename minuso.m4 -> prog-cc-c-o.m4 The new name is much clearer. * m4/minuso.m4: Rename ... * m4/prog-cc-c-o.m4: ... like this. * m4/Makefile.in (dist_automake_DATA): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2ea48f45 2013-05-26 12:42:04 tests: adjust or remove some obsolete comments * t/ax/am-test-lib.sh: Here. * t/distcheck-configure-flags.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d33783f5 2013-05-26 12:13:33 tests: remove some useless 'unset' of variables They are redundant, now that we no longer call "make -e". * t/javaflags.sh: Don't unset JAVAC. * t/lflags.sh: Don't unset LEX. * t/lflags2.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d81424aa 2013-05-26 12:04:48 Merge branch 'micro' into maint * micro: tests: avoid a couple of extra sleep with GNU make NEWS: document testsuite work for 1.13.3 lint: remove a couple of obsolete syntax checks lint: cosmetics: use #-comments, not ##-comments lint: cosmetics: some reordering lint: recipes of syntax check require GNU grep; ensure it is used lint: better name for a syntax check tests: rename $am_make_rc_got -> $am_make_rc tests: ensure $required is not set too late Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
73a09981 2013-05-26 11:35:15 tests: avoid a couple of extra sleep with GNU make They are only required by BSD make in order to avoid spurious failures. * t/deleted-am.sh: Here. * t/parallel-tests-recheck-pr11791.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
bf81b6d1 2013-05-26 11:23:29 NEWS: document testsuite work for 1.13.3 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
fc1aac7a 2013-05-25 22:50:20 lint: remove a couple of obsolete syntax checks * syntax-checks.mk (sc_obsolete_requirements_rules): Remove definition of this variable. (modern-requirement.texi2dvi-o): Likewise. (modern-requirement.makeinfo-html): Likewise. ($(sc_obsolete_requirements_rules)): Remove these obsolete syntax checks. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
372d0c09 2013-05-25 22:22:55 lint: cosmetics: use #-comments, not ##-comments * syntax-checks.mk: Here. This makes sense because this file is not meant to be processed by Automake, so the ##-comments are not treated specially. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f61ae294 2013-05-25 22:20:44 lint: cosmetics: some reordering * syntax-checks.mk: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
057ff0fe 2013-05-25 22:18:45 lint: recipes of syntax check require GNU grep; ensure it is used * syntax-checks.mk (sc_sanity_gnu_grep): New. ($(syntax_check_rules)): Depend on it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b9c579cb 2013-05-25 21:36:35 lint: better name for a syntax check * syntax-checks.mk (sc_tests_make_without_am_makeflags): Rename ... (sc_make_without_am_makeflags): ... like this. (syntax_check_rules): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
74c1336d 2013-05-24 20:54:41 tests: rename $am_make_rc_got -> $am_make_rc The latter is more natural More importantly, I keep misspelling the former over and over. * t/ax/am-test-lib.sh (run_make): Update. * t/ax/tap-summary-aux.sh: Adjust. * t/ax/testsuite-summary-checks.sh: Likewise. * t/parallel-tests-exit-statuses.sh: Likewise. * t/parallel-tests-extra-programs.sh: Likewise. * t/parallel-tests-fd-redirect-exeext.sh: Likewise. * t/parallel-tests-fd-redirect.sh: Likewise. * t/parallel-tests-fork-bomb.sh: Likewise. * t/parallel-tests-no-spurious-summary.sh: Likewise. * t/parallel-tests-recheck-pr11791.sh: Likewise. * t/parallel-tests-reset-term.sh: Likewise. * t/tap-signal.tap: Likewise. * t/test-driver-acsubst.sh: Likewise. * t/test-driver-cond.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b2b6269f 2013-05-15 15:48:08 tests: some tests make no sense if "$CC -c -o" doesn't work So just skip them, to avoid spurious failures when running "make check-no-cc-c-o". * t/ax/am-test-lib.sh (require_tool): New requirement '-c-o'. * t/subobj10.sh ($required): Add it. * gen-testsuite-part (%depmodes): Adjust so that tests that use 'makedepend' will be skipped if the compiler is being forced not to grasp "-c -o". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e90126cf 2013-05-15 10:14:46 AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic ** Theoretical problems of AC_PROG_CC_C_O: Both cc and $CC are checked to see if they support the '-c' and '-o' options together. This behaviour is highly inconsistent with that of the other macros related to C compiler checks -- which test only $CC. It can also cause unwarranted uses of the 'compile' script on systems where the default 'cc' is inferior, but the user is compiling with a proper, different compiler (e.g., gcc). ** Practical problems with our previous implementation of C support m4 macros in Automake: - AM_PROG_AR must now be called *before* AC_PROG_CC; this wasn't the case before, and it turns out there are packages in the wild that relied on the old behaviour. - The cross-referenced requirements and macro rewrites juggled among AC_PROG_CC, AC_PROG_CC_C_O and AM_PROG_CC_C_O caused warnings in autoconf; for example, in our test 't/libobj3.sh', we could see warnings like these (here slightly tweaked for legibility): configure.ac:5: AC_REQUIRE: `AC_PROG_CC' expanded before required autoconf/c.m4:567: AC_PROG_CC_C_O is expanded from... autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from... autoconf/lang.m4:329: AC_LANG_COMPILER_REQUIRE is expanded from... autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from... m4sugar/m4sh.m4:639: AS_IF is expanded from... autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:70: AM_PROG_AR is expanded from... configure.ac:5: the top level ** Fix all of that: We fix all of the described issues with a new internal m4 macro _AM_PROG_CC_C_O (inspired to, but not based on, AC_PROG_CC_C_O) that gets tacked on to AC_PROG_CC automatically (this is done in the Automake-generated aclocal.m4) and that takes care of checking and adjusting '$CC' for "-c -o" support. The macro AM_PROG_CC_C_O is still present, but is now just a thin wrapper around such Automake-enhanced AC_PROG_CC. It is worth noting that the present patch causes three slight *backward-incompatibilities*: 1. The name cache variable used by AM_PROG_CC_C_O is no longer computed (at configure runtime!) from the content of '$CC', but is statically defined as 'am_cv_prog_cc_c_o'. 2. 'cc' is no longer checked by AM_PROG_CC_C_O, only '$CC' is. 3. AM_PROG_CC_C_O no longer AC_DEFINE the C preprocessor symbol 'NO_MINUS_C_MINUS_O'. Given however that the third change can easily be worked around, that the first two changes can be legitimately seen as bug fixes, and that the new semantics introduced by such changes will simplify the transition to Automake 2.0 (when the 'subdir-objects' will always be enabled unconditionally), we believe they are acceptable to be shipped with Automake 1.14. With this patch, we also revert some of the testsuite adjustments done in previous commit v1.13.2-178-g9877109 of 2013-05-24 (compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents). Such adjustments are no longer needed. * m4/minuso.m4 (_AM_PROG_CC_C_O): New internal macro, basically and adjusted version of a merge between Autoconf-provided AC_PROG_CC_C_O and our old implementation of AM_PROG_CC_C_O. (AM_PROG_CC_C_O): Redefine as a simple wrapper around AC_PROG_CC. * m4/init.m4 (AC_PROG_CC): Append _AM_PROG_CC_C_O, not AM_PROG_CC_C_O, to the pre-existing expansion of this macro. * m4/ar-lib.m4 (AM_PROG_AR): No longer require it to be expanded after AC_PROG_CC. * t/aclocal-deps.sh: Move AC_PROG_CC invocation after AC_PROG_RANLIB and AM_PROG_AR invocations. Things should work this way too (as they used to). * t/subobj-clean-lt-pr10697.sh: Likewise. * t/alloca.sh: Move AC_PROG_CC invocation after AM_PROG_AR invocation. * t/condlib.sh: Likewise. * t/aclocal-deps.sh: Move AC_PROG_CC invocation after LT_INIT and AM_PROG_AR invocations. Make autoconf and autoheader warnings fatal. * t/am-prog-cc-c-o.sh: Adjust to the new semantics, enhance a little, and reduce code duplication. * t/ccnoco.sh: Make autoconf warnings fatal. * t/subpkg.sh: Likewise. * t/ccnoco-lib.sh: Likewise, and fix a comment. * t/link_cond.sh: Enhance a couple of error messages. * configure.ac: Drop "nullification" of AM_PROG_CC_C_O. * NEWS: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
9877109c 2013-05-14 16:08:32 compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents This is a much simpler rewrite than the one we attempted in the past, and that was later removed by commit 'v1.13.1d-137-g32eb770' of 2013-05-11 (compile: avoid AC_PROG_CC messy rewrite). Not only this change simplifies the code a little, but has the welcome collateral effect of making automatic dependency tracking work better with compilers that doesn't grasp the '-c' and '-o' options together. Issues in that setup have been caught by several failures in the target 'check-no-cc-c-o'. Unfortunately, this change has less welcome collateral effects: 1. AM_PROG_AR must now be called *after* AC_PROG_CC; 2. Autoconf emits extra warnings when used with Automake-generated aclocal.m4. These are unacceptable regressions for a release, but since we are going to fix them soon enough in a follow-up patch (surely to be applied before Automake 1.14 is released) we don't worry too much. * m4/init.m4: Redefine AC_PROG_CC early, to automatically invoke AM_PROG_CC_C_O as well. Accordingly, drop now-unneeded "automagical" AM_PROG_CC_C_O expansion at later time (which took place thanks to a AC_CONFIG_COMMANDS_PRE call). * m4/minuso.m4 (AM_PROG_CC_C_O): Ensure the expansion of the body of this macro takes place with C as "current Autoconf language" (use AC_LANG_PUSH/AC_LANG_POP). * m4/ar-lib.m4 (AM_PROG_AR): Likewise. Also, require this macro to be expanded *after* AC_PROG_CC (so that any rewrite of $CC, if required, has already taken place). * t/add-missing.tap: Adjust to avoid spurious failures. * t/aclocal-deps.sh: Likewise, by having AM_PROG_AR called *after* AC_PROG_CC. * t/subobj-clean-lt-pr10697.sh: Likewise. * t/alloca.sh: Likewise. * t/condlib.sh: Likewise. * t/discover.sh: Likewise. * t/objc-megademo.sh: Likewise. * t/ccnoco.sh: Extend a little. * t/ccnoco-deps.sh: New test. * t/ccnoco-lib.sh: Likewise. * t/ccnoco-lt.sh: Likewise. * t/list-of-tests.mk: Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f6b9a22e 2013-05-24 12:46:17 tests: ensure $required is not set too late And do so in a safer way, with a runtime check rather than a brittle static maintainer check. * t/ax/test-init.sh: Set the 'required' variable to readonly. * syntax-checks.mk (sc_tests_required_after_defs): Remove. (syntax_check_rules): No longer list it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ac13ca50 2013-05-24 12:17:59 Merge branch 'micro' into maint * micro: tests: use append mode to capture parallel make output tests: new convenience target 'check-parallel' Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d19eb85c 2013-05-24 01:13:40 tests: use append mode to capture parallel make output This will allow us to run the Automake testsuite forcing all the make invocations in the test cases to run in parallel mode [1], but without hitting the spurious failure reported in automake bug#11413. See also: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00135.html> The make invocations in the test cases can be forced to run in parallel mode by, e.g., invoking "make check" like this: make check AM_TESTSUITE_MAKE="make -j16" The possible spurious failures hinted above are due to the fact that the redirected output of parallel make can racily lose lines. For example, if GNU make (3.82) is run with -j10 on a Makefile like this: all = 0 1 2 3 4 5 6 7 8 9 default: $(all) $(all): @sleep 0.$$(($RANDOM % 10)); echo $@ and has its standard output redirected in overwrite-mode to a regular file, it looses a line of that output every 15 runs or so on a Fedora 17 system with 64 ppc64 cores. Redirection in append mode does not suffer of this problem, as explained here: <http://lists.gnu.org/archive/html/automake-patches/2009-03/msg00073.html> See also previous commits v1.12-63-g45c1fcd of 2012-05-05 (tests: use append mode to capture parallel make output) and Release-1-10-280-g6426999 of 2009-03-10 (Use append mode to capture parallel test output). * t/ax/am-test-lib.sh (run_make): Adjust and enhance. * t/lisp8.sh: Take advantage of the enhancement, nd stop doing output redirection for $MAKE by hand. * t/tap-more.sh: Likewise. * t/parallel-tests-concurrency.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f859f346 2013-05-24 00:44:59 tests: new convenience target 'check-parallel' To force the test scripts to invoke make in parallel mode. This should enhance coverage of use cases (make concurrency) that are becoming more and more important with today multicore fast machines. * Makefile.am (check-parallel): New .PHONY target. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
aba3b0ab 2013-05-23 20:48:03 tests: avoid few lingering $MAKE redirections These were present in the 'maint' branch, but not in the 'micro' branch. Their occurrences has been found by the 'sc_tests_no_run_make_redirect' maintainer check. * t/fort2.sh: Adjust. * t/preproc-demo.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
86e45fe1 2013-05-23 20:12:17 Merge branch 'micro' into maint * micro: tests: avoid '$MAKE' redirections, use 'run_make' instead tests: avoid use of redirected 'run_make' invocations lint: warn against redirected 'run_make' invocations comments: next GNU make release 4.0, not 3.83 tests: fix a potential spurious failure due to global config.site HACKING: it's OK to do testsuite refactoring in a micro version Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3ce4015f 2013-05-23 12:10:18 tests: avoid '$MAKE' redirections, use 'run_make' instead The use 'run_make' with the -E, -O and -M option, it is more idiomatic now. Also, this way, centralized fixes and improvements done in 'run_make' will automatically propagate through most of the testsuite. * syntax-checks.mk (sc_tests_no_run_make_redirect): Also check against '$MAKE' invocations that uses output redirections (and not only against 'run_make' invocation that do so). * Several tests: Adjust (and few minor cosmetic changes as well, while at it). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e2a000cc 2013-05-22 23:29:47 tests: avoid use of redirected 'run_make' invocations Instead, properly use the -E, -O, or -M options of run_make. The occurrences of the 'run_make' invocations using output redirection has been found by the recently-introduced maintainer check 'sc_tests_no_run_make_redirect'. * t/ax/tap-summary-aux.sh: Adjust. * t/ax/testsuite-summary-checks.sh: Likewise. * Several other tests: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
20963917 2013-05-22 22:34:12 lint: warn against redirected 'run_make' invocations The testsuite shell function 'run_make()' has the three options -E, -O and -M to perform the various kind of output redirections, so the test scripts should use them instead of redirecting the output "by hand": run_make ARGS >stdout => run_make -O ARGS run_make ARGS >stderr => run_make -E ARGS run_make ARGS >stdout 2>stderr => run_make -O -E ARGS run_make ARGS >output 2>&1 => run_make -M ARGS See the commit message of v1.13.2-13-gc7cfa09, 2013-05-22 (tests: run_make: options to do command redirection) for an explanation of why this is a good idea. It's worth noting that the present patch only introduced a new static maintainer check looking against the undesired idioms, but doesn't yet remove usages of such idioms from the testsuite. That will be done by follow-up patch(es). * syntax-checks.mk (sc_tests_no_run_make_redirect): New check. (syntax_check_rules): List it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f2a1ef46 2013-05-22 23:42:09 comments: next GNU make release 4.0, not 3.83 See: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00093.html> * lib/am/header-vars.am (am__make_running_with_option): Adjust comments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
c8e1373f 2013-05-22 20:39:59 tests: fix a potential spurious failure due to global config.site * t/instdir-no-empty.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d9a3a447 2013-05-22 20:13:41 HACKING: it's OK to do testsuite refactoring in a micro version Reported-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>