summaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAgeFilesLines
* test-driver.scm: Add "--coverage" optionMathieu Lirzin2018-03-251-9/+28
| | | | | | | * contrib/test-driver.scm: When 'coverage' option is enabled, run tests in the debug vm and trace coverage data. (%options): Add 'coverage'. (show-help): Display option.
* test-driver.scm: Don't guess script name from "--test-name"Mathieu Lirzin2018-03-241-16/+22
| | | | | | | | | 'primitive-load' is used instead of 'load-from-path' since the script is given as a relative file name. For unknown reason, using 'load' fails with GNU Mcron test suite when running 'make distcheck'. * contrib/test-driver.scm: Get the actual script name directly from the command line. Handle the case where that argument is missing.
* test-driver.scm: Inline 'main' procedureMathieu Lirzin2018-03-241-24/+23
| | | | | | | Having a main procedure involves passing the '-e main' command-line argument to 'guile' which makes the test driver a bit less easy to use. * contrib/test-driver.scm (main): Delete. Move body to the top-level.
* maint: Use 'before-save-hook' in "contrib/test-driver.scm"Mathieu Lirzin2018-03-111-3/+3
| | | | | | | | | | This a follow-up to commit 6bab5b26a1241b0e0edd058d2a921989f9a1747c. Use 'before-save-hook' instead of 'write-file-functions' to match what is done in other scripts. * contrib/test-driver.scm: Update hook usage and use 'UTC0' timezone instead of 'UTC'.
* maint: write-file-hooks -> before-save-hookPaul Eggert2018-03-061-1/+1
| | | | | | | | | | | write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and it's time to use the recommended replacement. Problem reported by Glenn Morris in: https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html * contrib/tap-driver.pl, lib/compile, lib/depcomp, lib/install-sh: * lib/mdate-sh, lib/missing, lib/mkinstalldirs, lib/py-compile: * lib/tap-driver.sh, lib/test-driver, lib/ylwrap: Update hook usage for files where Automake is the canonical source.
* contrib: Add Guile custom test driver using SRFI-64 test harnessMathieu Lirzin2018-01-181-0/+208
| | | | | | | This sets a home for a script already used by GNU Guix and GNU Mcron. * contrib/test-driver.scm: New test driver script. * NEWS: Update.
* maint: Update copyright years to 2018Mathieu Lirzin2018-01-0411-11/+11
| | | | This update has been made with 'make update-copyright'.
* maint: Make Emacs use 'makefile-automake-mode'Mathieu Lirzin2017-09-231-2/+1
| | | | | | | | | | | * bin/local.mk: Specify mode name in the first line. * contrib/t/local.mk: Likewise. * doc/local.mk: Likewise. * lib/Automake/local.mk: Likewise. * lib/am/local.mk: Likewise. * lib/local.mk: Likewise. * m4/local.mk: Likewise. * t/local.mk: Likewise.
* Prefer https: URLsPaul Eggert2017-09-198-8/+8
| | | | | | | | | | | | | | | | | | | | | In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
* build: Rename "Makefile.inc" Makefile fragments to "local.mk"Mathieu Lirzin2017-08-311-0/+0
| | | | | | | | | | | | | | | | | | | | | | This is done to follow a convention used by a lot of GNU packages. * bin/Makefile.inc: Rename to ... * bin/local.mk: ... this. * doc/Makefile.inc: Rename to ... * doc/local.mk: ... this. * lib/Automake/Makefile.inc: Rename to ... * lib/Automake/local.mk: ... this. * lib/am/Makefile.inc: Rename to ... * lib/am/local.mk: ... this. * lib/Makefile.inc: Rename to ... * lib/local.mk: ... this. * m4/Makefile.inc: Rename to ... * m4/local.mk: ... this. * contrib/t/Makefile.inc: Rename to ... * contrib/t/local.mk: ... this. * t/Makefile.inc: Rename to ... * t/local.mk: ... this. Adapt. * Makefile.am: Adapt.
* maint: Update copyright years to 2017.Mathieu Lirzin2017-03-0211-11/+11
| | | | This update has been made with 'make update-copyright'.
* maint: port time-stamp-time-zone to strict POSIXPaul Eggert2016-01-121-1/+1
| | | | | Set time-stamp-time-zone to "UTC0", not to "UTC", as POSIX defines TZ="UTC0" not TZ="UTC".
* maint: update copyright years to 2015 (branch 'micro')Stefano Lattarini2015-01-0511-11/+11
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: update copyright yearsStefano Lattarini2014-04-2111-11/+11
| | | | | | We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* TAP driver: remove perl implementation (move it into contrib/)Stefano Lattarini2013-12-241-0/+563
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That implementation was only meant as a standard against which the portable awk+shell implementation was to be measured. Now, since Automake 1.12, the latter implementation is fully functional and already used in the wild, and in fact feature-par with the perl implementation. So the perl implementation is now just slowing down and complicating our testsuite. Let's move it to 'contrib/' (we don't want to remove it, in case someone is actually using it in the wild). * lib/tap-driver.pl: Move it ... * contrib/tap-driver.pl: ... here. While at it, convert quoting `like this' to quoting 'like this', and remove an obsolescent FIXME comment. * lib/Makefile.inc (dist_script_DATA): Drop '%D%/tap-driver.pl'. * Makefile.am (EXTRA_DIST): Add 'contrib/tap-driver.pl'. * doc/automake.texi: Remove one stray reference to 'tap-driver.pl', and reference 'tap-driver.sh' instead, as intended. * t/ax/am-test-lib.sh ($am_tap_implementation): Delete definition and uses. (fetch_tap_driver): Simplify to unconditionally assume the shell+awk implementation of the TAP driver is used. (get_shell_script): Make more flexible so that it can cater to the needs of 'fetch_tap_driver()'. * t/tap-bad-prog.tap: Likewise. * t/tap-bailout-leading-space.sh: Likewise. * t/tap-signal.tap: Likewise. * t/tap-test-number-0.sh: Likewise. * t/test-driver-cond.sh: Use 'tap-driver.sh' instead of 'tap-driver.pl'. * gen-testsuite-part (%test_generators): Do not generate sister tests that use the perl TAP driver rather than the shell+awk one. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into maintStefano Lattarini2013-05-221-4/+4
|\ | | | | | | | | | | | | | | | | | | | | * micro: tests: run_make: options to do command redirection tests: only activate 'unset' alias if required tests: better idiom to override make macro defs on the cmdline test-lib: minor style changes test-lib: fix botched function name in an error message Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: better idiom to override make macro defs on the cmdlineStefano Lattarini2013-05-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now do so with a new wrapper shell function 'run_make()', which relies on the use of AM_MAKEFLAGS, avoiding the use of the '-e' make option. The use of that option (that causes the environment variables to take precedence over the macro definitions in the Makefile) has proved to be quite brittle in the past, causing annoying and sometimes problematic spurious failures. This has worsened in some still unpublished work going on in development branches. It's time to solve the issue once and for all. Note that we do not convert all uses of $MAKE in the testsuite right away; we might do so in follow-up changes, with leisure, to avoid a "patch bomb" effect (this commit is already too much of a bomb itself). What we do in this commit is to get rid of all "$MAKE -e" invocations. We admit that the implementation and feature-set of 'run_make()' are far from perfect, but good enough for our current purposes. We'll improve 'run_make()' if and when the need arises. * syntax-checks.mk (sc_tests_no_make_e): New syntax check, guard against the use of "$MAKE -e". (syntax_check_rules): Add it. (sc_tests_overriding_macros_on_cmdline): Adjust. (lint): New, alias for 'maintainer-check', for lazy typists. Idea backported from the 'maint' branch (Automake 1.13a). * t/ax/am-test-lib.sh (run_make): New function. Run $MAKE with the given command-line arguments, handling command-line override of variable definitions in a smart way (using AM_MAKEFLAGS if a non-GNU make implementation is detected to be in use). (useless_vpath_rebuild): Adjust to use 'run_make', to avoid a spurious maintainer check failure. (yl_distcheck): Use 'run_make' rather than bare '$MAKE'. (single_quote, append_single_quoted, is_valid_varname): New auxiliary function, used, directly or indirectly, by it. * Many tests: Adjust to avoid the use of "$MAKE -e", and prefer the use of 'run_make' in few other contexts as well, where it makes sense. Other minor fixlets while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | build: break up monolithic Makefile.am in subdir-specific fragmentsStefano Lattarini2013-05-092-25/+26
|/ | | | | | | | | | | | | | | | | | | | This is convenient to do, now that we have improved "relative directory" support with the '%reladir%' (a.k.a. '%D%') and '%canon_reladir%' (a.k.a. '%C%') Automake-time substitutions for included makefile fragments. This move also satisfy our philosophy of using new Automake features in our own build system, as a way of facilitating early discovery of possible bugs or interface warts. * Makefile.am: Break up ... * doc/Makefile.inc, lib/Automake/Makefile.inc, lib/Makefile.inc, lib/am/Makefile.inc, m4/Makefile.inc, t/Makefile.inc): ... in this new included fragments. Adjust as needed, and make deliberate use of the '%D%' substitution. * contrib/t/local.am: Rename ... * contrib/t/Makefile.inc: ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: update copyright year for 2013 (in branch maint)Stefano Lattarini2012-12-3110-10/+10
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: prefer including 'test-init.sh' rather than './defs'Stefano Lattarini2012-10-274-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up to today's commit v1.12.4-22-g0610fc8, "tests: prepare to move ./defs to t/ax/test-init.sh" * All tests: To run the common setup, use the command: . test-init.sh instead of the older, "historical" one: . ./defs || exit 1 Note that the "|| exit 1" wasn't really useful, since the 'errexit' shell flag is in effect in both './defs' and 'test-init.sh', and all the known shells that are good enough to run the automake testsuite do automatically exit with error when a sourced file cannot be found (at least, they do so in non-interactive mode, which is the only mode that concerns us in the testsuite). * t/ax/tap-summary-aux.sh, t/ax/testsuite-summary-checks.sh: Likewise. * gen-testsuite-part: Do the same in the generated tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* contrib: check-html: pass flags to rst2html invocationsStefano Lattarini2012-07-021-1/+2
| | | | | | | | | Related to automake bug#11287. * contrib/t/check-html.am (.log.html): Here, passing $(AM_RST2HTMLFLAGS) and $(RST2HTMLFLAGS) (in that order). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* contrib: simple improvements to check-htmlStefano Lattarini2012-07-021-11/+9
| | | | | | | | | | | | | Related to automake bug#11287. * contrib/t/check-html.am (.log.html): Do not look for $RST2HTML in the environment, looking for $(RST2HTML) should be enough (also, the pre-existing code was broken, because it single-quoted $RST2HTML). Fix the loop-and-search implementation to be more similar to the one in 'contrib/t/parallel-tests-html.sh'. Prefer 'mv -f' over bare 'mv'. Do not break the recipe in Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* coverage: check-html can be used recursivelyStefano Lattarini2012-07-022-0/+164
| | | | | | | | | Addresses the main part of Automake bug#11287. * contrib/t/parallel-tests-html-recursive.sh: New test. * contrib/t/local.am: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: tests for stuff in contrib goes in 'contrib/t'Stefano Lattarini2012-07-024-0/+360
| | | | | | | | | | | | | | | | | | | * 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>
* maint: remove most recursion in automake's own build systemStefano Lattarini2012-04-051-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* cosmetics: few typofixesStefano Lattarini2012-02-211-1/+1
|
* maint: run "make update-copyright"Stefano Lattarini2012-02-165-10/+5
|
* cosmetics: few whitespace fixletsStefano Lattarini2012-02-061-2/+1
|
* multilib: move to contribStefano Lattarini2012-01-245-0/+1015
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows up on commit v1.11-665-gc5df21e of 2012-01-17, "multilib: deprecate, will be moved to contrib". See also: <http://lists.gnu.org/archive/html/automake-patches/2012-01/msg00109.html> * NEWS: Update. * automake.in ($seen_multilib): Remove. (scan_autoconf_traces): Don't trace 'AM_ENABLE_MULTILIB', and don't handle it anymore. (handle_multilib): Remove. (generate_makefile): Don't call it anymore. * doc/automake.texi: Remove documentation about multilib support, related macros, and helper files. * m4/multi.m4: Delete. * m4/Makefile.am (dist_automake_ac_DATA): Remove it. * lib/am/multilib.am: Delete. * lib/am/Makefile.am (dist_am_DATA): Remove it. * contrib/multilib/multilib.am: New file, adapted from extracts of a Makefile.in generated with automake multilib support. We did this instead of moving and editing 'lib/am/multilib.am' because it allows us to license this file with a liberal license that will permit users to copy-and-paste it in non-GPLed Makefile.am files too). * lib/symlink-tree, lib/config-ml.in: Move ... * contrib/multilib: ... in here. * lib/Makefile.am (dist_script_DATA, dist_pkgvdata_DATA): Update. * contrib/multilib/README: New file. * contrib/Makefile.am (EXTRA_DIST): Add the files created or moved in 'contrib/multlib'. * tests/multilib.test: Update and enhance a little. * tests/help-multilib.test: Likewise.
* Merge branch 'maint'Stefano Lattarini2012-01-212-0/+66
|\ | | | | | | | | | | | | | | * maint: fixup: distribute 'contrib/multilib/multi.m4' multilib: deprecate, will be moved to contrib fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS cosmetics: fix a botched comment in a maintainer check
| * fixup: distribute 'contrib/multilib/multi.m4'Stefano Lattarini2012-01-211-1/+3
| | | | | | | | | | | | | | This fix up a blunder in commit v1.11-665-gc5df21e of 2012-01-17, "multilib: deprecate, will be moved to contrib". * contrib/Makefile.am (EXTRA_DIST): Add 'multilib/multi.m4'.
| * multilib: deprecate, will be moved to contribStefano Lattarini2012-01-211-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of 2012-01-17, according to Google codesarch, almost no active package is using the 'multilib' feature offered by automake. The only major exception seems to be GCC... But on a closer look, it become clear that GCC basically carries its own version of multilib support. In fact, Automake syncs its 'config-ml.in' and 'symlink-tree' scripts from GCC; and the GCC repository contains a version of the 'multi.m4' file that is *more* updated than the one in the automake repository (the former having being modified the last time in 2008, the latter only in 2006). The 'multilib' feature was anyway hardly documented at all, only being briefly cited in the manual as an "obscure feature", "still experimental", that was only for users "familiar with multilibs" and which "can debug problems they might encounter". We expect such users to be motivated and knowledgeable enough to make the minor adjustments required to start using the contrib version of multilib, if they really need to. * NEWS (Future backward incompatibility): Update. * doc/automake.texi: Deprecate multilib support. State that it will be removed from automake core in the next major release. * m4/multi.m4 (AM_ENABLE_MULTILIB): Deprecate. If called, now gives a proper warning in the 'obsolete' category (while still retaining its former behaviour for the rest). * tests/multilib.test: Update. * contrib/multilib/multi.m4: New, verbatim copy of the earlier version of multi.m4, without the new deprecation warning. * Makefile.am (fetch): Don't sync the 'config-ml.in' file nor the 'symlink-tree' script from GCC SVN repository anymore. (FETCHFILES): Adjust. (WGET_GCC): Remove, it's not needed anymore.
* | check: move ".log -> .html" conversion in contribStefano Lattarini2012-01-172-1/+62
|/ | | | | | | | | | | | | | | | | | | | | | | | | That feature has been deprecated in the 1.11.x series, and marked for removal from the automake core in the 1.12 release. Here we implement such removal. Reference: <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> See also commit 'v1.11-650-g20f2ac9'. * doc/automake.texi, NEWS: Update. * lib/am/check.am: Don't include 'check-html.am' anymore. * lib/am/check-html.am: Move ... * contrib/check-html.am: ... to this, and adjust comments. * lib/am/Makefile.am (dist_am_DATA): Update. * contrib/Makefile.am (EXTRA_DIST): Likewise. * tests/parallel-tests2.test: Adjust. * tests/parallel-tests-dryrun.test: Remove checks on the ".log -> .html" conversion. * tests/test-driver-custom-html.test: Remove as obsolete. * tests/test-driver-custom-no-html.test: Likewise. * tests/tap-html.test: Likewise. * tests/list-of-tests.mk: Don't list removed tests anymore.
* contrib: new, a directory for non-mainstream functionalitiesStefano Lattarini2012-01-172-0/+47
This new 'contrib' hierarchy will be a good place were to move implementation/support for obsolescent features we are not yet ready to remove completely, or were to leave experimental or third-party features to cook before their eventual inclusion in the automake core. * contrib: New directory. * contrib/README: New file. * contrib/Makefile.am: New file. (EXTRA_DIST): Distribute README.