Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 06dfdbe3 | 2012-06-10 13:38:58 | subdir-objects: improve "make mostlyclean" efficiency and flexibility Fixes automake bug#10697. Before this change, the generated Makefile issued one 'rm' invocation for each subdir object file. Not only was this very inefficient when there were several such files, but it also caused stale object files to be left behind when a source file was renamed or removed. * automake.in (handle_single_transform): When a subdir object is seen, update '%compile_clean_files' to clean all the compiled objects in its same subdirectory, and all the libtool compiled objects ('.lo') there as well is that subdir object is a libtool one. * t/subobj-clean-pr10697.sh: New test. * t/subobj-clean-lt-pr10697.sh: Likewise. * t/list-of-tests.mk: Add them. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 27136dfe | 2012-03-31 16:39:32 | init: warn against obsolete usage of AM_INIT_AUTOMAKE Support for the two- and three-arguments invocation forms of the AM_INIT_AUTOMAKE macro, as in: AM_INIT_AUTOMAKE($PACKAGE, $VERSION) or: AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE) will be removed in the next major Automake release (1.13). Such usages have already been deprecated in the documentation starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs, news: document planned removal of obsolete macros and features". We now start giving runtime warnings as well (in the 'obsolete' category). * NEWS: Update. * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments form invocation. * automake.in (scan_autoconf_traces): Likewise. * doc/automake.texi: Minor adjustments. Add an @anchor to the location where it's described how to modernize outdated invocation of AM_INIT_AUTOMAKE, so that it can be referenced from automake warning/error messages. * t/aminit-moreargs-deprecation.sh: New test. * tests/list-of-tests.mk: Add it. * tests/ac-output-old.tap: Adjust by calling automake with the warnings in the 'obsolete' category disabled. * t/backcompat.test: Likewise. * t/backcompat3.test: Likewise. * t/backcompat5.test: Likewise. * t/backcompat6.test: Likewise. * t/version.test: Likewise. * t/version2.test: Likewise. * t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE invocations, and use proper m4 quoting. * t/pr87.test: Likewise. * t/confsub.test: Likewise. * t/install2.test: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 75b91149 | 2012-05-04 13:24:23 | Merge branch 'objc++' into maint * objc++: objc, objc++: test support for compilation flags objc, objc++: add stress test objc, objc++: test automatic dependency tracking objc: reorganize basic tests objc++, objc: add first semantic tests objc++: add first basic test news: announce initial support for Objective C++ objc++: test support for '.mm' suffix in _SOURCES entries objc++: add documentation objc++: initial support for Objective C++ Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e7745eaa | 2012-05-02 09:59:46 | Merge branch 'cygnus-deprecate' into maint * cygnus-deprecate: cygnus: warn when it's used (flagged as 'obsolete' now) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 71cc0e09 | 2012-03-31 14:53:24 | cygnus: warn when it's used (flagged as 'obsolete' now) Support for "Cygnus-style" tree as enabled by the 'cygnus' option is now reported as obsolete when the warnings in the 'obsolete' category are enabled. See automake bug#11034. * automake.in (check_cygnus): Report the use of 'cygnus' mode as obsolete. * NEWS: Update. * docs/automake.texi: Minor adjustments. * t/cygnus-deprecation.sh: New test. * t/list-of-tests.mk: Add it. * tests/cygnus-check-without-all.sh: Adjust by calling automake with the warnings in the 'obsolete' category disabled. * t/cygnus-requires-maintainer-mode.sh: Likewise. * t/cygnus-dependency-tracking.sh: Likewise. * t/cygnus-imply-foreign.sh: Likewise. * t/cygnus-no-installinfo.sh: Likewise. * t/cygnus-no-dist.sh: Likewise. * t/clean2.sh: Likewise. * t/flavor.sh: Likewise. * t/txinfo5.sh: Likewise. * t/txinfo5b.sh: Likewise. * t/library.sh: Remove use of 'cygnus' and 'dejagnu' options, and of AM_MAINTAINER_MODE macro. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| df306b52 | 2012-04-26 15:01:23 | objc++: initial support for Objective C++ Original thread (dating back to almost three years ago): <http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html> * automake.in: Register new language 'objcxx'. (lang_objcxx_rewrite): New subroutine. (resolve_linker): Add OBJCXXLINK. (%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX. (%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS. * m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX. * m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook. Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7a1eb9ff | 2012-04-02 17:05:42 | AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13 Support for the obsolescent 'AM_PROG_MKDIR_P' macro (and its output variable '$(mkdir_p)') has already been deprecated in the documentation. It's now time to make its use actively emit warnings in the 'obsolete' category as well. * automake.in (scan_autoconf_traces): Warn about 'AM_PROG_MKDIR_P' obsolescent if that macro is seen. * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Warn about its own obsolescence. * m4/init.m4: Require 'AC_PROG_MKDIR_P', not 'AM_PROG_MKDIR_P'. * t/mkdirp-deprecation.sh: New test. * t/list-of-tests.mk: Add it. * syntax-check.mk (sc_mkdir_p): Delete this check as obsolete. (syntax_check_rules): Remove it. * t/gettext-macros.sh: Ensure the gettext-requiring tests will call aclocal and automake with the 'obsolete' warnings disabled, since even recent versions of gettext used the now-deprecated 'AM_PROG_MKDIR_P' m4 macro. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8ea72c74 | 2012-04-27 16: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> | ||
| b99b5be0 | 2012-04-27 11:14:53 | automake, aclocal: update copyright year in output Fixes automake bug#11356. * aclocal.in, automake.in: Add copyright year '2012' in the version message. Ditto for the copyright notice in the generated Makefile.in or aclocal.m4 files; and for those, since we are at it, prefer using a range for copyright years, rather than listing each copyright year individually. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f1895f94 | 2012-04-16 14:59:53 | automake: refactor pre-processing of makefile fragments This change will provide the automake script with a new function that reads in a Makefile fragment *without* performing Automake ad-hoc parsing, but only the pre-processing step, i.e., removal of '##' comments and substitution of tokens like '%SUBDIRS%', '%?LIBTOOL%' or '?GENENRIC?'. This will very likely be useful for the work on Automake-NG. This is a pure refactoring, with no intended functional or semantic changes. * automake.in (preprocess_file): New function, extracted ... (make_paragraphs): ... from here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| bee76ca3 | 2012-04-17 00:02:58 | automake: fix botched call to 'check_user_variables' * automake.in (lang_vala_finish_target): The 'check_user_variables' function takes an array, not an array ref, as argument; adjust its call accordingly. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1153b2be | 2012-04-16 23:42:41 | vala: cleanup rules are better and more complete now * automake.in (lang_vala_finish_target): Ensure Vala-generated C sources and header files and our custom stamp files are correctly cleaned. * t/vala-headers.sh, t/vala-vpath.sh: Enhance. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 326ff45b | 2012-04-12 18:04:19 | Merge branch 'maint' * maint: vala: fix distcheck with c/vala mixed projects vala: fix vapi files handling vala: test vapi files handling (still failing) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 54ac5d47 | 2012-04-12 14:14:04 | Merge branches 'vala-fix-pr11222' and 'vala-fix-pr11229' into maint * vala-fix-pr11222: vala: fix vapi files handling vala: test vapi files handling (still failing) * vala-fix-pr11229: vala: fix distcheck with c/vala mixed projects | ||
| c1216181 | 2012-04-12 13:32:58 | vala: fix distcheck with c/vala mixed projects Fixes automake bug#11229. * automake.in (lang_vala_finish_target): Return early if the current '_SOURCES' variable does not contain any '.vala' nor '.vapi' source. Otherwise, the vala compiler will be called without arguments, causing an error. * tests/vala-mix.test: Enhance to catch the fixed bug. Copyright-paperwork-exempt: yes Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7b3199fb | 2012-04-11 11:18:31 | vala: fix vapi files handling Fixes automake bug#11222. Issue introduced in commit 'v1.11-696-g51f61df' of 27-02-2012, "vala: fix 'valac' calls for projects with mixed Vala/C", which fixed automake bug#10894. * automake.in (lang_vala_finish_target): Also recognize '.vapi' as an extension for vala input files. * tests/list-of-tests.mk (XFAIL_TESTS): Remove 'vala-vapi.test'. Copyright-paperwork-exempt: yes Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2a487237 | 2012-03-31 13:07:32 | cosmetics: remove repeated line in comment, fix quoting * automake.in: Drop a repeated line in a comment. In the same comment, prefer quoting 'like this' rather than `like this'. Issue introduced in one of the commits that converted from quoting `like this' to quoting 'like this'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1e3b481c | 2012-03-31 13:06:30 | cosmetics: remove useless import in automake script * automake.in (Automake::Version): This import is not needed; remove it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 74a7f492 | 2012-03-04 16:00:58 | maint: drop 'Automake::Struct' module Now that we require Perl 5.6, we can drop the 'Automake::Struct' module, which was basically just a backport of Perl 5.6's 'Class::Struct' to Perl 5.5. * automake.in: Use 'Class::Struct', not 'Automake::Struct'. * lib/Automake/Struct.pm: Delete. * lib/Automake/Makefile.am (dist_perllib_DATA): Remove it. | ||
| 7f9974c7 | 2012-03-04 13:02:57 | cosmetics: remove useless escaping for "'" character | ||
| aadd78e9 | 2012-03-02 11:04:05 | Merge branch 'maint' into msvc | ||
| 9b81d15f | 2012-02-29 19:50:18 | Merge branch 'maint' * maint: vala: fix 'valac' calls for projects with mixed Vala/C vala: expose automake bug#10894 | ||
| 51f61dfb | 2012-02-27 21:48:03 | vala: fix 'valac' calls for projects with mixed Vala/C Fixes automake bug#10894. * automake.in (lang_vala_finish_target): Strip non-vala files from the dependencies of vala stamps, and from the invocation of valac compiler. Related refactorings. * tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'. | ||
| 1eaed7c1 | 2012-02-24 13: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. | ||
| f28d4890 | 2012-02-23 23:34:08 | cosmetics: fixlet in comment in automake * automake.in ($configure_dist_common): In the associated comment, refer to scanning of 'configure.ac', not 'configure.in'. | ||
| da69976c | 2012-02-23 20:50:41 | automake: do not quote `like this', as per GCS recommendation * automake.in: Convert comments, diagnostic and help screen to the use of new quoting format 'like this' or "like this" rather than `like this'. * tests/stdlib2.test: Adjust. * tests/ltinstloc.test: Likewise. * tests/location.test: Likewise. * tests/libtool8.test: Likewise. * tests/ldadd.test: Likewise, and prefer trailing ':' over trailing 'Exit 0'. | ||
| 101216ca | 2012-02-19 18:43:28 | automake: new option to print location of scripts and data files With this change, we add a new automake option '--print-libdir' that prints (on stdout) the path of the directory containing the Automake-provided scripts (e.g., 'missing' and 'install-sh') and data files (e.g., INSTALL or texinfo.tex). Suggestion by Nick Bowler. See also automake bug#10473. * automake.in (parse_arguments): Handle the new option. (usage): Mention it. * doc/automake.texi (automake Invocation): Document it. * NEWS: Update. * tests/print-dir.test: New test. * tests/list-of-tests.mk: Add it. | ||
| 641a5a4b | 2012-02-16 10:46:23 | maint: run "make update-copyright" | ||
| e6c40d4b | 2012-02-12 15: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. | ||
| df6841b7 | 2012-02-06 23: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" ... | ||
| 3c66523f | 2012-01-31 08:31:59 | Merge branch 'maint' * maint: tests: do not assume the object file extension is .o tests: avoid spurious failure of 'transform2.test' on Cygwin tests: avoid spurious failure of deleted-am.test with FreeBSD make tests: avoid possibly undeserved PASS from check8.test warnings: more precise category and message for one warning release: revamp rules to tag and upload the releases amversion: add missing dependency hacking: update advice w.r.t. synced files hacking: don't reference ChangeLog anymore + Extra non-trivial edits: * tests/suffix8.tap: Copy in (by hand) the modifications done to 'suffix8.test' on maint, i.e., the addition of an explicit '.y_.obj:' suffix rule to Makefile.am. | ||
| b6c3ed5e | 2012-01-26 18:00:40 | warnings: more precise category and message for one warning If automake detected an usage like "AC_CONFIG_FILES([./Makefile])" in configure.ac, it warned that such an usage was unportable to non-GNU make implementations. But the truth is actually worse: that is actually *unportable to GNU make* itself, since it breaks the automatic remake rules in subtle ways. So we now reveal this breakage in a new test case, and enhance the warning by giving it a more precise and correct wording, and by moving it from the category 'portability' to the category 'unsupported'. * automake.in (scan_autoconf_config_files): Improve the warning. * tests/conffile-leading-dot.test: New test. * tests/list-of-tests.mk: Add it. | ||
| bd34a47c | 2012-01-21 11:33:44 | multilib: move to contrib 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. | ||
| bc940cb0 | 2012-01-22 17:46:53 | Merge branch 'maint' * maint: tests: fix spurious failure due to autom4te caching vala: fix name of temporary file used in vala rules vala tests: add missing 'valac' requirement, and other minor fixlets news: fix grammaro | ||
| b08103fe | 2012-01-22 10:44:42 | vala: fix name of temporary file used in vala rules Unquoted `@' characters in a "..." string in the automake script were causing slightly wrong rules to be emitted in the generated Makefile.in; i.e., rules like: rm -f $@ && echo stamp > $10t instead of the expected: rm -f $@ && echo stamp > $@-t * automake.in (lang_vala_finish_target): Fix that. * tests/vala.test: Enhance. | ||
| 3a7b60b1 | 2012-01-18 18:42:46 | Merge branch 'maint' * maint: cmdline parsing: move into a dedicated perl module | ||
| 52246cc7 | 2012-01-18 17:55:40 | cmdline parsing: move into a dedicated perl module With this change, we delegate most of the automake and aclocal code for command-line options parsing to a new module "Automake::Getopt". This allows better code sharing between automake and aclocal, and also with Autoconf, which will sync the new module from us. See also autoconf commit 'v2.68-120-gf4be358' (2012-01-17, "getopt: new Autom4te::Getopt module"), and this mailing list discussion: <http://lists.gnu.org/archive/html/autoconf-patches/2012-01/msg00033.html> This change might interact with the behaviour described in automake bug#7434; for example, starting from now, "automake -Wfoo --version" will cause automake to emit diagnostic like "unknown warning category 'foo'" before actually printing the version number and exiting. This is not a big deal in practice, and the code sharing and simplifications introduced by this patch is certainly worth it. Still, we should revisited the issue in the future. * lib/Automake/Getopt.pm: New module, basically a slightly-edited copy of the 'lib/Autom4te/Getopt.pm' file from the autoconf devel repository (commit v2.68-120-gf4be358). It defines and exports ... (parse_options): ... this new function. * automake.in (parse_arguments): Use the new function. * aclocal.in (parse_arguments): Likewise. * lib/Automake/Makefile.am (dist_perllib_DATA): Add the new file. * tests/getopt.test: Remove. * tests/list-of-tests.mk: Update. | ||
| 9928ea5c | 2012-01-16 20:06:08 | Merge branch 'maint' * maint: recheck: fix interaction with "make -n" vala: avoid potential useless remakes (minor bugfix) vala: enhance tests recheck: behave better with non-GNU make check: separate .log -> .html conversion from core testsuite harness docs: deprecate .log -> .html conversion by parallel-tests tests: list some forgotten test cases in $(TESTS) maintcheck: consistency of list of test scripts build: explicitly declare some targets as .PHONY maint: remove obsolete/broken maintainer targets build: improve silencing of automake build system tests: move list of tests in its own Makefile fragment + Extra non-trivial edits: * tests/parallel-tests2.test: Obvious edits to merge the slightly inconsistent enhancements to coverage done in master with those done in maint. * lib/am/check.am (check-TESTS, recheck): Sweeping and rather complex changes to merge the considerable divergences between maint and master in a way that is meaningful and, where possible, retains the semantic changes from both maint and master. | ||
| 3d6197fe | 2012-01-16 18:35:50 | Merge branch 'check-html-deprecate' into maint * check-html-deprecate: recheck: fix interaction with "make -n" recheck: behave better with non-GNU make check: separate .log -> .html conversion from core testsuite harness docs: deprecate .log -> .html conversion by parallel-tests | ||
| 12dc0ec5 | 2012-01-16 16:42:25 | vala: avoid potential useless remakes (minor bugfix) * automake.in (lang_vala_finish_target): Ensure the timestamp file from which the C files generated from Vala sources depend on gets created with a modification time that is truly older than those of said generated C files. This prevents make from attempting useless rebuilds (which were bound to happen deterministically on systems with sub-second timestamp resolutions). It is worth noting that, luckily, those useless rebuild ended up being a no-op, since the Vala compiler is careful not to update the timestamp of an output file if its content has not changed from the previous version. Still, the useless rebuilds messed up "make -q" and "make -n" invocations, and were technically incorrect (despite being, as noted, inoffensive in practice). Problem revealed by failure of tests vala-mix.test and vala5.test on a fast Solaris 10 system whose filesystem had a sub-second timestamp resolution. | ||
| d9a7182e | 2012-01-13 18:53:43 | recheck: behave better with non-GNU make * automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with the value of the '@check' array, containing the list of early test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)', etc. * lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'. (check, recheck): Unify the implementation of their recipes, with different code paths taken depending on the name of the target. This makes the implementation of "recheck" less brittle in the process (especially when non-GNU make and AM_MAKEFLAGS overriding are involved). * lib/am/check-html.am (check-html, recheck-html): Likewise. * tests/check.test: Adjust to avoid spurious failure. * tests/parallel-tests2.test: Improve coverage. | ||
| 20f2ac90 | 2012-01-13 17:56:13 | check: separate .log -> .html conversion from core testsuite harness That feature is to be deprecated in the 1.11.x series, and removed from the automake core in the 1.12 release, where it will instead be offered in a semi-independent extra '*.am' fragment. So let's start better separating the .log -> .html conversion from the "core code" of the parallel-tests harness. Reference: <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> * lib/am/check.am (.log.html, check-html, recheck-html): Move these targets ... * automake.in (handle_tests): ... and the initialization of the TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML) file ... * lib/am/check-html.am: ... in this new file, with related (minor) refactorings, enhancements and simplifications. * lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust. * lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'. * tests/parallel-tests2.test: Improve coverage. | ||
| 5db22a16 | 2012-01-15 17:40:09 | Merge branch 'maint' * maint: gnupload: moved to gnulib sync: gitlog-to-changelog from gnulib upstream test defs: backport optimized 'using_gmake' implementation tests: unify some tests on "make -n", reducing duplication vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)" + Extra edits: * tests/maken3.test: Carry over (with necessary adjustments) the code from maken4.test that determines whether $MAKE supports the special '.MAKE' target. | ||
| 4013982e | 2012-01-14 09:57:55 | vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)" * automake.in (lang_vala_finish_target): In the generated rules, use '$(am__cd)', not bare 'cd', to chdir into $(scdir). Issue revealed by the maintainer check 'sc_cd_relative_dir'. | ||
| a23d5bdc | 2012-01-13 13:20:34 | Merge branch 'maint' * maint: dist: avoid $(distdir) removal failure on MSYS/MinGW tests: fix spurious failure of 'get-sysconf.test' coverage: expose automake bug#10470 (distcheck-related) tests: make 'aclocal-install-absdir.test' executable tests: require GNU make in 'vala-vapth.test' vala: fix VPATH builds tests: fix some bugs in the vala-vpath test | ||
| 72f7e5de | 2012-01-07 01:08:11 | vala: fix VPATH builds This change fixes automake bug#9859. * automake.in (lang_vala_finish_target): Create the stamp file '${derived}_vala.stamp' in $(srcdir), not in $(builddir). Also, don't try to chdir to the $(srcdir) to trigger the rebuild rules, since that is just wrong in a VPATH setup. * tests/vala-vpath.test, tests/vala2.test: Extend to catch more possible VPATH issues. * tests/Makefile.am (XFAIL_TESTS): Remove 'vala-vpath.test'. * NEWS, THANKS: Update. Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Copyright-paperwork-exempt: yes | ||
| 5b13742f | 2012-01-03 23:26:56 | Merge branch 'maint' * maint: install: pkglibexec_SCRIPTS is a valid prefix/primary combination coverage: expose automake bug#10128 progs, libs: implement EXTRA_foo_DEPENDENCIES tests: fix spurious failures in 'pr300*.test' | ||
| 4e4dae50 | 2012-01-03 09:06:09 | install: pkglibexec_SCRIPTS is a valid prefix/primary combination It makes little sense for `libexec_SCRIPTS' to be accepted as valid while `pkglibexec_SCRIPTS' is not. So fix this inconsistency by explicitly allowing `pkglibexec_SCRIPTS' as well. It is worth noting that the inconsistency has been there for a long time, but only the quite recent commit `v1.11-373-g9ca6326' "Warnings about primary/prefix mismatch fixed and extended" has made it noisy enough to be noticed. * automake.in (handle_scripts): Also list `pkglibexec' among the prefixes valid for the `SCRIPTS' primary. * doc/automake.texi (Scripts): Likewise. * tests/primary-prefix-valid-couples.test: Update. * THANKS: Likewise. * NEWS: Likewise. Reported by Dennis Schridde on the automake list: <http://lists.gnu.org/archive/html/automake/2012-01/msg00002.html> | ||
| f4e221b6 | 2012-01-02 09:40:13 | progs, libs: implement EXTRA_foo_DEPENDENCIES Backported from commit `v1.11-377-g6edafbb'. The feature implemented by that change is quite unobtrusive, so adding it to a maintenance release is acceptable. Also, there have been requests from real-world users for this feature since it has been implemented in master; see automake bug#9320: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9320> and this short discussion on the automake list: <http://lists.gnu.org/archive/html/automake/2010-11/msg00099.html> It would be a pity to make such users wait even more (until Automake 1.12 is out) before they could start using this feature. Thus we backport it, so that it will appear in the next maintenance version of automake (1.11.3). * automake.in (handle_programs, handle_libraries) (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized. * doc/automake.texi (Linking, Program and Library Variables) (LIBOBJS): Document EXTRA_*_DEPENDENCIES. * lib/am/library.am (%LIBRARY%): Also depend on $(EXTRA_%XLIBRARY%_DEPENDENCIES). * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on (%XLTLIBRARY%_DEPENDENCIES). * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on $(EXTRA_%XPROGRAM%_DEPENDENCIES). * tests/extradep.test, tests/extradep2.test: New tests. * tests/Makefile.am (TESTS): Update. * NEWS: Update. | ||
| 01fef4ae | 2012-01-01 19:20:04 | Merge branch 'maint' into msvc * maint: tests: make 'lzip.test' executable dist: obsolete support for lzma (superseded by xz and lzip) test defs: more granular overriding of the make program docs: fix a couple broken anchors dist: add support for lzip compression docs: fix paragraph names for automake and aclocal invocations tests: fix spurious failure due to autom4te caching fix: last entry in ChangeLog tests: tweak tests on silent-rules for makes without nested vars silent-rules: fallback for makes without nested vars | ||
| c1b14e96 | 2012-01-01 11:14:27 | Merge branch 'maint' * maint: tests: make 'lzip.test' executable dist: obsolete support for lzma (superseded by xz and lzip) test defs: more granular overriding of the make program docs: fix a couple broken anchors dist: add support for lzip compression docs: fix paragraph names for automake and aclocal invocations tests: fix spurious failure due to autom4te caching fix: last entry in ChangeLog tests: tweak tests on silent-rules for makes without nested vars silent-rules: fallback for makes without nested vars | ||
| 0878bd34 | 2011-12-30 14:35:18 | dist: add support for lzip compression * NEWS: Update. * automake.in (handle_dist): Recognize dist-lzip. (make_paragraphs): Map LZIP to dist-lzip. * doc/automake.texi (Dist, Options): Describe dist-lzip. * lib/Automake/Options.pm (_process_option_list): Recognize `dist-lzip'. * lib/am/distdir.am (dist-lzip): New target. (DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'. (dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed tarball. (distcheck): Handle lzip-compressed tarballs just like the others. * tests/lzip.test: New test. * tests/Makefile.am (TESTS): Add it. | ||
| f0645e2d | 2011-12-27 22:01:12 | Merge branch 'maint' into yacc-work * maint: (34 commits) tests: drop unnecessary requirement in 'subpkg.test' gitlog-to-changelog: new auxiliary script, synced from gnulib docs: "aclocal --install -I /abs/dir" actually copies files docs: fix node names for automake and aclocal invocations 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 tests: avoid spurious failure of libtool and gettext tests hacking: distribute it, and mention it in the ChangeLog regex: deprecate the obsolete macro AM_WITH_REGEX maint: distribute .xz tarballs, not .bz2 ones maint: better use of autoconf 2.68 features cosmetics: use proper m4 quoting in configure.ac include: avoid "deleted .am file" problem tests: better handling of gettext and libtool requirements fix: typos and grammaros in comments of the new test tests: report useful system information in 'test-suite.log' python: remove relics for Python 1.5 support configure: remove extraneous 'eval's from AM_RUN_LOG invocations ... | ||
| 8493499b | 2011-12-25 09:56:44 | silent-rules: fallback for makes without nested vars This fixes two problems reported for Automake (Bug#9928, Bug#10237) and is in response to a bug report for building coreutils on HP NonStop OS (Bug#10234). The problem is that HP NonStop 'make' treats a line like "AM_V_CC = $(am__v_CC_$(V))" as one that expands a macro with the funny name am__v_CC_$(V instead of the desired name am__v_CC_1 or am__v_CC_0, and since the funny macro is not defined the line is equivalent to "AM_V_CC = )"; this inserts a stray ")" when $(AM_V_CC) is used, which eventually causes 'make' to fail. The basic idea is that instead of generating Makefile.in lines like "AM_V_CC = $(am__v_CC_$(V))", we generate "AM_V_CC = $(am__v_CC_@AM_V@)". We then AC_SUBST $(V) for @AM_V@ in the usual case where `make' supports nested variables, and substitute 1 (or 0) otherwise. Similarly for usages like $(am__v_CC_$(AM_DEFAULT_VERBOSITY)). With this change, make implementations that doesn't grasp nested variable expansions will still be able to run Makefiles generated using the silent-rules option. They won't allow the user to override the make verbosity at runtime through redefinition of $(V) (as in "make V=0"); but this is still an improvement over not being able to work at all. * NEWS: Document this. * automake.in (define_verbose_var): When defining the variables, use @AM_V@ rather than $(V), and use @AM_DEFAULT_V@ rather than $(AM_DEFAULT_VERBOSITY). * doc/automake.texi (Automake silent-rules Option): Explain new system. * m4/silent.m4 (AM_SILENT_RULES): Check whether `make' supports nested variables, and substitute AM_V and AM_DEFAULT_V accordingly. * tests/silent-nested-vars.test: New test. * tests/Makefile.am (TESTS): Add it. | ||
| 54af9ca8 | 2011-12-23 13:41:11 | Merge branch 'maint' into msvc * maint: (56 commits) tests: fix failure due to debugging code forgotten into a test tests: avoid spurious failure of libtool and gettext tests hacking: distribute it, and mention it in the ChangeLog regex: deprecate the obsolete macro AM_WITH_REGEX maint: distribute .xz tarballs, not .bz2 ones maint: better use of autoconf 2.68 features cosmetics: use proper m4 quoting in configure.ac include: avoid "deleted .am file" problem tests: better handling of gettext and libtool requirements fix: typos and grammaros in comments of the new test tests: report useful system information in 'test-suite.log' python: remove relics for Python 1.5 support configure: remove extraneous 'eval's from AM_RUN_LOG invocations configure: report TeX version in config.log maint: snapshots from `maint' are still development snapshots configure: print proper message for test releases devel: help in comparing Makefile.in from different commits repo: don't commit generated files in the git repository anymore maint: remove executable bit from automake.in missing: don't try to re-run tar with a munged command line ... | ||
| 23acc630 | 2011-12-23 10:15:29 | Merge branch 'master' into testsuite-work * tests/gettext-macros.test: In the generated `get.sh' file, use `skip_all_', not `skip_'. * tests/libtool-macros.test: Likewise. * tests/list-of-tests.mk: Update. | ||
| 72c8dcb2 | 2011-12-22 22:16:12 | Merge branch 'maint' into master. * 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. | ||
| 9f7864ba | 2011-10-16 14:57:37 | include: avoid "deleted .am file" problem * automake.in (handle_configure): When processing `configure.am', also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether `MAKEFILE-IN-DEPS' is empty or not. * lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?] (%MAKEFILE-IN-DEPS%): New target without dependencies, to avoid the "deleted .am file" problem. Emit this only when `?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an "empty" dependency declaration. * tests/deleted-am.test: Make grepping of error message stricter. * tests/dist-missing-am.test: Likewise. * tests/remake-deleted-am.test: New test. * tests/remake-deleted-am-2.test: Likewise. * tests/remake-deleted-am-subdir.test: Likewise. * tests/remake-renamed-am.test: Likewise. * tests/makefile-deps.test: Likewise. * tests/Makefile.am (TESTS): Add the new tests. * NEWS: Update. Fixes automake bug#9768. Report by Peter Johansson. See also commit `Release-1-10-40-gd0ebf71', which fixed a similar problem for .m4 files included by configure.ac. | ||
| fdc16456 | 2011-12-09 09:51:21 | maint: remove executable bit from automake.in * automake.in: This file is not meant to be executed, only to be preprocessed to create the `automake' script; so don't leave it executable. | ||
| 91ea62ab | 2011-11-05 16:16:26 | Merge branch 'maint' into yacc-work * maint: maint-mode: fix botched configure messages fix: regenerate Makefiles info: allow user to inhibit creation/update of '${infodir}/dir' dejagnu: allow the package developer to extend site.exp * THANKS: Fix whitespace issue. deps: partially revert commit `v1.11-512-geeee551' dejagnu: ensure 'srcdir' is defined as a relative directory Fix testsuite failure of check12.test without DejaGNU. Extend and improve tests on DejaGnu support. | ||
| 5012480b | 2011-11-03 15:39:02 | Merge branch 'master' into testsuite-work Commits merged from master: - tests: various minor tweakings, mostly related to AM_PROG_AR - maint-mode: fix botched configure messages - fix: regenerate Makefiles - tests: few improvements to some `ar-lib' related tests - info: allow user to inhibit creation/update of '${infodir}/dir' - warnings: new 'extra-portability' category, for AM_PROG_AR - ar-lib: new 'AM_PROG_AR' macro, triggering the 'ar-lib' script Extra testsuite adjustments: * tests/instspc.tap: Adjust to new portability requirements due to the new AM_PROG_AR macro. * tests/lex-lib.test: Likewise. * tests/extra-portability2.test: Use `$am_original_AUTOMAKE' instead of the obsolete `$original_AUTOMAKE'. * tests/list-of-tests.mk: Update. | ||
| 38e1b39d | 2011-11-03 13:50:06 | Merge branch 'msvc' into master Commits merged from msvc: - tests: few improvements to some `ar-lib' related tests - warnings: new 'extra-portability' category, for AM_PROG_AR - ar-lib: new 'AM_PROG_AR' macro, triggering the 'ar-lib' script Extra changes required by the testsuite: * tests/instspc-tests.sh: Adjust to new portability requirements due to the new AM_PROG_AR macro. * tests/libobj-basic.test: Likewise. * tests/libobj2.test: Likewise. * tests/libobj15a.test: Likewise. * tests/libobj15b.test: Likewise. * tests/libobj15c.test: Likewise. * tests/libobj16a.test: Likewise. * tests/libobj16b.test: Likewise. * tests/libobj17.test: Likewise. * tests/libobj18.test: Likewise. * tests/libobj19.test: Likewise. * tests/libobj20a.test: Likewise. * tests/libobj20b.test: Likewise. * tests/libobj20c.test: Likewise. * tests/canon6.test: Likewise. * tests/canon6.test: Likewise. * tests/canon7.tests: Likewise. * tests/extra9.test: Likewise. * tests/extradep.test: Likewise. * tests/extradep2.test: Likewise. * tests/posixsubst-ldadd.test: Likewise. * tests/posixsubst-libraries.test: Likewise. * tests/posixsubst-ltlibraries.test: Likewise. * tests/python-virtualenv.test: Likewise. * tests/vartypos.test: Likewise. * tests/vartypo2.test: Likewise. * tests/suffix.test: Update to take into account previous master-only changes. * tests/suffix2.test: Likewise. * tests/libobj7.test: Call automake with the `--add-missing' option, instead of creating a dummy `ar-lib' file, since this test now also runs "./configure" and "make". * tests/suffix5.test: Copy the real `ar-lib' script file, instead of creating a dummy one, since this test now also runs "./configure" and "make". * tests/extra-portability2.test: Fix this test not to rely on the older, faulty semantics of "strictness specification always reset warning level", which has been fixed in commit v1.11-623-g1609491 (see also automake bug#7669 a.k.a. PR/547). Since we are at it, throw inf few other minor unrelated improvements. * tests/extra-portability.test: Explicitly pass `-Wall' to automake calls, for clarity. | ||
| 2270535f | 2011-11-03 11:39:40 | Merge branch 'maint' into msvc * maint: maint-mode: fix botched configure messages fix: regenerate Makefiles info: allow user to inhibit creation/update of '${infodir}/dir' deps: partially revert commit `v1.11-512-geeee551' | ||
| 76928ddf | 2011-10-25 11:45:24 | Merge branch 'master' into testsuite-work * master: fix: date in recent ChangeLog entry tests: fix spurious failures due to missing 'yywrap()' function dejagnu: allow the package developer to extend site.exp * THANKS: Fix whitespace issue. deps: partially revert commit `v1.11-512-geeee551' dejagnu: ensure 'srcdir' is defined as a relative directory | ||
| 8c695f69 | 2011-10-25 11:34:11 | Merge branch 'maint' * maint: dejagnu: allow the package developer to extend site.exp * THANKS: Fix whitespace issue. deps: partially revert commit `v1.11-512-geeee551' dejagnu: ensure 'srcdir' is defined as a relative directory | ||
| 91ab753b | 2011-10-24 09:04:24 | Merge branch 'maint' into msvc * tests/subpkg-yacc.test: Adjust to new portability requirements due to the new AM_PROG_AR macro. | ||
| cc2202a6 | 2011-10-21 00:24:38 | warnings: new 'extra-portability' category, for AM_PROG_AR * lib/Automake/ChannelDefs.pm: Register new extra-portability warning channel. (switch_warning): Turn off extra-portability if portability is turned off, and turn on portability if extra-portability is turned on. (set_strictness): Silence extra-portability for --gnits, --gnu and --foreign. * tests/extra-portability2.test: New test, checking that the extra-portability channel is silenced by --gnits, --gnu and --foreign. * doc/automake.texi (Invoking Automake): Document the new warning category and its interaction with the portability category. * tests/extra-portability.test: New test, checking the interaction between the portability and extra-portability warning categories. * automake.in (handle_libraries, handle_ltlibraries): Move the AM_PROG_AR warnings to the new extra-portability channel. * tests/ar2.test: Adjust to the new warning channel. * tests/pr300-lib.test: Likewise. * tests/pr300-ltlib.test: Likewise. * tests/pr307.test: Likewise. * tests/pr401.test: Likewise. * tests/pr401b.test: Likewise. * tests/pr401c.test: Likewise. * tests/pr72.test: Likewise. * NEWS: Likewise. * tests/Makefile.am (TESTS): Update. Signed-off-by: Peter Rosin <peda@lysator.liu.se> | ||
| c7a6a92e | 2011-10-21 00:23:34 | ar-lib: new 'AM_PROG_AR' macro, triggering the 'ar-lib' script * m4/ar-lib.m4: New macro AM_PROG_AR, which locates an archiver and triggers the auxiliary 'ar-lib' script if needed. * m4/Makefile.am (dist_m4data_DATA): Update. * automake.in ($seen_ar): New variable. (scan_autoconf_traces): Set it. (handle_libraries, handle_ltlibraries): Require AM_PROG_AR for portability. * doc/automake.texi (Public Macros): Mention the new 'AM_PROG_AR' macro. (Subpackages): Add AM_PROG_AR to the example. (A Library): Adjust recommendations for AR given the new AM_PROG_AR macro. * All relevant tests: Adjust to new portability requirements due to the new AM_PROG_AR macro. * tests/ar-lib2.test: New test, checking that AM_PROG_AR triggers install of ar-lib. * tests/ar-lib3.test: New test, checking that lib_LIBRARIES requires AM_PROG_AR. * tests/ar-lib4.test: New test, checking that lib_LTLIBRARIES requires AM_PROG_AR. * tests/ar-lib5a.test: New test, checking that AM_PROG_AR triggers use of ar-lib when the archiver is Microsoft lib. * tests/ar-lib5b.test: New test, checking that AM_PROG_AR triggers use of ar-lib when the archiver is a faked lib. * tests/ar-lib6a.test: New test, checking the ordering of AM_PROG_AR and LT_INIT. * tests/ar-lib6b.test: New test, checking the ordering of AM_PROG_AR and AC_PROG_LIBTOOL. * tests/ar-lib7.test: New test, checking that automake warns if ar-lib is missing. * tests/ar3.test: New test, checking that AR and ARFLAGS may be overridden by the user even if AM_PROG_AR is used. * tests/ar4.test: New test, checking that AM_PROG_AR bails out if it cannot determine the archiver interface. * tests/ar5.test: New test, checking that AM_PROG_AR runs its optional argument if it cannot determine the archiver interface. * tests/defs.in: New required entry 'lib'. * tests/Makefile.am (TESTS): Update. * NEWS: Update. Signed-off-by: Peter Rosin <peda@lysator.liu.se> | ||
| 3c45ea72 | 2011-10-20 23:20:54 | Merge branch 'master' into testsuite-work * master: tests: fix spurious failures with "chatty" make implementations tests: fix aclocal-print-acdir.test tests: fix spurious failure on fast machines tests: avoid spurious failure of 'uninstall-fail.test' on Solaris tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin tests: avoid spurious failure in 'parallel-tests3.test' tests: fix spurious failure with FreeBSD make and Yacc in VPATH tests: fix spurious failure with autoconf 2.62 refactor: improve signature of 'check_directory' sub in automake docs: avoid using colon character inside arguments of @pxref | ||
| 0f3b3e84 | 2011-10-20 22:55:38 | Merge branch 'maint' into yacc-work * maint: tests: fix spurious failures with "chatty" make implementations tests: fix spurious failure on fast machines tests: avoid spurious failure of 'uninstall-fail.test' on Solaris tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin tests: avoid spurious failure in 'parallel-tests3.test' tests: fix spurious failure with FreeBSD make and Yacc in VPATH tests: fix spurious failure with autoconf 2.62 docs: avoid using colon character inside arguments of @pxref parallel-tests: warn on conditional TEST_EXTENSIONS definition parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS tests: fix spurious failure in 'insthook.test' maintcheck: fix spurious failure regenerate Makefile.in | ||
| 40c34328 | 2011-10-20 22:25:45 | deps: partially revert commit `v1.11-512-geeee551' This change partly reverts commit "Create subdirs for generated sources even when not dep tracking", of 2011-04-02. That commit had caused the bugs #8485 and #8526. Since we are nearing the bug-fixing automake release 1.11.2, the safest policy at the moment is to just revert the problematic hunks: an older, known bug is better than a regression. * automake.in (handle_single_transform): Don't add a dirstamp dependency, even when $object is derived and lands in a subdir. * tests/Makefile.am (XFAIL_TESTS): Add lex-subobj-nodep.test, remove yacc-dist-nobuild-subdir.test. | ||
| 579b15b7 | 2011-10-17 11:38:01 | refactor: improve signature of 'check_directory' sub in automake * automake.in (check_directory): Take the relative directory the directory to be checked is expected to be found into as an optional parameter, rather than reading it from the global variable `$relative_dir'. (scan_autoconf_traces, check_directories_in_var): Adjust. | ||
| b99f7a6a | 2011-10-17 11:17:23 | cosmetics: remove obsolete comment * automake.in (push_required_file): Remove "FIXME" comment stating that the special handling of `$config_aux_dir' breaks threaded automake: this is not true anymore after the recent commits (see in particular commit `v1.11-1225-gf672944'). | ||
| f6729443 | 2011-10-08 17:27:42 | threaded-am: better serialization for required config files With this change, we make serialization/de-serialization of required config files installs more granular, and in the process fix the bug introduced by commit `v1.11-1219-g326ecba'. * automake.in ($required_conf_file_queue): Move its declaration earlier. (require_file_internal): Add a new argument telling whether the function should act immediately or queue its action for the master thread to handle. (queue_required_conf_file): Renamed ... (queue_required_file_check_or_copy): ... to this. (require_queued_conf_file): Renamed ... (require_queued_file_check_or_copy): ... to this, and make it call `required_file_check_or_copy' instead of `require_file_internal'. (require_conf_file, handle_makefiles_threaded): Adjust and simplify accordingly. * tests/Makefile.am (XFAIL_TESTS): Remove `parallel-am.test'. | ||
| 75ce360e | 2011-10-07 21:58:20 | automake: refactor, break up 'require_file_internal' This refactoring is only required in view of future changes. * automake.in (require_file_internal): Move the guts of this function ... (required_file_check_or_copy): ... into this new function. This ensures that calls to `push_required_file' and code that copies required files are placed in separate functions; this will be very useful for reorganizing de-serialization of file installs in future changes. | ||
| 7318775d | 2011-10-07 20:53:08 | dist: separate auxiliary file instantiation from DIST_COMMON update This change simplifies the automake internals dealing with the checking, copying and distributing of required auxiliary files. With this change, a required auxiliary file is *unconditionally* added to the contents of the DIST_COMMON variable in the generated Makefile.in, before checking whether it exists, or trying to copy it (if `--add-missing' is in use). This shouldn't be a problem, since if the checking or copying of the file fails, automake will bail out, the Makefile.in won't be created, and thus its content will not matter. OK, this is not completely true when threaded automake is in use, but then, such a situation was also possible before this patch, so no regression here, which is enough for us. This change is the first of a series of steps aimed at fixing the regression introduced in threaded automake usage by commit `v1.11-1219-g326ecba'. * automake.in (require_file_internal): Add the required file to DIST_COMMON unconditionally. * tests/missing-auxfile-stops-makefiles-creation.test: New test. * tests/Makefile.am (TESTS): Add it. | ||
| 6571c2fd | 2011-10-07 15:49:17 | refactor: rename a subroutine to a more proper name * automake.in (maybe_push_require_file): Renamed ... (push_required_file): ... to this. All callers adjusted. | ||
| dccae6a9 | 2011-10-06 13:20:57 | dist: truly always distribute files in AC_REQUIRE_AUX_FILE This change fixes automake bug#9651. * automake.in (handle_dist): Files whose distribution is required by configure.ac are now correctly distributed even if the build-aux directory coincides with the top-level directory. * tests/Makefile.am (XFAIL_TESTS): Remove `dist-auxfile.test'. * NEWS: Update. | ||
| 851b1ae2 | 2011-10-02 10:38:48 | dist: simplify automake code accordingly to the previous changes After the previous change `v1.11-1219-g326ecba', every Makefile.am requiring a file in the "config auxdir" will cause it to be listed in the DIST_COMMON variable of the corresponding generated Makefile.in, not only of the top-level Makefile.in. Thus we don't need to worry anymore about trying to distribute files in the config auxdir from the top-level Makefile or the Makefile in config auxdir (if any). This allows us to carry out some useful simplifications in the automake script. This will however cause some changes in the generated Makefile; for example, if the `PROGRAMS' primary is used only in a subdir Makefile.am, the `depcomp' script will be distributed only by `subdir/Makefile', not by the top-level Makefile. This change can be seen as an internal detail though, and definitely warranted by the nice simplifications the current commit provides. * automake.in ($automake_will_process_aux_dir): Variable removed. (scan_autoconf_files): Adjust and simplify. (handle_makefiles_threaded): Likewise. (get_number_of_threads): Likewise. (require_file_internal): Likewise. (maybe_push_required_file): Its return value is not used anymore, so return nothing. Add special handling for distributed files from `$config_libobj_dir'. Also, catch "this can't happen" situations, and abort accordingly. Fix function description to better fit its new role. * tests/libobj19.test: Extend to also check situations where the Makefile.am using $(LIBOBJS) is not the top-level one. * tests/distcom6.test: Delete, merged into ... * tests/distcom2.test: ... this test, which has been update to account for the changed automake semantics. * tests/Makefile.am (TESTS): Update. * NEWS: Update. | ||
| 326ecba2 | 2011-09-30 12:12:43 | dist: auxiliary files can be distributed from subdir Makefiles With this change, we make it possible for a subdir Makefile.am to distribute files in the config auxdir; while this means that some files might be copied multiple times, it simplify some logic in the automake script, and fix at least one important bug. In fact, before this change, the auxiliary script `test-driver' was not being distributed as expected when TESTS was defined only in a subdir Makefile (which is a pretty common setup indeed). Now this does not happen anymore: so the present change fixes automake bug#9546. Another welcome collateral effect is that `dist-auxfile-2.test' now passes. OTOH, the present changes *breaks threaded automake*. The reason is that automake needs to serialize file installations spawned by `--add-missing' (this isn't for cosmetic reasons, but is really needed to avoid possible race conditions and botched output files). Currently the code that installs required files is intertwined with the code that declares the DIST_COMMON variables; so, upon de-serialization, the definition of DIST_COMMON might get emitted in the wrong Makefile.in. Some follow-up refactoring in automake will soon take care of remedying this situation. For the moment, we just declare some "parallel-am" tests as xfailing. * automake.in (maybe_push_required_file): Add ad-hoc handling for the case where the directory part of the required file is different from the subdir where the current Makefile.am resides, but is equal to the "config-aux directory" ($config_auxdir). This is needed to allow a construct in a non-top-level Makefile.am to require a file in the config-aux directory. * tests/test-driver-is-distributed.test: Extend and adjust. This test now passes. * tests/java-compile-run-nested.test: Call automake with the `-a' option to ensure that the `test-driver' auxiliary script gets correctly installed. This test now passes. * tests/distcom-subdir.test: New test. * tests/dist-readonly.test: Likewise. * tests/dist-repeated.test: Likewise. * tests/dist-auxdir-many-subdirs.test: Likewise. * tests/distcom7.test: Removed, it's obsolete now. * tests/Makefile.am (TESTS, XFAIL_TESTS): Update. | ||
| a3d1cdbc | 2011-10-07 13:11:57 | Merge branch 'master' into test-protocols | ||
| 64aebd61 | 2011-10-07 13:11:37 | Merge branch 'maint' * maint: parallel-tests: warn on conditional TEST_EXTENSIONS definition | ||
| ba0c477b | 2011-10-07 11:08:15 | parallel-tests: warn on conditional TEST_EXTENSIONS definition Before this change, automake would have still bailed out, but with a confusing error message (about an invalid redefinition of TEST_EXTENSIONS). * automake.in (handle_tests): Warn explicitly if TEST_EXTENSIONS has conditional contents. * tests/test-extensions-con.test: New test. * tests/Makefile.am (TESTS): Add it. * NEWS: Update. | ||
| 80795e05 | 2011-10-06 22:09:30 | Merge branch 'master' into test-protocols | ||
| 30eb17ff | 2011-10-06 21:42:06 | Merge branch 'maint' | ||
| b9b79d88 | 2011-10-06 21:30:04 | parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS Even after the last commit `v1.11-476-g90bea64', the checks performed by automake on entries in $(TEST_EXTENSIONS) tried to allow for @substitited@ stuff. This however ends up allowing quite brittle setups, which, most importantly, are of no real practical usefulness anyway. So it's better to just disallow @substitutions@ in TEST_EXTENSIONS altogether, offering a clear error message, instead of risking weird bugs and unexpected behaviors in the generated Makefile.in. * automake.in ($TEST_EXTENSION_PATTERN): Turned from a regular expression ... (is_valid_test_extension): ... into this subroutine. Don't allow generic @substitutions@ anymore (possibly making an exception for `@EXEEXT@' under the proper circumstances). * tests/test-extensions.test: Adjust and extend. | ||
| 0da79637 | 2011-10-06 14:29:31 | Merge branch 'master' into test-protocols | ||
| 8b27c5b5 | 2011-10-06 13:56:49 | Merge branch 'maint' * maint: fix: make a test script executable coverage: expose automake bug#9651 parallel-tests: automake error our on invalid TEST_EXTENSIONS fix: regenerate Makefile docs: don't suggest installing `.m4' files in hard-coded location distuninstallcheck: fail also when only one file is left installed | ||
| 6399e59a | 2011-10-06 13:50:06 | Merge branch 'maint' into yacc-work * maint: (28 commits) fix: make a test script executable coverage: expose automake bug#9651 parallel-tests: automake error our on invalid TEST_EXTENSIONS fix: regenerate Makefile fix: regenerate Makefile.in files maintcheck: fix usage of `cd' instead of `$(am__cd)' docs: don't suggest installing `.m4' files in hard-coded location distuninstallcheck: fail also when only one file is left installed uninstall: "make uninstall" before "make install" works tests: fix tests on aclocal search path precedences fix: typo in NEWS docs: document planned precedence changes in aclocal search path aclocal: handle ACLOCAL_PATH environment variable tests: fix spurious failure in 'primary-prefix-valid-couples.test' docs: deprecate JAVA primary docs: clearer distinction between `.java' with javac and with gcj java: complain if java_JAVA is used but $(javadir) is undefined coverage: test interactions of `nobase_' and `nodist_' java: fix various blunders in test 'java-mix.test' cosmetics: fix various typos and grammaros ... | ||
| 90bea64b | 2011-10-01 21:31:07 | parallel-tests: automake error our on invalid TEST_EXTENSIONS This change fixes automake bug#9400. * automake.in (handle_tests): Bail out if a suffix specified in TEST_EXTENSIONS would produce an invalid `xxx_LOG_COMPILER' variable or an invalid suffix rule. Before this change, automake would have issued a confusing error messages (about invalid or non-POSIX variables being defined), and in some situations would have even produced a broken `Makefile.in' file. ($TEST_EXTENSION_PATTERN): New helper variable. * doc/automake.texi (Simple Tests using parallel-tests): Document the limitations on TEST_EXTENSIONS explicitly. * NEWS: Update. * tests/test-extensions.test: New test. * tests/Makefile.am (TESTS): Update. | ||
| f64cc0d2 | 2011-09-20 20:47:41 | Merge branch 'master' into test-protocols * master: docs: remove mention of deprecated option `--acdir' fix: cleanup NEWS after botched merges fix: typo in NEWS docs: document planned precedence changes in aclocal search path aclocal: handle ACLOCAL_PATH environment variable tests: fix spurious failure in 'primary-prefix-valid-couples.test' docs: deprecate JAVA primary docs: clearer distinction between `.java' with javac and with gcj java: complain if java_JAVA is used but $(javadir) is undefined | ||
| 8f803645 | 2011-09-20 20:16:43 | Merge branch 'maint' * maint: docs: document planned precedence changes in aclocal search path aclocal: handle ACLOCAL_PATH environment variable tests: fix spurious failure in 'primary-prefix-valid-couples.test' docs: deprecate JAVA primary docs: clearer distinction between `.java' with javac and with gcj java: complain if java_JAVA is used but $(javadir) is undefined | ||
| c9dfc368 | 2011-09-18 23:32:38 | java: complain if java_JAVA is used but $(javadir) is undefined Fixes automake bug#8461. * automake.in (handle_java): Remove inappropriate "java" argument from the calls to `&am_install_var' and `&am_primary_prefixes'. * tests/instdir-java.test (Makefile.am): Define `$(javadir)'. * tests/javadir-undefined.test: New test. * tests/Makefile.am (TESTS): Add it. * NEWS: Update. | ||
| 066f4959 | 2011-09-18 19:14:55 | Merge branch 'master' into testsuite-work | ||
| 954f7d01 | 2011-09-18 18:32:12 | Merge branch 'master' into test-protocols | ||
| b52f63c8 | 2011-09-18 18:21:29 | Merge branch 'remove-deansification' * remove-deansification: automake: remove special handling of `ANSI2KNR' make variable | ||
| 16912bdf | 2011-09-18 16:32:46 | Merge branch 'java-work' * java-work: fix: remove duplicated ChangeLog entries java: allow both JAVA and nobase_JAVA in the same Makefile.am java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am fix: regenerate tests/Makefile.in tests defs: use `skip_' for skipping java-related tests java tests: use $PATH_SEPARATOR where appropriate java coverage: test JAVACFLAGS and AM_JAVACFLAGS java coverage: test rebuild rules for java java coverage: try to build and run a java program test defs: new requirement for the default java interpreter java tests: tweak and make stricter a couple of tests java coverage: add test on uninstall with JAVA primary java tests: require java compiler more properly java: allow both JAVA and nobase_JAVA in the same Makefile.am java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am | ||
| 76b756f9 | 2011-09-16 13:41:42 | automake: remove special handling of `ANSI2KNR' make variable * automake.in (define_configure_variable): Remove special-cased handling of `ANSI2KNR' variable. Related minor simplifications. | ||
| 1e90abcc | 2011-09-14 14:58:05 | automake: remove code duplication in 'handle_tests' * automake.in (handle_tests): Factor out some code dealing with test extensions and rules for generation of `.log' files into ... (handle_per_suffix_test): ... this new subroutine. * tests/parallel-tests-exeext.test: New test. * tests/Makefile.am (TESTS): Update. | ||
| 9a937d21 | 2011-09-12 11:03:32 | java: allow both JAVA and nobase_JAVA in the same Makefile.am * automake.in (handle_java): Also strip `nobase_' from the given prefix, when needed. * tests/java-clean.test: Update and extend. * tests/java-compile-install.test: Likewise. * tests/java-no-duplicate.test: Likewise. * tests/java-sources.test: Likewise. * tests/java-noinst.test: Likewise. * tests/java-mix-dist-nodist.test: Renamed to ... * tests/java-mix.test: ... this, and extended. * tests/java-nobase.test: New test, still xfailing due to unrelated issues. * tests/Makefile.am (TESTS, XFAIL_TESTS): Update. Cherry-picked from v1.11-356-g01dede4 |