configure.ac


Log

Author Commit Date CI Message
Stefano Lattarini dd78a5e8 2013-05-28T15: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>
Stefano Lattarini e89b9083 2013-05-15T22:44:43 post-release: micro version bump (1.13.2a) * configure.ac, m4/amversion.m4: Bump version: 1.13.2 -> 1.13.2a Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 21824fbc 2013-05-15T19:43:39 release: stable micro release 1.13.2 * configure.ac (AC_INIT): Bump version number to 1.13.2. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 799fa256 2013-05-05T00:46:54 maint: version bump after beta release 1.13.1d * configure.ac (AC_INIT): Bump version number to 1.13.1e. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3e6cad96 2013-05-04T23:19:36 release: beta release 1.13.1d (will become 1.13.2) * configure.ac (AC_INIT): Bump version number to 1.13.1d. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7bb400fc 2013-01-23T11:38:33 maint: version bump after beta release 1.13.1b * configure.ac (AC_INIT): Bump version number to 1.13.1c. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini fbd3d872 2013-01-23T11:05:01 release: beta release 1.13.1b (will become 1.13.2) * configure.ac (AC_INIT): Bump version number to 1.13.1b. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 655e268d 2013-01-21T14:47:00 maint: update copyright in files generated by automake and aclocal * bootstrap.sh ($RELEASE_YEAR): Bump top 2013. * configure.ac ($RELEASE_YEAR): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 854be48f 2013-01-01T13:33:27 post-release: minor version bump (1.13.1a) * configure.ac, m4/amversion.m4: Bump version to 1.13.1a. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3200088b 2013-01-01T12:57:10 release: stable minor release 1.13.1 * configure.ac (AC_INIT): Bump version number to 1.13.1. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f87ce5b0 2013-01-01T01:20:49 tests: don't always look for a C++ compiler named 'RCC' On MacOS X (10.8), since the file system is case-insensitive, RCC can point to the "Resource Compiler" of the Qt4 Toolkit: <http://doc.qt.digia.com/4.2/rcc.html> That mismatch causes our configure script to erroneously think that no working C++ compiler is present, and that is thus necessary to skip all the test cases requiring such a compiler. So only look for a compiler named 'RCC' if the file system is case-sensible. Issue spotted analyzing the testsuite logs reported in bug#13317. * configure.ac: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7df8b28c 2012-12-31T18:18:37 maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a31c991e 2012-12-28T18:41:38 post-release: minor version bump This is for the maint branch. * configure.ac, m4/amversion.m4: Bump version to 1.13.0a. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2f552a97 2012-12-28T18:12:33 release: stable major release 1.13 * configure.ac (AC_INIT): Bump version number to 1.13. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (regenerated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 72f22d49 2012-12-19T12:02:21 maint: version bump after beta release * configure.ac (AC_INIT): Bump version number to 1.12c, as per HACKING suggestion. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9ebccd05 2012-12-19T11:18:53 release: beta release 1.12b (will become 1.13) * configure.ac (AC_INIT): Bump version number to 1.12b. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c54fada1 2012-12-15T18:04:58 maint: post-release minor version bump * configure.ac (AC_INIT): Bump version number to 1.12.6a. * m4/amversion.m4: Likewise (automatically regenerated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 28fcb35d 2012-12-15T10:37:49 release: stable release 1.12.5 * configure.ac (AC_INIT): Bump version number to 1.12.5. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini de736a22 2012-12-14T10:43:21 Merge branch 'maint' * maint: docs: fixlet about xz compression levels and command line options maint: more files excluded in 'update-copyright' maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format HACKING: update instructions to update the manuals at www.gnu.org maint: add an explicative comment in Makefile maint: factor out the name of the dir where web manuals are generated maint: rename rules to build/upload web manuals cosmetic: minor variable and rules reordering in Makefile.am docs: build the web manuals for CVS in the builddir, not in the srcdir release: automate uploading of web manuals in CVS docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc tests: avoid two spurious failures on FreeBSD tests: improve 'pkg-config' requirement
Stefano Lattarini 41769ed8 2012-12-13T11:39:30 docs: build the web manuals for CVS in the builddir, not in the srcdir We can do so using the '-I' option of the gendocs.sh script. Inspired by the 'web-manual' rule in the 'top/maint.mk' file provided by gnulib (as of commit v0.0-7741-g4a8c422) as customized by Bison in its 'cfg.mk' file (as of commit v2.6.5-1007-gf5fceda). * Makefile.am (web-manuals): Modify and simplify to take advantage of gendocs.sh's '-I' option. (upload-we-manuals): Accordingly adjust sanity checks and the rsync invocation in the recipe. (clean_texinfo_clutter_cmd): Delete this variable, it's no longer required. (clean-texinfo-clutter): Delete this phony target, it's no longer required. (clean-local): Don't depend on it. * configure.ac: Invoke AC_PROG_LN_S, since we want to use $(LN_S) in the new 'web-manuals' recipe. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 18143e7c 2012-11-17T20:30:11 Merge branch 'maint' * maint: build: fix rebuild rules for Makefile.in and aclocal.m4 hacking: release procedure: fix order of some steps maint: post-release minor version bump release: stable release 1.12.5 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2f584fa4 2012-11-17T19:57:02 build: fix rebuild rules for Makefile.in and aclocal.m4 They have been broken after our removal of the 'perllibdir' hack in yesterday's commit v1.12.4-45-g4872dfe. * configure.ac: Rather then redefining AUTOMAKE and ACLOCAL to explicitly override the perllibdir, the acdir and the libdir, use the ready-made t/wrap/{aclocal,automake}-$APIVERSION scripts. * NEWS: Document the fix. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2383b2c9 2012-11-17T19:30:03 maint: post-release minor version bump * configure.ac (AC_INIT): Bump version number to 1.12.5a. * m4/amversion.m4: Likewise (automatically regenerated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 228258cc 2012-11-17T16:43:39 release: stable release 1.12.5 * configure.ac (AC_INIT): Bump version number to 1.12.5. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 1efb88ca 2012-11-16T14:50:02 Merge branch 'maint' * maint: maintcheck: avoid failures, sync with 'ng/master' more maintcheck: remove 'sc_perl_syntax' sync: update files from upstream with "make fetch" maint: get rid of $perllibdir environment variable hack configure: respect the '-q' option better cosmetics: de-tabify configure.ac Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e0a0fbf0 2012-11-16T12:07:52 configure: respect the '-q' option better * configure.ac: Here, by avoiding to print the warnings about using a non-stable Automake version if the '$silent' variable is set to "yes". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini db036841 2012-11-16T11:44:18 cosmetics: de-tabify configure.ac 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 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>
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 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>
Stefano Lattarini 106428fe 2012-07-26T18:16:47 Merge branch 'maint' * maint: (38 commits) maintcheck: fixup list of files in $(xdefs) tests: never source test-defs.sh directly, source test-lib.sh instead runtest: sanitize test environment tests: remove an obsolescent self test tests: "am_using_tap=yes" -> "am_test_protocol=tap" tests: protect test libs against multiple inclusion configure: testsuite shell can return early from "dot-sourced" files tests: move sanitization and "Bournification" in the generic test lib tests: source test defs in the generic test lib test defs: no need to re-add $srcdir/t/ax to $PATH tests: split test libs into "generic" and "automake-specific" test setup: move actual calling of testsuite setup in ./defs test setup: merge definitions of function for simple tests test init: refactor: new function 'am_test_setup' test init: refactor: move displaying of debugging info later test init: refactor: new function 'am_setup_testdir' test init: refactor: new function 'am_set_exit_traps' configure: testsuite shell set exit traps in shell functions test init: refactor: new function 'am_exit_trap' test init: refactor: new function 'process_requirements' ... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 60f8b3de 2012-07-25T20:40:21 configure: testsuite shell can return early from "dot-sourced" files * configure.ac: Check that the shell selected to run the test scripts can call 'return' form within a file being sourced with the '.' built-in. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f01805fe 2012-07-25T19:51:27 configure: testsuite shell set exit traps in shell functions * configure.ac: Check that the shell selected to run the test scripts can set an exit trap in a shell function, without having that trap executed at the termination of the function rather than of the scripts. According to the Autoconf manual, at least AUX 5.3 /bin/sh suffers of such a bug. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 094b83a6 2012-07-16T11:16:15 Merge branch 'maint' * maint: fixup: delete "# serial" line in m4/amversion.in news: update about recent ylwrap changes and fixes m4: get rid of "# serial" lines configure: ${#param} must be supported by the shell for the testsuite yacc tests: fix a spurious failure with parallel make ylwrap: use proper quoting inside a `...` substitution ylwrap: don't uselessly reset the exit status in case of failure ylwrap: fix C++ support for Bison ylwrap: refactor: move loop invariant ylwrap: refactoring: don't rely on the file order tests: upgrade and fix Bison test case tests: fix bison input file ylwrap: comment changes ylwrap: modernize idioms ylwrap: rename header inclusion in generated parsers ylwrap: simplify the list of renamings ylwrap: refactor: less duplication Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c0806890 2012-07-14T18:38:31 configure: ${#param} must be supported by the shell for the testsuite This will be required at least by the Automake-NG branch. * configure.ac: Require the $AM_TEST_RUNNER_SHELL supports ${#param} as a way to obtain the length of the expansion of the variable $param. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7eccbf44 2012-07-13T14:58:17 Merge branch 'maint' * maint: news: mention fixed testsuite weaknesses news: bump, for future 1.12.3 tests: verify the shell test scripts are syntactically valid tests: don't use C instead of C++ compiler on case-insensitive platforms tests: avoid spurious TAP errors on Mac OS X 10.7 tests: fix spurious failure in aclocal7.sh on fast machines Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 1bc5acb2 2012-07-11T14:36:13 tests: don't use C instead of C++ compiler on case-insensitive platforms This change fixes automake bug#11893 and bug#10766. On at least Cygwin and Mac OS X 10.7, the file system where the system compilers are located can be case-insensitive, so that looking for a program named 'CC' might actually find the C compiler in /usr/bin/cc. Now, the Automake configure script looks for a C++ compiler named 'CC' before looking for more obvious names like c++ or g++ (that is done to increase testsuite "coverage in the wild", e.g., preferring, on Solaris, the Sun Studio C++ compiler /usr/bin/CC over the GNU C++ compiler). Since the checks done in AC_PROG_CXX are apparently not strict enough to rule out C compilers like those from GCC or Clang (which are smart enough to recognize if a file has a C++ extension, passing it to the C++ front end) the testsuite might end up using a C compiler where a C++ one is expected, with some subtle bad consequences. * configure.ac: Don't look for a C++ compiler named 'CC' if the "top-level" file system(s) (where /bin and /usr/bin are) are detected to be case-insensitive. Reported-by: Peter Rosin <peda@lysator.liu.se> Reported-by: Max Horn <max@quendi.de> Helped-by: Eric Blake <eblake@redhat.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 44521c1e 2012-07-09T18:19:55 maint: post-release minor version bump * configure.ac (AC_INIT): Bump version number to 1.12.2a. * m4/amversion.m4: Likewise (automatically regenerated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6a49a1b7 2012-07-09T17:26:14 release: stable release 1.12.2 * configure.ac (AC_INIT): Bump version number to 1.12.2. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a5edf3d6 2012-07-06T22:17:59 test runner: work correctly in VPATH setups Due to a "feature" of AC_CONFIG_FILES, because 't/ax/test-runner.in' is in a subdirectory, the '@srcdir@' value that is AC_SUBST'd in it gets tweaked to contain as much '..' components as are the directory components of 't/ax/test-runner'. Because our build system operates in a non-recursive setup, this substitution is wrong; for example, the final 't/ax/test-runner' build in a VPATH builds where the source directory is ".." contains the line: : ${srcdir='../../../t/ax'} instead of the expected (and correct): : ${srcdir='../t/ax'} We solve the issue by building 't/ax/test-runner' with a Makefile recipe instead of config.status substitutions; this is already done for other testsuite-related files, like 'defs-static'. * configure.ac (AC_CONFIG_FILES): Don't build 't/ax/test-runner' anymore. * Makefile.am (t/ax/test-runner): New rule. (EXTRA_DIST): Add 't/ax/test-runner.in'. (CLEANFILES, noinst_SCRIPTS): Add 't/ax/test-runner'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b6e6409a 2012-07-06T12:24:33 tests init: don't automatically re-execute tests with a POSIX shell I've unwittingly broken support for that feature *again* in some of my recent testsuite tweaking. In this case, the re-execution code works correctly when the tests are executed with a POSIX shells, but breaks when they are invoked by an old-style Bourne shells (e.g., /bin/sh on Solaris). It's time to face it: that feature is too much brittle, and too seldom used (because the Makefile takes care of running the tests with the correct shell anyway, so that a breakage is only experienced when running the tests by hand). It just don't remain working for long, not when we often touch the testsuite setup (which we are going to do again when we'll try to move part of our testsuite framework to Gnulib, or a similar project). So, instead of trying to be extra-smart and automatically re-execute the tests with the correct shell, we now offer a simple wrapper script that the user can employ to run the test scripts with the proper shell. And while we are at it, we write this wrapper to also deal with TAP tests in a better way, running them through the prove(1) utility, so that their results are correctly recognized and reported. * t/ax/test-runner.in: New file; the wrapper script we were talking about. * configure.ac (AC_CONFIG_FILES): Process it into 't/ax/test-runner'. * .gitignore: Add 't/ax/test-runner'. * defs: Remove code for automatic re-execution of the scripts with the correct shell. This file now just a very thin layer around 'defs-static' and 't/ax/test-init.sh'. * t/README: Adjust, and remove or fix some imprecise or outdated text in the process (like "... test scripts are written with portability in mind, so that they should run with any decent Bourne-compatible shell ..." ). * Makefile.am (AM_TESTS_ENVIRONMENT): No need to export 'AM_TESTS_REEXEC' to "no" anymore. * t/self-check-explicit-skips.sh: Likewise. * t/self-check-exit.tap: Likewise. * t/self-check-me.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-reexec.tap: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e2f007f0 2012-06-30T13:42:10 Merge branch 'maint' * maint: tests: fix a spurious failure configure: fix detection of POSIX shell to work in a VPATH build tests: prefer "test ! -e FILE" to check that a file doesn't exist Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 68337f9a 2012-06-30T11:28:24 configure: fix detection of POSIX shell to work in a VPATH build * configure.ac: When checking whether "test -e" works, use 'config.log', not 'configure', as the witness file, because the latter does not exist in the current directory during a VPATH build. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8c784651 2012-06-28T23:35:18 Merge branch 'maint' * maint: configure: move a misplaced "section" comment configure: clump check for ${var%...} and ${var#...} expansion together cosmetics: improve wording of a couple of configure messages configure: the testsuite shell must support 'test -e' and 'test ! -e' tests: remove stale workarounds for Solaris /bin/sh
Stefano Lattarini e857a8e7 2012-06-28T23:32:21 configure: move a misplaced "section" comment * configure.ac (Create output files): This, move it towards the end of the script. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e14ce448 2012-06-28T23:29:51 configure: clump check for ${var%...} and ${var#...} expansion together And together with those for the ${var%%...} and ${var##...} expansions. After all, it is basically impossible to find a shell that support one of them but not the others. Suggestion by Eric Blake. * configure.ac: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 872113f7 2012-06-28T22:53:03 cosmetics: improve wording of a couple of configure messages * configure.ac: Fix a couple of messages so that the configure output changes from this: checking whether /bin/sh "set -e" preserves exit traps... yes checking whether /bin/sh "set -x" corrupts stderr... no to this: checking whether /bin/sh preserves exit traps with "set -e"... yes checking whether /bin/sh corrupts stderr with "set -x"... no Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f7b3752b 2012-06-28T22:49:28 configure: the testsuite shell must support 'test -e' and 'test ! -e' * configure.ac: Require that the shell that is to be selected to run the testsuite understands "set -e" and "set ! -e". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b21d6869 2012-06-28T13:27:49 Merge branch 'maint' * maint: tests: simpler workaround for shells losing the exit status in exit trap + Extra non-trivial edits: * Several tests: Adjusted to use 'exit' rather than 'Exit'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c2a52bf0 2012-06-24T10:36:15 tests: simpler workaround for shells losing the exit status in exit trap Now that we can assume our tests are run by a decent POSIX shell, we can simplify our workaround aimed at having the exit status propagated correctly to the code in the exit trap. Unfortunately, we cannot dispense with such a workaround altogether, because it's still required by some shells we need to support (at least Solaris 10 /bin/ksh and /usr/xpg4/bin/sh). For more information about the need of that workaround, see the entry about 'trap' in the section "Limitations of Shell Builtins" in the Autoconf manual: <http://www.gnu.org/software/autoconf/manual/autoconf.html#trap> The new workaround has been tested successfully with the following shells: - Bash 4.1 - Bash 3.2 - Bash 3.0 - Bash 2.05b - dash 0.5.5.1 - dash 0.5.2 - AT&T Ksh 93u (from official Debian package) - MirBSD Korn Shell 40.2 (from official Debian package) - Solaris 9, 10 and 11 /bin/ksh - Solaris 9, 10 and 11 /usr/xpg4/bin/sh - NetBSD 5.1 /bin/sh - NetBSD 5.1 /bin/ksh * t/ax/test-init.sh (Exit): Rename ... (_am_exit): ... like this. (exit): New alias for '_am_exit'. We cannot simply redefine 'exit' as a shell function, because some shells (dash 0.5.5.1, Solaris 10 /bin/ksh and /usr/xpg4/bin/sh) do not allow it. (_am_exit, trap): Add extra escaping for 'exit' calls, to ensure we really invoke the 'exit' builtin and not our alias with the same name. * configure.ac: Check that the shell selected to run our testsuite supports aliases named like shell builtins. * t/REAMDE: Adjust. * All tests: Adjust, by simply using 'exit' instead of 'Exit'. * t/self-check-explicit-skips.sh: Adjust: the first usage of 'exit' after it has been redefined as an alias must be on a new line w.r.t. that where the alias is defined, in order for the redefinition to be honored. * syntax-checks.mk (sc_tests_Exit_not_exit): Delete. (sc_tests_exit_not_Exit): New. (syntax_check_rules): Adjust. (sc_tests_automake_fails): Simplify the recipe a little. * Several tests: Remove now useless spurious quoting once required to placate the 'sc_tests_Exit_not_exit' maintainer check. * gen-testsuite-part: Likewise. Also, avoid uses of 'Exit' in the generated scripts. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 12bef166 2012-06-01T18:55:14 maint: post-release minor version bump * configure.ac (AC_INIT): Bump version number to 1.12.1a. * m4/amversion.m4: Likewise (automatically regenerated by "make bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 58cad831 2012-06-01T15:50:03 release: stable release 1.12.1 * configure.ac (AC_INIT): Bump version number to 1.12.1. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 16bf8ebc 2012-05-19T15:27:21 maint: version bump after beta release * configure.ac (AC_INIT): Bump version number to 1.12.0c. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0bec8b53 2012-05-19T15:18:43 release: beta release 1.12.0b (will become 1.12.1) * configure.ac (AC_INIT): Bump version number to 1.12.0b. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5e771b27 2012-05-18T18:00:51 check: the parallel-tests driver is now the default The old serial testsuite driver is still supported, and can be activated by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773' of 2012-02-20, "automake: new option 'serial-tests'"). * lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op (but still explicitly recognized, for backward compatibility), while the 'serial-tests' option is recognized and registered. * automake.in: Adjust to ensure that the parallel test harness is used by default; mostly, this amounts at using "! option('serial-tests')" where "option('parallel-tests')" was used before. * NEWS, doc/automake.texi: Update. * configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is redundant now. * defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests' when the serial testsuite harness is to be used, and no option otherwise. * lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of conditional '%PARALLEL_TESTS%'. * lib/test-driver: Adjust heading comments. * t/ax/extract-testsuite-summary.pl: Likewise. * t/check-exported-srcdir.sh: Likewise. * t/check-subst.sh: Likewise. * t/java-compile-run-nested.sh: Likewise. * t/parallel-tests-dry-run-1.sh: Likewise. * t/parallel-tests-dry-run-2.sh: Likewise. * t/parallel-tests-interrupt.sh: Likewise. * t/parallel-tests-many.sh: Likewise. * t/test-metadata-global-log.sh: Likewise. * t/tests-environment-backcompat.sh: Likewise. * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment. * t/check8.sh: Likewise. * t/check-tests-in-builddir.sh: Likewise. * t/java-compile-run-flat.sh: Adjust a botched comment. * t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests' option. * t/ax/testsuite-summary-checks.sh: Likewise. * t/aclocal-path-precedence.sh: Likewise. * t/dist-aux-many-subdirs.sh: Likewise. * t/parallel-tests-no-color-in-log.sh: Likewise. * t/parallel-tests-reset-term.sh: Likewise. * t/parallel-tests-subdir.sh: Likewise. * t/check-no-test-driver.sh: Fix setup to adjust to the changed semantics. Update heading comments. * t/parallel-tests-driver-install.sh: Adjust to the new semantic. * t/test-driver-is-distributed.sh: Simplified according to the new semantics. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 12405c9f 2012-05-08T12:49:36 Merge branch 'maint' * maint: tests: fix a spurious failure with dash test defs: fix indentation (cosmetic change) tests: remove obsolete uses of $sh_errexit_works configure: search a sturdy POSIX shell to be used in the testsuite tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL fixup: distribute t/README init: warn against obsolete usage of AM_INIT_AUTOMAKE Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6b641de5 2011-12-28T13:23:31 tests: remove obsolete uses of $sh_errexit_works After the last changes, configure will ensure that the shell selected to run the test scripts can correctly propagate exit status to the exit trap when 'set -e' is in effect. * configure.ac (sh_errexit_works): Do not AC_SUBST it anymore. * defs-static.in (sh_errexit_works): Do not initialize from the AC_SUBST value anymore. * defs (trap): Trap the EXIT signal unconditionally. * t/self-check-explicit-skips.sh: Do not skip the test if '$sh_errexit_works' is != "yes", this check doesn't make sense anymore. * t/self-check-cleanup.tap: Likewise. * t/self-check-exit.tap: Assume the exit trap is always installed by ./defs. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2d68fd9b 2011-12-28T13:23:31 configure: search a sturdy POSIX shell to be used in the testsuite * configure.ac: Add code (partially inspired to checks in gnulib's 'tests/init.sh') to search for a good-enough, not-buggy POSIX/XSI shell to be used in our testsuite. Accordingly AC_SUBSTitute the variable 'AM_TEST_RUNNER_SHELL'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 21d1b934 2011-12-28T13:23:31 tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL This is just a preparatory refactoring for future changes. * configure.ac (AM_TEST_RUNNER_SHELL): New variable, defined to $SHELL', and AC_SUBST'd. * Makefile.am (LOG_COMPILER): Redefine from $(SHELL) to $(AM_TEST_RUNNER_SHELL). * defs: Adjust to use $AM_TEST_RUNNER_SHELL instead of $CONFIG_SHELL and/or $SHELL, where appropriate. Minor opportunistic changes. * t/self-check-explicit-skips.sh: Likewise. * t/self-check-sanity.sh: Likewise. * t/self-check-tap.sh: Likewise. * t/self-check-cleanup.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-env-sanitize.tap: Likewise. * t/self-check-exit.tap: Likewise. * t/self-check-me.tap: Likewise. * t/self-check-reexec.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 68075ce0 2012-05-05T21:48:49 require: autoconf >= 2.65; related simplifications The new support for Objective C++ (to be added in Automake 1.12.1) can be simplified if we assume Autoconf version 2.65 or later (2.65 being the version that introduced support for Objective C++). Since such an Autoconf version is two and half years old now (and will likely be almost three years old when Automake 1.13 gets released), requiring it is acceptable. This will also simplify testing and maintenance of Automake, because we'll need to test with fewer Autoconf version, and possibly rely on new Autoconf features. * NEWS (Version requirements): Automake 1.13 will require Autoconf 2.65 or later. * configure.ac ($required_autoconf_version): Bump to 2.65. * m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf >= 2.65. Assume AC_PROG_OBJCXX is unconditionally defined. * m4/depout.m4: Adjust a comment about a nugget of defensive programming. * t/ext.sh: Assume that AC_PROG_OBJCXX is unconditionally defined, and that we are using Autoconf >= 2.65. Related simplifications. * t/objc-megademo.sh: Likewise. * t/objcxx-basic.sh: Likewise. * t/objcxx-deps.sh: Likewise. * t/objcxx-flags.sh: Likewise. * t/objcxx-minidemo.sh: Likewise. * t/nodep2.sh: Likewise. * t/backcompat3.sh: Assume AC_INIT accepts an URL argument. * t/depend5.sh: Adjust a comment. * syntax-checks.mk (sc_test_names): Delete this check as now useless: autoconf >= 2.65 (>= 2.63, actually) can handle arguments to AC_INIT that contain or are m4 builtins or predefined macros. (m4_builtin): Delete this now-useless variable as well, was used only by the check above. (syntax_check_rules): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0fec8df4 2012-05-02T18:15:41 Merge branch 'always-support-silent-rules' * always-support-silent-rules: silent rules: support for them is always active now Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 14141f25 2012-05-01T14:23:04 silent rules: support for them is always active now Before this change, support for silent rules was optional and activated only if the 'silent-rules' option was specified. The rationale behind that behaviour was that the silent-rules machinery originally only worked with make implementations supporting nested variables expansions, which isn't (or wasn't) a POSIX-specified features; so that packages wanting to be "extra-portable" couldn't use the silent-rules machinery at all. But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011, "silent-rules: fallback for makes without nested vars" (motivated by automake bugs #9928 and #10237), Makefiles generated when the 'silent-rules' option is enabled can work also with those make implementations that don't support nested variables expansion (albeit the configure-time selected verbosity cannot be overridden at make runtime in such case). In light of that, and since silent rules are disabled by default even when the 'silent-rules' option is given (unless the developer explicitly makes them enabled by default be calling "AM_SILENT_RULES([yes])" in configure.ac), we can now have the support for silent rules always enabled. The 'silent-rules' option will thus become a no-op, but will reaming a valid option for the time being, for better backward-compatibility. A collateral effect of this change is that the use of the 'silent-rules' option will not anymore automatically disable the warnings in the 'portability-recursive' category. The present change is basically a backport of the Automake-NG commit 'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for them is always active now". Stemmed by this thread on the Automake-NG list: <http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html> * automake.in: Enable silent-rules machinery unconditionally. Reword some comments. Do not switch off warnings in the category 'portability-recursive' anymore if the 'silent-rules' option is given. * m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally. * lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option. Do not bother anymore checking that it is set in 'configure.ac'. * t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES. * t/silent2.sh: Likewise. * t/silent3.sh: Likewise. * t/silent4.sh: Likewise. * t/silent8.sh: Likewise. * t/silent9.sh: Likewise. * t/silent-lex.sh: Likewise. * t/silent-many-gcc.sh: Likewise. * t/silent-many-generic.sh: Likewise. * t/silent-yacc-headers.sh: Likewise. * t/silent-yacc.sh: Likewise. * t/silentcxx-gcc.sh: Likewise. * t/silentcxx.sh: Likewise. * t/silentf77.sh: Likewise. * t/silentf90.sh: Likewise. * t/help-silent.sh: Likewise. * t/silent-configsite.sh: Likewise, and other minor adjustments. * t/silent7.sh: Likewise. Also, extend to check that silent rules are disabled by default, and remove obsoleted checks about the 'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'. * t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'. Call automake with '-Wno-portability-recursive'. Remove other obsoleted checks. * t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in 'configure.ac' to disable warning in the 'portability-recursive' category anymore. * t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure. * t/silent-amopts.sh: Remove as obsolete. * t/silent-nowarn.sh: Likewise. * t/list-of-tests.mk: Adjust. * NEWS: Update. * doc/automake.texi: Update and simplify accordingly. * configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d8a5518d 2012-04-29T22:32:20 Merge branch 'maint' * maint: tests: root can write on files without write perms; cater for this tests: require lex, not yacc, in a lex test case maint: fix a comment typo
Jim Meyering b4653256 2012-04-28T10:40:26 maint: fix a comment typo * configure.ac: Fix typo in comment: s/out/our/
Stefano Lattarini 83249bd3 2012-04-28T10:53:20 Merge branches 'remove-acdir-option' and 'remove-obsolete-m4' * remove-acdir-option: aclocal: remove the --acdir option * remove-obsolete-m4: m4: delete several obsolete macros Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d3500f61 2012-04-28T10:47:22 Merge branch 'maint' * maint: fixup: avoid unconditional re-bootstrapping on "make dist" build: ensure release year in copyright notice is up-to-date cosmetics: fix spacing in THANKS readme: explicitly state we use ranges in copyright years bootstrap: add convenience make target automake, aclocal: update copyright year in output
Stefano Lattarini 8ea72c74 2012-04-27T16:27:08 build: ensure release year in copyright notice is up-to-date From a suggestion by Eric Blake. See automake bug#11356. This is a follow-up to previous patch 'v1.12-12-gb99b5be'. * configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold the value of the current year. * Makefile.am (update-copyright): Be sure to also update the definition of 'RELEASE_YEAR' in configure.ac. * lib/Automake/Config.in ($RELEASE_YEAR): New exported variable, initialized from the value substituted for '@RELEASE_YEAR@'. (@EXPORT): Add it. * automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be substituted at make time) instead of hard-coding the release year. This should ensure the copyright range in the version message and in the generated files (Makefile.in and aclocal.m4) are automatically kept up-to-date. * bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini bc103832 2012-04-06T10:46:27 aclocal: remove the --acdir option It not documented in the manual anymore, its use has already been causing a deprecation warning, and its oncoming removal has already been announced in the NEWS file. So let's finally remove it. * aclocal.in (parse_arguments): Don't recognize the '--acdir' option anymore. (handle_acdir_option): Remove subroutine. * configure.ac ($ACLOCAL): Adjust. ($AUTOMAKE): Cosmetic changes, for consistency. * tests/aclocal-acdir.test: Remove usages of the '--acdir' option. * tests/aclocal-print-acdir.test: Likewise. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8ce1b6c9 2012-04-26T17:52:31 Merge branch 'maint' * maint: maint: don't use "union" merge driver for NEWS anymore build: avoid too greedy rebuilds in the testsuite tests: avoid yet another spurious environment influence tests: fix a failure in Lex/C++ tests on Mac OS X tests: fix a spurious failure due to truncated timestamps build: require autoconf 2.69 build: don't require minimal automake version in AM_INIT_AUTOMAKE Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 444618b3 2012-04-26T00:04:35 build: require autoconf 2.69 It is only from version 2.69 that the 'AC_PROG_FC' macro has started to set the '$GFC' variable to "yes" if the selected Fortran compiler is a GNU compiler. Since we use this variable in our configure.ac, we better require autoconf 2.69 explicitly. * configure.ac (AC_PRERQ): Require autoconf >= 2.69. Remove a now-obsolete "FIXME" comment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ba5b98ff 2012-04-25T23:58:05 build: don't require minimal automake version in AM_INIT_AUTOMAKE * configure.ac (AM_INIT_AUTOMAKE): Don't explicitly require a minimal automake version number. Since the Automake build system is only meant to work with the bleeding-edge automake, that requirement was redundant and misleading. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5368def8 2012-04-25T23:24:07 post-release: major version bump This is for the master branch. * configure.ac, m4/amversion.m4: Bump version to 1.12a. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d3eaa6aa 2012-04-25T23:14:52 post-release: minor version bump This is for the maint branch. * configure.ac, m4/amversion.m4: Bump version to 1.12.0a. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a18d188c 2012-04-25T17:49:43 release: stable major release 1.12 * configure.ac (AC_INIT): Bump version number to 1.12. * NEWS: Likewise. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 39b6b702 2012-04-18T18:29:31 maint: version bump after beta release * configure.ac (AC_INIT): Bump version number to 1.11e, as per HACKING suggestion. * NEWS: Likewise. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4c3cf987 2012-04-18T18:19:05 Beta release 1.11d (will become 1.12) * configure.ac (AC_INIT): Bump version number to 1.11d. * NEWS: Likewise. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering da0f9ab4 2012-04-12T15:07:19 build: generate doc/*.1 files; include help2man This change is required to avoid making a distributed file depend on a generated (non-distributed) one. The preceding change introduced one such dependency, with the distributed doc/*.1 depending on the generated aclocal and automake files. Here, we avoid the problem by generating the doc/*.1 files rather than distributing them. * doc/help2man: New file, version 1.37.1. * Makefile.am (EXTRA_DIST): Add doc/help2man. (man1_MANS): Rename from $(dist_man1_MANS). Remove $(srcdir) prefix. (CLEANFILES): Add these files here, rather than to $(MAINTAINERCLEANFILES), since we are no longer distributing them. (update_mans): Use doc/help2man, not $(HELP2MAN). * configure.ac: Don't test for help2man, now that we bundle it.
Stefano Lattarini 66cccef3 2012-04-11T19:06:18 maint: version bump after beta release * configure.ac (AC_INIT): Bump version number to 1.11c, as per HACKING suggestion. * NEWS: Likewise. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 66ca4b0c 2012-04-11T18:00:00 Beta release 1.11b (will become 1.12) * configure.ac (AC_INIT): Bump version number to 1.11b. * NEWS: Likewise. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8e02441b 2012-04-06T15:20:54 maint: no more make recursion in Automake's build system We finally merge testsuite-related part of the Automake build system with the top-level one. See also yesterday's commit 'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's own build system". * t/gen-testsuite-part: Move ... * gen-testsuite-part: ... here, with required adjustments. * t/defs-static.in: Move ... * defs-static.in: ... here, with required adjustments. In particular ... ($testsrcdir, $testbuilddir): Removed. ($top_testsrcdir): Renamed ... ($am_top_srcdir): ... to this. ($top_testbuilddir): Renamed ... ($am_top_builddir): ... to this. * t/defs: Move ... * defs: ... here, and adjust as required. * t/Makefile.am: Merge ... * Makefile.am: ... in here, with related adjustments and simplifications. * bootstrap: Adjust as required. * syntax-checks.mk: Likewise. * .gitignore: Likewise. * t/ax/tap-setup.sh: Likewise. * t/get-sysconf.sh: Likewise. * t/help-multilib.sh: Likewise. * t/multlib.sh: Likewise. * t/parallel-tests2.sh: Likewise. * t/self-check-cleanup.tap: Likewise. * t/self-check-exit.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-explicit-skips.sh: Likewise. * t/self-check-reexec.tap: Likewise. * t/self-check-sanity.sh: Likewise. * t/yacc-d-cxx.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8a5096d1 2012-04-06T13:12:25 tests: rename 'tests/' => 't/', '*.test' => '*.sh' When we (soon) convert the Automake testsuite to a non-recursive make setup, we'll have to fix the entries of $(TESTS) to be prepended with the subdirectory they are in; this will increase the length of $(TESTS), and thus increase the possibility of exceeding the command-line length limits on some systems (most notably, MinGW/MSYS). See automake bug#7868 for more information. Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test' script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test' will become 't/foo.sh', which have the same number of characters. * tests/: Rename ... * t/: ... to this. * t/*.test: Rename ... * t/*.sh: ... to this. * t/.gitignore: Removed as obsolete. * t/defs: Adjust. * t/gen-testsuite-part: Likewise. * t/list-of-tests.mk: Likewise. * t/ccnoco.sh: Likewise. * t/ccnoco3.sh: Likewise. * t/self-check-cleanup.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-me.tap: Likewise. * t/self-check-reexec.tap: Likewise. * README: Likewise. * bootstrap: Likewise * configure.ac: Likewise. * Makefile.am: Likewise. * .gitignore: Likewise. * syntax-check.mk: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a4b0f4b5 2012-04-01T11:48:47 maint: remove most recursion in automake's own build system Recursive make-based build systems tend to be slower, more fragile and less faithful than "flat" ones. See Peter Miller's article "Recursive Make Considered Harmful" for more a more in-depth discussion: <http://miller.emu.id.au/pmiller/books/rmch/> While in the case of automake this isn't a big problem (given the small size of its build systems), it still creates occasional glitches and annoyances. With this change, the use of recursion in Automake's own build system is eliminated *but for the testsuite*. Converting that is a little more tricky, and better left for a later change (or series of changes). See also commit v1.11-769-gfeeb7f6 of 28-03-2012. * contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am, doc/Makefile.am: Removed, their content merged ... * Makefile.am: ... here, with required adjustments and few other "opportunistic" changes. (SUBDIRS): Update. * configure.ac (AC_CONFIG_FILES): Likewise. * .gitignore: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 84bf694b 2012-03-28T22:50:27 Merge branch 'maint' * maint: cosmetics: don't make the generated Config.pm executable maint: reduce use of recursion in automake build system + Extra non-trivial extra edits follows. * lib/Makefile.am (amdir): Deleted this definition, it is already provided by a proper AC_SUBST in configure.ac. (dist_am_DATA): Remove 'am/ansi2knr.am', 'am/check-html.am' and 'am/multilib.am'. (dist_perllib_DATA): Remove 'Automake/Struct.pm'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini feeb7f6a 2012-03-28T17:03:25 maint: reduce use of recursion in automake build system Recursive make-based build systems tend to be slower, more fragile and less faithful than "flat" ones. See Peter Miller's article "Recursive Make Considered Harmful" for more a more in-depth discussion: <http://miller.emu.id.au/pmiller/books/rmch/> While in the case of automake this isn't a big problem (given the small size of its build systems), it still creates occasional glitches and annoyances. So, with this change, we start making less use of make recursion in the Automake's own build system (future changes will reduce it even more). * lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their content merged ... * lib/Makefile.am: ... here, with required adjustments. * configure.ac (AC_CONFIG_FILES): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4d2bf42f 2012-02-24T15:22:25 tests: look for GNU Java compiler at configure time Do this for consistency with what is done with other compilers. * configure.ac: Look for GNU java compiler at configure time. * tests/defs (gcj): Adjust and simplify. ($am__tool_prefix): Remove definition, it's not used anymore.
Stefano Lattarini 1eaed7c1 2012-02-24T13:27:53 cosmetics: typofixes and whitespace changes * configure.ac: Fix a typo in comments. * aclocal.in: Get rid of latest form-feed (^L) usages. * automake.in: Likewise.
Stefano Lattarini 5d9d10e0 2012-02-22T22:39:03 tests: looks for GNU compilers at configure time This way, if the generic C compiler determined configure time is recognized to be the GNU C compiler, we can reuse it instead of looking for a compiler named "gcc" (over and over again) in the test scripts requiring the GNU C compiler. Ditto for the C++, Fortran, and Fortran 77 compilers. This change will improve coverage by allowing us to more easily use non-default GNU compilers throughout the testsuite. And as a bonus, this change also removes a weakness from our testsuite that could cause spurious failures when flags passed to the generic compilers were erroneously reused for the GNU compilers; see automake bug#10859. * configure.ac: Look for the GNU compilers explicitly. Improve some configure output and diagnostic since we are at it. * tests/defs-static.in ($GNU_CC, $GNU_CXX, $GNU_FC, $GNU_F77): Initialize with the values determined at configure time (while allowing user overrides). * tests/Makefile.am (do_edit): Also substitute the configure-time values of GNU_CC, GNU_CXX, GNU_FC and GNU_F77. * tests/defs (gcc, g++, gfortran, g77): Use the values for the GNU compilers determined at configure time (i.e., $GNU_CC for the GNU C compiler, and so on).
Stefano Lattarini 2d951983 2012-02-23T19:21:00 build: do not quote `like this', as per GCS recommendation This patch converts the files implementing the automake's own build system to the use of new quoting format 'like this' or "like this" rather than `like this'. * bootstrap, configure.ac, syntax-checks.mk, Makefile.am, lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting format throughout, in comments and diagnostic. Some minor related rewordings and reformatting since we are at it.
Stefano Lattarini 0402db98 2012-02-18T09:26:30 cosmetics: remove extra trailing whitespace in configure.ac
Stefano Lattarini a98e58ff 2012-02-17T15:20:03 tests: fix many spurious failures in VPATH builds The 'is' helper script, used by some test cases since commit 'v1.11-1830-g96401cb' of 08-02-2012, "tests: better way to compare lists in Makefile rules", is not available in VPATH builds, since it resides in $(srcdir), nor in $(builddir), and only $(builddir) is added to $PATH in the test script. This was causing spurious failures. Solve this issue by re-organizing a bit the layout and placing of wrapper and help scripts used by the testsuite. This reorganization is by no mean complete, but should be enough to solve the VPATH issues. * tests/is: Moved ... * tests/ax/is: ... here * tests/automake.in: Moved ... * tests/wrap/automake.in: ... here. * tests/aclocal.in: Moved ... * tests/wrap/aclocal.in: ... here. * tests/defs-static.in ($am_bindir, $PATH): Adjust. * configure.ac (AC_CONFIG_FILES): Likewise. * tests/Makefile.am (EXTRA_DIST, check_SCRIPTS): Likewise. * tests/get-sysconf.test: Likewise. * .gitignore: Likewise.
Stefano Lattarini 3b369e6b 2012-02-16T22:29:32 maint: use AC_PACKAGE_BUGREPORT to avoid duplication * configure.ac: In the message reporting whether the user is about to build an alpha or beta version, use the autoconf-provided AC_PACKAGE_BUGREPORT macro instead of duplicating the bur reporting address.
Stefano Lattarini 641a5a4b 2012-02-16T10:46:23 maint: run "make update-copyright"
Stefano Lattarini b42514b4 2012-02-14T10:11:02 tests: truly use Lex and Yacc selected by configure When 'yacc-work' was merged into 'yl-work-for-master' in commit v1.11-1910-ge6c40d4 (12-02-2012), the values for $YACC and $LEX stopped being substituted directly by config.status, and started being substituted by a Makefile rule using the contents of the $(YACC) and $(LEX) makefile variables. Unfortunately, our configure.ac was calling AM_SUBST_NOTMAKE on 'YACC' and 'LEX' (see commit v1.11-284-g34ca92b of 29-01-2011, "tests: don't define YACC and LEX in the Makefiles", for a rationale), so that the $(YACC) and $(LEX) in the Makefile simply hold the default make-provided values (that is, "yacc" and "lex" respectively), independently of what yacc and lex programs were defined at configure time. Apart from reducing coverage and creating confusion, this behaviour also caused spurious failures on systems lacking a yacc and/or lex programs. Problem reported by Peter Rosin. References: <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00131.html> <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00132.html> * configure.ac (AM_SUBST_NOTMAKE): Don't call anymore on 'YACC' nor on 'LEX'.
Stefano Lattarini e6c40d4b 2012-02-12T15:06:17 Merge branch 'yacc-work' into yl-work-for-master * yacc-work: (37 commits) fixup: list of yacc/lex tests was botched tests: work around bug#7884 in many yacc/lex tests yacc/lex tests: remove an unneeded workaround for bug#8485 yacc/lex tests: avoid too much failures with FreeBSD make yacc-dist-nobuild.test: add reference to bug#7884 yacc tests: fix bug in 'yacc-cxx.test' lex tests: fix spurious link errors on Solaris lex: "make clean" removes .c files from non-distributed .l lex tests: make test on Lex dependency tracking more "semantic" lex tests: remove erroneous check about ylwrap distribution yacc tests: "make clean" removes C++ files from non-distributed .y tests: add a workaround for automake bug#8485 tests: add a couple of inter-tests reference lex tests: require just `lex' instead of `flex' fix typo in ChangeLog (2011-05-04) tests defs: use `skip_' for skipping yacc/lex related tests lex/yacc tests: remove redundant $distdir definition coverage: test lex-generated "#line" directives postprocessing tests: minor improvements to a couple of yacc tests tests: fix spurious failure in test 'yacc-d-cxx.test' ... + Extra non-trivial edits: * tests/defs.in: Delete; the differences from maint has been merged into 'tests/defs' and 'tests/defs-static.in'. * tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to skip the whole test case if yacc (resp. lex) is missing. (bison): New, set up the environment so that 'bison -y' will be used as the yacc program. (useless_vpath_rebuild, yl_distcheck): Moved in from 'tests/defs.in'. * tests/defs-static.in ($YACC, $LEX): Default to the values determined at configure time, and allow them to be overridden by the more namespace-safe variables '$AM_TESTSUITE_YACC' and '$AM_TESTSUITE_LEX' respectively. * tests/Makefile.am (do_subst): Also substitute '@YACC@' and '@LEX@'. * Several tests: Fix requirements declarations, by preferring 'lex' and 'yacc' over 'flex' and 'bison' whenever possible.
Stefano Lattarini df6841b7 2012-02-06T23:17:32 Merge branch 'maint' into yacc-work * maint: (75 commits) test defs: function 'is_newest' now works also with directories refactor: new variable telling whether make is running in "dry mode" ...
Stefano Lattarini e508e09d 2012-01-28T10:05:18 build: require GNU make in order to run the maintainer checks This is not a real regression in portability, since most maintainer check rules already assumed GNU grep, and were anyway only meant to run on the developers' systems (where we can safely assume the presence of GNU make). This change will allow us to take advantage, in future changes, of more GNU make features, thus simplifying or optimizing some of our maintainer rules. * GNUmakefile: New, including 'Makefile' and 'syntax-checks.mk'. * configure.ac (AC_CONFIG_LINKS): Link it in the builddir. * Makefile.am (EXTRA_DIST): Distribute 'GNUmakefile' and 'syntax-checks.mk'. Move all syntax-check rules and auxiliary variables into ... * syntax-checks.mk: ... this new file, with some adjustments.