automake.in


Log

Author Commit Date CI Message
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 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 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 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 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 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.
Stefano Lattarini c1040a74 2011-01-12T01:27:07 help: improve text about automatically-distributed files This change fixes automake bug#7819. * automake.in (usage): Distinguish between files that are always automatically distributed when found, and those which are only "under certain conditions". * doc/automake.texi (Basics of Distribution): Update accordingly. * tests/autodist-subdir.test: Update. * tests/autodist-no-duplicate.test: Likewise. * tests/autodist.test: Likewise. (configure.in): Remove useless call to AM_MAINTAINER_MODE.
Stefano Lattarini 94785660 2011-01-12T01:06:33 refactor: split 'usage' subroutine in automake This change is related to automake bug#7819. * automake.in (print_autodist_files): New subroutine, extracted from ... (usage): ... this, which now uses it. * tests/autodist-no-duplicate.test: New test. * tests/Makefile.am (TESTS): Update.
Stefano Lattarini 9ca63264 2010-12-16T19:23:06 Warnings about primary/prefix mismatch fixed and extended. * automake.in (%standard_prefix): Add `doc' and `locale'. Rename `pkgdatadir' to `pkgdata'. Similarly for`pkglibdir', `pkgincludedir' and `pkglibexecdir'. (handle_programs): List `pkglibexec', not `pkglib', among the prefixes valid for the `PROGRAMS' primary. (handle_data): List also `doc' among the prefixes valid for the `DATA' primary. This is required by automake's own build system. * tests/dirforbid.test: Test removed, superseded by ... * tests/primary-prefix-invalid-couples.test: ... this new test. * tests/primary-prefix-valid-couples.test: New test. * tests/primary-prefix-documented-valid.test: Likewise. * tests/primary-prefix-force-valid.test: Likewise. * tests/java3.test: Adjusted, and extended a bit. * tests/Makefile.am (TESTS): Updated. * NEWS: Updated. From a report by Eric Blake.
Stefano Lattarini d235db33 2011-05-29T10:42:00 automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE Currently, the Automake's own configure script allow definition of AUTOCONF and AUTOM4TE, expected to point respectively to an autoconf and autom4te programs. But while these definitions are honoured in the Automake's build systems and test suite, they were *not* honoured in the generated `automake' and `aclocal' scripts. This behaviour, apart from being wrong in that it does not allow the user enough freedom in choosing his tools, also caused inconsistencies in the test suite, brining to spurious failures. Problem reported by Graham Reitz on the automake list; see thread: <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html> * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'. * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'. * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and `@am_AUTOM4TE'. * NEWS: Update. * THANKS: Update.
Stefano Lattarini 38f41a03 2011-04-06T18:49:44 java: check_JAVA does not cause compilation by "make all" anymore Fixes automake bug#8234. * automake.in (handle_java): Make stamp of class files built from java sources in $(check_JAVA) a dependency of `check' target, not `all' target. * tests/java-check.test: New test. * tests/Makefile.am (TESTS): Update. * NEWS: Update. * THANKS: Update. Report from Petteri Räty.
Ralf Wildenhues e87c030d 2011-04-02T11:09:10 Create subdirs for generated sources even when not dep tracking. * automake.in (handle_single_transform): If $object is derived and lands in subdir, be sure to output a dirstamp dependency. * tests/yacc5.test: Avoid falsely matching the dirstamp dependency when grepping for a rule. * tests/lex-subobj-nodep.test: New test. * tests/Makefile.am (TESTS): Update. * THANKS: Update. Report by Ignacy Gawedzki. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini 638f21a1 2011-01-08T13:04:10 automake: minor fixes in comments * automake.in: Some minor fixes and enhancements in comments.
Ralf Wildenhues 511ccb16 2011-01-02T05:31:41 Bump copyright years. * aclocal.in (write_aclocal, version): Bump copyright years. * automake.in (gen_copyright, version): Likewise. * doc/automake.texi: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini 20fb9ceb 2010-05-14T21:19:32 Work around a bug in file-inclusion mechanism of Solaris make. * automake.in (handle_single_transform): In the name of the dependency file: collapse multiple slash characters into a single one. * tests/subobj11a.test: New test. * tests/subobj11b.test: Likewise. * tests/subobj11c.test: Likewise. * tests/depcomp8a.test: Likewise. * tests/depcomp8b.test: Likewise. * tests/Makefile.am (TESTS): Updated. * NEWS: Updated. Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final patch and tests by Stefano Lattarini.
Stefano Lattarini 6afea500 2010-11-06T18:26:53 Fix bug in rules for creating vala vapi/header files. * automake.in (lang_vala_finish_target): Add forgotten "fi" in an if control structure in a generated make rules. Bug introduced by previous commit `v1.11-221-gd7c1679', and revealed by failure of test `vala2.test'.
Ralf Wildenhues d7c1679b 2010-10-03T12:29:40 Fix and document rules to not touch the tree with `make -n'. * doc/automake.texi (Multiple Outputs): Document the problem of modifications during dry-run execution, propose solution. * NEWS: Update. * automake.in (lang_vala_finish_target): Split recipe so the stamp file is not removed with GNU `make -n'. (lang_yacc_target_hook): Separate removal of parser output file and header remaking. * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was passed to make, take care not to remove any files in that case. * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of %STAMP% file from induced remaking of config header. * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test: New tests. * tests/Makefile.am (TESTS): Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9e126f15 2010-10-02T18:38:34 Merge branch 'fix-tests-empty-regression' into maint * fix-tests-empty-regression: Revert "parallel-tests: avoid command-line length limit issue."
Ralf Wildenhues 614b643e 2010-09-26T09:21:14 Revert "parallel-tests: avoid command-line length limit issue." This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835, because it re-opened the bug fixed by v1.11-10-g218e678. 2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> parallel-tests: avoid command-line length limit issue. * automake.in (handle_tests): New argument $makefile, new substitution %MAKEFILE%. (generate_makefile): Adjust. * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass sanitized TEST_LOGS value as makefile snippet on standard input to $(MAKE), to avoid exceeding the command line limit on w32 (MSYS). * NEWS: Update. Report by Bob Friesenhahn. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Eric Blake 978dfcf5 2010-09-17T06:31:33 Avoid triple-space after period. * automake.in (handle_single_transform): Avoid 3 spaces at sentence end. * ChangeLog.03: Likewise. * lib/Automake/ChannelDefs.pm: Likewise. * lib/Automake/Channels.pm (_print_message): Likewise. * lib/Automake/Rule.pm (rule): Likewise. * lib/Automake/Variable.pm (var): Likewise. * lib/am/distdir.am: Likewise. * tests/insthook.test: Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Ralf Wildenhues 24e3b4ee 2010-09-07T04:38:08 parallel-tests: avoid command-line length limit issue. * automake.in (handle_tests): New argument $makefile, new substitution %MAKEFILE%. (generate_makefile): Adjust. * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass sanitized TEST_LOGS value as makefile snippet on standard input to $(MAKE), to avoid exceeding the command line limit on w32 (MSYS). * NEWS: Update. Report by Bob Friesenhahn.
Ralf Wildenhues 9b72d668 2010-06-26T22:10:21 Update program --help output to match current GCS. * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL is not defined, for compatibility to Autoconf < 2.64. * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and PACKAGE_URL. (sc_diff_automake_in_automake): Update number of diff lines for additional substitutions. * aclocal.in (usage): Use PACKAGE_BUGREPORT. Point to Automake home page and GNU general help page. * automake.in (usage): Likewise. * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email address. (Introduction, Creating amhello, amhello Explained, Options): Use it throughout. * lib/Automake/Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT. * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global. * lib/Automake/ChannelDefs.pm: Use it for footer of fatal messages. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini 65a2059a 2010-06-08T16:32:40 Bugfix: $(AM_FLAGS)/$(FLAGS) precedence in Yacc/Lex. * automake.in: Fix registration of languages "Lex", "Lex (C++)", "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS). * tests/Makefile.am (XFAIL_TESTS): Updated accordingly. * NEWS: Updated. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 97cab581 2010-06-06T10:53:03 Merge branch 'je-silent' into maint * je-silent: Relax silent-rules tests to cater to verbose makes. Fix silent-rules output for disabled dependency tracking.
Ralf Wildenhues c3d47d57 2010-04-25T17:19:13 Fix leftover call to removed function macros_dump. * automake.in (read_main_am_file): Call variables_dump, not macros_dump. Print actual error before list of variables. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 18546c2c 2010-03-06T09:14:06 Formatting cleanups in macro comments. * automake.in, lib/Automake/Channels.pm, lib/Automake/FileUtils.pm, lib/Automake/Options.pm, lib/Automake/Variable.pm, lib/Automake/XFile.pm, m4/options.m4, m4/substnot.m4: Fix macro comment format. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues c150e6c8 2010-01-24T12:36:47 Fix silent-rules output for disabled dependency tracking. * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable expansion code to also work in the case where %AMDEP% expands to FALSE at config.status time, using new substitution string %VERBOSE-NODEP%. * automake.in (verbose_nodep_flag): New function, appending `@am__nodep@' to the verbose-variable name. (handle_languages): If dependencies are not disabled, use it to set %VERBOSE-NODEP%. * m4/depend.m4: Substitute am__nodep as '_no', so the second verbose-variable will always expand to an empty string, if dependencies are enabled. * tests/silent5.test: Also test --disable-dependency-tracking; also test per-target flags for non-C language files. * tests/silent9.test: New test, like silent4.test but disable dependency tracking. * tests/Makefile.am: Adjust. * NEWS, THANKS: Update. Report by Dmitry V. Levin <ldv@altlinux.org>. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 72c9d14d 2010-01-17T12:08:19 Bump copyright years. * aclocal.in (write_aclocal, version): Bump copyright years. * automake.in (gen_copyright, version): Likewise. * doc/automake.texi: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues bf1ca571 2009-12-05T14:39:15 Use $DJDIR rather than $DJGPP to detect running on DJGPP. * automake.in (Language): Use $ENV{'DJDIR'} for the $ENV{'SHELL'} override. * bootstrap: Use $DJDIR for setting BOOTSTRAP_SHELL, to fix bootstrapping under MinGW when $DJGPP has been set. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 2bee52de 2009-12-05T14:13:43 Do not rely on Perl symlink status, for MSYS perl. * automake.in (require_file_internal): Ensure presence of symlink target file; MSYS perl symlink doesn't return an error status when the file could not be created (copied, on this system). Fixes symlink.test failure. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 8d677911 2009-10-17T10:15:18 Doc and comment typos. * automake.in (handle_ltlibraries): Fix typo in comment. * tests/distcom7.test: Likewise. * tests/lisp5.test: Likewise. * doc/automake.texi (Usage of Conditionals): Fix typo. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 43ec8aec 2009-05-17T15:51:21 Fix maintainer-check failures. * automake.in (lang_vala_finish_target): Use `$(am__cd)' instead of plain `cd'. * tests/vala2.test: Use `rm -f' instead of `rm'.
Ralf Wildenhues fcf2f560 2009-05-17T15:32:40 Revert Automake license to GPLv2+. Automake will move to GPLv3+ once the Exception statement has been rewritten to use the new GPLv3 exception language. This change does not impact the COPYING file that may be installed by `automake --add-missing'. * COPYING: Revert to GPLv2. All uses changed. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jürg Billeter 1776fe39 2009-05-15T15:51:03 Vala: Use $(srcdir) in rebuild rules. valac is always run in srcdir as the generated files are distributed. So srcdir needs to be taken into account in the rebuild rules to not wrongly trigger a rebuild in the wrong directory. * automake.in (lang_vala_finish_target): Rebuild files in $(srcdir). * tests/vala2.test: Test rebuild rules from VPATH build. Signed-off-by: Jürg Billeter <j@bitron.ch> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jürg Billeter b9d83737 2009-05-15T15:50:59 Vala: Add and test rebuild rules for generated header and vapi files. valac will generate additional files when using, for example, -H in VALAFLAGS. We need to recognize these options and add appropriate rebuild rules to fix parallel build. * automake.in (lang_vala_finish_target): Recognize -H, -h, --header, --internal-header, --vapi, --internal-api, --gir flags to valac and rebuild rules for generated headers; distribute and maintainer-clean them. * tests/vala2.test: Test rebuild rules. Signed-off-by: Jürg Billeter <j@bitron.ch> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jürg Billeter b629ff7b 2009-05-17T10:14:13 Vala: Fix build when using per-target VALAFLAGS. This does not yet implement full per-target support for VALAFLAGS, however, this change at least fixes building when there is only one target per source file, which is the most common situation. * automake.in: Remove `VALAFLAGS' from `flags' in language struct. (lang_vala_finish_target): Handle `*_VALAFLAGS rewriting' manually here; check `VALAFLAGS' user variables. * tests/Makefile.am (XFAIL_TESTS): Remove vala5.test. * doc/automake.texi (Vala Support): Document per-target flag limitations. Signed-off-by: Jürg Billeter <j@bitron.ch> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues ebd8c6da 2009-04-27T22:26:04 silent-rules: fix alignment of less verbose output. * automake.in (define_verbose_var): Define `$silent_var' as VAR_ASIS, not VAR_PRETTY, to avoid squashing of multiple adjacent spaces. * tests/silent.test: Amend test. Report by Jan Engelhardt. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues c5635fa6 2009-04-19T02:19:20 Correctly treat all assignments with bogus trailing comments. Before this patch, automake would silently fail to diagnose and to copy into the output those variable assignments which are preceded by a comment, and end in backslash newline comment. * automake.in (read_am_file): When determining whether an escaped newline followed by a comment is an error, correctly use the parser state, not the contents of a saved comment, which could still be carried over from a comment before an assignment. * NEWS: Update. * tests/commen11.test: New test. * tests/Makefile.am: Update. Report by Karl Berry. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues ef895abc 2009-04-19T08:50:46 Merge branch 'next' * next: (64 commits) More minor fixups to vala support. Improve Vala support. testsuite: do not fail on systems without read permissions. testsuite: parallel make fixes. silent-rules reorganization, --enable-silent-rules switch. manual: Add note about parallelism and tests ordering. Fix maintainer-check failure. parallel-tests: more testsuite exposure. parallel-tests: let VERBOSE=yes output appear before summary. parallel-tests: `clean recheck' should not rerun all tests. parallel-tests: Fix driver for nonempty executable extension. Fix a couple of $(EXEEXT)-related testsuite failure. Document last change in NEWS. Fix renamed objects with subdir-objects and other languages. Do not remove texinfo outputs upon mostlyclean. testsuite: unset TESTS, TEST_LOGS, to avoid interference. testsuite: generate $(parallel_tests) just when needed. Remove superfluous line from recheck recheck-html. parallel-tests: redo check-html, recheck, recheck-html. parallel-tests: LOG_COMPILER for tests without known extension. ...
Ralf Wildenhues ad9df850 2009-04-19T08:09:13 Merge branch 'mh-vala-support' into next * mh-vala-support: More minor fixups to vala support. Improve Vala support. Minor fixups for Vala support. Support Vala in non-recursive builds; more tests and fixes. Initial support for the vala programming language.
Ralf Wildenhues 00db1950 2009-04-19T08:06:51 More minor fixups to vala support. * automake.in (lang_vala_finish_target): Fix typo in comment. * doc/automake.texi (Vala Support): Fix typo. Declare vala support as "initial". * NEWS: Likewise, declare vala support as "initial". Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jürg Billeter 62796cb9 2009-04-05T15:16:48 Improve Vala support. * automake.in: Update to Vala 0.7.0 semantics, recover from removal of built sources, support silent-rules, drop _PKGNAME variables * doc/automake.texi, NEWS: Update. * lib/am/vala.am: Bump copyright years. * m4/vala.m4: Likewise. * tests/vala.test: Remove obsolete grep tests. * tests/vala1.test: Likewise. * tests/vala2.test: Test full build, distcheck, and distclean. * tests/vala3.test: Likewise, also test with subdir-objects. * tests/vala4.test: Bump copyright years. * tests/vala5.test: New test for per-target flags, expected to fail. * tests/Makefile.am: Update. * THANKS: Update. Signed-off-by: Jürg Billeter <j@bitron.ch> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 6c4b250d 2009-04-19T07:59:42 Merge branch 'next' (early part) into mh-vala-support * 'next' (early part): (135 commits) parallel-tests: LOG_COMPILER for tests without known extension. More node renaming in the manual. Fix instdir-java.test failure. Fix testsuite failures due to nonexistent `dirlist' entries. Fix typo in manual. Avoid test failure due to paranoid TAR_OPTIONS envvar setting. Use more common spelling in diagnostic: s/canonic/canonical/. Post-release version bump. Version 1.10b. Minor NEWS update. Reorganize nodes in the manual. Update AM_RECURSIVE_TARGETS for parallel-tests. parallel-tests: New target recheck-html. Rewrite maintainer-check in separate tests, parallelizable. Fix maintainer-check failure. Fix latex warning in manual. Sync auxiliary files from upstream. parallel-tests: redo lazy checking: recheck and RECHECK_LOGS. parallel-tests: do not mark check-TESTS as `.MAKE'. parallel-tests: warn about $(srcdir), $(top_srcdir) in TESTS. ...
Ralf Wildenhues 2c74a340 2009-04-13T23:17:39 silent-rules reorganization, --enable-silent-rules switch. This patch introduces a configure-time option to set the default verbosity. Since configure now needs to know whether the `silent-rules' automake option was set, the latter can only be set within AM_INIT_AUTOMAKE, or with a new AM_SILENT_RULES macro but not any more through AUTOMAKE_OPTIONS or the automake command line option `--silent-rules'. * automake.in (define_verbose_var): Define the default verbose variable in terms of `$(AM_DEFAULT_VERBOSITY)'. (handle_configure): Do not pass `--silent-rules' to automake. (scan_autoconf_traces): Trace `AM_SILENT_RULES'. If seen, enable global `silent-rules' option. (usage): Do not document `--silent-rules'. (parse_arguments): Do not accept `--silent-rules'. * doc/automake.texi (Options): Overhaul. Document AM_SILENT_RULES, --enable-silent-rules, --disable-silent-rules, AM_DEFAULT_VERBOSITY. Show an example for user-added variables for less verbose output. (Invoking Automake): Remove documentation for `--silent-rules'. (Public Macros): Document `AM_SILENT_RULES'. * NEWS: Update. * lib/Automake/Options.pm (_process_option_list): Accept `silent-rules' only as option in configure.ac. * m4/init.m4 (AM_INIT_AUTOMAKE): If the `silent-rules' option was enabled, require `AM_SILENT_RULES'; move AM_BACKSLASH initialization to ... * m4/silent.m4 (AM_SILENT_RULES): ... this new file, new macro. Deal with `--enable-silent-rules' switch; define AM_DEFAULT_VERBOSITY. * m4/Makefile.am (dist_m4data_DATA): Add silent.m4. * tests/dollarvar.test: Remove tests for `--silent-rules', use `AM_SILENT_RULES'. * tests/flavor.test: Remove test for `--silent-rules'. * tests/silent.test: Use `AM_SILENT_RULES' instead of `AUTOMAKE_OPTIONS = silent-rules'; use `--enable-silent-rules'. * tests/silent2.test: Likewise. * tests/silent3.test: Likewise. * tests/silent4.test: Likewise. * tests/silent5.test: Likewise. * tests/silent6.test: Likewise. Test `AM_SILENT_RULES' as well as `AM_INIT_AUTOMAKE([silent-rules])' instead of `--silent-rules'. * tests/silent7.test: Use `AM_SILENT_RULES' instead of `AUTOMAKE_OPTIONS = silent-rules'; ensure the latter is rejected. Test combinations of --enable-silent-rules and --disable-silent-rules with `make V=0' and `make V=1'. Suggestion for configure-time switch by Bob Friesenhahn. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 12856eb2 2009-04-13T13:29:25 bin_PROGRAMS = $(EXTRA_PROGRAMS) should work. * automake.in (am_install_var): For `PROGRAMS' primary, strip `$(EXEEXT)' here already, so the name uniquifying works even when we look at names repeatedly, with inconsistent executable extension; through variable references, we might have added the extension ourselves earlier. (handle_programs): No need to strip `$(EXEEXT)' here any more. * tests/extra8.test: New test. * tests/Makefile.am: Update. * THANKS: Update. Report by Daniel Richard G. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering 610e9c06 2009-04-10T16:25:05 Fix grammar in comments and documentation. * doc/automake.texi (API versioning): Fix grammar. * automake.in: Fix grammar in comment. * lib/Automake/ChannelDefs.pm: Likewise. * tests/ext2.test: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 1692795d 2009-04-09T00:16:35 parallel-tests: Fix driver for nonempty executable extension. * automake.in (handle_tests): New substitution `%am__EXEEXT%', defined as 'FALSE' for non-generic rules, or if no programs are built at all. Otherwise, define it as configure conditional. * lib/am/check2.am [%am__EXEEXT%] (%EXT%$(EXEEXT).log): New conditional generic rule. * m4/init.m4: Hook an m4_provide of `_AM_COMPILER_EXEEXT' onto Autoconf's `_AC_COMPILER_EXEEXT' macro. (AM_INIT_AUTOMAKE): If `_AM_COMPILER_EXEEXT' has been provided at `AC_CONFIG_COMMANDS_PRE' time, then introduce a conditional `am__EXEEXT', defined to true iff `$EXEEXT' is nonempty. * tests/check5.test: Only match `_EXEEXT_[1-9]' here, to avoid false positives stemming from `@am__EXEEXT_TRUE@'. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Florian Briegel dd8b2944 2009-04-07T23:16:01 Fix renamed objects with subdir-objects and other languages. * automake.in: Fixed bug when building with renamed objects and foreign languages. * tests/suffix13.test: New test. * tests/Makefile.am: Adjust. * THANKS: Update. Reports by Florian Briegel and Stepan Kasal. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues aea50a7d 2009-04-07T22:54:28 Do not remove texinfo outputs upon mostlyclean. * lib/am/texinfos.am: New substitutions %MOSTLYCLEAN%, %MAINTCLEAN%. (clean-aminfo): New target, remove %TEXICLEAN% if nonemtpy, declare phony. Hook this target to ... (clean-am): ... this and ... (?CYGNUS?clean-info): ... this. (maintainer-clean-aminfo): Remove %MAINTCLEAN% if nonempty, for later. (mostlyclean-aminfo): Remove %MOSTLYCLEAN%. * automake.in (handle_texinfo_helper): Return three arrays $MOSTLYCLEAN, $TEXICLEAN, $MAINTCLEAN, instead of one array. Only put LaTeX helper files in $MOSTLYCLEAN, the rest in $TEXICLEAN for now. (handle_texinfo): Accept these, chop off extra newline, and substitute them in `texinfos.am'. * NEWS: Update. * tests/txinfo33.test: New test. * tests/Makefile.am: Update. Report by Bruno Haible. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 80853982 2009-04-04T12:14:14 parallel-tests: LOG_COMPILER for tests without known extension. * automake.in (handle_tests): If we don't match a known extension, define `LOG_COMPILER' as `$(LOG_COMPILE) $(AM_LOG_FLAGS) $(LOG_FLAGS)' and use it as %COMPILE% in check2. * doc/automake.texi (Simple Tests using parallel-tests): Document it. In the examples, suggest using the AM_*LOG_FLAGS flags in Makefile.am rather than the variables without `AM_' prefix. * lib/Automake/tests/Makefile.am (AM_PL_LOG_FLAGS): Renamed from (PL_LOG_FLAGS): ... this variable, intended for the user. * tests/parallel-tests7.test: Extend test. * NEWS: Update. Suggestion by Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering 8119e99b 2009-03-31T21:06:28 Use more common spelling in diagnostic: s/canonic/canonical/. * automake.in (check_typos): s/canonic/canonical/. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 1c503be3 2009-03-29T01:21:01 Merge branch 'ad-parallel-tests' into next * ad-parallel-tests: parallel-tests: New target recheck-html. parallel-tests: redo lazy checking: recheck and RECHECK_LOGS. parallel-tests: do not mark check-TESTS as `.MAKE'. parallel-tests: warn about $(srcdir), $(top_srcdir) in TESTS. check-html: Always create HTML output, note conversion failure. parallel-tests: per-extension test driver: <EXT>_LOG_COMPILER. parallel-tests: also record logs of SKIPped tests. Minor optimization in parallel-tests text box creation.
Ralf Wildenhues fe936f64 2009-03-29T00:59:46 Merge branch 'master' into next * master: Rewrite maintainer-check in separate tests, parallelizable. Fix maintainer-check failure. Fix latex warning in manual. Sync auxiliary files from upstream. manual: minor cleanups. Sane (un)install for empty directory variables. Ensure that empty directory variables work with empty content variables. Use --tag=FC with libtool also for .f90 files. DISTFILES containing a directory and files in that directory. Fix a documentation typo. Define AM_RECURSIVE_TARGETS, for gnulib's GNUmakefile. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 1b67aa70 2009-03-28T21:49:02 parallel-tests: warn about $(srcdir), $(top_srcdir) in TESTS. * automake.in (handle_tests): Warn about portability issue concerning generated TESTS files listed with a `$(srcdir)/' or `$(top_srcdir)/' prefix. * doc/automake.texi (TESTS): Document this issue. Mention that the parallel-tests driver is still experimental. * tests/parallel-tests8.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 66c2dcaa 2009-03-11T23:55:26 parallel-tests: per-extension test driver: <EXT>_LOG_COMPILER. For test files with extension <ext>, introduce the internal variable <EXT>_LOG_COMPILE, which expands to $(<EXT>_LOG_COMPILER) $(AM_<EXT>_LOG_FLAGS) $(<EXT>_LOG_FLAGS). Turn also the lib/Automake/tests testsuite over to the new test driver. * doc/automake.texi (Tests): Document `EXT_LOG_COMPILER' and `EXT_LOG_FLAGS'. * lib/am/check2.am: Insert `%COMPILE%' right before test. * automake.in (handle_tests): Substitute `COMPILE' for check2, empty for tests without extension, and `$(ext_LOG_COMPILE)' for extension `ext'. In the latter case, define it from the public components. * configure.ac (AM_INIT_AUTOMAKE): Use `parallel-test' globally. * tests/Makefile.am (AUTOMAKE_OPTIONS): Remove, not needed here any more. * lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Split ... (PL_LOG_COMPILER, PL_LOG_FLAGS): ... into these new variables. (TESTS_EXTENSIONS): New variable, initialize to `.pl'. * tests/parallel-tests7.test: New test. * tests/Makefile.am: Update. Suggestion by Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 5dba7d0a 2009-03-23T21:47:19 Use --tag=FC with libtool also for .f90 files. * automake.in: Set 'libtool_tag' for language `fc'. * tests/fort5.test: Grep for the tag. * THANKS: Update. Report by John R. Cary. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues d4cc23b0 2009-03-14T11:14:38 Merge branch 'ad-parallel-tests' into next * ad-parallel-tests: Fix LAZY_TEST_SUITE handling and $(TEST_SUITE_LOG) recreation. Fix parallel-tests with empty $(TESTS) for BSD make. Mark check-html and check-TESTS as recursive for BSD make. Match XFAIL_TESTS correctly with Solaris make. Use append mode to capture parallel test output. parallel-tests: Fix summary output. Overhaul of tests/README. Documentation for the parallel-tests driver. New tests for `parallel-tests'. parallel-tests: Ensure backward-compatible semantics. Parallel test execution: new option `parallel-tests'.
Akim Demaille 9aa1e525 2009-03-08T11:29:03 Parallel test execution: new option `parallel-tests'. * automake.in (handle_tests): Set new conditional PARALLEL_TESTS when reading check.am. Handle option `parallel-tests' and all its semantics. Define macros TEST_EXTENSIONS, TEST_SUITE_LOG, TEST_SUITE_HTML, TEST_LOGS, TEST_LOGS_TMP, suffix rules if applicable, and per-target rules for other tests. Add all log files to %clean_files at the `MOSTLY_CLEAN' level. * lib/Automake/Options.pm (_process_option_list): Accept `parallel-tests'. * lib/am/check.am [!PARALLEL_TESTS] (check-TESTS): Move existing testsuite driver under this new conditional. [PARALLEL_TESTS] (am__rst_title, am__rst_section, am__text_box am__sh_e_setup) (am__check_pre, am__check_post): New internal macros. ($(TEST_SUITE_LOG), check-TESTS, .log.html, check-html): New rules. * lib/am/check2.am: New file. * lib/am/Makefile.am (dist_am_DATA): Add check2.am. * tests/Makefile.am (AUTOMAKE_OPTIONS): Use `parallel-tests'. (clean-local): Renamed from distclean-local. * tests/defs.in: Drop VERBOSE handling, not needed here any more. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 26147eac 2009-03-12T07:40:20 Rename `silent' mode to `silent-rules' mode. * automake.in (define_verbose_var, verbose_flag) (define_verbose_tagvar, handle_options, handle_languages) (handle_configure, parse_arguments): Rename the `silent' option to `silent-rules', so it coincides with the `--silent-rules' command line option; adjust all code and comments. * lib/Automake/Options.pm (_process_option_list): Likewise. * doc/automake.texi (Invoking Automake, Libtool Flags, Options): Likewise. * NEWS: Adjust. * tests/dollarvar.test, tests/silent.test, tests/silent2.test, tests/silent3.test, tests/silent4.test, tests/silent5.test, tests/silent6.test, tests/silent7.test: Likewise. Suggestion by Jan Engelhardt. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 64942dde 2009-03-11T20:53:24 `silent' mode unconditionally overrides portability-recursive. * automake.in (parse_arguments): Don't handle a global `silent' option here; instead, ... (handle_options): ... handle the "normal" `silent' option here. Override `portability-recursive' here, at the last point we deal with options, instead ... * lib/Automake/Options.pm (_process_option_list): ... of here. * tests/silent6.test: Replace unportable make snippet, remove FIXME note, add more test cases of options passed in the various locations. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues c65e0662 2009-03-10T22:59:00 Keep `--silent-rules' across triggered automake reruns. * automake.in (usage): Reformat to be a bit clearer. (handle_configure): Remove substitutions %STRICTNESS% and %USE-DEPS% in favor of a new substitution %AUTOMAKE-OPTIONS% that carries over all needed flags. * lib/am/configure.am (%MAKEFILE-IN%): Adjust rule. * tests/flavor.test: New test, to ensure --$flavor (gnu, gnits, foreign, cygnus), --ignore-deps, and --silent-rules are preserved across automake reruns. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues bee1af31 2009-03-09T21:57:49 Provide variables for silencing of user rules. * automake.in (handle_languages): Always define `AM_V_GEN' and `AM_V_at'. * doc/automake.texi (Options): Document these flags. * tests/silent7.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b0996179 2009-03-09T21:45:57 Redo variable naming for `silent' machinery. The public variables are named `AM_V_' plus the compiler short-hand now, e.g.: AM_V_CC, AM_V_CXXLD, AM_V_GEN. The dispatch variables are internal details and begin with `am__v_'. * automake.in (verbose_var): Update comment. (verbose_private_var): New function. Order functions so that ones not needed outside this section are listed first. (verbose_dispatch): Remove, no need to factor this. (define_verbose_var, define_verbose_libtool): Use verbose_private_var. (define_verbose_tagvar): Likewise; and simplify. Report by Jan Engelhardt. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues f04bfdf3 2009-03-07T16:01:34 New automake command line option `--silent-rules'. * automake.in (parse_arguments): Accept `--silent-rules; let it override command line warning settings. (usage): Document it. * doc/automake.texi (Invoking Automake): Document it. * NEWS: Update. * tests/dollarvar.test: Also test `--silent-rules'. * tests/pr300-ltlib.test: Use `$MAKE V=1' to enable verbose output, which is matched later in the test. * tests/silent6.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jan Engelhardt e0bd4af1 2009-03-07T15:58:07 Implement `silent' build rules. * automake.in (ccer): New field in the language structure. Initialize it for all registered languages. (verbose_var, verbose_flag, verbose_dispatch) (silent_flag, define_verbose_var, define_verbose_tagvar) (define_verbose_libtool): New functions. (handle_languages, handle_programs, handle_libraries) (handle_ltlibraries, handle_configure) (define_compiler_variable, define_linker_variable) (define_per_target_linker_variable): Use them where appropriate to define variables to implement the silent output machinery. * lib/Automake/Options.pm (_process_option_list): Accept `silent', turning off `portability-recursive'. * lib/am/depend2.am: Add %VERBOSE% and %SILENT% prefixes where appropriate. * lib/am/lex.am: Likewise. * lib/am/library.am: Likewise. * lib/am/ltlibrary.am: Likewise. * lib/am/program.am: Likewise. * lib/am/yacc.am: Likewise. * m4/init.m4 (AM_INIT_AUTOMAKE): Substitute, but do not define, AM_BACKSLASH. * tests/defs.in: Unset `V', to avoid influencing inner tests. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues a88a2a27 2009-03-07T10:42:34 Improve NetBSD 'make -n' output for many standard targets. * automake.in (handle_tags): Let .MAKE depend on `tags-recursive' and `ctags-recursive' if appropriate. (handle_all): Likewise for `all'. (do_check_merge_target): Likewise for `check-am' and `check'. * lib/am/ansi2knr.am (.MAKE): Depend on %ANSI2KNR-DIR%/ansi2knr. * lib/am/install.am [%?maybe_BUILT_SOURCES%] (.MAKE): Depend on `install'. * tests/maken3.test, tests/maken4.test: New tests. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 500f6ca7 2009-03-03T20:44:42 Fix `use constant' usage for MSYS Perl 5.6.0. * automake.in (QUEUE_MESSAGE, QUEUE_CONF_FILE, QUEUE_LOCATION) (QUEUE_STRING): Define using one `use constant' each; as perl 5.6.0 (on MSYS) does not understand `use constant { ... }'. * THANKS: Update. Report by Peter Rosin. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues d22169ba 2009-03-01T16:51:34 Fix recursive html and install-* doc rules for BSD make. * automake.in (%required_targets): Add html-am, install-html-am, install-dvi-am, install-pdf-am, install-ps-am, install-info-am. * tests/txinfo32.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b74717c0 2009-01-20T20:58:48 Bump copyright years. * aclocal.in (write_aclocal, version): Bump copyright years. * automake.in (gen_copyright, version): Likewise. * doc/automake.texi: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 0fb020fa 2008-12-21T22:38:37 Revamp semantics for `missing help2man' and manpage distribution. Previously, `missing help2man' would create a missing man page containing an error message, and exit 1. This does not play well with `make': the next run will see this particular man page as being up to date, and will only error out on the next generated man page, if any; repeat until all pages are done. This patch changes `missing' to exit successfully in this case, but `make dist' will ensure that no such man pages are packaged. * lib/missing: Exit successfully even if we create a replacement page due to missing help2man. * automake.in (make_paragraphs): Define %HAVE-MANS% to be true if this makefile deals with man pages. * lib/am/distdir.am (distdir): If %INSTALL-MAN% and %HAVE-MANS%, check that no man page in $(MANS) contains the replacement text from `missing'. * tests/man4.test: New test. * tests/Makefile.am: Update. * NEWS: Reorder a bit, update. * THANKS: Update. Report by Werner Lemberg and Karl Berry. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering 7e2cfbf0 2008-11-22T12:02:36 Add xz compression support. * NEWS: Mention xz, as well as lzma (xz will displace lzma). * automake.in (handle_dist): Recognize dist-xz. (make_paragraphs): Map XZ to dist-xz. * doc/automake.texi (Dist): Add dist-xz. (Options): Likewise. * lib/Automake/Options.pm (_process_option_list): Accept dist-xz. * lib/am/distdir.am (dist-xz): New rule. (dist dist-all): Add command to create an xz-compressed tarball. (distcheck): Handle xz-compressed tarballs just like the others. * tests/xz.test: New file, based on nogzip.test. * tests/Makefile.am (TESTS): Add xz.test. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 4c23b9a9 2008-11-22T11:46:39 When installing COPYING, recommend adding the file to VCS. * automake.in (require_file_internal): If installing `COPYING', mention that we install the GPLv3 file and recommend adding the file to version control. * doc/automake.texi (Invoking Automake): Point to `Gnits' node for `--add-missing'. (Gnits): Clarify semantics: that for strictness gnu or higher, INSTALL is installed, and that COPYING is installed as GPLv3 if no COPYING file exists. * tests/license2.test: New test. * tests/Makefile.am: Update. * NEWS, THANKS: Update. Report by Brian Cameron. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues bc41f1c2 2008-11-10T21:47:06 Fix typos. * NEWS: Fix typos. * automake.in: Fix typos in comments. Remove extraneous whitespace. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues bb9dfbde 2008-11-06T21:06:01 Cope with absent Perl modules threads and Thread::Queue. * automake.in: Instead of `use threads', use `require threads; import threads' inside a BEGIN section. Likewise for Thread::Queue. * lib/Automake/ChannelDefs.pm (Automake::ChannelDefs): Likewise. * lib/Automake/tests/Condition-t.pl: Likewise. * lib/Automake/tests/DisjConditions-t.pl: Likewise. * configure.ac: Likewise, use `require' and `import'. Report by Eric Blake, fix suggested by Ben Pfaff. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 370b583e 2008-11-03T22:50:16 Fix regression introduced by AM_DEFAULT_SOURCE_EXT. * automake.in (handle_source_transform): Use the right variable when determining whether to apply the old rule for the libtool library default source name. Testsuite failure exposed by Bob Proulx' build daemon. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues d20e982e 2008-11-02T22:55:30 Choose default source extension: AM_DEFAULT_SOURCE_EXT. * automake.in (handle_source_transform): Accept unconditional literal extension in AM_DEFAULT_SOURCE_EXT as override for the default source extension `.c'. If set, ignore the old default source rule for libtool libraries. * doc/automake.texi (Default _SOURCES): Document this. * NEWS: Update. * tests/specflg10.test: New test. * tests/Makefile.am: Update. Suggestion by Akim Demaille. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 6a0dc321 2008-10-26T20:49:26 Parallel automake --add-missing: serialized file installs. * automake.in (QUEUE_CONF_FILE, QUEUE_LOCATION, QUEUE_STRING): New serialization keys. ($required_conf_file_queue): New file global. (queue_required_conf_file, require_queued_conf_file): New functions, to queue and dequeue requirements for aux dir files. (require_conf_file): Enqueue if needed. (get_number_of_threads): Can do threads with --add-missing now. (handle_makefiles_threaded): Let worker threads enqueue, let master attend to queued requirements at the right time. * tests/parallel-am.test: Explain the purpose of the include chain used here. * tests/parallel-am2.test: Also cope with --add-missing. * tests/parallel-am3.test: New test, test absence of races with concurrent same-file installs stemming from --add-missing. * tests/Makefile.am: Adjust. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 3fd0df9b 2008-10-26T20:11:12 Parallel automake: ordered output messages. * lib/Automake/Channels.pm (%_default_options): New options `ordered' default enabled, `queue', default zero (no queue), `queue_key' default undefined. (_merge_options): Ensure `ordered' channels cannot have fatal messages or backtrace output. (_enqueue, _dequeue): New functions, to push messages onto a Thread::Queue, and output messages from such a queue, suitably weeded for duplicates in the same manner as _print_message. (_print_message): If the channel is ordered and has an associated queue, then enqueue messages instead of printing them. (setup_channel_queue, pop_channel_queue): New functions, to set a Thread::Queue for channels, and to flush a queue. * lib/Automake/ChannelDefs.pm: Unset channel option `ordered' for fatal, automake, and verb channels. * automake.in (QUEUE_MESSAGE): New global constant, used as serialization key. (handle_makefiles_threaded): Create message queues for each input file; workers queue messages, and the master outputs them ordered, using the new Channels.pm functions. * tests/parallel-am.test: Also check for ordered output (in the absence of --add-missing races). * tests/parallel-am2.test: New test; check for ordered output of warning and (regular) error messages. * tests/Makefile.am: Adjust. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 937775c8 2008-10-26T19:29:25 Parallel automake execution: AUTOMAKE_JOBS. * lib/Automake/Config.in (perl_threads): New global. * automake.in: Use it. If the perl supports interpreter-based threading, then use `threads' and `Thread::Queue'. (handle_makefile, handle_makefiles_serial): New functions, factored out from main. (get_number_of_threads): New function, compute number of threads to use, based on environment variable `AUTOMAKE_JOBS' and number of independent makefiles. (handle_makefiles_threaded): New function. Spawn threads, use thread queue to distribute handling the different makefiles. Collect $exit_code values from threads. (main): Use new functions. * aclocal.in: No threads here. * configure.ac: Substitute PERL_THREADS; enabled with perl >= 5.7.2 and when ithreads are available. * bootstrap (dosubst): Likewise. * Makefile.am (do_subst): Likewise. * lib/Automake/Makefile.am (do_subst): Likewise. * lib/Automake/ChannelDefs.pm: Use `Automake::Config' and `threads'. (verb): Prepend thread ID (tid) to verbose messages. * lib/Automake/Channels.pm (msg): Before exiting, flush stderr, needed for worker threads. * lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Also include the build tree path, so Config.pm is found. * tests/parallel-am.test: New test. * tests/Makefile.am: Update. * doc/automake.texi (Invoking Automake): Document AUTOMAKE_JOBS. * NEWS, THANKS: Update. Report about long execution times by Joakim Tjernlund and others. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 2b85923e 2008-10-26T18:50:17 Minor file checking optimization: set_dir_cache_file. * lib/Automake/FileUtils.pm (set_dir_cache_file): New function. * automake.in (require_file_internal): Instead of resetting the cache when a file has been installed, simply correct the cache using set_dir_cache_file. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 3497cbc5 2008-10-22T21:31:46 Cleanup of per-input global variables in automake.in. * automake.in ($output_vars, $output_all, $output_header) ($output_rules, $output_trailer): Fix comment, and sort declarations in the order they will appear in the output. ($all_target): Unused variable, remove. (Variables not reset by &initialize_per_input.): New section, clarify that %am_file_cache is not reset. (initialize_per_input): Reset $am_file_name, $am_relative_dir, $in_file_name, $relative_dir, and $topsrcdir to `undef' rather than the empty string; $topsrcdir was not reset at all. Sort remaining variables in the same order as in the section `Variables reset by &initialize_per_input'. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b6af2140 2008-10-18T11:09:14 Fix comment typos. * automake.in (require_file_internal): Fix typos in comments. * m4/amversion.in: Likewise. * lib/Automake/Variable.pm: Likewise. * lib/Automake/XFile.pm: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b9cf117b 2008-10-18T10:08:15 Diagnose unsupported uses of `backname' helper function. * automake.in (backname): Error out if the path points outside the directory it started in. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues ae4ab510 2008-10-10T07:44:01 Minor fixups for Vala support. * automake.in: $(VALAFLAGS) comes after $(AM_VALAFLAGS). * doc/automake.texi (Vala Support): Add some references, document AM_VALAFLAGS, streamline a bit. * lib/am/vala.am: Copyright blurb. * m4/vala.m4 (AM_PROG_VALAC): Rewrite using AS_VERSION_COMPARE. * tests/vala.test: Fix minor nits. * tests/vala1.test: Likewise. * tests/vala2.test: Likewise. * tests/vala3.test: Likewise. * tests/vala4.test: New test, for version argument of AM_PROG_VALAC. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Mathias Hasselmann da239ede 2008-10-10T07:38:12 Support Vala in non-recursive builds; more tests and fixes. * automake.in: Support Vala in non-recursive builds. Make sure foo_VALAFLAGS really use used. Inject --library switch when building Vala libraries. * doc/automake.texi, NEWS: Document Vala support. * m4/vala.m4: Rename AC_PROG_VALAC to AM_PROG_VALAC. * tests/Makefile.am: Additional Vala tests. * tests/vala.test: Also test VALAFLAGS support. * tests/vala1.test: Test non-recursive Vala support. * tests/vala2.test: Test _PKGNAME variables. * tests/vala3.test: Test compiling of C code generated by Vala. Signed-off-by: Mathias Hasselmann <mathias.hasselmann@gmx.de> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Mathias Hasselmann 2749b1e7 2008-10-09T20:06:20 Initial support for the vala programming language. * automake.in: Add %known_libraries, lang_vala_rewrite, lang_vala_finish and lang_vala_target_hook to support the Vala programming language. Register Vala language hooks. * lib/am/vala.am: Empty rules file to prevent creation of depend2 based rules for Vala code. * lib/am/Makefile.am (dist_am_DATA): Add vala.am. * m4/vala.m4: Provide AC_PROG_VALAC for detecting the Vala compiler. * m4/Makefile.am (dist_m4data_DATA): Add vala.m4. * tests/vala.test: Test Vala support. * tests/Makefile.am: Update. Signed-off-by: Mathias Hasselmann <mathias.hasselmann@gmx.de> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 2205fc65 2008-10-05T21:15:25 Fix some comment typos. * automake.in: Fix some comment typos. * lib/Automake/Condition.pm: Likewise. * lib/Automake/DisjConditions.pm: Likewise. * lib/Automake/Variable.pm: Likewise. * lib/Automake/tests/DisjConditions.pl: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues e5c37270 2008-09-20T13:02:23 Install nobase_lib_LTLIBRARIES before bin_PROGRAMS. * automake.in (generate_makefile): If nobase_lib_LTLIBRARIES are used, add an ugly hack to install them before bin_PROGRAMS, just like done with lib_LTLIBRARIES. * tests/ltorder.test: Add program, to expose this. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues bbedcb43 2008-09-20T12:12:42 Fix -rpath arguments for nobase_*_LTLIBRARIES. * automake.in (handle_ltlibraries): New hash %instsubdirs to track the dirname of nobase ltlibraries, and tack it onto the end of the -rpath argument. Also, fix the warning about ltlibs installed in multiple locations to fit a bit better. * tests/pr300-ltlib.test: Expose this bug here. * tests/ltinstloc.test: New test. * tests/Makefile.am: Update. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 1fb0f1ce 2008-09-04T22:04:37 For all possibly-relative subdirs, use $(am__cd). Up to now, $(am__cd) was only used within backquotes, to avoid extraneous output. This patch also uses it for every `cd' to a relative subdir, to prevent CDPATH from entering an unwanted directory. * Makefile.am (maintainer-check): Fix current check for $(am__cd) within backquotes a bit. Add new check for `cd' to a relative subdir. * automake.in (handle_tags, handle_configure): Adjust rules. * lib/am/ansi2knr.am: Likewise. * lib/am/configure.am: Likewise. * lib/am/distdir.am: Likewise. * lib/am/remake-hdr.am: Likewise. * lib/am/subdirs.am: Likewise. * lib/am/tags.am: Likewise. * lib/am/texibuild.am: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 441ec0a6 2008-06-18T00:16:25 Fix conditional rules competing with config.status rules. * automake.in (handle_configure): Teach targets about the conditional config.status rule. * tests/cond39.test: Adjust test to expose this. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 30105086 2008-06-18T00:11:36 For AC_CONFIG_LINKS(X,X), do not clean X in a non-VPATH build. * automake.in (rewrite_inputs_into_dependencies): Do distribute inputs where input and output name are equal. This relies on the assumption that it only happens with AC_CONFIG_LINKS. (handle_configure) <CONFIG_CLEAN_VPATH_FILES>: New variable, for links where source and dest are equal. * lib/am/clean.am (distclean-generic): Remove, if build tree not equal source tree. * tests/conflnk4.test: New test. * tests/Makefile.am: Adjust. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues e19a2988 2008-03-26T07:00:44 Implement conditional AC_CONFIG_FILES: AM_COND_IF. * automake.in (%ac_config_files_condition): New. (scan_autoconf_config_files): Record condition if any. (scan_autoconf_traces): Trace _AM_COND_IF, _AM_COND_ELSE, _AM_COND_ENDIF, updating @cond_stack as appropriate. (handle_configure): Prefix config.status rule with condition. Check that m4 quotation is done consistently. * m4/cond.m4 (AM_CONDITION): Define `_AM_COND_VALUE_name' with `name' being the name of the condition, to its shell condition. * m4/cond-if.m4: New file. (_AM_COND_IF, _AM_COND_ELSE, _AM_COND_ENDIF): New trace helpers. (AM_COND_IF): New macro, implements conditionals. * m4/Makefile.am: Adjust. * doc/automake.texi (Requirements, Optional, Conditionals): Document AM_COND_IF. * NEWS: Update. * tests/cond39.test, tests/cond40.test, tests/cond41.test, tests/cond42.test, tests/cond43.test: New tests. * tests/Makefile.am: Adjust. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Peter Breitenlohner f2eadff6 2008-03-11T22:26:27 Implement the `notrans_' prefix for untransformed manpages. * automake.in (handle_man_pages), lib/am/mans.am: Implement notrans_ prefix for MANS primary and rework dependencies for install-man%SECTION%; use only vars defined in Makefile.am. * doc/automake.texi (Renaming, Uniform, Man pages): Document notrans_ prefix. * NEWS: Update. * tests/notrans.test: New test. * tests/Makefile.am: Update.
Peter Breitenlohner fafa6170 2008-03-11T22:08:42 * automake.in (handle_man_pages): Reindent, for next patch.
Ralf Wildenhues 14493939 2008-03-08T13:20:20 Add support for newer Fortran extensions '.[fF]0[38]'. * automake.in (scan_autoconf_traces): Accept .f03, .f08 for Fortran, .F03 and .F08 for preprocessed Fortran files. Use $(FCFLAGS_f[09]x) accordingly. * doc/automake.texi (Compiling Fortran 9x Files): Update. * tests/fort2.test: Add more tests. * NEWS: Update.
Ralf Wildenhues c22033fc 2008-01-07T22:58:27 Stable `automake --add-missing --verbose' output. * automake.in (scan_autoconf_files): Sort loop over %required_aux_file, for stable verbose output. Report by Bruno Haible.
Stepan Kasal 8371dfd8 2008-01-07T20:34:34 * automake.in (handle_texinfo_helper, handle_lib_objects): Fix typos in comments.
Ralf Wildenhues d315aef0 2008-01-02T19:59:08 Bump copyright years. * aclocal.in (write_aclocal, version): Likewise. * automake.in ($gen_copyright, version): Likewise. * doc/automake.texi: Likewise.