|
9075f2e0
|
2025-09-20T14:48:47
|
|
ylwrap: trivial shell fixes.
* lib/ylwrap: exit if cd fails, quote args to test, doc typos.
|
|
9b92240a
|
2025-06-25T14:16:03
|
|
mdate-sh: ignore $SOURCE_DATE_EPOCH (again).
* lib/mdate-sh: pay no attention to SOURCE_DATE_EPOCH.
The previous change (2025-05-15) was a misunderstanding;
looking at SOURCE_DATE_EPOCH causes spurious makeinfo rebuilds:
https://lists.gnu.org/archive/html/automake/2025-06/msg00021.html
* t/mdate5.sh: remove check for this.
* t/txinfo-vtexi4.sh: likewise.
* doc/automake.texi (Texinfo): remove mention of this.
* NEWS: update.
|
|
5feae5cf
|
2025-06-20T18:06:20
|
|
automake: improve debuggability of installcheck failures.
From https://bugs.gnu.org/78850.
* lib/am/progs.am (installcheck-%DIR%PROGRAMS): Show the cause of
each failure.
* lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Likewise.
* NEWS: mention this.
|
|
9e56f198
|
2025-06-19T14:42:06
|
|
maint: secondary updates from make fetch.
* lib/gendocs.sh: update with make fetch.
* lib/gitlog-to-changelog: likewise.
* lib/gnupload: likewise.
* lib/texinfo.tex: likewise.
* lib/update-copyright: likewise.
|
|
167f018c
|
2025-06-19T14:39:42
|
|
maint: silence 'time-stamp' warnings with bleeding-edge Emacs.
* contrib/tap-driver.pl: Use "%Y" instead of "%:y" for the
'time-stamp-format' local variable.
* lib/compile: Likewise.
* lib/depcomp: Likewise.
* lib/install-sh: Likewise.
* lib/mdate-sh: Likewise.
* lib/missing: Likewise.
* lib/mkinstalldirs: Likewise.
* lib/py-compile: Likewise.
* lib/tap-driver.sh: Likewise.
* lib/test-driver: Likewise.
* lib/ylwrap: Likewise.
|
|
252023ff
|
2025-05-23T08:54:17
|
|
maint: secondary updates from make fetch.
* maintainer/maint.mk (git-sv-host): switch to
cgit.git.savannah.gnu.org/cgit, since https://git.savannah.gnu.org
has become unreliable, due to AI crawler bombardment.
(SV_GIT_CF, SV_GIT_GL): update.
https://lists.gnu.org/archive/html/savannah-hackers-public/2025-05/msg00040.html
* lib/INSTALL: update with make fetch.
* lib/gendocs.sh: likewise.
|
|
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.
|
|
b78b7061
|
2025-05-20T09:17:04
|
|
mdate-sh: support $SOURCE_DATE_EPOCH.
From https://bugs.gnu.org/77805.
* lib/mdate-sh: if $SOURCE_DATE_EPOCH is set, use it
instead of the mtime of any file. Debian was removing
@value{UPDATED}, etc., from manuals because of varying output.
Try date --date, then date -r, then perl gmtime, then
fall back to the file's mtime.
Also, warn if more than one file argument is given.
(mon_to_month): factor out conversion of Jan to January.
* t/mdate5.sh: test it.
* doc/automake.texi (Texinfo): mention it.
* NEWS: mention it.
|
|
939d256c
|
2025-05-03T09:31:41
|
|
tap: fix typo in usage message.
* lib/tap-driver.sh: The usage message was missing a hyphen in
'--log-file'.
|
|
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.
|
|
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.
|
|
60e0e0e1
|
2025-04-18T14:20:05
|
|
doc: fix whitespace typo in comment.
* lib/am/check.am: remove a spurious space after a hyphen.
|
|
6613adf2
|
2025-04-11T08:23:23
|
|
maint: secondary updates from make fetch.
* lib/texinfo.tex: update with make fetch.
|
|
94cb76a1
|
2025-03-13T14:39:59
|
|
dist: document bzip3 support.
More from https://bugs.gnu.org/73795 (automake-patches).
* doc/automake.texi (The Types of Distributions): add item for bzip3.
Analogous changes throughout.
* lib/am/distdir.am (dist-bzip3): bzip3 does not read any envvars;
don't set BZIP2.
|
|
32833cbe
|
2025-02-25T09:39:18
|
|
maint: secondary updates from make fetch.
* lib/texinfo.tex: update with make fetch.
|
|
ba3a673d
|
2025-02-24T10:30:42
|
|
dist: correct sense of no-dist-built-sources option.
Primarily from https://bugs.gnu.org/69908.
* bin/automake.in (preprocess_file) <DIST_BUILT_SOURCES>:
make the option name be "no-dist-built-sources",
per Options.pm and automake.texi; then set it with a single !.
* lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: insert the
dependency on $(BUILT_SOURCES) when DIST_BUILT_SOURCES is true,
not false; i.e., sense was reversed.
* t/dist-no-built-sources.sh: edit the test configure.ac
in the no-dist-built-sources case. Rename the testopt value to
match the Automake option.
* NEWS: mention this.
|
|
40396ebd
|
2025-02-03T18:26:58
|
|
tap: include malformed output in error message to aid with debugging
* lib/tap-driver.sh: If the line that should contain the test script's exit
status is not an integer (which would indicate a bug with the driver, not the
code under test), include the line in the error message to help with
debugging.
|
|
2657b484
|
2025-02-03T18:26:57
|
|
tap: new `--stderr-prefix' option to prefix test script's stderr
* lib/tap-driver.sh: Add a new `--stderr-prefix' option to instruct
the TAP driver to prefix each line of the test script's standard error
with the given string. This is useful when `--merge' is enabled and
standard error lines might be confused with test results.
* doc/automake.texi: Document the new `--stderr-prefix' option.
* t/tap-stderr-prefix.tap: New test.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
|
|
e8df4cd3
|
2025-02-03T18:26:56
|
|
tap: minimize stderr redirection to just the test script
* lib/tap-driver.sh: Keep driver stderr separate from test script
stderr to aid with debugging (e.g., `set -x').
|
|
68091961
|
2025-02-03T18:26:55
|
|
tap: close fd 3 before invoking the test script
* lib/tap-driver.sh: Close file descriptor 3 before invoking the test
script to avoid potential conflicts with the test script.
|
|
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.
|
|
0ea7ef97
|
2025-02-09T09:36:24
|
|
python: restore more compatible behavior for $PYTHON.
For https://bugs.gnu.org/74434.
* lib/py-compile: if $PYTHON -V does not include the
string "python" (case-insensitive), consider the support
intentionally disabled and exit successfully, unless PYTHON is set
to false, in which case exit unsuccessfully. This is closer to
the old behavior. Mention this in the help message.
* t/py-compile-env.sh: add test for PYTHON=:.
* NEWS: mention this. (And, en passant, add some past bug#s and
clarify that only RCS/SCCS pattern rules were disabled, not all.)
|
|
3fbc3f90
|
2025-02-03T14:18:16
|
|
compile: Improve support for C++ compilations on MSYS2.
* lib/compile (func_file_conv): Use 'cygpath -w', not 'cygpath -m'
(c:\... vs. c:/... resp.).
* lib/ar-lib (func_file_conv): Likewise.
|
|
5b9821de
|
2025-02-03T14:16:42
|
|
compile: Distinguish various MinGW, MSYS, MSYS2 environments correctly.
* lib/compile (func_file_conv): Use not only "uname -s", but also
$MSYSTEM and the presence of cygpath, in order to distinguish the
original MinGW and MSYS2.
* lib/ar-lib (func_file_conv): Likewise.
|
|
03c4c309
|
2025-02-03T14:15:35
|
|
compile: Simplify, no need for nonexistent $file_conv=msys case,
* lib/compile (func_file_conv): Remove unnecessary |msys, added on
2019-11-11.
* lib/ar-lib (func_file_conv): Likewise.
|
|
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.
|
|
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:
|
|
61075eab
|
2025-01-01T14:31:02
|
|
maint: make update-copyright
|
|
8da33f8f
|
2025-01-01T14:28:48
|
|
make fetch
|
|
cee9ca0a
|
2024-12-03T14:56:53
|
|
lib scripts: Make time-stamp after-save-hooks buffer-local.
From https://bugs.gnu.org/74661.
* contrib/tap-driver.pl: Add time-stamp-line-limit so Emacs updates the
timestamp. Pass optional arguments to 'add-hook'.
* lib/tap-driver.sh: Likewise.
* lib/compile: Pass optional arguments to 'add-hook'.
* lib/depcomp: Likewise.
* lib/install-sh: Likewise.
* lib/mdate-sh: Likewise.
* lib/missing: Likewise.
* lib/mkinstalldirs: Likewise.
* lib/py-compile: Likewise.
* lib/test-driver: Likewise.
* lib/ylwrap: Likewise.
|
|
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.
|
|
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.
|
|
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.
|
|
7a506f58
|
2024-07-08T10:18:16
|
|
maint: secondary updates from make fetch.
* lib/gendocs.sh: update with make fetch.
* lib/gitlog-to-changelog: likewise.
* lib/gnupload: likewise.
* lib/update-copyright: likewise.
|
|
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.
|
|
2b0b37e9
|
2024-06-20T13:34:46
|
|
test-driver: rm spurious blank line.
* lib/test-driver (print_usage): remove spurious blank line.
Report from Bruno,
https://lists.gnu.org/archive/html/automake/2024-06/msg00075.html
|
|
d7326376
|
2024-06-19T09:43:18
|
|
maint: secondary updates from make fetch.
* lib/gendocs.sh: update with make fetch.
* lib/gitlog-to-changelog: likewise.
|
|
cde0e3bb
|
2024-06-19T09:41:22
|
|
doc: rewrite subsecond NEWS entry, sanity.m4 "make" testing wrong, etc.
* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): mention
that testing of "make" is wrong here; but $(MAKE) is not available?
Do some special pleading that it won't matter in practice; we'll see.
https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html
(AM_SANITY_CHECK): use $[]* instead of $[*]2 to avoid
the confusing apparent (but not) use of shell arrays; the square
brackets are parsed off by m4.
* lib/am/check.am (output_system_information): en passant, mention
that $(AWK) should always be defined since AC_PROG_AWK is part of
AM_INIT_AUTOMAKE nowadays.
* NEWS: rewrite subsecond NEWS entry:workaround, more references.
|
|
1696d6d7
|
2024-06-19T08:59:18
|
|
lib scripts: add "(GNU Automake)" to --version output, etc.
* lib/ar-lib: add "(GNU Automake)" to --version output,
and the "Report bugs" block to --help.
* lib/compile: likewise.
* lib/depcomp: likewise.
* lib/install-sh: likewise.
* lib/mdate-sh: likewise.
* lib/missing: likewise.
* lib/mkinstalldirs: likewise.
* lib/py-compile: likewise.
* lib/tap-driver.sh: likewise.
* lib/test-driver: likewise.
* lib/ylwrap: likewise.
* t/py-compile-usage.sh: update --version pattern.
|
|
6cb69ad8
|
2024-06-17T14:44:28
|
|
test: Improve output of system information in test-suite.log.
Fixes https://bugs.gnu.org/71421.
* lib/am/check.am ($(TEST_SUITE_LOG): Use $(AWK) instead of 'awk'.
Remove an extra space in uname output. Start the line with
"System information", and other sections with "Distribution
information".
* NEWS: add reference to #71421.
|
|
a2d56238
|
2024-06-17T10:06:25
|
|
automake: allow omitting logs of skipped tests from test-suite.log.
* doc/automake.texi (Parallel Test Harness): Describe the contents of
test-suite.log. Mention IGNORE_SKIPPED_LOGS.
(Command-line arguments for test drivers): Document the
--collect-skipped-logs option.
* lib/test-driver (print_usage): Document --collect-skipped-logs.
(collect_skipped_logs): New variable.
(gcopy): Use collect_skipped_logs.
* lib/am/check.am (am__common_driver_flags): Add the contents of
am__collect_skipped_logs.
(am__check_pre): Set am__collect_skipped_logs.
* t/parallel-tests-without-skipped-logs.sh: New file, based on
t/parallel-tests-no-color-in-log.sh.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
* NEWS: Mention the change.
|
|
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.
|
|
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.
|
|
61357c93
|
2024-05-31T08:58:23
|
|
maint: secondary updates from make fetch.
* doc/help2man: restore copyright list as in upstream.
* lib/gendocs.sh: update with make fetch.
* lib/texinfo.tex: likewise.
|
|
b5311796
|
2024-05-29T18:16:01
|
|
missing: shellcheck disable=SC2006,SC2268
From Jacob Bachmeyer, in thread around
https://lists.gnu.org/archive/html/automake-patches/2022-01/msg00014.html
* lib/missing: disable shellcheck warnings about `...`.
We must support pre-POSIX shells in Automake.
(scriptversion=2024-05-29.18)
|
|
0d49ecb2
|
2024-05-21T09:54:35
|
|
doc: test-driver option args are separate words.
For https://bugs.gnu.org/70638.
As now mentioned in the manual, the description of the
test-driver command-line interface has been wrong since 2011
when it was first added. The manual, and the driver usage
messages themselves, have consistently shown option arguments
joined to the option name with `=' characters, while the
implementation of Automake has always provided option arguments
in the following argument word, and the provided test drivers
only accepted option arguments in the following argument word.
Because Automake has never used the `=' syntax, there can't
possibly be a working driver which actually follows the
specification as written, so, despite the fierce language of the
manual, we agreed that changing the specification was the right
approach. The `test-driver' program's usage message has already
been fixed (#22445), but the full extent of the problem wasn't
noticed at that time.
* doc/automake.texi (Command-line arguments for test drivers): Fix the
table of options to show arguments passed as separate words; add
footnote explaining this rather sorry situation.
* doc/automake.texi (Use TAP with the Automake test harness):
Remove `=' from documentation of `--diagnostic-string', because
that was never acceptable either.
* lib/tap-driver.sh: Fix usage message.
* contrib/tap-driver.pl: Change usage message to match the defined
protocol. (This implementation parses options using Perl's
`Getopt::Long' module, so it accepts the `=' syntax as specified, but
this program isn't actually used.)
|
|
70127e61
|
2024-02-03T08:38:49
|
|
test: make bug-reporting message on test failure more explicit.
From https://bugs.gnu.org/68855.
* NEWS: mention this.
* lib/am/check.am ($(TEST_SUITE_LOG)) <please_report>: new fn,
new wording.
* t/ax/test-defs.in (failure_footer_text): new wording.
(failure_footer_text_colorized): add red.
* t/ax/tap-summary-aux.sh (failure_footer): use failure_footer_text*.
* t/tap-doc2.sh: change grep.
* t/testsuite-summary-color.sh: likewise.
* t/testsuite-summary-count-many.sh: likewise.
* t/testsuite-summary-count.sh: likewise.
* t/testsuite-summary-reference-log.sh: likewise.
|
|
d550b6ee
|
2024-01-27T18:07:48
|
|
test: output system information after summary report.
From https://bugs.gnu.org/68746.
* lib/am/check.am ($(TEST_SUITE_LOG)) <output_system_information>:
new shell fn, called inline to write basic os information
into test-suite.log.
Also, question (do not change) the ".. contents:: :depth: 2"
line; what is this for?
|
|
05856fd6
|
2024-01-27T10:59:15
|
|
maint: secondary updates from make fetch.
* INSTALL: updated from make distcheck.
* maintainer/maint.mk (fetch): update top-level INSTALL
if we update lib/INSTALL.
* lib/gendocs.sh: update with make fetch.
|
|
248edc44
|
2024-01-24T15:47:59
|
|
maint: Update files from upstream with 'make fetch'.
* lib/INSTALL: update with make fetch.
* lib/config.guess: likewise.
* lib/config.sub: likewise.
* lib/gitlog-to-changelog: likewise.
* lib/update-copyright: likewise.
|
|
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.
|
|
b80b5c47
|
2024-01-01T11:29:06
|
|
maint: make update-copyright
|
|
0d0926ef
|
2024-01-01T11:27:31
|
|
maint: make fetch
|
|
21ac1161
|
2023-12-30T15:37:05
|
|
dist: Use -9 instead of --best, and only for gzip, to pacify Alpine.
From https://bugs.gnu.org/68151.
* lib/am/distdir.am (GZIP_ENV): Set to -9, not --best, since
Alpine does not support --best.
(distcheck): Don't use GZIP_ENV when invoking gzip for decompression,
since Alpine does not support -1..-9 with decompression.
* doc/automake.texi (The Types of Distributions): Document the change.
* NEWS: mention this. (En passant, add more change links.)
|
|
c8fcdede
|
2023-12-27T06:52:50
|
|
maint: avoid a racy distcheck failure
* lib/am/distdir.am (am__remove_distdir): Use ";" not "&&" after
the chmod-running find, so that a failing find doesn't cause the
entire rule to fail. This could happen when a directory like
doc/automake.t2d being processed by find is concurrently deleted
by another rule.
|
|
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.
|
|
90ef1189
|
2023-12-20T14:12:34
|
|
doc: typo in tap-driver.sh.
* lib/tap-driver.sh: to not too.
|
|
31a4eb47
|
2023-12-17T08:42:35
|
|
dist: more forcefully deal with mode 0 directories created by tests.
From https://bugs.gnu.org/67868.
* lib/am/distdir.am (am__remove_distdir): make directories
readable and searchable, not just writable. (Also typo.)
* t/local.mk (clean-local-check): ensure directories are
at least mode 700
* t/uninstall-fail.sh: restore reasonable permissions of
the mode 0 $inst/share directory at the end.
|
|
72ab19f5
|
2023-12-11T09:08:37
|
|
maint: Update files from upstream with 'make fetch'.
* lib/INSTALL: update with make fetch.
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/gendocs_template: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
|
|
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.
|
|
94f4bad7
|
2023-11-24T09:31:18
|
|
compile: support libtool .lo, needed for Xapian on Windows.
* lib/compile (func_cl_wrapper):handle *.lo like *.o.
|
|
fba903e6
|
2023-11-23T09:35:09
|
|
missing et al.: mention automake home page and gnu.org/gethelp.
* lib/compile: in --help message, include automake home page
and gnu.org/gethelp, following automake --help.
* lib/depcomp: likewise.
* lib/install-sh: likewise.
* lib/mdate-sh: likewise.
* lib/missing: likewise.
* lib/mkinstalldirs: likewise.
* lib/py-compile: likewise.
* lib/ylwrap: likewise.
|
|
68db06db
|
2023-11-23T09:13:38
|
|
missing: add autoreconf, autogen and perl as supported programs.
From:
https://lists.gnu.org/archive/html/automake-patches/2015-08/msg00000.html
* lib/missing: add autoreconf, autogen and perl as supported programs,
potentially especially useful from bootstrap scripts. Alphabetize.
* NEWS: mention.
* THANKS: new contributor.
|
|
4adfd131
|
2023-11-19T06:55:04
|
|
doc: typos in tap-driver.sh.
* lib/tap-driver.sh: fix typos.
|
|
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.
|
|
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.
|
|
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.)
|
|
ab347652
|
2023-07-05T08:59:29
|
|
python: support noinst_PYTHON preceding foo_PYTHON.
This change fixes https://bugs.gnu.org/24507.
* lib/am/python.am (am__pep3147_tweak): remove conditional
on %?INSTALL%.
* t/python-pr10995.sh: test with make uninstall.
|
|
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
|
|
4e86c7ed
|
2023-06-28T10:00:56
|
|
maint: Update files from upstream with 'make fetch'.
* lib/INSTALL: update with make fetch.
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/gitlog-to-changelog: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
|
|
226b6131
|
2023-06-08T14:33:14
|
|
depcomp spelling fix
* lib/depcomp: Fix spelling in comment.
Originally reported by Josh Soref <jsoref@gmail.com> in:
https://lists.gnu.org/r/bug-gnulib/2023-06/msg00057.html
|
|
ae8d12e3
|
2023-05-27T17:55:15
|
|
maint: Update files from upstream with 'make fetch' + help2man.
* lib/INSTALL: update with make fetch.
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/gnupload: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
* doc/help2man: now 1.49.1.
|
|
c04c4e88
|
2023-03-29T18:07:10
|
|
Port py-compile to Python 2.6-
* lib/py-compile: Port to Python 2.6 and earlier,
which lack importlib.
|
|
efce8539
|
2023-02-07T22:42:59
|
|
Gracefully degrade if Time::HiRes is not available
Copyright-paperwork-exempt: yes
|
|
0e127700
|
2023-02-07T22:39:29
|
|
Revert "maint: require perl 5.010 or later"
This reverts commit 4e3744a15c4d8bdb46c11ead2fb56c5f591b714b.
Copyright-paperwork-exempt: yes
|
|
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>.
|
|
4e3744a1
|
2023-02-02T14:13:24
|
|
maint: require perl 5.010 or later
This is needed for better treatment of high-res timestamps.
|
|
7fd1d064
|
2023-01-13T04:02:57
|
|
distdir/emacs: avoid `test -d` with MKDIR_P
We don't need to do the `test -d ... || mkdir ...` dance when we
have the MKDIR_P helper, so simplify this code a bit.
* lib/am/distdir.am: Use $(MKDIR_P).
* lib/am/lisp.am: Drop redundant `test -d`.
|
|
f15852df
|
2023-01-03T21:46:38
|
|
rm: convert more cases to am__rm_f
Fixes automake bug https://bugs.gnu.org/10828.
Clean up a few more cases where we were doing `test ... || rm ...` to
avoid calling `rm -f` without arguments by leveraging am__rm_f. These
were harder to find in the source due to their constructed nature.
The clean programs rules in particular were much more complicated than
they needed to be. This logic boiled down to two things: delete the
list of programs, and then delete the list without the exeext suffix,
but only if the list of programs is non-empty.
The check-TESTS rule was converted to am__rm_f, but a simplification
was missed where the $list variable is inlined.
* bin/automake.in: Delete test -z logic and always call am__rm_f.
* contrib/check-html.am: Use $(am__rm_f) helper.
* doc/automake.texi: Update examples to match current behavior.
* lib/am/check.am: Inline $list variable.
* lib/am/progs.am: Rewrite rule to use $(am__rm_f).
|
|
efc7dc40
|
2023-01-03T23:30:29
|
|
check: drop unused trs_list variable
When the code that used this variable was removed, the variable
itself was left behind. Clean that up now too.
* lib/am/check.am: Delete trs_list.
|
|
2cb09ea9
|
2023-01-03T21:07:45
|
|
depend: trim spurious leading tab
These vars are replaced with a list of remove commands that are joined
with a \n and each line always has a leading \t inserted. That means
the literal tab here before the var leads to 2 tabs included in the
output. While not functionally a problem, it can be a bit confusing
when reading the output as it implies something is amiss. Trimming
the tab also aligns with the other .am files which don't include it.
* lib/am/depend.am: Delete tab before %DISTRMS%.
|
|
34bdde96
|
2023-01-04T02:00:14
|
|
maint: make update-copyright
|
|
2418a6c2
|
2023-01-04T01:57:06
|
|
maint: Update files from upstream with 'make fetch'
Pulls some 2023 copyright updates.
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/gendocs_template: Likewise.
* lib/gitlog-to-changelog: Likewise.
* lib/gnupload: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
|
|
2a1e6f74
|
2022-10-01T15:03:16
|
|
maint: Update files from upstream with 'make fetch' + help2man.
* lib/INSTALL: update with make fetch.
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/texinfo.tex: Likewise.
* doc/help2man: now 1.49.1.
|
|
13fb472c
|
2022-09-28T10:12:24
|
|
python: better Python compilation portability.
This change is per automake thread:
https://lists.gnu.org/archive/html/automake/2022-09/msg00002.html
* lib/py-compile: Test directly for availability of
importlib.util.cache_from_source. Untangle logic for when
to generate -O and -OO bytecode. Reformat embedded Python fragments.
|
|
5615016c
|
2022-09-28T09:06:40
|
|
dist: ignore "silly rename" files from nfs/afs/smb.
This change is per automake thread:
https://lists.gnu.org/archive/html/automake/2022-09/msg00002.html
* lib/am/distdir.am (distcleancheck_listfiles): filter "silly rename"
files (.nfs* .smb* .__afs*), unavoidably created by deleting files
that are still open in some process on network file systems.
|
|
d4801dff
|
2022-09-26T09:04:59
|
|
automake: load -l bytecomp for Emacs.
* lib/am/lisp.am (.el.elc): Require the bytecomp library so
byte-compile-dest-file-function can be used when available.
|
|
bee2ab12
|
2022-09-26T08:57:43
|
|
automake: silent make output for Emacs byte compilation.
* lib/am/lisp.am: Use $(AM_V_GEN) in .el.elc rule.
* NEWS: mention this.
* THANKS: add new contributor.
|
|
023189d4
|
2022-09-18T14:11:15
|
|
doc: typo in depcomp.
* lib/depcomp: obsosete -> obsolete. Report from anonymous.
|
|
5f3e37da
|
2022-07-25T17:49:53
|
|
compile: look for clang-cl.
* lib/compile: check for clang-cl, calling func_cl_wrapper.
* THANKS: add new contributor.
|
|
f9fdcdfd
|
2022-05-23T13:47:02
|
|
deps: create empty file instead of dummy file.
This change is per an automake thread, see both before and after:
https://lists.gnu.org/archive/html/automake/2022-05/msg00006.html
* lib/am/depend.am ($(am__depfiles_remade)): create empty files
for dependencies instead of files with a line '# dummy'. Turns out
this is noticeably faster.
* THANKS: update Jan's email address.
* NEWS: mention this.
|
|
bde43d04
|
2022-02-06T01:25:59
|
|
py-compile: fix optimized compiling for Python 3.5+
Fixes automake bug https://bugs.gnu.org/38043.
Split the optimized compilation logic into a new section. This avoids
trying to support multiple versions of major versions in a single script
as it gets harder to verify new changes don't break old versions as time
goes on.
Now for Python 3.5+, compile with -O0 (which is "higher" than -O).
* NEWS: Mention fix.
* THANKS: Add Michal Górny.
* lib/py-compile: Add new section for compiling Python 3.5+.
|
|
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.
|
|
38da1d90
|
2022-02-17T04:35:03
|
|
python: use xargs -n when uninstalling files
Fixes automake bug https://bugs.gnu.org/53340.
If the system has xargs, then utilize it to uninstall files to stay
within long command line limits. If the system doesn't have xargs,
fall back to running the remove command one at a time. Since every
reasonable system should have `xargs -n`, and POSIX requires it, the
fallback probably rarely gets used, so don't bother optimizing.
* lib/am/inst-vars.am: Use am__xargs_n to call rm -f on the files.
* lib/am/python.am: Drop am__base_list and for loop and let the
am__uninstall_files_from_dir break up the long command lines.
* m4/init.m4: Call _AM_PROG_XARGS_N.
* m4/xargsn.m4: New test for `xargs -n`.
|
|
3099097d
|
2022-02-17T03:50:55
|
|
rm: handle -f w/no arguments gracefully
Fixes automake bug https://bugs.gnu.org/10828.
Delete the configure check that would abort if `rm -f` does not work,
and delete the plans to make this a hard requirement in the future.
Instead, test to see if `rm -f` fails w/out arguments. If it does,
define am__rm_f such that it always passes at least the "" argument
when deleting files. If it doesn't fail, then we can omit the "".
Then go through lib/am/ and update places where we use the pattern
`test -z ... || rm -f ...` and replace with $(am__rm_f).
* NEWS: Mention support for `rm -f` w/out arguments.
* PLANS/rm-f-without-args.txt: Remove.
* lib/am/check.am: Use new $(am__rm_f) helper.
* lib/am/clean.am: Likewise.
* lib/am/header-vars.am: Likewise.
* lib/am/inst-vars.am: Likewise.
* lib/am/libs.am: Likewise.
* lib/am/ltlib.am: Likewise.
* lib/am/progs.am: Likewise.
* lib/am/texinfos.am: Likewise.
* m4/init.m4: Delete `rm -f` checks and call _AM_PROG_RM_F.
* m4/rmf.m4: Define new _AM_PROG_RM_F macro.
* t/rm-f-probe.sh: Update test.
|
|
6097de0a
|
2022-02-15T22:25:35
|
|
python: fix exit status handling with uninstall
The st variable is set at the top of this shell script, and then here
is a pipeline where it tries to update it in the subshell. But since
setting variables in a subshell doesn't propagate back up, it doesn't
actually work. Have the final subshell in the pipeline manage its own
exit status and exit with that so that the final status of the pipeline
is the right value.
* lib/am/python.am: Fix final subshell exit status passing.
|
|
5c9e117c
|
2022-02-08T00:39:40
|
|
elisp: run emacs with --no-site-file
Fixes automake bug https://bugs.gnu.org/21547.
If users have interactive site file logic, the lispdir probing can
hang, as can the compilation of elisp files. Use --no-site-file to
disable loading any of that possible user logic.
* NEWS: Note emacs --no-site-file change.
* doc/automake.texi: Run emacs with --no-site-file.
* lib/am/lisp.am: Likewise.
* m4/lispdir.m4: Likewise.
|
|
24a28a24
|
2022-02-07T23:29:13
|
|
ar-lib: ignore -nologo option
We already invoke $AR with -NOLOGO all the time, so we can ignore the
option entirely if the user specifies it.
* lib/ar-lib: Ignore -NOLOGO.
|
|
5b99315c
|
2022-02-06T01:24:52
|
|
py-compile: fix display when compiling multiple files
The compilation steps print the filename as it runs, but forgets to add
a space after it, so they all get squashed together:
$ ./py-compile 1.py 2.py 3.py
Byte-compiling python modules...
1.py2.py.3.py
* lib/py-compile: Add missing write.
|
|
8b2d281d
|
2022-02-06T00:22:50
|
|
py-compile: drop support for Python 0.x & 1.x
Python 2.0 was released in 2000. There's really no way for us to check
those old versions, so let's just drop them. No one will miss them.
* NEWS: Note Python version support removal.
* lib/py-compile: Abort if major version 0 or 1 is found.
* t/py-compile-env.sh: Rework slightly to handle new version probing.
|