automake.in


Log

Author Commit Date CI Message
Stefano Lattarini 27136dfe 2012-03-31T16: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>
Stefano Lattarini 75b91149 2012-05-04T13: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>
Stefano Lattarini e7745eaa 2012-05-02T09: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>
Stefano Lattarini 71cc0e09 2012-03-31T14: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>
Peter Breitenlohner df306b52 2012-04-26T15: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>
Stefano Lattarini 7a1eb9ff 2012-04-02T17: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>
Stefano Lattarini 8ea72c74 2012-04-27T16:27:08 build: ensure release year in copyright notice is up-to-date From a suggestion by Eric Blake. See automake bug#11356. This is a follow-up to previous patch 'v1.12-12-gb99b5be'. * configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold the value of the current year. * Makefile.am (update-copyright): Be sure to also update the definition of 'RELEASE_YEAR' in configure.ac. * lib/Automake/Config.in ($RELEASE_YEAR): New exported variable, initialized from the value substituted for '@RELEASE_YEAR@'. (@EXPORT): Add it. * automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be substituted at make time) instead of hard-coding the release year. This should ensure the copyright range in the version message and in the generated files (Makefile.in and aclocal.m4) are automatically kept up-to-date. * bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b99b5be0 2012-04-27T11: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>
Stefano Lattarini f1895f94 2012-04-16T14: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>
Stefano Lattarini bee76ca3 2012-04-17T00: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>
Stefano Lattarini 1153b2be 2012-04-16T23: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>
Stefano Lattarini 326ff45b 2012-04-12T18: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>
Stefano Lattarini 54ac5d47 2012-04-12T14: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
Marc-Antoine Perennou c1216181 2012-04-12T13: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>
Marc-Antoine Perennou 7b3199fb 2012-04-11T11: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>
Stefano Lattarini 2a487237 2012-03-31T13: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>
Stefano Lattarini 1e3b481c 2012-03-31T13: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>
Stefano Lattarini 74a7f492 2012-03-04T16: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.
Stefano Lattarini 7f9974c7 2012-03-04T13:02:57 cosmetics: remove useless escaping for "'" character
Peter Rosin aadd78e9 2012-03-02T11:04:05 Merge branch 'maint' into msvc
Stefano Lattarini 9b81d15f 2012-02-29T19:50:18 Merge branch 'maint' * maint: vala: fix 'valac' calls for projects with mixed Vala/C vala: expose automake bug#10894
Stefano Lattarini 51f61dfb 2012-02-27T21: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'.
Stefano Lattarini 1eaed7c1 2012-02-24T13:27:53 cosmetics: typofixes and whitespace changes * configure.ac: Fix a typo in comments. * aclocal.in: Get rid of latest form-feed (^L) usages. * automake.in: Likewise.
Stefano Lattarini f28d4890 2012-02-23T23: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'.
Stefano Lattarini da69976c 2012-02-23T20: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'.
Stefano Lattarini 101216ca 2012-02-19T18: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.
Stefano Lattarini 641a5a4b 2012-02-16T10:46:23 maint: run "make update-copyright"
Stefano Lattarini e6c40d4b 2012-02-12T15:06:17 Merge branch 'yacc-work' into yl-work-for-master * yacc-work: (37 commits) fixup: list of yacc/lex tests was botched tests: work around bug#7884 in many yacc/lex tests yacc/lex tests: remove an unneeded workaround for bug#8485 yacc/lex tests: avoid too much failures with FreeBSD make yacc-dist-nobuild.test: add reference to bug#7884 yacc tests: fix bug in 'yacc-cxx.test' lex tests: fix spurious link errors on Solaris lex: "make clean" removes .c files from non-distributed .l lex tests: make test on Lex dependency tracking more "semantic" lex tests: remove erroneous check about ylwrap distribution yacc tests: "make clean" removes C++ files from non-distributed .y tests: add a workaround for automake bug#8485 tests: add a couple of inter-tests reference lex tests: require just `lex' instead of `flex' fix typo in ChangeLog (2011-05-04) tests defs: use `skip_' for skipping yacc/lex related tests lex/yacc tests: remove redundant $distdir definition coverage: test lex-generated "#line" directives postprocessing tests: minor improvements to a couple of yacc tests tests: fix spurious failure in test 'yacc-d-cxx.test' ... + Extra non-trivial edits: * tests/defs.in: Delete; the differences from maint has been merged into 'tests/defs' and 'tests/defs-static.in'. * tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to skip the whole test case if yacc (resp. lex) is missing. (bison): New, set up the environment so that 'bison -y' will be used as the yacc program. (useless_vpath_rebuild, yl_distcheck): Moved in from 'tests/defs.in'. * tests/defs-static.in ($YACC, $LEX): Default to the values determined at configure time, and allow them to be overridden by the more namespace-safe variables '$AM_TESTSUITE_YACC' and '$AM_TESTSUITE_LEX' respectively. * tests/Makefile.am (do_subst): Also substitute '@YACC@' and '@LEX@'. * Several tests: Fix requirements declarations, by preferring 'lex' and 'yacc' over 'flex' and 'bison' whenever possible.
Stefano Lattarini df6841b7 2012-02-06T23:17:32 Merge branch 'maint' into yacc-work * maint: (75 commits) test defs: function 'is_newest' now works also with directories refactor: new variable telling whether make is running in "dry mode" ...
Stefano Lattarini 3c66523f 2012-01-31T08: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.
Stefano Lattarini b6c3ed5e 2012-01-26T18: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.
Stefano Lattarini bd34a47c 2012-01-21T11: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.
Stefano Lattarini bc940cb0 2012-01-22T17: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
Stefano Lattarini b08103fe 2012-01-22T10: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.
Stefano Lattarini 3a7b60b1 2012-01-18T18:42:46 Merge branch 'maint' * maint: cmdline parsing: move into a dedicated perl module
Stefano Lattarini 52246cc7 2012-01-18T17: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.
Stefano Lattarini 9928ea5c 2012-01-16T20: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.
Stefano Lattarini 3d6197fe 2012-01-16T18: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
Stefano Lattarini 12dc0ec5 2012-01-16T16: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.
Stefano Lattarini d9a7182e 2012-01-13T18: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.
Stefano Lattarini 20f2ac90 2012-01-13T17: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.
Stefano Lattarini 5db22a16 2012-01-15T17: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.
Stefano Lattarini 4013982e 2012-01-14T09: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'.
Stefano Lattarini a23d5bdc 2012-01-13T13: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
Ryan Lortie 72f7e5de 2012-01-07T01: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
Stefano Lattarini 5b13742f 2012-01-03T23: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'
Stefano Lattarini 4e4dae50 2012-01-03T09: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>
Stefano Lattarini f4e221b6 2012-01-02T09: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.
Stefano Lattarini 01fef4ae 2012-01-01T19: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
Stefano Lattarini c1b14e96 2012-01-01T11: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
Antonio Diaz Diaz 0878bd34 2011-12-30T14: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.
Stefano Lattarini f0645e2d 2011-12-27T22: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 ...
Paul Eggert 8493499b 2011-12-25T09: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.
Stefano Lattarini 54af9ca8 2011-12-23T13: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 ...
Stefano Lattarini 23acc630 2011-12-23T10: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.
Stefano Lattarini 72c8dcb2 2011-12-22T22: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.
Stefano Lattarini 9f7864ba 2011-10-16T14: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.
Stefano Lattarini fdc16456 2011-12-09T09: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.
Stefano Lattarini 91ea62ab 2011-11-05T16: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.
Stefano Lattarini 5012480b 2011-11-03T15: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.
Stefano Lattarini 38e1b39d 2011-11-03T13: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.
Stefano Lattarini 2270535f 2011-11-03T11: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'
Stefano Lattarini 76928ddf 2011-10-25T11: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
Stefano Lattarini 8c695f69 2011-10-25T11: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
Peter Rosin 91ab753b 2011-10-24T09:04:24 Merge branch 'maint' into msvc * tests/subpkg-yacc.test: Adjust to new portability requirements due to the new AM_PROG_AR macro.
Peter Rosin cc2202a6 2011-10-21T00: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>
Peter Rosin c7a6a92e 2011-10-21T00: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>
Stefano Lattarini 3c45ea72 2011-10-20T23: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
Stefano Lattarini 0f3b3e84 2011-10-20T22: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
Stefano Lattarini 40c34328 2011-10-20T22: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.
Stefano Lattarini 579b15b7 2011-10-17T11: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.
Stefano Lattarini b99f7a6a 2011-10-17T11: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').
Stefano Lattarini f6729443 2011-10-08T17: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'.
Stefano Lattarini 75ce360e 2011-10-07T21: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.
Stefano Lattarini 7318775d 2011-10-07T20: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.
Stefano Lattarini 6571c2fd 2011-10-07T15: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.
Stefano Lattarini dccae6a9 2011-10-06T13: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.
Stefano Lattarini 851b1ae2 2011-10-02T10: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.
Stefano Lattarini 326ecba2 2011-09-30T12: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.
Stefano Lattarini a3d1cdbc 2011-10-07T13:11:57 Merge branch 'master' into test-protocols
Stefano Lattarini 64aebd61 2011-10-07T13:11:37 Merge branch 'maint' * maint: parallel-tests: warn on conditional TEST_EXTENSIONS definition
Stefano Lattarini ba0c477b 2011-10-07T11: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.
Stefano Lattarini 80795e05 2011-10-06T22:09:30 Merge branch 'master' into test-protocols
Stefano Lattarini 30eb17ff 2011-10-06T21:42:06 Merge branch 'maint'
Stefano Lattarini b9b79d88 2011-10-06T21: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.
Stefano Lattarini 0da79637 2011-10-06T14:29:31 Merge branch 'master' into test-protocols
Stefano Lattarini 8b27c5b5 2011-10-06T13: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
Stefano Lattarini 6399e59a 2011-10-06T13: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 ...
Stefano Lattarini 90bea64b 2011-10-01T21: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.
Stefano Lattarini f64cc0d2 2011-09-20T20: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
Stefano Lattarini 8f803645 2011-09-20T20: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
Stefano Lattarini c9dfc368 2011-09-18T23: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.
Stefano Lattarini 066f4959 2011-09-18T19:14:55 Merge branch 'master' into testsuite-work
Stefano Lattarini 954f7d01 2011-09-18T18:32:12 Merge branch 'master' into test-protocols
Stefano Lattarini b52f63c8 2011-09-18T18:21:29 Merge branch 'remove-deansification' * remove-deansification: automake: remove special handling of `ANSI2KNR' make variable
Stefano Lattarini 16912bdf 2011-09-18T16: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
Stefano Lattarini 76b756f9 2011-09-16T13: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.
Stefano Lattarini 1e90abcc 2011-09-14T14: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.
Stefano Lattarini 9a937d21 2011-09-12T11: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
Stefano Lattarini 2990ef35 2011-09-12T10:54:49 java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am Fixes automake bug#8434. * automake.in (handle_java): Strip `dist_' and `nodist_' from the given prefix. Define a new internal Makefile variable `am__java_sources'. Related adjustments. * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the first time this am file is processed. (class%DIR%.stamp): Stamp file renamed ... (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_' prefixes are stripped from the name of the stampfile. Adjust declaration of dependencies by using the new automake-generated internal variable `$(am__java_sources)'. In the rule, use `$@' as the name of the target, rather than hard-coding it. * tests/java.test: Update and extend. * tests/java-no-duplicate.test: New test. * tests/java-mix-dist-nodist.test: Likewise. * tests/java-compile-and-install.test: Likewise. * tests/java-clean.test: Likewise. * tests/java-sources.test: Likewise. * tests/Makefile.am (TESTS): Update. Cherry-picked from commit v1.11-337-gd76b503.