Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 6c8ff6a8 | 2022-01-12 14:15:12 | maint: make update-copyright | ||
| a470a47f | 2021-07-11 19:19:42 | maint: make update-copyright | ||
| 314c55f0 | 2021-07-11 18:34:22 | no-dist-built-sources: fix-up * bin/automake.in (preprocess_file): Process new option here, (handle_dist): ... not here. * lib/Automake/Options.pm (_is_valid_easy_option): Remove pure-dist. * lib/am/distdir.am: Don't factor out the duplicate-looking $(MAKE)... command. Otherwise, many dist-using tests would fail for me, e.g., t/aclocal-amflags.sh. | ||
| 13659a73 | 2021-07-09 09:03:30 | dist: add new "dist-no-built-sources" automake option. Fixes automake bug https://debbugs.gnu.org/49317. * bin/automake.in: implement new option "no-dist-built-sources" to omit the dependency of distdir on $(BUILT_SOURCES). (Allison's original patch used the option name dist-pure; trivially renamed.) * lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: conditionalize the dependency. * lib/Automake/Options.pm (_is_valid_easy_option): list it. * doc/automake.texi (List of Automake options): document it. * NEWS: mention it. * t/dist-no-built-sources.sh: test it. * t/list-of-tests.mk (handwritten_TESTS): add it. | ||
| 22089fa6 | 2020-09-13 11:33:05 | New utility function Automake::ChannelDefs::merge_WARNINGS. This function merges a list of warnings categories into the environment variable WARNINGS, returning a new value to set it to. The intended use is in code of the form { local $ENV{WARNINGS} = merge_WARNINGS ("this", "that"); # run a command here with WARNINGS=this,that,etc } This is not actually used in automake, but will be in autoconf. * lib/Automake/ChannelDefs.pm (merge_WARNINGS): New function. | ||
| 74673d1c | 2020-09-11 18:03:19 | Consistently use ‘our’ instead of ‘use vars’. At file scope of a file containing at most one ‘package’ declaration, ‘use vars’ is exactly equivalent to ‘our’, and the latter is preferred starting with Perl 5.6.0, which happens to be the oldest version we support. (This change has nothing to do with the previous two, but I want to make the same change in Autoconf and that means doing it here for all the files synced from Automake.) (I don’t know why, but this change exposed a latent bug in FileUtils.pm where the last pod block in the file didn’t have a ‘=cut’ delimiter, so the code after it was considered documentation, causing ‘require FileUtils’ to fail.) * lib/Automake/ChannelDefs.pm * lib/Automake/Channels.pm * lib/Automake/Condition.pm * lib/Automake/Configure_ac.pm * lib/Automake/DisjConditions.pm * lib/Automake/FileUtils.pm * lib/Automake/General.pm * lib/Automake/Getopt.pm * lib/Automake/Options.pm * lib/Automake/Rule.pm * lib/Automake/RuleDef.pm * lib/Automake/VarDef.pm * lib/Automake/Variable.pm * lib/Automake/Wrap.pm * lib/Automake/XFile.pm: Replace all uses of ‘use vars’ with ‘our’. * lib/Automake/FileUtils.pm: Add missing ‘=cut’ to a pod block near the end of the file. | ||
| 9ae8a896 | 2020-09-11 16:17:41 | Consistently process -W(no-)error after all other warning options. automake and aclocal were processing ‘-W(no-)error’ whenever it appeared on the command line, which means that ‘-Werror,something-strange’ would issue a hard error, but ‘-Wsomething-strange,error’ would only issue a warning. It is not desirable for warnings about unknown warning categories ever to be treated as a hard error; that leads to problems for driver scripts like autoreconf, which would like to pass whatever -W options it got on its own command line down to all the tools and not worry about which tools understand which warning categories. Also, this sort of order dependence is confusing for humans. Change parse_warnings to take just one option, the _complete_ list of warning categories seen on the command line, and to process -Werror / -Wno-error after processing all other warnings options. Thus, unknown warnings categories will always just be a plain warning. This does mean aclocal has to stop using parse_warnings as a Getopt::Long callback, but that’s not a big deal. Similarly, change parse_WARNINGS to record whether ‘error’ appeared in the environment variable, but not activate warnings-are-errors mode itself. parse_warnings picks up the record and honors it, unless it’s overridden by the command line. * lib/Automake/ChannelDefs.pm ($werror): New package global (not exported). (parse_WARNINGS): Do not call switch_warning for ‘error’ / ‘no-error’; just toggle the value of $werror. (parse_warnings): Do not call switch_warning immediately for ‘error’ / ‘no-error’; toggle $werror instead. Call switch_warning ‘error’ at the very end if $werror is true. Remove unused $OPTION argument. * bin/automake.in: parse_warnings now takes only one argument. * bin/aclocal.in: Call parse_warnings after parse_options instead of using it as a parse_options callback. | ||
| ab9ef6cf | 2020-09-11 14:23:10 | Sync ChannelDefs.pm from autoconf. ChannelDefs.pm *ought* to be kept in sync between automake and autoconf, because it defines the set of valid -W options, and autoreconf assumes that it can pass arbitrary -W options to all of the tools it invokes. However, it isn’t covered by either project’s ‘make fetch’ and it hasn’t actually *been* in sync for more than 17 years. This patch manually brings over all of the changes made on the autoconf side. Most importantly, there is a new warnings channel ‘cross’, for warnings related to cross-compilation. Also, the ‘usage’ function now *returns* the text to be put into a usage message, instead of printing it itself. (This is necessary on autoconf’s side.) * lib/Automake/ChannelDefs.pm: Sync from autoconf. (cross): New warnings channel. (portability-recursive): Document. (usage): Now returns the text to be printed, instead of printing it. (parse_warnings): Second argument may now be a list. | ||
| 5cafaafd | 2020-08-31 18:31:04 | perl: use warnings instead of -w; consistent ordering of use, etc. Per thread at: https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00009.html * bin/aclocal.in: use warnings instead of #!...-w; consistent ordering of basic "use" directives, then BEGIN block, then standard modules in ASCII order, then Automake:: modules (not sort), finally use vars. Also sort @ISA lists and use qw(...) in ASCII order. * bin/automake.in: likewise. * lib/Automake/ChannelDefs.pm: likewise. * lib/Automake/Channels.pm: likewise. * lib/Automake/Condition.pm: likewise. * lib/Automake/Config.in: likewise. * lib/Automake/Configure_ac.pm: likewise. * lib/Automake/DisjConditions.pm: likewise. * lib/Automake/FileUtils.pm: likewise. * lib/Automake/General.pm: likewise. * lib/Automake/Getopt.pm: likewise. * lib/Automake/Item.pm: likewise. * lib/Automake/ItemDef.pm: likewise. * lib/Automake/Language.pm: likewise. * lib/Automake/Location.pm: likewise. * lib/Automake/Options.pm: likewise. * lib/Automake/Rule.pm: likewise. * lib/Automake/RuleDef.pm: likewise. * lib/Automake/VarDef.pm: likewise. * lib/Automake/Variable.pm: likewise. * lib/Automake/Version.pm: likewise. * lib/Automake/Wrap.pm: likewise. * lib/Automake/XFile.pm: remove unnecessary imports of Carp, DynaLoader, and File::Basename. | ||
| 217d6d92 | 2020-08-01 16:12:34 | port XFile locking to OpenIndiana I observed this problem on an NFS filesystem on an OpenIndiana host (5.11 illumos-dde7ba523f i386). fcntl (fd, F_SETLK, ...) failed with errno == EINVAL, which POSIX allows for files that do not support locking. * lib/Automake/XFile.pm (lock): Treat EINVAL like ENOLCK. | ||
| 19fe70ea | 2020-06-29 15:18:20 | automake: remove stray up_to_date_p * lib/Automake/FileUtils.pm (up_to_date_p): Don’t export up_to_date_p, which was removed in 2020-05-11T00:40:14Z!karl@freefriends.org. | ||
| 04567be6 | 2020-05-17 09:36:15 | automake: new variable AM_DISTCHECK_DVI_TARGET to override "dvi". This change fixes https://bugs.gnu.org/8289. * lib/am/distdir.am (AM_DISTCHECK_DVI_TARGET): define as dvi. (distcheck): use it, isntead of hardcoding dvi. * lib/Automake/Variable.pm (%_silent_variable_override): add AM_DISTCHECK_DVI_TARGET. * t/distcheck-override-dvi.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it. * doc/automake.texi (Checking the Distribution): document this. (Third-Party Makefiles): explicitly mention that EMPTY_AUTOMAKE_TARGETS is not a built-in or special name. Various other index entries and wording tweaks. * NEWS (Distribution): mention this. | ||
| afba8295 | 2020-05-10 17:40:14 | automake: remove unused Automake::FileUtils::up_to_date_p function. Per thread at: https://lists.gnu.org/archive/html/automake-patches/2020-04/msg00000.html> especially: https://lists.gnu.org/archive/html/automake-patches/2020-05/msg00003.html * lib/Automake/FileUtils.pm (up_to_date_p): remove. Nothing in Automake itself uses this. It is used in Autoconf's autom4te utility, but Autoconf has its own copy, and the duplication was impeding auto4mte development, as discussed in the thread above. (While here, insert missing =over/=back to placate pod2text.) * NEWS (Miscellanous changes): note this. | ||
| cf27a3df | 2020-01-01 11:44:41 | maint: make update-copyright | ||
| 5c466eaf | 2019-10-04 16:39:24 | dist: add dist-zstd option Add support for using the zstd compression algorithm. Use a default compression setting of -19, and ".zst" as the suffix. * bin/automake.in (handle_dist): Add zstd to the list of known dist- suffixes. (preprocess_file): Map ZSTD to dist-zstd. * doc/automake.texi: Document the new option. * lib/Automake/Options.pm (_is_valid_easy_option): Add dist-zstd. * lib/am/distdir.am (dist-zstd): New rule. (?ZSTD?DIST_TARGETS): Add definition. (distcheck): Add a case for *.tar.zst*. * t/dist-formats.tap: Add tests. * NEWS: Mention the change. | ||
| 5ae02cc8 | 2019-10-14 13:46:55 | maint: make update-copyright | ||
| 74902aa2 | 2018-03-03 23:50:10 | automake: Don't rely on List::Util to provide 'none' This change fixes automake bug#30631. This removes the use of List::Util which is not supported by Perl 5.6, by reimplementing the 'none' subroutine. * lib/Automake/General.pm (none): New subroutine. * bin/automake.in (handle_single_transform): Use it. * t/pm/General.pl: New test. * t/list-of-tests.mk (perl_TESTS): Add it. * NEWS: Update. | ||
| bbaa4cdc | 2018-01-04 16:19:30 | maint: Update copyright years to 2018 This update has been made with 'make update-copyright'. | ||
| 5e202df2 | 2017-09-23 12:19:43 | maint: Make Emacs use 'makefile-automake-mode' * bin/local.mk: Specify mode name in the first line. * contrib/t/local.mk: Likewise. * doc/local.mk: Likewise. * lib/Automake/local.mk: Likewise. * lib/am/local.mk: Likewise. * lib/local.mk: Likewise. * m4/local.mk: Likewise. * t/local.mk: Likewise. | ||
| 6cb3b835 | 2017-09-22 23:06:15 | maint: Configure Emacs automatically with ".dir-locals.el" * .dir-locals.el: New Emacs directory configuration file. All perl files adapted. | ||
| c2757b97 | 2017-09-19 13:43:07 | maint: Reset master | ||
| 3562e384 | 2017-09-16 13:03:36 | Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here. | ||
| 199e7a44 | 2017-09-16 13:03:36 | Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here. | ||
| f389ecb8 | 2017-08-31 19:23:42 | Merge branch 'minor' | ||
| e94c0186 | 2017-08-31 14:42:13 | build: Rename "Makefile.inc" Makefile fragments to "local.mk" This is done to follow a convention used by a lot of GNU packages. * bin/Makefile.inc: Rename to ... * bin/local.mk: ... this. * doc/Makefile.inc: Rename to ... * doc/local.mk: ... this. * lib/Automake/Makefile.inc: Rename to ... * lib/Automake/local.mk: ... this. * lib/am/Makefile.inc: Rename to ... * lib/am/local.mk: ... this. * lib/Makefile.inc: Rename to ... * lib/local.mk: ... this. * m4/Makefile.inc: Rename to ... * m4/local.mk: ... this. * contrib/t/Makefile.inc: Rename to ... * contrib/t/local.mk: ... this. * t/Makefile.inc: Rename to ... * t/local.mk: ... this. Adapt. * Makefile.am: Adapt. | ||
| dd0b8142 | 2017-08-29 14:16:24 | config: Support AUTOMAKE_LIBDIR environment variable * lib/Automake/Config.in: Let AUTOMAKE_LIBDIR environment variable override the default location for '$libdir'. * doc/automake.texi (automake Invocation): Document AUTOMAKE_LIBDIR. * pre-inst-env.in (AUTOMAKE_LIBDIR): Set AUTOMAKE_LIBDIR. * bin/wrap-automake.in: Don't use "--libdir" option. | ||
| cc7231cc | 2017-06-16 23:07:00 | Merge branch 'minor' | ||
| d8add592 | 2017-03-02 18:55:53 | maint: Update copyright years to 2017. This update has been made with 'make update-copyright'. | ||
| 1370ce5f | 2017-01-01 08:34:49 | maint: update copyright dates for 2017 * all files: Run this command, using update-copyright from gnulib: UPDATE_COPYRIGHT_FORCE=1 \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 \ update-copyright $(git ls-files) | ||
| 2f0293e1 | 2015-01-05 22:55:51 | Merge branch 'minor' * minor: maint: update copyright years to 2015 (branch 'micro') | ||
| 5de75f07 | 2015-01-05 22:48:33 | maint: update copyright years to 2015 (branch 'micro') Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a000546b | 2014-04-21 15:12:29 | Merge branch 'minor' * minor: maint: update copyright years maint: sync files from upstream ("make fetch") Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a78f63c5 | 2014-04-21 15:10:54 | maint: update copyright years We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| bd31e343 | 2013-12-26 21:01:30 | Merge branch 'minor' * minor: Allow user to extend .PRECIOUS target cosmetics: remove a couple of extra trailing white spaces tests: fix a spurious failure on Mac OS X docs: make clear the JAVA primary is frozen install-sh: a slightly better diagnostic, and tests enhancements install-sh: be stricter in catching invalid usages tests: more significant names for some tests tests: some cosmetic fixes tests: more significant names for a test docs: drop a few obsolescent FIXME/TODO comments, and associated text testsuite harness: report test exit status in log file TAP driver: no need to invoke AC_PROG_AWK directly TAP driver: remove perl implementation (move it into contrib/) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f0a7083a | 2013-12-26 19:31:15 | Allow user to extend .PRECIOUS target References: <http://lists.freedesktop.org/archives/systemd-devel/2013-July/012155.html> <http://lists.gnu.org/archive/html/automake/2013-07/msg00011.html> * bin/automake.in: Adjust to ensure we handle '.PRECIOUS' the same way we do for '.PHONY' and '.MAKE'. * lib/Automake/Rule.pm: Likewise. * t/precious.sh: New test. * t/list-of-tests.mk: Add it. * t/phony.sh: Enhance a little while at it. * NEWS: Update. * THANKS: Likewise. Reported-by: Holger Hans Peter Freyther <holger@freyther.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 65fecfc5 | 2013-11-02 10:57:50 | Merge branch 'minor' * minor: cosmetics: fix typo in a user-facing message in tests automake: account for perl hash order randomization tests: avoid use of intervals to capitalize letters cosmetics: untabify the install-sh script install-sh: assume that "set -f" and "set +f" work... install-sh: assume ${var:-value} works as expected install-sh: assume 'dirname' is available and working correctly distcheck: don't allow overriding of --prefix and --srcdir by the user tests: expose bug#14991 (relates to 'distcheck') | ||
| 52e64045 | 2013-07-21 17:58:05 | automake: account for perl hash order randomization Try to explicitly order the keys of some perl hashes when looping on them to do sanity/correctness checks and possibly display warning messages; this should ensure a more reproducible output. Not really a big deal, but I prefer to keep the order of such output reproducible if possible. Issue revealed by spurious testsuite failures with perl 5.18, as reported in automake bug#14891. See also: <http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization> <http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html> * lib/Automake/Variable.pm (variables): Explicitly order the values of the returned Automake::Variable instances. (variables_dump): Simplify, using the knowledge that 'variables()' now sorts its output. * t/preproc-errmsg.sh: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f61b6ef9 | 2013-06-13 01:48:54 | Merge branch 'maint' * maint: THANKS: update e-mall address for Ralf Corsepius lang, suffix rules: don't require C stuff needlessly tests: expose automake bug#14560 maint: add a missing copyright notice sync: update config.guess from upstream tests: expose automake bug#13928 comments: fix some out-of-sync refs to test scripts tests: expose automake bug#13940 | ||
| 6febcd41 | 2013-06-12 21:22:58 | Merge branch 'micro' into maint * micro: THANKS: update e-mall address for Ralf Corsepius lang, suffix rules: don't require C stuff needlessly tests: expose automake bug#14560 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 4f7cc4fe | 2013-06-11 21:20:18 | lang, suffix rules: don't require C stuff needlessly This change fixes automake bug#14560: when two or more user-defined suffix rules were present in a single Makefile.am, automake would needlessly include definition of some make variables related to C compilation in the generated Makefile.in. * automake.in (handle_languages): Fix logic to decide whether or not to include definitions of C compilation related variables in the generated Makefile.in: instead of doing so when two or more user-defined suffix rules are seen (which is a completely bogus criterion), do so when two or more compiled languages are used. * lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used. (@EXPORT): Adjust. * t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script 'suffix-extra-c-stuff-pr14560.sh', which now passes. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9892eb78 | 2013-06-09 11:37:01 | Merge branch 'micro' into maint * micro: maint: add a missing copyright notice sync: update config.guess from upstream tests: expose automake bug#13928 comments: fix some out-of-sync refs to test scripts tests: expose automake bug#13940 | ||
| f7492285 | 2013-06-08 17:56:34 | comments: fix some out-of-sync refs to test scripts Those script has been renamed since those comments where written. * lib/Automake/Rule.pm: Adjust. * lib/am/distdir.am: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3492b7a8 | 2013-05-29 10:50:35 | Merge branch 'maint' * maint: NEWS: fix typos and grammaros NEWS: document fix for bug#14441 Automake::Rule: consistently prepend underscore to private variables Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() Automake::Rule: adjust comments and POD according to previous changes Automake::Rule: make private variables lexically scoped suffix rules: better distinction between builtin and user-derived Automake::Rule: expose suffix rules as a function, not a scalar tests: expose automake bug#14441 | ||
| c98d5235 | 2013-05-29 10:39:58 | Merge branch 'micro' into maint * micro: NEWS: fix typos and grammaros NEWS: document fix for bug#14441 Automake::Rule: consistently prepend underscore to private variables Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() Automake::Rule: adjust comments and POD according to previous changes Automake::Rule: make private variables lexically scoped suffix rules: better distinction between builtin and user-derived Automake::Rule: expose suffix rules as a function, not a scalar tests: expose automake bug#14441 | ||
| f98ca068 | 2013-05-28 10:56:30 | Automake::Rule: consistently prepend underscore to private variables * lib/Automake/Rule.pm (%suffix_rules): Rename ... (%_suffix_rules): ... like this. (%suffix_rules_builtin): Rename ... (%_suffix_rules_builtin): ... like this. (reset, next_in_suffix_chain, register_suffix_rule, suffix_rules_count): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 986ca6c0 | 2013-05-27 12:55:27 | Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() * lib/Automake/Rule.pm (suffix_rule): Rename ... (next_in_suffix_chain): ... like this. (%suffix_rules): Adjust comments. (@EXPORT): Adjust. * automake.in (derive_suffix): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1246ace6 | 2013-05-27 12:30:14 | Automake::Rule: adjust comments and POD according to previous changes * lib/Automake/Rule.pm: Here, in several places. * automake.in (register_language): And a tiny adjustment here as well. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 71e0af47 | 2013-05-27 12:24:02 | Automake::Rule: make private variables lexically scoped * lib/Automake/Rule.pm (@_known_extensions_list): This one. (@_suffixes): And this one. (%_rule_dict): And this one. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6d4ffd83 | 2013-05-27 11:14:22 | suffix rules: better distinction between builtin and user-derived Fixes automake bug#14441. * lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ... (%suffix_rules_builtin): ... this lexical variable. ($suffix_rules): Remove, superseded by ... (%suffix_rules): ... this lexical variable. (suffix_rules, suffix_rules_count): Adjust. (register_suffix_rule): Update '%suffix_rules_builtin' rather than '%suffix_rules' if the location (as passed by the '$where' argument) is an "internal" one (doesn't come from user-provided Makefile.am). (reset): Simplify resetting of '%suffix_rules' to the default ones accordingly. * t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 55f82a80 | 2013-05-27 10:44:06 | Automake::Rule: expose suffix rules as a function, not a scalar This is just a preparatory refactoring in view of future patches. No semantic change is intended. * lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level variable to a lexical variable. (suffix_rule): New function, expose the details of $suffix_rules that are actually required by code outside thus modules --- and only those details, no more. (@EXPORT): Adjust. * automake.in (derive_suffix): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9fabb5e4 | 2013-01-10 19:54:13 | Automake::Language: drop unused fields 'compile_flag' and 'output_flag' They are unused after the recent flurry of changes. This is just a simplification; no semantic change is intended. * lib/Automake/Language.pm (Class::Struct): Remove unused fields here. * bin/automake.in: And here, in all the 'register_language()' invocations. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3c331df4 | 2013-05-13 21:38:46 | Merge branch 'maint' * maint: Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O compile: avoid AC_PROG_CC messy rewrite options: tiny simplification in dealing with incompatible versions | ||
| f233bf8f | 2013-05-11 10:25:33 | options: tiny simplification in dealing with incompatible versions * lib/Automake/Options.pm (_process_option_list): Here, when an incompatible version number option is detected, there's no need to call error() with the "uniq_scope => US_GLOBAL" switch. In fact, if the same incompatible version number is specified in AUTOMAKE_OPTIONS in both (say) 'Makefile.am' and 'sub/Makefile.am', we want each such erroneous usage reported separately, rather than just the first time it is encountered (as we'd expect to happen when "uniq_scope => US_GLOBAL" is used). Ideally, this change should have been folded into the similar commit 'v1.13.1d-129-gf7ef16f', but we noticed that too late. Oh well. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 4c39a5fa | 2013-05-11 01:13:46 | options: consistently use return statuses to report errors (more) This is a follow-up to commit 'v1.13.1d-128-g6e486c5', needed to deal with errors that are only present in the 'master' branch (while the reported commit was on the 'maint' branch). * lib/Automake/Options.pm (_process_option_list): Adjust, where dealing with the removed options 'dist-shar' and 'dist-tarZ'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 65643c8d | 2013-05-11 01:06:58 | Merge branch 'maint' * maint: options: try to report as much errors as possible warns: don't tell AM_PROG_MKDIR_P is going to be removed refactor: fix few "inverted boolean" usages options: better name for an internal function options: more consistency in use of return statuses to report errors options: tiny simplification in dealing with erroneous opts options: consistently use return statuses to report errors options: re-enable some sanity checks THANKS: update Eric Blake's e-mail address NEWS: typofix Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9f21b55d | 2013-05-11 00:28:15 | options: try to report as much errors as possible For example, if two invalid options are used in AUTOMAKE_OPTIONS, don't report just the first one, but both of them. * lib/Automake/Options.pm (_process_option_list): Do so by avoiding early returns in here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 90ec3fe5 | 2013-05-10 23:50:25 | refactor: fix few "inverted boolean" usages In some subroutines, we used a return value of 0 to indicate success, and a return status of 1 to indicate failure. That was not very consistent with the perl interpretation of 0 as a false value and 1 as a true value. So we now invert the meaning of the exit statuses. * lib/Automake/Options.pm (_process_option_list): Here. (process_global_option_list, process_option_list): And by reflex, here as well. * bin/automake.in (handle_options): And here. (generate_makefile, scan_autoconf_traces): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9a0d4868 | 2013-05-10 23:29:04 | options: better name for an internal function * lib/Automake/Options.pm (_option_must_be_from_configure): Rename ... (_option_is_from_configure): ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 117ddf8d | 2013-05-10 23:08:28 | options: more consistency in use of return statuses to report errors * lib/Automake/Options.pm (_option_must_be_from_configure): By giving a proper return status here. (_process_option_list): And using it here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f7ef16fe | 2013-05-10 23:01:27 | options: tiny simplification in dealing with erroneous opts * lib/Automake/Options.pm (_process_option_list): Here, when an invalid option is detected, there's no need to call &error with the "uniq_scope => US_GLOBAL" switch. In fact, if the same erroneous option is specified in AUTOMAKE_OPTIONS in both (say) 'Makefile.am' and 'sub/Makefile.am', we want each such erroneous usage reported separately, rather than just the first time it is encountered (as happens when "uniq_scope => US_GLOBAL" is used). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6e486c5d | 2013-05-10 22:50:54 | options: consistently use return statuses to report errors * lib/Automake/Options.pm (_process_option_list): Here. (process_option_list, process_global_option_list): Remove redundant use of 'return'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b636268a | 2013-05-10 22:34:21 | options: re-enable some sanity checks They had been unwittingly disabled by a slightly incorrect code ordering. * lib/Automake/Options.pm (process_option_list): Here. (process_global_option_list): And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1ffdec45 | 2013-05-10 21:56:12 | dist: remove support for shar and tarZ formats See also discussion about automake wishlist bug#13324. * lib/Automake/Options.pm: Give fatal errors (rather than warnings) if the 'dist-shar' or 'dist-tarZ' options are used. * lib/distdir.am: Remove the 'dist-tarZ' and 'dist-shar' targets, and references to the '.tar.Z' and '.shar' archives. * bin/automake.in (preprocess_file): Remove 'COMPRESS' and 'SHAR' transforms. (handle_dist): Remove lingering references to 'dist-tarZ' and 'dist-shar' options. * doc/automake.texi: Adjust, removing references to the removed targets and distribution formats. * t/dist-shar.sh: Adjust to expect fatal errors rather than warnings. * t/dist-tarZ.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0cf58ea7 | 2013-05-10 21:18:40 | Merge branch 'maint' * maint: news: document new 'subdir-objects' warning PLANS: one minor fixlet (mostly cosmetic) PLANS: we have already dropped support for split info files in master NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended PLANS: fix reference to non-existent 'next' branch PLANS: fix botched version reference maintcheck: fix two references to old location of aclocal and automake dist: deprecated shar and tar+compress formats | ||
| 780299d9 | 2013-05-10 19:22:06 | dist: deprecated shar and tar+compress formats See also discussion about automake wishlist bug#13324. * lib/Automake/Options.pm: Give proper warnings in the 'obsolete' category if the 'dist-shar' or 'dist-tarZ' options are used. * lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are invoked, make them give a non-fatal warning. * doc/automake.texi: Report the new deprecations. * t/dist-shar.sh: New test. * t/dist-tarZ.sh: Likewise. * t/lzma.sh: While at it, rename ... * t/dist-lzma.sh: ... like this, and tweak it to keep more in sync with the new tests. * t/dist-formats.tap: Remove references to deprecated formats. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0dd95c8d | 2013-05-10 13:33:52 | Merge branch 'maint' * maint: automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/ am: prefer a shorter idiom where possible cosmetics: fix few typos, grammaros and missing whitespace fixup: remove an obsolete comment docs: we still don't have the promised better Java interface build: move automake and aclocal in 'bin' subdir build: break up monolithic Makefile.am in subdir-specific fragments + Extra non-trivial edits: * m4/Makefile.inc (dist_automake_ac_DATA): Drop lead-dot.m4 and mkdirp.m4. * lib/Automake/Makefile.inc (dist_perllib_DATA): Drop Configure_ac.pm. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c8f106c7 | 2013-05-09 11:17:47 | build: break up monolithic Makefile.am in subdir-specific fragments This is convenient to do, now that we have improved "relative directory" support with the '%reladir%' (a.k.a. '%D%') and '%canon_reladir%' (a.k.a. '%C%') Automake-time substitutions for included makefile fragments. This move also satisfy our philosophy of using new Automake features in our own build system, as a way of facilitating early discovery of possible bugs or interface warts. * Makefile.am: Break up ... * doc/Makefile.inc, lib/Automake/Makefile.inc, lib/Makefile.inc, lib/am/Makefile.inc, m4/Makefile.inc, t/Makefile.inc): ... in this new included fragments. Adjust as needed, and make deliberate use of the '%D%' substitution. * contrib/t/local.am: Rename ... * contrib/t/Makefile.inc: ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 389f32eb | 2013-04-19 15:46:54 | Merge branch 'maint' * maint: Add missing '$' for variable expansion in depout.m4 maintcheck: avoid spurious failure perl: perl subroutine prototypes are problematic, don't use them fixup: one stray reference to older versioning scheme | ||
| ce98f22e | 2013-04-19 15:46:36 | Merge branch 'branch-1.13.2' into maint * branch-1.13.2: Add missing '$' for variable expansion in depout.m4 fixup: one stray reference to older versioning scheme | ||
| 98a0b71f | 2013-02-21 19:25:55 | fixup: one stray reference to older versioning scheme * lib/Automake/Options.pm: Here, in a FIXME comment: reference "Automake 3.0" rather than "Automake 1.15". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a5ed87e7 | 2013-02-21 16:39:22 | Merge branch 'maint' into master * maint: maint: more adjustments to the new versioning scheme aclocal: fix for more-than-once specified directories aclocal: just warn if the primary local m4 dir doesn't exist (don't error) coverage: expose automake bug#13760 tests: refactor/enhance tests about make dry-run mode maint: describe new versioning and branching scheme, and adjust to it cosmetics: fix some "docstring-like" comments in automake Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5daad702 | 2013-02-20 22:14:55 | Merge branch 'branch-1.13.2' into maint * branch-1.13.2: coverage: expose automake bug#13760 tests: refactor/enhance tests about make dry-run mode maint: describe new versioning and branching scheme, and adjust to it Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 97aaf121 | 2013-02-17 10:25:29 | maint: describe new versioning and branching scheme, and adjust to it See discussion about automake bug#13578 for more details and background. Basically, for the versioning scheme: - micro versions only for bug and regression fixing; - minor versions for new backward-compatible features, and new non-fatal deprecations; - major versions for backward-incompatibilities, complex new features, and major refactoring. And for the git branching scheme: + branch 'next' is for the upcoming major version; + branch 'master' is now for the upcoming minor version; + branch 'maint' is for the upcoming micro (bug-fixing) version; + the merging hierarchy is: 'maint' -> 'master' -> 'next'. * HACKING (Automake versioning and compatibility scheme): New. (Working with git): Adjust. * NEWS: Update and fix. * aclocal.in: Adjust some "FIXME" messages. * automake.in: Likewise. * m4/mkdirp.m4: Likewise. * t/aclocal-acdir.sh: Likewise. * t/aclocal-macrodir.tap: Likewise. * t/aclocal-macrodirs.tap: Likewise. * lib/Automake/Options.pm: Likewise. * m4/internal/ac-config-macro-dirs.m4: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5e074aa5 | 2013-02-16 19:39:07 | Merge branch 'maint' * maint: style: call perl functions 'like_this()', not '&like_this()' maint: use more perl subroutines prototypes in the automake script build: auto-generate perl subroutines prototypes for automake and aclocal refactor: rip module Automake::Language out of automake script Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e7b9d315 | 2013-02-04 23:37:23 | maint: use more perl subroutines prototypes in the automake script * automake.in: Throughout this file. Note that these new prototypes are not much useful, since many subroutine calls still use the old '&foo' form; but we'll take care of that in later patches. * lib/Automake/Language.pm (target_hook): Call the '_target_hook' of the given language in a more modern form, avoiding '&'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6d9e9dd4 | 2013-02-04 19:34:03 | refactor: rip module Automake::Language out of automake script This is just a preparatory patch in view of future changes. * lib/Automake/Language.pm: New module, ripped out from ... * automake.in: ... here. Related adjustments. * Makefile.am (dist_perllib_DATA): List the new module. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 84d77cd6 | 2013-01-12 13:54:43 | Merge branch 'maint' * maint: tests: remove most uses of the AM_PROG_CC_C_O obsolete macro coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors INSTALL: update copyright years ithreads: use runtime (not configure time) detection of perl threads copyright: add few missing copyright notices maint: files in PLANS are to be exempted from copyright notice maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable copyright: update some copyright years Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 18262668 | 2013-01-12 00:19:40 | ithreads: use runtime (not configure time) detection of perl threads I can't imagine the runtime checks being a big runtime penalty, so there shouldn't be a need to do the checks at configure check and hardcode the result in the generated automake. With the current system, it means if you change your perl config (build perl w/threads, build automake, build perl w/out threads), or deploy a compiled automake package on a different system (build had threads, but deployed system does not), you get errors when trying to run automake. So take the logic from configure.ac and move it to the one place where PERL_THREADS is used (lib/Automake/Config.in) and do the version/config checking at runtime. * bootstrap.sh (PERL_THREADS): Delete assignment and use in sed. * configure.ac (am_cv_prog_PERL_ithreads, PERL_THREADS): Delete all code related to these two variables. * lib/Automake/Config.in (perl_threads): Initialize to 0, and only set to 1 if the perl version is at least 5.007_002, and useithreads is in Config. Copyright-paperwork-exempt: yes Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e4fc1dad | 2013-01-03 14:42:55 | Merge branch 'maint' * maint: build: don't enable 'color-tests' automake option explicitly build: enable all warnings as fatal in our own build system texi: Texinfo sources and CLEANFILES definition should co-exist peacefully tests: make two new test executable runtest: better command line API tests: move runtest.in away from the top-lever directory maint: move more maintainer files in the 'maint/' subdir tests: more significant names for some tests maint: add some of my maintainer-specific scripts texi: deprecate hack about info files in CLEANFILES variables texi: info files can be generated in the builddir | ||
| 36ee783a | 2012-04-03 22:02:55 | texi: info files can be generated in the builddir User can now ask info files to be built in the $(builddir), rather than the $(srcdir), by specifying the Automake option 'info-in-builddir'. This feature was requested by the developers of GCC, GDB, GNU binutils and the GNU bfd library. See the extensive discussion about automake bug#11034 for more details. OK, to be honest, having '.info' files built in the builddir was *already* possible, but only using ugly and undocumented hacks involving definition of the CLEANFILES and/or DISTCLEANFILES. For example, the binutils project did something like this in the relevant 'Makefile.am': # Automake 1.9 will only build info files in the objdir if they are # mentioned in DISTCLEANFILES. It doesn't have to be unconditional, # though, so we use a bogus condition. if GENINSRC_NEVER DISTCLEANFILES = binutils.info endif See also the extensive discussion about automake bug#11034; in particular, the following messages: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#65> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#80> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#86> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#101> * lib/Automake/Options.pm (_is_valid_easy_option): Recognize the new 'info-in-builddir' option. * automake.in (handle_texinfo_helper): If that option is set, initialize '$insrc' to '0', so that info files will be generated in the builddir. Adjust comments to match. * t/txinfo-builddir.sh: New test. * t/list-of-tests.mk: Add it. * NEWS: Update. * doc/automake.texi: Document the new options. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b98aab9f | 2012-12-31 18:24:03 | Merge branch 'maint' * maint: maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7df8b28c | 2012-12-31 18:18:37 | maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 11fac8b2 | 2012-12-31 13:45:05 | Merge branch 'maint' * maint: tests: enhance and tweak some texinfo tests tests: remove a redundant texinfo test tests: don't list a removed tests in XFAIL_TESTS tests: more explicative names for some tests cleanup: drop a redundant %?FIRST% transform maint: state when compatibility cruft should be removed or warned about Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b6602b33 | 2012-12-31 09:53:43 | maint: state when compatibility cruft should be removed or warned about * automake.in: Here. * lib/Automake/Options.pm: And here. * m4/obsolete-err.m4: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7626e632 | 2012-05-25 17:51:01 | cleanup: get rid of 'Automake::Configure_ac' module Now that we unconditionally assume the Autoconf input is named "configure.ac", it's easier and clearer to inline the checks on the existence of such a file directly in the automake and aclocal scripts. This change is basically a backport of the 'v1.12-327-gee6d72a' commit from Automake-NG. * lib/Automake/Variable.pm (Automake::Configure_ac): Drop this import. ($configure_ac): Define to "configure.ac", unconditionally. * automake.in: Likewise. Also, in main code, check the existence of 'configure.ac' directly, instead of calling the now-removed 'require_configure_ac' function. * aclocal.in: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| bff57c88 | 2012-05-25 17:50:59 | Drop support for 'configure.in' as the Autoconf input file The autoconf input should be named 'configure.ac' instead. The use of 'configure.in' has been deprecated in Autoconf since at least the 2.13 -> 2.50 transition, and future Autoconf versions (starting with 2.70 probably) will start to warn about it at runtime. Automake has been warning about it since the 1.13 release. This change is basically a backport of commit 'v1.12-325-g927d4cb', from Automake-NG. * lib/Automake/Configure_ac.pm (find_configure_ac): Don't look for 'configure.in' if 'configure.ac' is not found. (require_configure_ac): On failure, don't tell that "'configure.ac' or 'configure.in' is required", but just that "'configure.ac' is required". * automake.in (@common_sometimes): Don't list 'configure.in'. (scan_autoconf_files): Adjust heading comments. * NEWS: Update. * t/help.sh: Adjust. * t/configure.sh: Remove as obsolete. * t/list-of-tests.mk: Adjust. | ||
| 076e8fa2 | 2012-09-05 14:40:52 | Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" news: cygnus will be removed in automake 1.13 news: some changes for 1.13 has been "de-planned" news: report that the have seen fixlets after 1.12.3 warns: enable category 'obsolete' by default Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cf41f5af | 2012-09-04 14:50:49 | warns: enable category 'obsolete' by default No surprise that our users were bitten by backward-incompatible changes especially hard: the warnings in the 'obsolete' category, that might have informed them of the upcoming incompatibilities, and help them to prepare for the transition, where not enabled by default! * NEWS, doc/automake.texi: Update. * lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete' by default. * t/warnings-obsolete-default.sh: New test. * t/list-of-tests.mk: Add it. * t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as autoconf input file, to avoid spurious aclocal errors. * t/backcompat2.sh: Likewise. * t/backcompat3.sh: Likewise. * t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust heading comments. * t/backcompat6.sh: Likewise. * t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e92bd2e7 | 2012-06-02 09:54:17 | Merge branch 'maint' * maint: news: document deprecation of configure.in news: put planned backward compatibilities early sync: update files from upstream with "make fetch" maint: deprecate 'configure.in' as autoconf input maint: post-release minor version bump release: stable release 1.12.1 copyright: update copyright years in a couple of files tests: avoid spurious failures with Solaris 9 cscope program maintcheck: fix a spurious failure perf: beginning of a performance testsuite aclocal: declare function prototypes, do not use '&' in function calls news: support for configure.in will be dropped in future automake versions tests: fix botched heading comments in 'lex-clean-cxx.sh' [ng] maintcheck: some tweaks and fixlets help: fix a typo in the list of warning categories maint: version bump after beta release release: beta release 1.12.0b (will become 1.12.1) release: remove overly picky check Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 96497293 | 2012-06-01 19:15:29 | maint: deprecate 'configure.in' as autoconf input It has been years since that has been deprecated in the documentation, in favour of 'configure.ac': Previous versions of Autoconf promoted the name configure.in, which is somewhat ambiguous (the tool needed to process this file is not described by its extension), and introduces a slight confusion with config.h.in and so on (for which '.in' means "to be processed by configure"). Using configure.ac is now preferred. It's now time to start giving runtime warning about the use of 'configure.in', so that support for it can be removed in future versions of autoconf/automake. See also, in the Autoconf repository, commit 'v2.69-4-g560f16b' of 2012-05-23, "general: deprecate 'configure.in' as autoconf input". * lib/Automake/Configure_ac.pm: Issue a warning in the 'obsolete' category if 'configure.in' is detected. Since this module is synced from Automake, this change is to be backported there (and will be soon). * t/help.sh: Adjust. * t/configure.sh: Adjust and enhance. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0d1e28a8 | 2012-05-21 15:44:14 | help: fix a typo in the list of warning categories * lib/Automake/ChannelDefs.pm (usage): s/none'/none/. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5e771b27 | 2012-05-18 18:00:51 | check: the parallel-tests driver is now the default The old serial testsuite driver is still supported, and can be activated by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773' of 2012-02-20, "automake: new option 'serial-tests'"). * lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op (but still explicitly recognized, for backward compatibility), while the 'serial-tests' option is recognized and registered. * automake.in: Adjust to ensure that the parallel test harness is used by default; mostly, this amounts at using "! option('serial-tests')" where "option('parallel-tests')" was used before. * NEWS, doc/automake.texi: Update. * configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is redundant now. * defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests' when the serial testsuite harness is to be used, and no option otherwise. * lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of conditional '%PARALLEL_TESTS%'. * lib/test-driver: Adjust heading comments. * t/ax/extract-testsuite-summary.pl: Likewise. * t/check-exported-srcdir.sh: Likewise. * t/check-subst.sh: Likewise. * t/java-compile-run-nested.sh: Likewise. * t/parallel-tests-dry-run-1.sh: Likewise. * t/parallel-tests-dry-run-2.sh: Likewise. * t/parallel-tests-interrupt.sh: Likewise. * t/parallel-tests-many.sh: Likewise. * t/test-metadata-global-log.sh: Likewise. * t/tests-environment-backcompat.sh: Likewise. * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment. * t/check8.sh: Likewise. * t/check-tests-in-builddir.sh: Likewise. * t/java-compile-run-flat.sh: Adjust a botched comment. * t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests' option. * t/ax/testsuite-summary-checks.sh: Likewise. * t/aclocal-path-precedence.sh: Likewise. * t/dist-aux-many-subdirs.sh: Likewise. * t/parallel-tests-no-color-in-log.sh: Likewise. * t/parallel-tests-reset-term.sh: Likewise. * t/parallel-tests-subdir.sh: Likewise. * t/check-no-test-driver.sh: Fix setup to adjust to the changed semantics. Update heading comments. * t/parallel-tests-driver-install.sh: Adjust to the new semantic. * t/test-driver-is-distributed.sh: Simplified according to the new semantics. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1e852648 | 2012-05-04 17:46:51 | Merge branch 'maint' * maint: tests: avoid spurious failure on missing Obj C/C++ compiler 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++ | ||
| 0fec8df4 | 2012-05-02 18:15:41 | Merge branch 'always-support-silent-rules' * always-support-silent-rules: silent rules: support for them is always active now Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 14141f25 | 2012-05-01 14:23:04 | silent rules: support for them is always active now Before this change, support for silent rules was optional and activated only if the 'silent-rules' option was specified. The rationale behind that behaviour was that the silent-rules machinery originally only worked with make implementations supporting nested variables expansions, which isn't (or wasn't) a POSIX-specified features; so that packages wanting to be "extra-portable" couldn't use the silent-rules machinery at all. But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011, "silent-rules: fallback for makes without nested vars" (motivated by automake bugs #9928 and #10237), Makefiles generated when the 'silent-rules' option is enabled can work also with those make implementations that don't support nested variables expansion (albeit the configure-time selected verbosity cannot be overridden at make runtime in such case). In light of that, and since silent rules are disabled by default even when the 'silent-rules' option is given (unless the developer explicitly makes them enabled by default be calling "AM_SILENT_RULES([yes])" in configure.ac), we can now have the support for silent rules always enabled. The 'silent-rules' option will thus become a no-op, but will reaming a valid option for the time being, for better backward-compatibility. A collateral effect of this change is that the use of the 'silent-rules' option will not anymore automatically disable the warnings in the 'portability-recursive' category. The present change is basically a backport of the Automake-NG commit 'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for them is always active now". Stemmed by this thread on the Automake-NG list: <http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html> * automake.in: Enable silent-rules machinery unconditionally. Reword some comments. Do not switch off warnings in the category 'portability-recursive' anymore if the 'silent-rules' option is given. * m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally. * lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option. Do not bother anymore checking that it is set in 'configure.ac'. * t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES. * t/silent2.sh: Likewise. * t/silent3.sh: Likewise. * t/silent4.sh: Likewise. * t/silent8.sh: Likewise. * t/silent9.sh: Likewise. * t/silent-lex.sh: Likewise. * t/silent-many-gcc.sh: Likewise. * t/silent-many-generic.sh: Likewise. * t/silent-yacc-headers.sh: Likewise. * t/silent-yacc.sh: Likewise. * t/silentcxx-gcc.sh: Likewise. * t/silentcxx.sh: Likewise. * t/silentf77.sh: Likewise. * t/silentf90.sh: Likewise. * t/help-silent.sh: Likewise. * t/silent-configsite.sh: Likewise, and other minor adjustments. * t/silent7.sh: Likewise. Also, extend to check that silent rules are disabled by default, and remove obsoleted checks about the 'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'. * t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'. Call automake with '-Wno-portability-recursive'. Remove other obsoleted checks. * t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in 'configure.ac' to disable warning in the 'portability-recursive' category anymore. * t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure. * t/silent-amopts.sh: Remove as obsolete. * t/silent-nowarn.sh: Likewise. * t/list-of-tests.mk: Adjust. * NEWS: Update. * doc/automake.texi: Update and simplify accordingly. * configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5b0cc395 | 2012-04-06 11:18:38 | cygnus: remove support for Cygnus-style trees Support for "Cygnus-style" tree as enabled by the 'cygnus' option has been deprecated in the documentation and with runtime warning since Automake 1.12.1. It's now time to remove it. Closes automake bug#11034. * lib/Automake/Options.pm (_process_option_list): Issue a proper error when the 'cygnus' option is seen. * automake.in: Don't handle the 'cygnus' option anymore. * docs/automake.texi: Remove references to cygnus option and Cygnus-style trees. * lib/am/dejagnu.am, lib/am/texinfos.am: Drop special setups for cygnus mode. * NEWS: Update. * t/cygnus-no-more.sh: New test. * t/flavor.sh: Adjust. * t/cygnus-deprecation.sh: Remove. * t/cygnus-check-without-all.sh: Likewise. * 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/txinfo5.sh: Likewise. * t/txinfo5b.sh: Likewise. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| df306b52 | 2012-04-26 15:01:23 | objc++: initial support for Objective C++ Original thread (dating back to almost three years ago): <http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html> * automake.in: Register new language 'objcxx'. (lang_objcxx_rewrite): New subroutine. (resolve_linker): Add OBJCXXLINK. (%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX. (%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS. * m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX. * m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook. Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8ea72c74 | 2012-04-27 16:27:08 | build: ensure release year in copyright notice is up-to-date From a suggestion by Eric Blake. See automake bug#11356. This is a follow-up to previous patch 'v1.12-12-gb99b5be'. * configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold the value of the current year. * Makefile.am (update-copyright): Be sure to also update the definition of 'RELEASE_YEAR' in configure.ac. * lib/Automake/Config.in ($RELEASE_YEAR): New exported variable, initialized from the value substituted for '@RELEASE_YEAR@'. (@EXPORT): Add it. * automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be substituted at make time) instead of hard-coding the release year. This should ensure the copyright range in the version message and in the generated files (Makefile.in and aclocal.m4) are automatically kept up-to-date. * bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 64b18e07 | 2012-04-20 10:05:51 | refactor: processing of input makefile rules This is a pure refactoring, with no intended functional or semantic changes. It breaks up an overly-long function in three smaller sub-functions. This change will very especially useful for the work on Automake-NG. * lib/Automake/Rule.pm (define): Move quite a lot of code out, into ... (_rule_defn_with_exeext_awareness, _maybe_warn_about_duplicated_target, _conditionals_for_rule): ... these new subroutines. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2d671e11 | 2012-03-29 00:31:47 | perl refactor: use modern semantics of 'open' * lib/Automake/XFile.pm: Update comments and POD documentation to suggest a more idiomatic/modern usage. (open): Be more robust in detecting whether the created file handle is being opened for writing. * lib/Automake/FileUtils.pm (update_file, contents): Call the 'Automake::XFile' and 'File::IO' constructors with two arguments rather than one; this change obsoletes ... (open_quote): ... this subroutine, which has thus been removed. (@EXPORT): Drop '&open_quote'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> |