lib/Automake

Branch


Log

Author Commit Date CI Message
Jose Marchesi 110f6376 2025-05-21T09:49:46 automake: algol68: rename A68C and A68CFLAGS back to A68 and A68FLAGS. From https://bugs.gnu.org/78518, discussion at 78481 (both automake-patches). * bin/automake.in: Rename A68C and A68CFLAGS to A68 and A68FLAGS. * doc/automake.texi: Likewise. * configure.ac: Rename GNU_A68C and GNU_A68FLAGS to GNU_A68 and GNU_A68FLAGS. * lib/Automake/Variable.pm: Likewise. * t/a68-demo.sh: Likewise.
Karl Berry 94802547 2025-04-28T15:42:52 automake: algol68: also rename [AM_]A68FLAGS to [AM_]A68CFLAGS. From https://bugs.gnu.org/78033 (automake-patches). * bin/automake.in (a68): change link and compile values. * lib/Automake/Variable.pm: likewise rename. * configure.ac: likewise rename. * doc/automake.texi: likewise rename.
Jose Marchesi 282b016e 2025-04-24T15:07:41 automake: algol68: rename A68 to A68C and AM_PROG_A68 to AM_PROG_A68C. From https://bugs.gnu.org/78033 (automake-patches). While upstreaming the Algol 68 autoconf support it was pointed out that the shell variable A68 should be renamed to A68C and that the macro AC_PROG_A68 should be renamed to AC_PROG_A68C. This is to be more consistent to the support for other languages like Go. This patch updates the Automake side. The Algol 68 code snippets are also updated to use modern stropping, which is the stropping regime now used by default by ga68. * bin/automake.in (a68): change config_vars, libtool_tags et al. * lib/Automake/Variable.pm: likewise rename. * doc/automake.texi: likewise rename. * t/a68-demo.sh: likewise modify.
Kamila Szewczyk 735a386e 2025-02-21T09:38:52 dist: add bzip3 support. From https://bugs.gnu.org/73795 (automake-patches). * bin/automake.in (handle_dist): add bzip3 support. https://github.com/kspalaiologos/bzip3 * lib/Automake/Options.pm (_is_valid_easy_option): likewise. * lib/am/distdir.am (dist-bzip3): likewise. * t/dist-formats.tap: likewise. * t/dist-bzip3.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it. * NEWS: mention this. * THANKS: add Kamila.
Jose Marchesi bbb06167 2025-02-02T10:11:24 Add support for the Algol 68 programming language. * bin/automake.in: Call register_language for Algol 68. (resolve_linker): handle A68LINK. (%_am_macro_for_cond): Add entry for am__fastdepGA68. * configure.ac: Look for ga68 and set GNU_GA68 and GNU_A68FLAGS if found. * lib/Automake/Variable.pm (%_ac_macro_for_var): Add entries for GA68 and GA68FLAGS. * t/a68-demo.sh: New test. * doc/automake.texi (Algol 68 Support): New section. * NEWS: Add entry for Algol 68.
Karl Berry fc1c3f65 2025-01-31T09:20:47 automake: just use warnings, with no => FATAL. Per Perl recommendation: https://perldoc.perl.org/warnings#Fatal-Warnings Suggested by Collin Funk: https://lists.gnu.org/archive/html/automake/2025-01/msg00003.html And in the Perl discussion: https://github.com/Perl/perl5/issues/22954#issuecomment-2622966302 * bin/aclocal.in: just use warnings, not making them fatal. * bin/automake.in: * contrib/tap-driver.pl: * gen-testsuite-part: * lib/Automake/ChannelDefs.pm: * lib/Automake/Channels.pm: * lib/Automake/Condition.pm: * lib/Automake/Config.in: * lib/Automake/Configure_ac.pm: * lib/Automake/DisjConditions.pm: * lib/Automake/FileUtils.pm: * lib/Automake/General.pm: * lib/Automake/Getopt.pm: * lib/Automake/Item.pm: * lib/Automake/ItemDef.pm: * lib/Automake/Language.pm: * lib/Automake/Location.pm: * lib/Automake/Options.pm: * lib/Automake/Rule.pm: * lib/Automake/RuleDef.pm: * lib/Automake/VarDef.pm: * lib/Automake/Variable.pm: * lib/Automake/Version.pm: * lib/Automake/Wrap.pm: * lib/Automake/XFile.pm: * t/ax/deltree.pl: * t/ax/extract-testsuite-summary.pl: * t/check-fd-redirect.sh: * t/tap-signal.tap: * t/tests-environment-fd-redirect.sh: * t/testsuite-summary-count-many.sh:
Paul Eggert 61075eab 2025-01-01T14:31:02 maint: make update-copyright
Karl Berry 24b02193 2024-10-16T14:34:11 doc: doubled words in source comments. Fixes https://bugs.gnu.org/73828 and https://bugs.gnu.org/73829. * lib/Automake/Item.pm: repeated "that". * lib/Automake/Variable.pm: repeated "by". Reports from Bjarni Ingi Gislason. Other English fixes en passant.
Karl Berry 3f9888e2 2024-09-10T15:44:57 automake: recognize all-numeric MAJ.MIN.MICROa.ALPHA versions better. * HACKING: more doc on version numbers. * configure.ac (AC_INIT): 1.17.0.91, since we want (I guess) to retain odd numbers for development and even numbers for pretests. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.0.91 (auto-update). (AM_SET_CURRENT_AUTOMAKE_VERSION): likewise. * lib/Automake/Options.pm (_process_option_list): recognize four-part numeric versions as Automake options. * lib/Automake/Version.pm (split): recognize four-part numeric versions. * t/pm/Version.pl (@tests, @bad_versions): update test to check (not reject) four-part numeric versions.
Karl Berry 9719ecd7 2024-07-08T15:04:48 automake: info about Automake and Libtool being in different prefixes. In response to https://bugs.gnu.org/71847. * doc/automake.texi (Libtool library used but LIBTOOL is undefined): new node. Tweak aclocal section. * lib/Automake/Variable.pm (require_variables): refer to the new node in the message for LT_INIT. * maintainer/maint.mk (announcement) <AO>: new fn; use it to output a link to the new node for test releases only. * HACKING: mention M-x texinfo-master-menu, et al. * doc/amhello/README: mention that the package is named amhello.
Karl Berry b020a9ca 2024-06-30T13:26:51 automake: avoid Perl-level warning on empty variable $(). https://lists.gnu.org/archive/html/automake/2024-06/msg00085.html * lib/Automake/Variable.pm (scan_variable_expansions): recognize and do nothing if the variable name is empty: $(). * t/varempty.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it.
Yves Orton f3752617 2024-06-15T18:18:35 automake: sort keys for reproducibility. Fixes https://bugs.gnu.org/25629. * bin/aclocal.in: sort keys for reproducibility. * bin/automake.in: likewise. * contrib/tap-driver.pl: likewise. * lib/Automake/Channels.pm: likewise. * lib/Automake/Condition.pm: likewise. * lib/Automake/DisjConditions.pm: likewise. * lib/Automake/Getopt.pm: likewise. * lib/Automake/Rule.pm: likewise. * THANKS: Add Yves. * NEWS: mention this.
Paul Eggert 1d35638b 2024-06-07T08:41:45 maint: spelling and whitespace fixes Most of these spelling fixes are just to comments and documentation. However, some affect tests as follows: * t/cond36.sh (tparse.h): Fix misspelling of dependency. * t/disthook.sh: Fix misspelling of file. * t/help3.sh: Fix misspelling of long option. * t/instdir-ltlib.sh: Fix misspellings of macro names. This causes the test to fail, so someone with libtool expertise needs to look into this. * t/tap-no-spurious-numbers.sh (highno): Fix misspelling of shell var.
Karl Berry 5bb9bb42 2024-01-24T15:43:24 doc: typo for Channels.pm, mention files for which we are the master. * HACKING: mention files for which we are the master. * lib/Automake/ChannelDefs.pm: typo for Automake::Channels; mention that we hold the master copy of this. * lib/Automake/Channels.pm: update/add text for master copy notice. * lib/Automake/Configure_ac.pm: likewise. * lib/Automake/FileUtils.pm: likewise. * lib/Automake/Getopt.pm: likewise. * lib/Automake/XFile.pm: likewise.
Paul Eggert b80b5c47 2024-01-01T11:29:06 maint: make update-copyright
Zack Weinberg 352d5f6f 2023-12-22T15:52:26 maint: sync autoconf Channels.pm and ChannelsDefs.pm. Patch from https://bugs.gnu.org/67971. The changes address <https://savannah.gnu.org/support/?110872>, about m4_warn code/documentation consistency. It should be impossible to reach report_bad_channel from code in Automake. * lib/Automake/Channels.pm (msg): If the channel argument is invalid, don't crash; report the mistake and use the `syntax' channel. (report_bad_channel): New function for reporting invalid channels. * lib/Automake/ChannelDefs.pm (usage): Clarify that the list of warning categories is exhaustive, and that ``all'', ``none'', ``no-CATEGORY'', and ``error'' are not warning categories.
Zack Weinberg cfdb83d4 2023-12-10T09:50:51 automake: again revise file mtime resolution support. This patch is from https://bugs.gnu.org/67670. In order for the Automake testsuite to be able to use sub-second delays to control whether certain files are considered newer than others, five(!) separate pieces of software all need to cooperate: automake itself, autoconf's internal `autom4te' utility, the Perl interpreter and its libraries, the sleep(1) shell utility, and finally the filesystem hosting the build directory. The existing tests for this are a combination of inadequate and incorrect. This patch, in conjunction with a patch just committed to Autoconf trunk, https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=39d96e6fff7ceae63b823872602caf4d255a38c8 should make everything much more robust, as follows: - _AM_FILESYSTEM_TIMESTAMP_RESOLUTION is completely rewritten. It no longer looks for autom4te at all, because this macro is invoked unconditionally from AM_INIT, so *every* project that uses Automake would get this test that's only relevant to Automake's own testsuite. Also, it tries sleeping for as little as one millisecond (smaller delays consistently get rounded up to 1ms on my computer and I expect that's universal), it should accurately detect FAT's two-second resolution now, and it should not be tripped up anymore by running at precisely the moment that will make a 0.1s sleep cross a 1s boundary (this may sound unlikely but it used to cause a couple of test failures *every time* I ran the automake testsuite on a network filesystem that only supported 1s resolution). - In support of the above, the test for working ls -t moved from AM_SANITY_CHECK to _AM_FILESYSTEM_TIMESTAMP_RESOLUTION. This allowed me to simplify the test for $srcdir/configure being older than a freshly created file. - If automake is capable of reading high-resolution file modification timestamps from the operating system, it prints `Features: subsecond-mtime' as the second line of --version output. (We can't just assume this works for sufficiently new automake, because it depends on whether the Perl interpreter provides this capability, and that's not a simple question of which version of Perl you have, either.) - The Autoconf patch mentioned above adds the same annotation to the output of autom4te --version. - Finally, t/ax/test-defs.in looks for the `Features: subsecond-mtime' string from both automake and autom4te and resets the sleep time to one second if it's not there. There might be a better place to put this, somewhere it'll execute every time the *overall testsuite* is invoked rather than once for each test, but I couldn't find one. Tested on x86-64-linux with development automake and development autoconf. Previous discussion: - https://lists.gnu.org/archive/html/automake/2023-03/msg00000.html - https://lists.gnu.org/archive/html/automake/2023-04/msg00002.html - https://lists.gnu.org/archive/html/automake/2023-12/msg00005.html - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64756 * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Rewrite for greater reliability. Don't probe autom4te at all here. Check for working ls -t here. (AM_SANITY_CHECK): Do not cache the result. Do not check for working `ls -t' here. Disentangle control flow in the loop probing the relative ages of build and source directory. * lib/Automake/FileUtils.pm: Sync from autoconf. * bin/automake.in (version): Include `Features: subsecond-mtime' in the output if $Automake::FileUtils::subsecond_mtime is true. * configure.ac: Rename the substitution variable MODIFICATION_DELAY to MTIME_RESOLUTION. * t/ax/test-defs.in: Require both $AUTOMAKE and $AUTOM4TE to report support for high-resolution timestamps before setting $sleep to delay for less than one second. * NEWS: Update info.
Vincent Lefevre 1c618bce 2023-10-06T08:18:33 automake: new option posix to emit .POSIX target first. This patch is from https://bugs.gnu.org/55025. * lib/Automake/Options.pm (_is_valid_easy_option): declare new option "posix". * bin/automake.in (generate_makefile): if the "posix" option is present, add a .POSIX special target as the first non-comment line in the Makefile.in files. * NEWS: mention this. * doc/automake.texi: likewise.
Jan Engelhardt 56766ede 2023-08-09T18:07:00 automake: portability warning for dollar-escaped dollar signs. This bug and fix was posted at https://lists.gnu.org/archive/html/automake/2023-08/msg00003.html. * lib/Automake/Variable.pm (scan_variable_expansions): rewrite scan_variable_expansions regex to handle dollar-escaped dollar signs. * t/dollarvar2.sh: test it.
Bruno Haible dbdfa65c 2023-07-20T18:03:27 automake: disable GNU make's internal pattern rules, for speed. From https://bugs.gnu.org/64743. * lib/am/footer.am: Disable GNU make's internal pattern rules. * lib/Automake/Rule.pm (_conditionals_for_rule): Add special handling for these pattern rules from footer.am. (define): Likewise. * t/nodep.sh: Update test to avoid matching the new %:: rules. * t/fnoc.sh: Update test to avoid matching the new %:: SCCS rule. * NEWS: Mention this. * doc/automake.texi (Suffixes): Likewise. (Doc changes written by Karl.)
Bogdan 4bd4640e 2023-07-01T08:34:55 automake: do not warn that POSIX variables are non-POSIX. This change fixes https://bugs.gnu.org/9587. * lib/Automake/Variable.pm (_VARIABLE_PATTERN_EXTRA_POSIX): new variable for $(*D) and the like. (_VARIABLE_PATTERN): use it. * t/vars3.sh: update test. * NEWS: mention this. POSIX spec (currently): https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
Jacob Bachmeyer efce8539 2023-02-07T22:42:59 Gracefully degrade if Time::HiRes is not available Copyright-paperwork-exempt: yes
Jacob Bachmeyer 0e127700 2023-02-07T22:39:29 Revert "maint: require perl 5.010 or later" This reverts commit 4e3744a15c4d8bdb46c11ead2fb56c5f591b714b. Copyright-paperwork-exempt: yes
Paul Eggert 01bf65da 2023-02-02T14:17:52 Use higher-resolution file timestamps * lib/Automake/FileUtils.pm (mtime): Return higher-resolution file timestamps. This isn’t perfect, but it’s better than what we had. Code change taken from Autoconf to partially fix a race <https://bugs.gentoo.org/show_bug.cgi?id=782985>.
Paul Eggert 4e3744a1 2023-02-02T14:13:24 maint: require perl 5.010 or later This is needed for better treatment of high-res timestamps.
Mike Frysinger 34bdde96 2023-01-04T02:00:14 maint: make update-copyright
Mike Frysinger 8abf0894 2022-02-20T13:28:48 automake: support embedded \# in variable appends Fixes automake bug https://bugs.gnu.org/7610. Use of \# is not portable. POSIX does not provide any way of retaining the # marker in variables. There is wide spread support for \# though in GNU & BSD Make implementations. Today, with plain variable assignments, Automake leaves the line alone: foo = blah\#blah This will leave it to the implementation to decide what to do. But if you try to append to it, Automake follows POSIX and strips it: foo = blah\#blah foo += what -> foo = blah\ what Instead, let's issue a portability warning whenever \# is used, even if it isn't being appended, and do not strip the \# when appending. Now: foo = blah\#blah foo += what -> warning: escaping \# comment markers is not portable -> foo = blah\#blah what * NEWS: Mention change in \# handling. * lib/Automake/VarDef.pm: Do not strip # if escaped. * lib/Automake/Variable.pm: Warn if \# is used. * t/comment12.sh: New test. * t/comments-escaped-in-var.sh: New test. * t/list-of-tests.mk: Add comment12.sh & comments-escaped-in-var.sh.
Jim Meyering 6c8ff6a8 2022-01-12T14:15:12 maint: make update-copyright
Jim Meyering a470a47f 2021-07-11T19:19:42 maint: make update-copyright
Jim Meyering 314c55f0 2021-07-11T18: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.
Allison Karlitskaya 13659a73 2021-07-09T09: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.
Zack Weinberg 22089fa6 2020-09-13T11: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.
Zack Weinberg 74673d1c 2020-09-11T18: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.
Zack Weinberg 9ae8a896 2020-09-11T16: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.
Zack Weinberg ab9ef6cf 2020-09-11T14: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.
Zack Weinberg 5cafaafd 2020-08-31T18: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.
Paul Eggert 217d6d92 2020-08-01T16: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.
Paul Eggert 19fe70ea 2020-06-29T15: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.
Karl Berry 04567be6 2020-05-17T09: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.
Karl Berry afba8295 2020-05-10T17: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.
Jim Meyering cf27a3df 2020-01-01T11:44:41 maint: make update-copyright
Giuseppe Scrivano 5c466eaf 2019-10-04T16: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.
Paul Eggert 5ae02cc8 2019-10-14T13:46:55 maint: make update-copyright
Mathieu Lirzin 74902aa2 2018-03-03T23: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.
Mathieu Lirzin bbaa4cdc 2018-01-04T16:19:30 maint: Update copyright years to 2018 This update has been made with 'make update-copyright'.
Mathieu Lirzin 5e202df2 2017-09-23T12: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.
Mathieu Lirzin 6cb3b835 2017-09-22T23:06:15 maint: Configure Emacs automatically with ".dir-locals.el" * .dir-locals.el: New Emacs directory configuration file. All perl files adapted.
Mathieu Lirzin c2757b97 2017-09-19T13:43:07 maint: Reset master
Paul Eggert 3562e384 2017-09-16T13: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.
Paul Eggert 199e7a44 2017-09-16T13: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.
Mathieu Lirzin f389ecb8 2017-08-31T19:23:42 Merge branch 'minor'
Mathieu Lirzin e94c0186 2017-08-31T14: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.
Mathieu Lirzin dd0b8142 2017-08-29T14: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.
Mathieu Lirzin cc7231cc 2017-06-16T23:07:00 Merge branch 'minor'
Mathieu Lirzin d8add592 2017-03-02T18:55:53 maint: Update copyright years to 2017. This update has been made with 'make update-copyright'.
Jim Meyering 1370ce5f 2017-01-01T08: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)
Stefano Lattarini 2f0293e1 2015-01-05T22:55:51 Merge branch 'minor' * minor: maint: update copyright years to 2015 (branch 'micro')
Stefano Lattarini 5de75f07 2015-01-05T22:48:33 maint: update copyright years to 2015 (branch 'micro') Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a000546b 2014-04-21T15: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>
Stefano Lattarini a78f63c5 2014-04-21T15: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>
Stefano Lattarini bd31e343 2013-12-26T21: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>
Stefano Lattarini f0a7083a 2013-12-26T19: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>
Stefano Lattarini 65fecfc5 2013-11-02T10: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')
Stefano Lattarini 52e64045 2013-07-21T17: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>
Stefano Lattarini f61b6ef9 2013-06-13T01: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
Stefano Lattarini 6febcd41 2013-06-12T21: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>
Stefano Lattarini 4f7cc4fe 2013-06-11T21: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>
Stefano Lattarini 9892eb78 2013-06-09T11: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
Stefano Lattarini f7492285 2013-06-08T17: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>
Stefano Lattarini 3492b7a8 2013-05-29T10: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
Stefano Lattarini c98d5235 2013-05-29T10: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
Stefano Lattarini f98ca068 2013-05-28T10: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>
Stefano Lattarini 986ca6c0 2013-05-27T12: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>
Stefano Lattarini 1246ace6 2013-05-27T12: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>
Stefano Lattarini 71e0af47 2013-05-27T12: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>
Stefano Lattarini 6d4ffd83 2013-05-27T11: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>
Stefano Lattarini 55f82a80 2013-05-27T10: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>
Stefano Lattarini 9fabb5e4 2013-01-10T19: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>
Stefano Lattarini 3c331df4 2013-05-13T21: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
Stefano Lattarini f233bf8f 2013-05-11T10: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>
Stefano Lattarini 4c39a5fa 2013-05-11T01: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>
Stefano Lattarini 65643c8d 2013-05-11T01: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>
Stefano Lattarini 9f21b55d 2013-05-11T00: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>
Stefano Lattarini 90ec3fe5 2013-05-10T23: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>
Stefano Lattarini 9a0d4868 2013-05-10T23: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>
Stefano Lattarini 117ddf8d 2013-05-10T23: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>
Stefano Lattarini f7ef16fe 2013-05-10T23: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>
Stefano Lattarini 6e486c5d 2013-05-10T22: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>
Stefano Lattarini b636268a 2013-05-10T22: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>
Stefano Lattarini 1ffdec45 2013-05-10T21: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>
Stefano Lattarini 0cf58ea7 2013-05-10T21: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
Stefano Lattarini 780299d9 2013-05-10T19: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>
Stefano Lattarini 0dd95c8d 2013-05-10T13: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>
Stefano Lattarini c8f106c7 2013-05-09T11: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>
Stefano Lattarini 389f32eb 2013-04-19T15: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
Stefano Lattarini ce98f22e 2013-04-19T15: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
Stefano Lattarini 98a0b71f 2013-02-21T19: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>
Stefano Lattarini a5ed87e7 2013-02-21T16: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>
Stefano Lattarini 5daad702 2013-02-20T22: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>
Stefano Lattarini 97aaf121 2013-02-17T10: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>