summaryrefslogtreecommitdiff
path: root/.gitignore
Commit message (Collapse)AuthorAgeFilesLines
* gitignore: drop redundant config.h.in~ ruleMike Frysinger2022-01-181-1/+0
| | | | | | Since we're ignoring all *~ files, we don't need this explicit one. * .gitignore: Delete config.h.in~ rule.
* maint: update .gitignore.Mike Frysinger2021-12-121-0/+4
| | | | | | | * .gitignore: ignore *~ .# and (from Zack Weinberg, autosave files) .*.sw[op] \#*#, closer to matching Autoconf. https://lists.gnu.org/archive/html/automake-patches/2021-12/msg00005.html https://lists.gnu.org/archive/html/automake-patches/2021-12/msg00010.html
* maint: update .gitignorePaul Eggert2017-09-231-37/+38
| | | | * .gitignore: Add pre-inst-env, and sort.
* build: Move wrapped scripts in "bin" directoryMathieu Lirzin2017-08-291-2/+2
| | | | | | | | | | | | | | | | | | Those scripts are used both in the build process and for the tests, so it seems clearer to not hide them in "t/wrap" directory. * t/wrap/aclocal.in: Rename to ... * bin/wrap-aclocal.in: ... this. * t/wrap/automake.in: Rename to ... * bin/wrap-automake.in: ... this. * configure.ac: Generate "bin/aclocal-${APIVERSION}" and "bin/automake-${APIVERSION}" at configure time. * t/Makefile.inc (nodist_noinst_SCRIPTS): Move wrapped scripts ... * bin/Makefile.inc (nodist_noinst_SCRIPTS): ... here. * Makefile.am (extend_PATH): Use "bin" directory. * t/ax/test-defs.in (am_bindir): Likewise. * t/get-sysconf.sh: Likewise. * .gitignore: Update.
* Merge branch 'micro' into maintStefano Lattarini2013-05-281-0/+2
|\ | | | | | | | | | | | | | | | | * micro: docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake maint: sanity checks in 'check-minimal-autoconf' convenience target maint: test minimal supported autoconf through convenience target maint: install minimal supported autoconf through convenience targets test-lib: typofix in comments
| * maint: install minimal supported autoconf through convenience targetsStefano Lattarini2013-05-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | build: move automake and aclocal in 'bin' subdirStefano Lattarini2013-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * automake.in: Rename ... * bin/automake.in: ... like this. * aclocal.in: Rename ... * bin/aclocal.in: ... like this. * Makefile.am: Move parts that dealt with the building/distribution of aclocal and Automake .. * bin/Makefile.inc): ... in this new included fragment. Adjust as needed, and make deliberate use of the '%D%' substitution. * lib/gen-perl-protos: Move ... * bin/gen-perl-protos: ... here. * bootstrap.sh, configure.ac, maintainer/rename-tests, t/wrap/aclocal.in, t/wrap/automake.in, doc/Makefile.inc, t/ax/tap-setup.sh, .gitignore: Adjust. * maintainer/syntax-checks.mk: Likewise, and enhance a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | compile: use 'compile' script when "-c -o" is used with losing compilersStefano Lattarini2013-01-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do so seen when only source files in the "current" directory are present. This commit is part of a series of related changes addressing automake bug#13378 (see also the plan 'PLANS/subdir-objects.txt'). Before this change, Automake-generated C compilation rules mistakenly passed the "-c -o" options combination unconditionally (even to losing compiler) when the 'subdir-objects' was used but sources were only present in the top-level directory. Issue spotted by Nick Bowler: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44> We fix this by having Automake redefine AC_PROG_CC to take over the role of AM_PROG_CC_C_O and to require the 'compile' script unconditionally (albeit that will continue to be invoked only when inferior compilers are detected). Among other things, this means AM_PROG_CC_C_O explicitly is no longer required; that macro is still supported for backward-compatibility, but calling it is basically a no-op now. This change has some pros and some cons (obviously, we believe the former outweighs the latter). Here are the most relevant ones: + Pros 1: Some logic in the Automake script has been simplified. + Pros 2: That simplification has automatically fixed an actual bug (see Nick's mails referenced above; admittedly, that was present only in corner-case situations, but still); the test 't/ccnoco4.sh', which demonstrated the bug and has been failing so far, now passes. + Pros 3: Things works more "automagically" now (no need to manually add the AM_PROG_CC_C_O macro to configure.ac anymore). * Cons 1: The 'compile' script will be required in all projects using C compilation; this will only be a problem for packages not using '--add-missing'. However, such packages are definitely more rare than the ones using '--add-missing', and adjusting them will be trivial -- just copy the compile script over from the new Automake installation. * Cons 2: The copy & paste of autoconf internals hack this change has introduced in our "rewrite" of AC_PROG_CC is really an egregious abomination. It can only be justified with the fact that we expect future versions of autoconf to implement the semantics we need directly in AC_PROG_CC, so that we'll be able to leverage that (since Automake 1.14 will require the latest Autoconf version released). Now, the detailed list of file-by-file changes ... * automake.in ($seen_cc_c_o): Remove this global variable. (scan_autoconf_traces): Don't set it, and do not trace the 'AM_PROG_CC_C_O' m4 macro. (lang_c_rewrite): Remove, no longer needed. * doc/automake.texi: Adjust expected "autoreconf --install" output in the amhello example. Remove statements about the need for the AM_PROG_CC_C_O macro. Report it is obsolete now. * m4/init.m4: Re-write AC_PROG_CC to append checks about whether the C compiler supports "-c -o" together. These checks have basically been ripped out (with adaptations) from the 'AC_PROG_CC_C_O' macro of Autoconf and ... * m4/minuso.m4 (AM_PROG_CC_C_O): ... this macro of ours, which has thus basically become a no-op. * t/ax/am-test-lib.sh (am_setup_testdir): Also copy the 'compile' script in the test directory; if we don't do so, every test using AC_PROG_CC should call automake with the "--add-missing" option, or copy the 'compile' script itself. * t/cond11.sh: No need to create a dummy 'compile' script: that is already brought in by 'am_setup_testdir()', that is automatically invoked when 'test-lib.sh' is sourced. * t/add-missing.tap: Adjust: we expect the 'compile' script to be required by a mere AC_PROG_CC call now. * t/dist-auxdir-many-subdirs.sh: Likewise. * t/specflg6.sh: Likewise. * t/subobj4.sh: Likewise. * t/cxx-lt-demo.sh: Likewise, and update comments to match. * t/distcom2.sh: Enhance a little. * t/dollarvar2.sh: Adjust. * t/extra-portability.sh: Likewise. * t/libobj19.sh: Likewise. * t/per-target-flags.sh: Likewise. * t/repeated-options.sh: Likewise. * t/subobj.sh: Likewise, and enhance a little. * t/ccnoco2.sh: Remove as obsolete. * t/list-of-tests.mk (handwritten_TESTS): Adjust. (XFAIL_TESTS): Remove 't/ccnoco4.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | tests: can fake a compiler not grasping "-c -o" -- globally in all testsStefano Lattarini2013-01-111-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | The ability to easily do so will be quite important in upcoming changes about C compilation handling and semantics of the 'subdir-objects' option. Refer to the extensive discussion about automake bug#13378 for more details: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378>. See also commit 'v1.13.1-34-g744cd57' of 2013-01-08, "coverage: compile rules used "-c -o" also with losing compilers". * t/ax/cc-no-c-o.in: New, a "C compiler" that chokes when the '-c' and '-o' options are passed together to it on the command line. * Makefile.am (t/ax/cc-no-c-o): Generate this script from it. (noinst_SCRIPTS, CLEANFILES): Add it. (EXTRA_DIST): Add 't/ax/cc-no-c-o.in'. (check-cc-no-c-o): New target, runs the whole testsuite with 'cc-no-c-o' as the C compiler (bot GNU and non-GNU). * .gitignore: Update. * t/ccnoco.sh: Use the new script instead of duplicating it. * t/ccnoco3.sh: Likewise. * t/ccnoco4.sh: Likewise. * t/self-check-cc-no-c-o.sh: New testsuite self-check. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'maint'Stefano Lattarini2012-12-141-1/+1
|\ | | | | | | | | | | | | | | | | | | * maint: sync: update files from upstream with "make fetch" gitignore: align with recent changes fixup: add dummy rule for ChangeLog generation in Makefile.am maint: no longer use AM_MAKEFLAGS in maintainer rules maint: use more GNU make features in maintainer rules maint: move maintainer make rules in maint.mk
| * gitignore: align with recent changesStefano Lattarini2012-12-141-1/+1
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-12-091-0/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * maint: docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc maintcheck: prefer '$(am__cd)' over plain 'cd' fetch: improve, and reduce code duplication docs: add rule to generate manuals for www.gnu.org docs: copy the 'gendocs.sh' script from Texinfo CVS repository sync: update files from upstream with "make fetch" release: generate a stub for the release announcement release: distinguish major and minor releases tests: avoid two spurious failures on FreeBSD
| * docs: add rule to generate manuals for www.gnu.orgStefano Lattarini2012-12-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Less clerical work to do by hand. * Makefile.am (web-manuals): New rule. (clean_texinfo_clutter): New macro. * clean-web-manuals, clean-texinfo-clutter: New cleaning rules. (clean-local): Depend on them. * .gitignore: Update. * HACKING: Adjust instructions for generation of manuals. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * release: generate a stub for the release announcementStefano Lattarini2012-12-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's much better than having to write it my hand each time; after all, most of it is either boilerplate or a cope of NEWS entries. * Makefile.am (determine_release_type): Also set the shell variable '$announcement_type' appropriately. (print-release-type): Print the value of this new variable as well. (announcement): New phony target, generate a files with the same name. The recipe uses the shell variable '$announcement_type'. (CLEANFILES): Clean it. (PACKAGE_MAILINGLIST): New make macro, used when generating the 'announcement' file. * HACKING: Explain how to take advantage of the new convenience target. * .gitignore: Ignore the 'announcement' file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-10-311-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * tests: can check our recipes avoid trailing backslashesStefano Lattarini2012-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'maint'Stefano Lattarini2012-07-261-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * test defs: move in 't/ax/test-defs.sh'Stefano Lattarini2012-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can do so with minimal churn, now that the early setup of $PATH in both 'runtest' and AM_TESTS_ENVIRONMENT allow the '.' built-in to find to-be-sourced shell scripts in 't/ax' automatically, both in in-tree and VPATH builds. With this change, we take another step forward a more rational and "segregated" organization of our testsuite framework. * defs-static.in: Rename ... * t/ax/test-defs.in: ... like this, and adjust. * Makefile.am, syntax-checks.mk, t/README, gen-testsuite-part, t/tests-init.sh, t/ax/tap-setup.sh, t/tap-summary.sh, .gitignore, t/testsuite-summary-color.sh, t/testsuite-summary-count.sh, t/self-check-tap.sh, defs: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-07-071-1/+1
|\ \ | |/ | | | | | | * maint: tests: move 'runtest' into the top-level directory
| * tests: move 'runtest' into the top-level directoryStefano Lattarini2012-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move our wrapper script 'runtest' (meant to allow the execution of Automake test cases from the command line) from the 't/ax/' directory to the top-level one. This makes the script easier to find and to invoke. Much more importantly, our DejaGNU-checking test cases won't try anymore to use that script instead of the 'runtest' program provided by DejaGNU (that happened because '$(srcdir)/t/ax/' is automatically added early to the $PATH variable in our test cases), which was causing spurious SKIPs. * t/ax/runtest.in: Move ... * runtest.in: ... here. * Makefile.am, t/README, .gitignore: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-07-071-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: cosmetics: rename t/ax/test-runner => t/ax/runtest fixup: another "make recheck" failure with BSD make test runner: work correctly in VPATH setups compat: automake should define $(mkdir_p), for backward compatibility coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works tests init: don't automatically re-execute tests with a POSIX shell yacc tests: fix spurious failure with parallel make tests: ignore minor 'recheck' regression for BSD make tests: don't clutter the top-level dir with temporary test directories tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d" lisp: better support of VPATH builds news: fixlets and updates + Extra non-trivial edits: * NEWS: State that $(mkdir_p) is still provided as an alias to $(MKDIR_P), for (partial) backward-compatibility. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * cosmetics: rename t/ax/test-runner => t/ax/runtestStefano Lattarini2012-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The latter is shorter and clearer. Better to do the rename early, before other developers or contributors begin to get used to the 'test-runner' name. * t/ax/test-runner.in: Rename ... * t/ax/runtest.in: ... like this. * Makefile.am, t/README, .gitignore: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests init: don't automatically re-execute tests with a POSIX shellStefano Lattarini2012-07-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | tests: tests for stuff in contrib goes in 'contrib/t'Stefano Lattarini2012-07-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * t/help-multilib.sh: Move ... * contrib/t/help-multilib.sh: .. here. Remove a now-obsolete "FIXME" comment. * t/multlib.sh: Move ... * contrib/t/multilib.sh: .. here. Remove a now-obsolete "FIXME" comment. * t/parallel-test2.sh: Move ... * contrib/t/parallel-tests-html.sh: .. here. Remove a now-obsolete "FIXME" comment. * contrib/t/local.am: New, basically defining the list of tests for stuff in 'contrib/'. * t/list-of-tests.mk, Makefile.am: Adjust. * .gitignore: Update. * syntax-checks.mk (xtests): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | texi: require Texinfo >= 4.9, related enhancementsStefano Lattarini2012-06-201-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We start passing the '--build-dir' option to the texi2dvi and texi2pdf invocations done in our Texinfo-related rules. The argument for this option will be specific for each info_TEXINFOS entry, to work around a texi2dvi bug that could otherwise cause racy failures in parallel make builds: <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html> That bug seems already fixed in the development version of texi2dvi, though: <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00074.html> so the details of our '--build-dir' usage can be revisited once we can assume Texinfo 5.0 or later. Since the '--build-dir' options has been only supported since Texinfo 4.9, we lose compatibility with all older Texinfo versions. But we also get some real improvements. First, the '--build-dir' option implies the '--tidy' option; this, like the '--clean' option that we were formerly using, prevents cluttering of the build directory with all the TeX and Texinfo auxiliary files and build by-products, but, differently from '--clean', keeps them around for later re-runs to use; this shortens the rebuild times considerably. Second, the use of '--build-dir' also allows us to specify different build directories for the PDF and DVI output, preventing the rules building them from stomping on each other's feet when run in parallel. This is demonstrated by the test cases 'txinfo-no-clutter.sh' and 'txinfo33.sh', which before this change used to fail when run with MAKE="make -j4", but now succeed even in that case. * NEWS: Update. * lib/am/texibuilds.am: Do not try to avoid texi2dvi/texi2pdf option '-o'; it has been supported since Texinfo 4.1, and we now require Texinfo >= 4.9. Remove an obsolete comment. Modify calls to texi2dvi and texi2pdf to use the '--build-dir' option, so that TeX auxiliary files and build by-products for a 'foo.texi' input will be placed in a 'foo.t2d' directory (for texi2dvi) or in a 'foo.t2p' directory (for texi2pdf). * automake.in (scan_texinfo_file): Greatly simplify the implementation, since we don't need anymore to keep track of the TeX auxiliary files and build by-products to clean. Drop the '@CLEAN_FILES' part of the return value. (handle_texinfo_helper): Adjust the 'scan_texinfo_file()' call to its new signature. Append the "work directories" now created by texi2dvi and texi2pdf invocation to the list of files/directories removed upon "make mostlyclean". * lib/am/texinfos.am: Update the cleaning rules (and comments) accordingly. * t/txinfo-no-clutter.sh: Minimal adjustment to avoid spurious failures. * .gitignore: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* perf: beginning of a performance testsuiteStefano Lattarini2012-05-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests in the Automake testsuite already aims only at verifying the performance, rather than the correctness, of some operations. Still, they are somewhat shoehorned and forced into the PASS/FAIL framework (say, with the 'ulimit' shell builtin used to verify some operation doesn't take up too much time or memory), but that is conceptually a stretch, and has already caused problems in practice (see automake bug#11512 for an example). So we start moving the "performance tests" out of the testsuite proper, and make them run only "on demand" (when the user exports the variable 'AM_TESTSUITE_PERF' to "yes"). Ideally, we should provide those tests with a custom runner/driver that measures and displays the relevant performance information, but doing that correctly and with the right APIs is definitely more difficult, so we leave it for a later step (an hope we'll take such a step eventually). * t/cond29.sh: Move ... * t/perf/cond.sh: ... here, and adjust. * t/testsuite-recheck-speed.sh: Move ... * t/perf/testsuite-recheck.sh: ... here. * t/testsuite-summary-speed.sh: Move ... * t/perf/testsuite-summary.sh: ... here. * t/list-of-tests.mk (perf_TESTS): New variable, listing the tests in the 't/perf' directory. (handwritten_TESTS): Adjust. * defs: Skip any tests in the 't/perf/' subdirectory unless the 'AM_TESTSUITE_PERF' variable is set to "yes" or "y". * .gitignore: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: no more make recursion in Automake's build systemStefano Lattarini2012-04-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* tests: rename 'tests/' => 't/', '*.test' => '*.sh'Stefano Lattarini2012-04-061-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* maint: remove most recursion in automake's own build systemStefano Lattarini2012-04-051-23/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* maint: reorganize the source tree and make it less clutteredStefano Lattarini2012-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * TODO: Move ... * old/TODO: ... here. This is done because this file is quite outdated, and today TODO and wishlist items are better handled though the debbugs tracker. * ChangeLog.00: Move ... * old/ChangeLog.00: ... here. * ChangeLog.01: Move ... * old/ChangeLog.01: ... here. * ChangeLog.02: Move ... * old/ChangeLog.02: ... here. * ChangeLog.03: Move ... * old/ChangeLog.03: ... here. * ChangeLog.04: Move ... * old/ChangeLog.04: ... here. * ChangeLog.09: Move ... * old/ChangeLog.09: ... here. * ChangeLog.11: Move ... * old/ChangeLog.11: ... here. * ChangeLog.96: Move ... * old/ChangeLog.96: ... here. * ChangeLog.98: Move ... * old/ChangeLog.98: ... here. * tests/ChangeLog-old: Move ... * old/ChangeLog-tests: .. here. * tests/Makefile.am (EXTRA_DIST): Adjust. * Makefile.am (EXTRA_DIST): Likewise. * .autom4te.cfg: New file, instructing the autotools to place the autom4te cache directory in '.autom4te.cache' rather than in 'autom4te.cache'. * .gitignore: Adjust. * Makefile.am (maintainer-clean-local): Remove the '.autom4te.cache' directory. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: fix many spurious failures in VPATH buildsStefano Lattarini2012-02-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* docs: move chapter on automake history out of main manualStefano Lattarini2012-02-121-22/+22
| | | | | | | | | | | | | | | | | | | | | The chapter on Automake history, while certainly interesting and even fascinating, does not truly pertain to a reference manual, so move it out from there and into its own dedicated file. This change is made more advisable and pressing by the fact that such and "Automake history" chapter hasn't been updated since the 1.9.6 release, so it has been becoming less faithful and useful since then. * doc/history.texi: New, manual on the history of the automake package; extracted from ... * doc/automake.texi: ... this file, with related adjustments. * doc/Makefile.am (info_TEXINFOS): Add 'history.texi'. (history_TEXINFOS): New, list included file 'fdl.texi'. * Makefile.am (release-stats): Remove as obsolete. * HACKING (Release Procedure): Don't advise anymore to run the "release-stats" target and to update the manual with its output. * NEWS: Update. * .gitignore: Likewise.
* tests: improve and rework tests on dependency trackingStefano Lattarini2012-02-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes automake bug#10434. Suggestion by Peter Rosin. The 'depcomp.tap' test case worked by trying to unconditionally force the compiler in use by the testsuite to use, one by one, *all* the dependency modes known by the 'depcomp' script, and, for each such forced mode that was compatible enough with said compiler not to cause breakage in the basic compilation rules, checking that it was *also* good enough not to break remake rules in VPATH builds. This seemed a good approach when this test was first introduced, as it apparently increased coverage for the less used and less tested dependency-tracking modes. But in the log run it turned out the approach was actually in part too brittle, causing some annoying spurious failures (as with the Tru64 depmode forced on GCC, see automake bug#10434), and partly too forgiving, since, for some of the more corner-case dependency modes, the 'depcomp' script simply reverts to silently disabling dependency tracking when an error is encountered (this happened e.g., with the Tru64 depmode forced on the Sun C compiler 5.9), so that a passing test means nothing, and only gives a false sense of security. As Peter Rosin put it, "it's just dead wrong to assume that feeding -M or -xM to the compiler (or whatever other random stuff 'depcomp' might do) and not get an error is the same as dependencies magically appearing". So we get rid of this wrong approach, and in the process proceed to a complete overhaul of many of the tests on automatic dependency tracking, extending the offered coverage and rationalizing their organization. * tests/depcomp.sh: New helper script, used by several new autogenerated tests. * tests/gen-testsuite-part: Generate several tests based on the new 'depcomp.sh' script. Emit makefile code that declares their dependency on that script, and that extends EXTRA_DIST in order to distribute it. * tests/depmod.tap: Remove. * tests/depend2.test: Remove, it has been subsumed by the new autogenerated test 'depcomp-disabled.tap'. * tests/depcomp3.test: Remove, it has been subsumed by the new autogenerated test 'depmod-dashmstdout.tap'. * tests/depcomp3.test: Remove, it has been subsumed by the new autogenerated test 'depmod-lt-makedepend.tap'. * tests/depcomp6.test: Remove, it has been subsumed by the new autogenerated test 'depmod-auto.tap'. * tests/depcomp7.test: Remove, it has been subsumed by the new autogenerated test 'depmod-lt-auto.tap'. * tests/depcomp5.test: Remove as obsolescent. * test/list-of-tests.mk: Adjust. * .gitignore: List the new autogenerated tests.
* Merge branch 'maint'Stefano Lattarini2012-01-181-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | * maint: cosmetics: move CheckListOfTests.am into tests/ tests: move all under the same hierarchy ('tests/' directory) gitlog-to-changelog: update from upstream changelog: don't cluster multiple entries under the same "date line" + Extra non-trivial edits: * tests/Makefile.am (XFAIL_TESTS): Update with the xfailing tests that were in 'lib/Automake/tests'. Add proper "FIXME" comment.
| * tests: move all under the same hierarchy ('tests/' directory)Stefano Lattarini2012-01-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies the organization of the Automake source tree and reduces the (lamentably high) number of Makefiles in the Automake build system by one. It also makes the maintainer check that verifies the consistency of list of tests more self-contained and simpler. Finally, it might be a first step forward the transition to a non-recursive build system for automake (if we ever decide to go down that road fully some day). * lib/Automake/tests: All the '*.pl' tests in here moved ... * tests/pm: ... into this new directory. * lib/Automake/tests/Makefile.am: Remove, its meaningful contents moved ... * tests/Makefile.am: ... here, with obvious adjustments. (test_subdirs): New variable, for the sake of the recipe of 'maintainer-check-list-of-tests'. * CheckListOfTests (maintainer-check-list-of-tests): Enhance its recipe to make it able to deal with test script residing in subdirectories. * Makefile.am (maintainer-check-list-of-tests): Simplified. (TEST_SUBDIRS): Remove, no more needed. * tests/list-of-tests.mk (perl_TESTS): New variable, lists the '.pl' tests just moved into 'tests/pm'. (handwritten_TESTS): Add the contents of '$(perl_TESTS)'. * lib/Automake/Makefile.am (SUBDIRS): Remove. * configure.ac (AC_CONFIG_FILES): Update. * .gitignore: Adjust.
* | Merge branch 'maint'Stefano Lattarini2011-12-281-0/+1
|\ \ | |/ | | | | | | * maint: maint: autogenerate ChangeLog
| * maint: autogenerate ChangeLogStefano Lattarini2011-12-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the practice set by various other GNU projects, we start to automatically generate the ChangeLog file from the git commit messages. This will avoid duplication (as the ChangeLog entries were always inserted both in the git commit message and in the version-controlled ChangeLog file), and potential problems with spurious merge conflicts (which, although greatly mitigated by Bruno Haible's `git-merge-changelog' helper program, have never been completely solved). * ChangeLog: Moved ... * ChangeLog.11:... to this. * Makefile.am (EXTRA_DIST): Add it. (gitlog_to_changelog_command, gitlog_to_changelog_options): New variables. (ChangeLog, am--changelog-regen-hook): New targets. * .gitignore: Add ChangeLog.
* | Merge branch 'master' into testsuite-workStefano Lattarini2011-12-241-5/+52
|\ \ | | | | | | | | | | | | | | | | | | * master: gitignore: use only one .gitignore file, in the top-level directory tests: one more fixlet for gettext macros requirement tests: fix handling of gettext macros requirement
| * \ Merge branch 'maint'Stefano Lattarini2011-12-241-5/+55
| |\ \ |/ / / | | _ | | | | | | | | | | * maint: gitignore: use only one .gitignore file, in the top-level directory tests: one more fixlet for gettext macros requirement tests: fix handling of gettext macros requirement tests: fix failure due to debugging code forgotten into a test
| * gitignore: use only one .gitignore file, in the top-level directoryStefano Lattarini2011-12-241-10/+56
| | | | | | | | | | | | | | | | * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore, lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their contents merged into ... * .gitignore: ... this top-level file. Since we are at it, improve it by anchoring files where it makes sense.
* | Merge branch 'maint' into master.Stefano Lattarini2011-12-221-0/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * m4/regex.m4: Bump serial number by some notches, for good measure. Prefer the deprecation message from maint over that from master. * m4/python.m4: Bump serial number. * tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'. (canon7.log): Likewise. (extradep2.log): Likewise. (ar-lib4.log): Likewise. (ar-lib6a.log): Likewise. (ar-lib6b.log): Likewise. (vartypo2): Likewise. (posixsubst-ltlibraries.log): Likewise. * tests/defs: Adjust the path of the included `get.sh' scripts generated by `libtool-macros.test' and `gettext-macros.test'. * aclocal.m4: Delete, it's auto-generated now. * configure: Likewise. * Makefile.in: Likewise. * doc/Makefile.in: Likewise. * m4/Makefile.in: Likewise. * tests/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lib/am/Makefile.in: Likewise. * lib/Automake/Makefile.in: Likewise. * lib/Automake/tests/Makefile.in: Likewise. * .gitignore: Correctly ignored the autogenerated files that are not committed anymore.
| * repo: don't commit generated files in the git repository anymoreStefano Lattarini2011-12-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been quite some time since autoconf and libtool have stopped committing the generated autotools files in their git repositories, with no significant ill effects we're aware of. It's true that the autoconf bootstrap process has now the minor annoyance that a pre-installed autoconf is required to complete it; but luckily automake will not have a similar annoyance, since our bootstrap script take care, through some hoops, to use the very automake and aclocal versions from the current git checkout to generate the required aclocal.m4 and Makefile.in files. In fact, this has been a necessity also in the past, because automake has been known to use in its own build system new development features that hadn't been present in any previously released automake distribution. * aclocal.m4: Delete. * configure: Likewise. * Makefile.in: Likewise. * doc/Makefile.in: Likewise. * lib/Automake/Makefile.in: Likewise. * lib/Automake/tests/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lib/am/Makefile.in: Likewise. * m4/Makefile.in: Likewise. * tests/Makefile.in: Likewise. * .gitignore: Ignore configure, aclocal.m4, and all the Makefile.in files. * configure.ac (AC_PREREQ): New macro call, to require the latest autoconf (2.68 for the moment).
* | gitignore: more use of anchorsStefano Lattarini2011-08-091-8/+8
| | | | | | | | | | | | | | | | | | | | * .gitignore: Anchor files that are intended to be ignored only if found in the same directory of the `.gitignore' file, not also in its subdirectories. * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore, lib/Automake/tests/.gitignore, tests/.gitignore: Likewise. Also, where needed, add new entries that were once implied by the non-anchored entries in the upper-level `.gitignore' files.
* | Fixups and tests for cscope functionality.Ralf Wildenhues2009-09-261-0/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems cscope is not able to take into account relative file names of included cscope.files files, but it is able to canonicalize file names containing '../' sequences. This patch makes the cscope references relative again, and fixes some corner cases. * .gitignore: Ignore files generated by `make cscope'. * NEWS: Reword a bit. * THANKS: Update. * automake.in (handle_tags): Use $(am__cd). Provide default empty rule for the `cscope' target, for empty sources. * lib/am/tags.am (cscopelist): Construct relative path to files in $(srcdir) if $(srcdir) is relative. [TOPDIR_P] (cscope): Do not depend on cscope-clean. Only invoke $(CSCOPE) if cscope.files is nonemtpy. (clean-cscope): Rename from ... (cscopeclean): ... this. (cscope.files): Depend on clean-cscope. (distclean-tags) [!TOPDIR_P]: No need to remove cscope files here. * tests/cscope.test, tests/cscope2.test, tests/cscope3.test: New tests. * tests/Makefile.am: Adjust. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* git metadata update.Ralf Wildenhues2008-06-161-0/+2
| | | | | * .gitattributes: Use merge-changelog driver for ChangeLog. * .gitignore: Ignore configure.lineno, config.status.lineno.
* .gitignore, doc/.gitignore, lib/Automake/.gitignoreRalf Wildenhues2007-10-121-0/+9
tests/.gitignore: New files.