Log

Author Commit Date CI Message
Stefano Lattarini f0dd2dee 2012-11-15T12:24:27 aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs The autom4te program coming with autoconf 2.68 and earlier had a bug which caused the "-" command line argument (with which we tell it to read some input from from standard input) to aways be pushed at the *end* of the command line, regardless of where the user specified it (that bug was fixed by autoconf commit 'v2.68-120-gf4be358', "getopt: new Autom4te::Getopt module"). This broken semantics conflict with our usage in aclocal, where we need to pass some input to the invoked autom4te program early, and have so far been using the stdin to do so. Now we start using an external file instead. * m4/internal/ac-config-macro-dirs.m4: New file, contain a fallback definition of the AC_CONFIG_MACRO_DIRS macro for older autoconf releases. * aclocal.in (trace_used_macros): When invoking autom4te, use that file instead of "abusing" standard input. * Makefile.am (dist_automake_ac_DATA): Rename ... (nobase_dist_automake_ac_DATA): ... like this. Add 'm4/internal/ac-config-macro-dirs.m4' to it. * t/aclocal-acdir.sh: Adjust to avoid spurious failures. Helped-by: Eric Blake <eblake@redhat.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 326cd5f0 2012-11-14T16:54:38 aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well This will allow our users to interact also with pre-2.70 autoconf without need for the user to add ACLOCAL_AMFLAGS in Makefile.am. For example, before this change, in order to have aclocal look for macros in 'm4/dir1' and 'm4/dir2' also when (say) autoconf 2.69 was used, our users would have had to add something like: ACLOCAL_AMFLAGS = -I m4/dir1 -I m4/dir2 in Makefile.am, in addition to the AC_CONFIG_MACRO_DIRS([m4/dir1 m4/dir2]) in configure.ac. Now, the AC_CONFIG_MACRO_DIRS call is enough. See the long-winded discussion on automake bug#12845 for more details: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12845> * aclocal.in ($ac_config_macro_dirs_fallback): New global variable, contains m4 code to issue a fallback definition of AC_CONFIG_MACRO_DIRS as an alias for the private macro _AM_CONFIG_MACRO_DIRS. (trace_used_macros): Handle and trace that macro. Do some code reorganization and fix related botched indentation while at it. (write_aclocal): Output '$ac_config_macro_dirs_fallback' early in the generated aclocal.m4. * t/aclocal-macrodirs.tap: Run unconditionally, even with older autoconf. * t/subpkg-macrodir.sh: Likewise. * doc/automake.texi: Document only AC_CONFIG_MACRO_DIRS, rather than AC_CONFIG_MACRO_DIR. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b7c507ea 2012-11-14T11:48:53 Merge branch 'ac-config-macro-dirs' * ac-config-macro-dirs: news: we trace AC_CONFIG_MACRO_DIRS aclocal: trace AC_CONFIG_MACRO_DIR_TRACE aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS coverage: expose a bug in aclocal (spurious warnings) aclocal: smash newlines in arguments of traced macros tests: better coverage for AC_CONFIG_MACRO_DIRS aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS
Stefano Lattarini 834e1601 2012-11-10T14:39:55 news: we trace AC_CONFIG_MACRO_DIRS * NEWS (New in 1.13): Update accordingly. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d114599b 2012-11-10T14:31:43 news: improve wording * NEWS (New in 1.13): Prefer "no longer" over "not anymore", wherever possible. Related re-wrapping of text. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 83823829 2012-11-10T10:54:44 aclocal: trace AC_CONFIG_MACRO_DIR_TRACE This is now the documented way, and indeed the only correct way, to support AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS in third-party tools. See autoconf commit v2.69-45-g5269030 of 2012-11-09, "AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks". * aclocal.in (trace_used_macros): Trace 'AC_CONFIG_MACRO_DIR_TRACE' rather than 'AC_CONFIG_MACRO_DIRS'. We still have to trace 'AC_CONFIG_MACRO_DIR' explicitly though, for compatibility with Autoconf versions before 2.70. * t/aclocal-macrodirs.tap: Enhance w.r.t. precedence of arguments in one and several AC_CONFIG_MACRO_DIRS calls. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 256659b0 2012-11-03T11:30:04 aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS When some macro expanded in configure.ac calls AC_REQUIRE on another macro that is defined in one of the local m4 macro dirs specified with AC_CONFIG_MACRO_DIRS, aclocal prints spurious warnings like: configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd configure.ac:3: MY_FOO is expanded from... Such warnings come from autom4te, and are due to the fact that the *first* autom4te invocation issued by aclocal is not yet able to "see" the m4 macro definitions in the local m4 dirs (because they can be looked for only after the AC_CONFIG_MACRO_DIRS call has been traced, and tracing it requires running autom4te). To allow us to work around this issue, autom4te has introduced a new "witness" macro 'm4_require_silent_probe', that, when defined, allows us to silence that particular kind of warnings (and only it). Reported by Nick Bowler; see point (4) of: <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> * aclocal.in (trace_used_macros): Pre-define the special macro 'm4_require_silent_probe' when invoking autom4te. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with AC_REQUIRE"): This test passes now: remove the "TODO" directive. * t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIRS interaction with AC_REQUIRE"): Likewise. * t/acloca17.sh: Remove. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini bd337b9b 2012-11-02T18:12:40 coverage: expose a bug in aclocal (spurious warnings) When some macro expanded in configure.ac calls AC_REQUIRE on another macro that is defined in one of the local m4 macro dirs specified with one of the macros AC_CONFIG_MACRO_DIRS or AC_CONFIG_MACRO_DIR, aclocal prints spurious warnings like: configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd configure.ac:3: MY_FOO is expanded from... Expose this weakness in our testsuite. Reported by Nick Bowler; see point (4) of: <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> * t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with AC_REQUIRE"): New test, still xfailing. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS interaction with AC_REQUIRE"): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4a595517 2012-11-02T11:49:46 aclocal: smash newlines in arguments of traced macros This change fixes the existing issues with AC_CONFIG_MACRO_DIRS containing newlines: <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> Likely, it will also allow a less involved implementation of the AM_EXTRA_RECURSIVE_TARGETS macro (but that is left for potential follow-up patches). * aclocal.in (trace_used_macros): When calling autom4te, pass its '--trace' option an argument containing '${::}%' rather than '$1'. According to the autoconf manual (as of version 2.69), that will expand to the concatenation, with the '::' string, of all the arguments passed to a macro, with all newline characters in such arguments smashed. Related adjustments when handling the macro AC_CONFIG_MACRO_DIRS, to ensure leading whitespace in its argument are handled correctly. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS: extra whitespace"): No longer declare it as an xfailing test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9018a126 2012-11-02T10:09:36 tests: better coverage for AC_CONFIG_MACRO_DIRS Suggested by a report from Nick Bowler: <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> * t/aclocal-macrodirs.tap: Enhance to check use of extra whitespaces and newline characters in the arguments to AC_CONFIG_MACRO_DIRS. This test currently fails, so mark it as "TODO". While at it, throw in other minor edits and enhancements. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini fd60ad28 2012-07-04T15:37:46 aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better This new implementation ensures that any directory (possibly excluding the first one, if the '--install' option is used) that is declared with AC_CONFIG_MACRO_DIRS and that is non-existent will cause an error from aclocal. * aclocal.in (scan_m4_dirs): Add a new argument, telling whether it's OK for the scanned directory to be non-existing. Adjust the implementation accordingly. ($first_user_m4dir): Remove, no more needed. (scan_m4_files): Update 'scan_m4_dirs' invocations so that aclocal will not complain if the first user macro directory is non-existing and the '--install' option is given: such directory will be created later by aclocal itself. * t/aclocal-macrodir.tap: Do not mark the last test as TODO anymore; it now passes. Make stricter by ensuring a non-existing directory in AC_CONFIG_MACRO_DIRS causes an hard error, not a warning. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d2155d50 2012-07-04T15:23:50 aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS A new macro 'AC_CONFIG_MACRO_DIRS' has been recently introduced in autoconf (and is expected to appear in the autoconf 2.70 release), allowing us to declare several local m4 macro directories for a package. It can be done either passing several arguments to a single invocation: AC_CONFIG_MACRO_DIRS([dir1 dir2]) or issuing more invocations: AC_CONFIG_MACRO_DIRS([dir1]) AC_CONFIG_MACRO_DIRS([dir2]) or a combination of the two: AC_CONFIG_MACRO_DIRS([dir1 dir2]) AC_CONFIG_MACRO_DIRS([dir3]) This will allow projects to use several m4 macro local dirs, without the need to use ACLOCAL_AMFLAGS (which we want to make obsolete and finally remove). This is especially important for projects that are used as nested subpackages of larger projects. For more information and rationales, refer to these past discussions: <http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html> <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html> <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00000.html> <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00012.html> <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8037/> <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8087> <http://thread.gmane.org/gmane.comp.sysutils.automake.patches/8956> as well as to Automake commit v1.12.1-165-gcd1a9cc of 2012-07-03, "aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead", autoconf commit v2.69-42-gd73770f of 2012-10-17, "AC_CONFIG_MACRO_DIRS: new macro, mostly for aclocal". * aclocal.in ($ac_config_macro_dir): Turn this global scalar it into ... (@ac_config_macro_dirs): ... this global array. (trace_used_macros): Update '@ac_config_macro_dirs' instead of re-defining '$ac_config_macro_dir'. Cater to calls the now-preferred macro 'AC_CONFIG_MACRO_DIRS' in addition to the "obsolescent" one AC_CONFIG_MACRO_DIR. (main loop): Append '@ac_config_macro_dirs', not '$ac_config_macro_dir', to '@user_includes'. * t/subpkg-macrodir.sh: New test. * t/aclocal-macrodirs.tap: Likewise. * t/list-of-tests.mk: Add them. * t/aclocal-macrodir.tap: Adjust and extend a little to keep it more in sync with 'aclocal-macrodirs.tap'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2296a5e1 2012-11-07T23:53:26 tests: remove an obsolete comment * t/silent-yacc.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 696f44c0 2012-11-07T23:40:59 tests: remove mostly-redundant tests on silent rules We used to have several couples of tests named like 'silent-foo-gcc.sh' and 'silent-foo-generic.sh'. Differently from what the names suggest, the first test in such a couple (that is, "silent-foo-gcc.sh") was not meant to check specific GCC-related features, but rather to check how the silent rules behave in combination with automatic dependency tracking when the 'gcc' depmode (that targets GCC versions before the 3.x and 4.x release series) is forced. Such depmode forcing was done exclusively to cover the code paths in 'lib/am/depend2.am' that actually invoke the 'depcomp' script, rather than using the inlined, GCC-specific compiler invocation (the so-called "fastdep" mode), which is the default with modern GCC or with other modern compilers that can emulate the GCC command-line interface (e.g., clang 3.0). But whenever we run the silent-*-generic.sh" tests with other supported compilers which have an associated depmode different from 'gcc3', these same "non-fastdep" code paths are covered, since in those tests we run ./configure with the '--enable-dependency-tracking' option, which causes slower depmodes not to be rejected. Examples of such compilers are the Sun C and C++ compilers (at least since version 5.9, a.k.a. Sun Studio 12.1), and the Tiny C Compiler (from version 0.9.26); and I run the Automake testsuite quite regularly with those compilers. So, the "silent-*-gcc.sh" test cases don't offer any real coverage enhancements, while still using testsuite runtime and causing some (admittedly minor, but still annoying) synchronization headaches with the sister tests "silent-foo-general.sh" tests. So let's just remove these "silent-*-gcc.sh" tests. * t/silent-c-gcc.sh: Remove. * t/silent-cxx-gcc.sh: Likewise. * t/silent-lt-gcc.sh: Likewise. * t/silent-many-gcc.sh: Likewise. * t/silent-c-generic.sh: Rename ... * t/silent-c.sh: ... like this, and adjust heading comments. * t/silent-cxx-generic.sh: Rename ... * t/silent-cxx.sh: ... like this, and adjust heading comments. * t/silent-lt-generic.sh: Rename ... * t/silent-lt.sh: ... like this, and adjust heading comments. * t/silent-many-generic.sh: Rename ... * t/silent-many-languages.sh: ... like this, and adjust heading comments. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cbcf5001 2012-11-07T22:08:35 tests: enhance coverage on silent-rules and C compilation rules a little * t/silent-c-generic.sh: Here, by trying them also with automatic dependency tracking explicitly disabled. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 93c2c33e 2012-11-07T21:51:01 Merge branch 'maint' * maint: tests: new variable $am_testaux_builddir tests: rename $am_testauxdir -> $am_testaux_srcdir
Stefano Lattarini dd3fb7ed 2012-11-07T20:39:19 tests: rename few tests (on silent-rules support) Either to more informative names, or to names more consistent with the ones of similar/related tests. * t/silent.sh: Rename ... * t/silent-c-generic.sh: ... like this, and adjust heading comments. * t/silent2.sh: Rename ... * t/silent-c-gcc.sh: ... like this, and adjust heading comments. * t/silent3.sh: Rename ... * t/silent-lt-generic.sh: ... like this, and adjust heading comments. * t/silent4.sh: Rename ... * t/silent-lt-gcc.sh: ... like this, and adjust heading comments. * t/silentcxx.sh: Rename ... * t/silent-cxx-generic.sh: ... like this, and adjust heading comments. * t/silentcxx-gcc.sh: Rename ... * t/silent-cxx-gcc.sh: ... like this, and adjust heading comments. * t/silentf77.sh: Rename ... * t/silent-f77.sh: ... like this, and adjust heading comments. * t/silentf90.sh: Rename ... * t/silent-f90.sh: ... like this, and adjust heading comments. * t/silent7.sh: Rename ... * t/silent-gen.sh: ... like this, and adjust heading comments. * t/silent6.sh: Rename ... * t/silent-custom.sh: ... like this. * t/silent8.sh: Rename ... * t/silent-texi.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7dbf3d6a 2012-11-07T19:56:24 tests: merge two tests on silent-rules with libtool This helps to reduce code duplication, and also to (marginally) speed up the involved tests. Before this change, we had: $ diff -u t/silent3.sh t/silent9.sh --- t/silent3.sh 2012-11-07 19:38:05.000000000 +0100 +++ t/silent9.sh 2012-11-07 19:27:54.000000000 +0100 @@ -14,9 +14,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Check silent-rules mode, with libtool, standard depmode case. +# Check silent-rules mode, with libtool, nodep case. -# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'. +# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'. required='cc libtoolize' . test-init.sh @@ -26,8 +26,8 @@ cat >>configure.ac <<'EOF' AC_CONFIG_FILES([sub/Makefile]) AC_PROG_CC -AM_PROG_AR AM_PROG_CC_C_O +AM_PROG_AR AC_PROG_LIBTOOL AC_OUTPUT EOF @@ -61,7 +61,7 @@ $AUTOMAKE --add-missing $AUTOCONF -./configure --enable-silent-rules +./configure --disable-dependency-tracking --enable-silent-rules $MAKE >stdout || { cat stdout; exit 1; } cat stdout $EGREP ' (-c|-o)' stdout && exit 1 * t/silent9.sh: Remove, merge ... * t/silent3.sh: ... in here. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini bd0d41d7 2012-11-07T17:59:40 tests: new variable $am_testaux_builddir And a related fix that solves a spurious testsuite failures in VPATH builds. * t/ax/test-defs.in ($am_testaux_builddir): New, counterpart of $am_testaux_srcdir, but pointing inside the build directory. * t/self-check-shell-no-trail-bslash.sh: Use $am_testaux_builddir, not $am_testaux_srcdir, when fetching the 'shell-no-trail-bslash' script. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 62235835 2012-11-07T17:52:25 tests: rename $am_testauxdir -> $am_testaux_srcdir This is just a preparatory change in view of a future commit. * t/ax/test-defs.in: Here. * t/ax/tap-summary-aux.sh: And here. * t/ax/testsuite-summary-checks.sh: And here. * t/distcheck-missing-m4.sh: And here. * t/distcheck-outdated-m4.sh: And here. * t/self-check-shell-no-trail-bslash.sh: And here. * t/test-driver-acsubst.sh: And here. * t/test-driver-cond.sh: And here. * t/test-driver-custom-multitest.sh: And here. * t/test-driver-custom-multitest-recheck.sh: And here. * t/test-driver-custom-multitest-recheck2.sh: And here. * t/testsuite-summary-count-many.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 153f861b 2012-10-31T12:41:13 Merge branch 'maint' * maint: vala tests: source test-init.sh, not ./defs tests: fix a spurious typo-related failure tests: remove spurious leftover use of 'Exit' tests: can check our recipes avoid trailing backslashes vala: improve comments to AM_PROG_VALAC news: update w.r.t. recent vala changes vala: if no proper compiler found, set $(VALAC) to 'valac' vala: AM_PROG_VALAC should not produce an error for tool-old valac docs: document recent changes to AM_PROG_VALAC tests: enhance tests on AM_PROG_VALAC vala: style fixes in vala.m4 vala: add action arguments, for when no proper vala compiler is found Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0494881b 2012-10-31T12:40:47 vala tests: source test-init.sh, not ./defs This will avoid spurious errors when the new vala tests (introduced in the 'vala-work' branch) will be merged back to master. * t/vala-headers.sh: Adjust as said. * t/vala-libs.sh: Likewise. * t/vala-mix.sh: Likewise. * t/vala-mix2.sh: Likewise. * t/vala-parallel.sh: Likewise. * t/vala-vapi.sh: Likewise. * t/vala-vpath.sh: Likewise. * t/vala.sh: Likewise. * t/vala2.sh: Likewise. * t/vala3.sh: Likewise. * t/vala4.sh: Likewise. * t/vala5.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 040b69ae 2012-10-31T12:37:51 tests: fix a spurious typo-related failure * t/self-check-shell-no-trail-bslash.sh: Here, due to a mistaken use of "||" instead of "&&". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 88c20167 2012-10-31T11:44:18 Merge branch 'vala-work' into maint * vala-work: vala: improve comments to AM_PROG_VALAC news: update w.r.t. recent vala changes vala: if no proper compiler found, set $(VALAC) to 'valac' vala: AM_PROG_VALAC should not produce an error for tool-old valac docs: document recent changes to AM_PROG_VALAC tests: enhance tests on AM_PROG_VALAC vala: style fixes in vala.m4 vala: add action arguments, for when no proper vala compiler is found
Stefano Lattarini f1c6ce7b 2012-10-31T11:41:31 tests: remove spurious leftover use of 'Exit' Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check. Commit 'v1.12.4-184-g9fed1c8' in master made the same fix basically, but we mistakenly applied it to master only, rather than to maint. * t/per-target-flags.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini aecd1be6 2012-10-28T14:02:46 tests: can check our recipes avoid trailing backslashes This is related to commit v1.11-1704-g254227b of 2012-05-01, "parallel-tests: avoid trailing backslashes in make recipes", and automake bug#10436. Recipes with a trailing backslash character (possibly followed by blank characters only) can cause spurious syntax errors with at least older bash versions (e.g., bash 2.05b), and can be potentially be unportable to other weaker shells. So provide a target that runs the testsuite looking for this kind of breakage (without requiring a real bugged shell). * t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c' commands having a trailing '\' (possibly followed by whitespace only). * Makefile (t/ax/shell-no-trail-bslash): Generate this script from it. (noinst_SCRIPTS, CLEANFILES): Add it. (EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'. (check-no-trailing-backslash-in-recipes): New target, runs the testsuite with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible recipes having a trailing backslash character (possibly followed by * .gitignore: Update. * t/self-check-shell-no-trail-bslash.sh: New testsuite self-check. * t/parallel-tests-trailing-bslash.sh: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0faf1588 2012-10-27T19:18:48 Merge branch 'maint' * maint: configure: correctly identify missing GNU compilers as such
Stefano Lattarini bf016cee 2012-10-27T19:10:20 configure: correctly identify missing GNU compilers as such * configure.ac: Here, instead of mistakenly diagnose them as "botched". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 57770a2c 2012-10-27T18:31:21 tests: get rid of ./defs, it's no longer used. * defs: Delete. * configure.ac (AC_CONFIG_LINKS): No longer link it. * t/ax/tap-setup.sh: Don't look for a file named 'defs' in the grandparent directory of the current test directory to decide whether we're running in the correct directory. * syntax-check.mk (xdefs): Remove '$(srcdir)/defs'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7f45725b 2012-10-27T18:26:19 maintcheck: fix the name of a check * (sc_tests_Exit_not_exit): Rename ... (sc_tests_exit_not_Exit): ... like this, which is more faithful to what the check actually does. Adjust a grammaro in comments while at it. (syntax_check_rules): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b6dba4cf 2012-10-27T18:08:06 maintcheck: guard against uses of ./defs in tests Now, 'test-init.sh' should be used instead. * (sc_tests_no_source_defs): New maintainer check. (syntax_check_rules): Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9fed1c81 2012-10-27T17:34:50 tests: remove spurious leftover use of 'Exit' * t/per-target-flags.sh: Here, and simply use 'exit' instead. Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 50d533cd 2012-10-27T17:09:55 tests: remove an obsolete, and probably now wrong, comment * t/dirlist.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 55ea5e0f 2012-10-27T17:08:28 tests: remove obsolescent references to './defs' * t/distcom-subdir.sh, t/distcom2.sh, t/ax/depcomp.sh, t/conff2.sh, t/ccnoco3.sh, t/ccnoco.sh, t/self-check-dir.tap, t/self-check-exit.tap, t/self-check-me.tap: Here. Instead, refer to "am-test-lib.sh", "test-init.sh", or simply "the testsuite setup", as appropriate. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5ddf1007 2012-10-27T16:41:39 tests: prefer including 'test-init.sh' rather than './defs' This is a follow-up to today's commit v1.12.4-22-g0610fc8, "tests: prepare to move ./defs to t/ax/test-init.sh" * All tests: To run the common setup, use the command: . test-init.sh instead of the older, "historical" one: . ./defs || exit 1 Note that the "|| exit 1" wasn't really useful, since the 'errexit' shell flag is in effect in both './defs' and 'test-init.sh', and all the known shells that are good enough to run the automake testsuite do automatically exit with error when a sourced file cannot be found (at least, they do so in non-interactive mode, which is the only mode that concerns us in the testsuite). * t/ax/tap-summary-aux.sh, t/ax/testsuite-summary-checks.sh: Likewise. * gen-testsuite-part: Do the same in the generated tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f897907b 2012-10-27T16:15:04 Merge branch 'maint' * maint: tests: merge, tweak and modernize few test scripts tests: move coverage about BUILT_SOURCES tests: more meaningful names for some test cases tests: merge some grepping tests on Yacc support Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9a2796ad 2012-06-09T20:49:09 tests: merge, tweak and modernize few test scripts Basically an adjusted-and-improved cherry-pick from Automake-NG commit v1.12.1-343-gff30f83. * t/specflg.sh, t/specflg2.sh, t/specflg3.sh: Merged into ... * t/per-target-flags.sh: ... this test. * t/fo.sh: Remove, its weak grepping checks well superseded by the semantic checks in 't/fort4.sh'. * t/cxxo.sh: Remove, its weak grepping checks well superseded by the semantic checks in 't/cxx-demo.sh'. * t/cxxcpp.sh: Enhance a little. * t/empty.sh: Renamed ... * t/empty-data-primary.sh: ... to this. Add trailing ':' command. * t/empty2.sh, t/empty3.sh, t/empty4.sh: Merged ... * t/empty-sources-primary.tap: ... into this new test. * t/no-outdir-option.sh: Remove. A test to check than an obsolete and now deleted option ("--output-dir") stays deleted is way too much even for the most test-infected person ;-) * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 44d20253 2012-10-27T15:38:46 tests: move coverage about BUILT_SOURCES Basically a backport of some tests from Automake-NG. * t/built-sources-check.sh: Sync it with the version in the ng/master branch. Accordingly, move part of the checks out ... * t/built-sources-install.sh: ... into this new test, synced from ng/master as well. * t/built-sources-subdir.sh: Minor tweaks and enhancements to sync it with the version in ng/master. * t/built-sources-cond.sh: New test, synced from ng/master. * t/built-sources.sh: Likewise, with minor edits to avoid a spurious failure. * t/built-sources-fork-bomb.sh: Likewise. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7a3e5c7c 2012-10-27T15:26:50 tests: more meaningful names for some test cases * t/yacc5.sh: Renamed ... * t/yacc-grepping2.sh: ... like this. * t/yacc7.sh: Renamed ... * t/yacc-headers-and-pr47.sh: ... like this. * t/yacc8.sh: Renamed ... * t/yacc-subdir.sh: ... like this. * t/subdir10.sh: Rename ... * t/subdir-env-interference.sh: ... like this. * t/specflg10.sh: Rename ... * t/am-default-source-ext.sh: ... like this. * t/suffix12.sh: Rename ... * t/suffix-custom-subobj.sh: ... like this. * t/suffix13.sh: Rename ... * t/suffix-custom-subobj-and-specflg.sh: ... like this. * t/check3.sh: Rename ... * t/built-sources-check.sh: ... like this. * t/subdirbuiltsources.sh: Rename ... * t/built-sources-subdir.sh: ... like this. * t/bsource.sh: Rename ... * t/no-spurious-install-recursive.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d26ddc82 2012-10-27T14:45:51 tests: merge some grepping tests on Yacc support * t/yacc.sh, t/yacc2.sh: Merge ... * t/yacc-grepping.sh: ... into this test. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b0f45569 2012-10-27T14:23:40 Merge branch 'maint' * maint: tests: prepare to move ./defs to t/ax/test-init.sh
Stefano Lattarini 0610fc8e 2012-10-27T12:59:41 tests: prepare to move ./defs to t/ax/test-init.sh We don't do this in a sweeping passage, because that would cause endless headaches in the synchronization between the maint, master and ng/master branches. Instead, we setup our framework to allow test scripts to work by sourcing either './defs' or 'test-init.sh', so that we'll be able to make the transition gradual and painless. * t/ax/test-init.sh: New, copied from the previous ./defs file. * defs: Simply work by sourcing the new file. * Makefile.am (dist_noinst_DATA): List the new file. * t/README: Adjust to mandate the sourcing of 'test-init.sh' rather than of './defs'. * t/c-demo.sh: Source 'test-init.sh' instead of ./defs. This is done to verify our new setup actually works. * t/ac-output-old.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 26b78559 2012-10-27T11:57:43 Merge branch 'maint' * maint: depcomp: avoid potential interferences from the environment depcomp: improve comments about the 'gcc' depmode sync: update files from upstream with "make fetch" maintcheck: remove an obsolescent check tests: rename some tests to more expressive names, again tests: remove an obsolescent grepping check tests: merge two tests on automatic remake functionality tests: rename some test to more expressive names news: 'compile' supports libfoo.a naming when wrapping Microsoft tools tests: ensure generation of wrapper tests matching multiple conditions tests: simplify a loop in gen-testsuite-part compile: support libfoo.a naming when wrapping Microsoft tools NEWS: fix wording and grammaros, re-wrap text accordingly cosmetics: fix typo in 'lib/depcomp' comments Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d8f47b19 2012-10-27T11:19:22 depcomp: avoid potential interferences from the environment * lib/depcomp (gccflag, dashmflag): By explicitly initializing these variables to the empty string by default. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 078ff407 2012-10-27T11:12:59 depcomp: improve comments about the 'gcc' depmode It is not only needed by obsolescent gcc compilers (pre-3.x), but also by modern compiler like IBM C/C++. State that ... * lib/depcomp: ... here... * gen-testsuite-part: ... and here, where we generate the 'depcomp*.tap' tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3f20803c 2012-10-26T20:22:40 vala: improve comments to AM_PROG_VALAC * m4/vala.m4 (AM_PROG_VALAC): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0e3d9b3e 2012-10-26T20:18:51 news: update w.r.t. recent vala changes * NEWS: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 1b187099 2012-10-26T18:01:17 vala: if no proper compiler found, set $(VALAC) to 'valac' This is better than setting it to ':' (as is currently done), because a triggered makefile rule invoking a vala compilation will then clearly fail with an informative error message like "valac: command not found", rather than silently, with the error possibly going unnoticed, or triggering harder-to-diagnose fallout failures in later steps. For a precedent of a similar behaviour, see the AC_PROG_YACC macro. * m4/valac.m4: Implement the new semantic. * doc/automake.texi (Vala Support): Document it. * t/vala4.sh: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Sébastien Wilmet 9fe696bc 2012-10-26T17:08:09 vala: AM_PROG_VALAC should not produce an error for tool-old valac This change fixes automake bug#12688. In the AM_PROG_VALAC macro, when the optional parameter specifying the minimum release number is not provided, and/or if the Vala compiler is not found, then there is a _warning_ message. On the other hand, when the version number is specified and if the Vala compiler is too old, there is an _error_ message. This error message is problematic, because for a tarball, the Vala compiler is not required: the generated C code is included in the tarball. So if a user wants to compile the software, he shouldn't need the valac program with the right version. * m4/vala.m4 (AM_PROG_VALAC): Modify to use AC_MSG_WARN instead of AC_MSG_ERROR. * t/vala4.sh: Adjust and enhance. * doc/automake.texi (Vala Support): Likewise. * THANKS: Update. Co-authored-by: Matthieu Baerts <matttbe@glx-dock.org> Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6ecb0a53 2012-10-26T16:50:26 docs: document recent changes to AM_PROG_VALAC * doc/automake.texi (Vala Support): Here. This is a follow-up to recent commit 'v1.12.4-20-gdf202a3', "vala: add action arguments, for when no proper vala compiler is found". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2ff17a8e 2012-10-26T15:51:53 tests: enhance tests on AM_PROG_VALAC * t/vala4.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini df6303ec 2012-10-26T15:18:44 vala: style fixes in vala.m4 * m4/vala.m4 (AM_PROG_VALAC): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Daiki Ueno df202a3e 2012-09-11T17:55:37 vala: add action arguments, for when no proper vala compiler is found * m4/vala.m4 (AM_PROG_VALAC): Add optional action arguments to control the behavior if specified version of valac is not found. This emulates the behaviour of AM_PATH_PYTHON. * t/vala4.sh: Enhance. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> Copyright-paperwork-exempt: yes
Stefano Lattarini 24bf687e 2012-10-26T15:05:53 sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 94b639da 2012-10-26T15:00:39 maintcheck: remove an obsolescent check * syntax-checks.mk (sc_test_names): Remove this check, which verified that no test name contained an m4/m4sugar builtin or macro name. Since most tests use their own name as the first argument to AC_INIT, doing that would have tickled a bug in Autoconf 2.62; but the bug was fixed in Autoconf 2.63 already; and we are going to soon require Autoconf 2.65 anyway (in automake 1.13), so this check has become more annoying than useful. (syntax_check_rules): Don't list the removed check. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2990f48d 2012-10-26T14:50:46 tests: rename some tests to more expressive names, again * t/parallel-tests.sh: Rename ... * t/parallel-tests-basics.sh: ... like this. * t/parallel-tests3.sh: Rename ... * t/parallel-tests-concurrency.sh: ... like this. * t/parallel-tests5.sh: Rename ... * t/parallel-tests-concurrency-2.sh: ... like this. * t/parallel-tests6.sh: Rename ... * t/parallel-tests-empty.sh: ... like this. Adjust comments. * t/parallel-tests8.sh: Rename ... * t/parallel-tests-generated-and-distributed.sh: ... like this. * t/parallel-tests9.sh: Rename ... * t/parallel-tests-recheck.sh: ... like this. * t/parallel-tests10.sh: Rename ... * t/parallel-tests-trailing-whitespace.sh: ... like this. * t/remake3a.sh: Rename ... * t/remake-subdir-no-makefile.sh: ... like this. * t/remake4.sh: Rename ... * t/remake-not-after-make-dist.sh: ... like this. * t/remake5.sh: Rename ... * t/remake-maintainer-mode.sh: ... like this. * t/remake6.sh: Rename ... * t/remake-subdir3.sh: ... like this. * t/remake7.sh: Rename ... * t/remake-fail.sh: ... like this. * t/remake11.sh: Rename ... * t/remake-deeply-nested.sh: ... like this * t/remake12.sh: Rename ... * t/remake-mild-stress.sh: ... like this * t/pr8365-remake-timing.sh: Rename ... * t/remake-timing-bug-pr8365.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 042a2279 2012-10-26T14:16:05 tests: remove an obsolescent grepping check * t/remake3.sh: This one, superseded by ... * t/remake3a.sh: ... this semantic test, whose comments have been djusted accordingly. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b025bb83 2012-10-26T14:13:25 tests: merge two tests on automatic remake functionality * t/remake2.sh: Merge ... * t/remake-subdir-grepping.sh: ... in here. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 926ab5b4 2012-10-26T12:52:35 tests: rename some test to more expressive names * t/remake.sh: Rename ... * t/remake-subdir-grepping.sh: ... like this. * t/remake8a.sh: Rename ... * t/remake-makefile-intree.sh: ... like this, and adjust comments. * t/remake8b.sh: Rename ... * t/remake-makefile-vpath.sh: ... like this, and adjust comments. * t/remake9a.sh: Rename ... * t/remake-after-configure-ac.sh: ... like this, and adjust comments. * t/remake9b.sh: Rename ... * t/remake-after-makefile-am.sh: ... like this, and adjust comments. * t/remake9c.sh: Rename ... * t/remake-after-acinclude-m4.sh: ... like this, and adjust comments. * t/remake9d.sh: Rename ... * t/remake-after-aclocal-m4.sh: ... like this, and adjust comments. * t/remake10a.sh: Rename ... * t/remake-include-configure.sh: ... like this, and adjust comments. * t/remake10b.sh: Rename ... * t/remake-include-makefile.sh: ... like this, and adjust comments. * t/remake10c.sh: Rename ... * t/remake-include-aclocal.sh: ... like this, and adjust comments. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering df23dafc 2012-10-22T16:14:49 compat: reinstate AM_PROG_MKDIR_P, for gettext Do not remove AM_PROG_MKDIR_P just yet. gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its intl.m4 and po.m4 files, which are pulled into *many* projects. When I try to build one of those projects (coreutils) using the latest from automake.git/master, I see this failure: $ aclocal -I m4 configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \ but not m4_defun'd m4/po.m4:23: AM_PO_SUBDIRS is expanded from... m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from... configure.ac:477: the top level That is because AM_PROG_MKDIR_P was removed (via commit v1.12-20-g8a1c64f) in preparation for the next release of automake. * NEWS: Remove the paragraph that announced the removal of AM_PROG_MKDIR_P. * Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4. * m4/mkdirp.m4: Re-add file. * t/mkdirp-deprecation.sh: Likewise. * t/list-of-tests.mk: Add it. * automake.in: Restore removed code, and adjust comments, s/1.13/1.14/ to reflect new plan for removal. * doc/automake.texi (Obsolete Macros): Restore the section, but now with only one entry: the one for AM_PROG_MKDIR_P.
Stefano Lattarini 83caec4e 2012-10-26T12:40:43 news: 'compile' supports libfoo.a naming when wrapping Microsoft tools This is a follow-up to commit 'v1.12.4-10-g3c5c939' of 2012-10-04, "compile: support libfoo.a naming when wrapping Microsoft tools". * NEWS (Bugs fixed in 1.12.5): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e448fc02 2012-10-26T11:36:12 tests: ensure generation of wrapper tests matching multiple conditions * gen-testsuite-part: Our old code to generate wrapper tests had a severe limitation, in that if a test matched two or more conditions calling for generation of wrapper tests, still only one wrapper test was generated, instead of the three that would have been expected -- that is, one using the setup code triggered by the first condition, one using the setup code triggered by the second condition, and one using both this setup code fragments. Admittedly, this was only a theoretical limitation for the moment, since since so far no test exists that matches two or more conditions for wrapping. Still, this might change in the future, and easily in an unnoticed way, so better fix the issue now, before it might become a real problem. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e3b0ad32 2012-10-26T11:04:14 tests: simplify a loop in gen-testsuite-part * gen-testsuite-part: No need to loop on the (key, value) entries of the %test_generators has: we only use the value, and never the key. So loop simply on the values. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin 3c5c9394 2012-10-04T00:08:26 compile: support libfoo.a naming when wrapping Microsoft tools There is a future plan to provide some means to have Automake create static libraries that are named differently depending on the system [1]. The background is that everyone has always named static libraries libfoo.a, except the Redmond crowd who names them foo.lib, and you have to jump through hoops to have Automake create libraries named foo.lib in the land of non-GNU Windows while still creating libfoo.a everywhere else. However, there is probably no sane way to accomplish that system dependent naming discussed in [1] without user intervention, which makes it necessary to support the classic libfoo.a naming when using Microsoft tools in the best possible way, for the benefit of all projects today and for future projects not opting in to whatever scheme is selected for the problem at hand. [1] http://lists.gnu.org/archive/html/automake/2012-09/msg00028.html * lib/compile (func_cl_dashl): As a last resort, match -lfoo with libfoo.a, if that file exist on the library search path. * t/compile4.sh: Remove obsolescent workaround for the above. * t/compile6.sh: Extend to check that libbaz.a is indeed found when baz.lib and baz.dll.lib does not exist and that bar.lib and bar.dll.lib are preferred over libbar.a. Signed-off-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ae74aa69 2012-10-14T11:54:45 NEWS: fix wording and grammaros, re-wrap text accordingly Reported-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Paul Eggert 6a0460c4 2012-10-14T11:43:26 cosmetics: fix typo in 'lib/depcomp' comments Fixes automake bug#12578. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7411adcd 2012-10-02T20:34:47 Merge branch 'maint' * maint: config headers: remove stale comment in makefile fragment NEWS: wording and quoting fixlets in few older entries config headers: don't emit rules for headers not generated by autoheader docs: fix minor typo: s/expending/expanding/ sync: update files from upstream with "make fetch" maint: post-release minor version bump maint: typo fixes s/lies into/lies in/ release: stable release 1.12.4 NEWS: minor fix Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b8651afd 2012-10-02T16:45:37 config headers: remove stale comment in makefile fragment * lib/am/remake-hdr.am: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0983d15f 2012-10-02T16:11:49 NEWS: wording and quoting fixlets in few older entries Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 25ffe7d5 2012-09-28T21:27:41 config headers: don't emit rules for headers not generated by autoheader This change fixed automake bug#12495. Even if an AC_CONFIG_HEADERS invocation is passed a list of several files as the first argument, only the first one of those file is considered by autoheader for automatic generation of the corresponding '.in' template. This is done on purpose, and is clearly documented in the Autoconf manual, which (as of the 2.69 version) reads something like this: The autoheader program searches for the first invocation of AC_CONFIG_HEADERS in configure sources to determine the name of the template. If the first call of AC_CONFIG_HEADERS specifies more than one input file name, autoheader uses the first one. That is, an invocation like: AC_CONFIG_HEADERS([config.h config2.h]) should cause autoheader to generate only a 'config.h.in' template, and not also a 'config2.h.in' one. Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate remake rules only for the template associated to the first input file name passed to that macro. In some situations, however, automake failed to properly limit itself in this way; for example, with an input like: AC_CONFIG_HEADERS([config.h sub/foo.h]) in configure.ac, and with the 'sub' directory listed in the SUBDIRS variable of the top-level Makefile, automake would erroneously generate in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by invoking autoheader. This issue was likely introduced in commit 'Release-1-8-23-g262bb92' of 2004-01-05. * NEWS: Update. * doc/automake.texi (Optional): Improve wording in the description of hat rules automake generates in response to an 'AC_CONFIG_HEADERS' invocation. * lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for the %CONFIG_HIN% template if that corresponds to the first argument of AC_CONFIG_HEADERS, as explaned above. Do so using the automake-time conditional %?FIRST-HDR%, that is properly passed ... * automake.in (handle_configure): ... from a 'file_contents' invocation in here. * t/autohdr-subdir-pr12495.sh: New test. * t/list-of-tests.mk: Add it. * THANKS: Update. Helped-by: Hib Eris <hib@hiberis.nl> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 58ec9d74 2012-09-27T09:43:27 docs: fix minor typo: s/expending/expanding/ * doc/automake.texi (Wildcards): Here. Fixes automake bug#12516. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9f2442d7 2012-09-18T13:57:51 sync: update files from upstream with "make fetch" * lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d6008c51 2012-09-18T13:55:55 maint: post-release minor version bump * configure.ac (AC_INIT): Bump version number to 1.12.4a. * m4/amversion.m4: Likewise (automatically regenerated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering dcff9883 2012-09-23T18:22:30 maint: typo fixes s/lies into/lies in/
Stefano Lattarini 58b4936f 2012-09-17T20:14:07 release: stable release 1.12.4 * configure.ac (AC_INIT): Bump version number to 1.12.4. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b90321a7 2012-09-17T20:31:53 NEWS: minor fix Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering 154fedbd 2012-09-12T17:31:24 fix typos in mk-dirp.m4 * t/gettext-macros.sh: Fix typo in name of macro emitted into mk-dirp.m4: s/AM_MKDIR_P/AM_PROG_MKDIR_P/, and as Stefano Lattarini noted, also fix this typo: s/AC_MKDIR_P/AC_PROG_MKDIR_P/.
Stefano Lattarini c1b83e1a 2012-09-11T11:31:20 tags: automake bug bug#12372 is fixed It has been fixed as a side effect of the overhauling of tags support. * t/list-of-tests.mk (XFAIL_TESTS): No longer list 'tags-pr12372.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f25f4bfc 2012-09-11T11:24:51 Merge branch 'maint' * maint: coverage: better exposure for automake bug#12372 (tags-related) coverage: expose automake bug#12372 (tags-related)
Stefano Lattarini 9c4ad697 2012-09-11T11:15:41 coverage: better exposure for automake bug#12372 (tags-related) Alas, in contrast with what is said in the commit message of previous commit 'v1.12.3-14-g94b7b8e', that bug is still present also in the current maint branch (which will become automake version 1.12.4); it is just that it only triggers when a _SOURCES variable contains only files with custom extension. * t/tags-pr12372.sh: Extend. * t/list-of-tests.mk: Add it. Suggested-by: Юрий Пухальский <aikipooh@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 94b7b8ec 2012-09-07T10:42:42 coverage: expose automake bug#12372 (tags-related) That bug is somehow already been fixed in the latest automake version (1.12.4); but exercise it anyway in the testsuite, to ensure we won't regress. * t/tags-pr12372.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 076e8fa2 2012-09-05T14:40:52 Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" news: cygnus will be removed in automake 1.13 news: some changes for 1.13 has been "de-planned" news: report that the have seen fixlets after 1.12.3 warns: enable category 'obsolete' by default Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini db543731 2012-09-05T14:33:31 sync: update files from upstream with "make fetch" * lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c298a4af 2012-09-05T14:32:35 news: cygnus will be removed in automake 1.13 * NEWS (Future backward-incompatibilities): So document it here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 27fc108a 2012-09-05T14:29:33 news: some changes for 1.13 has been "de-planned" * NEWS (Future backward-incompatibilities): The planned Automake release 1.13 already has too much stuff on its plate; so we are not going to In Automake 1.13, we are definitely not going to change the exact order in which the directories in the aclocal macro search path are looked up. Also, experience and user feedback have shown that the "obsolescent" two-arguments invocation for AM_INIT_AUTOMAKE: AM_INIT_AUTOMAKE(PACKAGE-NAME, PACKAGE-VERSION) is still useful (until at least Autoconf is fixed to offer better support for "dynamically" package versions), so we are not going to remove support for that usage in Automake 1.13. For more details, see commit v1.12.2-245-g2abe183 of 2012-08-24, "AM_INIT_AUTOMAKE: allow obsolescent two-args invocation once again". (New in 1.12.1): Adjust accordingly. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 175cbfc3 2012-09-05T14:19:28 news: report that the have seen fixlets after 1.12.3 * NEWS: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cf41f5af 2012-09-04T14:50:49 warns: enable category 'obsolete' by default No surprise that our users were bitten by backward-incompatible changes especially hard: the warnings in the 'obsolete' category, that might have informed them of the upcoming incompatibilities, and help them to prepare for the transition, where not enabled by default! * NEWS, doc/automake.texi: Update. * lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete' by default. * t/warnings-obsolete-default.sh: New test. * t/list-of-tests.mk: Add it. * t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as autoconf input file, to avoid spurious aclocal errors. * t/backcompat2.sh: Likewise. * t/backcompat3.sh: Likewise. * t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust heading comments. * t/backcompat6.sh: Likewise. * t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 23a4376f 2012-08-28T10:58:37 tests: fix a maintainer-check failure ('Exit' used instead of 'exit') * t/lisp-loadpath.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cb60ae36 2012-08-28T10:00:45 Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" automake: don't define many identical 'lang_*_rewrite' subroutines coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)
Stefano Lattarini d343f7af 2012-08-28T09:59:22 sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4be30e96 2012-06-06T09:52:22 automake: don't define many identical 'lang_*_rewrite' subroutines This is just a simplifying refactoring, with no semantic change intended. Cherry-picked from the Automake-NG commit 'v1.12.1-312-g63aa4a9' of 2012-06-07. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c433a17c 2012-08-26T19:25:02 coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap) * t/flex-header.sh: New test, show that automake bug#8844 and bug#9933 have already been fixed by the recent-ish improvements to ylwrap (merged with commit v1.12.2-27-gec5cb49 of 2012-07-16, "Merge branch 'yacc-work' into maint"). * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 97998210 2012-08-26T12:55:38 Merge branch 'maint' * maint: docs: don't suggest to use recursive makefile setup tests: fix a timestamp race in python tests tests: fixup: make distcheck-override-infodir pass again sync: update files from upstream with "make fetch" maint: post-release minor version bump release: stable release 1.12.3 maintcheck: fix spurious warnings docs: fix typo: s/make install-info/make uninstall-info/ tests: fixup: make a couple of tests executable Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2abe1833 2012-08-24T10:47:17 AM_INIT_AUTOMAKE: allow obsolescent two-args invocation once again This partially reverts commit 'v1.12-67-ge186355' of 2012-05-25, "init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore" Some users still need to be able to define the version number for their package dynamically, at configure runtime. Their user case is that, for development snapshots, they want to be able to base the complete version of the package on the VCS revision ID (mostly Git or Mercurial). They could of course do so by specifying such version dynamically in their call to AC_INIT, as is done by several GNU packages. But then they would need to regenerate and re-run the configure script before each snapshot, which might be very time-consuming for complex packages, to the point of slowing down and even somewhat impeding development. The situation should truly be solved in Autoconf, by allowing a way to specify the version dynamically in a way that doesn't force the configure script to be regenerated and re-run every time the package version changes. But until Autoconf has been improved to allow this, Automake will have to support the obsolescent two-arguments invocation for AM_INIT_AUTOMAKE, to avoid regressing the suboptimal but working solution for the use case described above. See also: <http://lists.gnu.org/archive/html/automake/2012-08/msg00025.html> * NEWS: Update. * m4/init.m4 (AM_INIT_AUTOMAKE): Support once again invocation with two or three arguments. * t/aminit-moreargs-no-more.sh: Renamed ... * t/aminit-moreargs-deprecated.sh: ... like this, and updated. * t/nodef.sh: Recovered test, with minor adjustments. * t/backcompat.sh: Likewise. * t/backcompat2.sh: Likewise. * t/backcompat3.sh: Likewise. * t/backcompat6.sh: Likewise. * t/list-of-tests.mk: Adjust. Suggested-by: Bob Friesenhahn n<bfriesen@simple.dallas.tx.us> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ffa41804 2012-08-21T15:03:05 docs: don't suggest to use recursive makefile setup * doc/automake.texi (Introduction): Here, by erroneously telling that "there should generally be one Makefile.am per directory of a project". For reference, see commit 'v1.12.1-25-g61dfb47' of 2012-06-12, "docs: recursive make considered harmful". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Adam Sampson 1be71fc8 2012-08-16T18:54:41 tests: fix a timestamp race in python tests Fixes automake bug#12210. * t/python-missing.sh: Call aclocal and autoconf with the "--force" option. We need this because, on fast machines, it's possible for 'mypy.m4' and 'aclocal.m4' to end up with the same timestamp as configure, so autoconf (without the "--force" options) wouldn't bother to rebuild it, and would just rerun the previous AM_PATH_PYTHON test, succeeding rather than failing as expected. * t/python-am-path-iftrue.sh: Likewise. Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin 2bb6c94e 2012-08-14T19:34:10 tests: fixup: make distcheck-override-infodir pass again Fixes Automake bug#12198. * t/distcheck-override-infodir.sh (main.texi): Remove all leading cruft added by commit v1.12.2-96-g133307b "maintcheck: fix spurious warnings". Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Stefano Lattarini 0166876d 2012-08-14T13:17:57 sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c4d20d83 2012-08-14T13:09:41 maint: post-release minor version bump * configure.ac (AC_INIT): Bump version number to 1.12.3a. * m4/amversion.m4: Likewise (automatically regenerated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e49762d8 2012-08-13T18:43:37 release: stable release 1.12.3 * configure.ac (AC_INIT): Bump version number to 1.12.3. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>