|
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.
|
|
8a913c26
|
2022-02-05T23:43:38
|
|
py-compile: handle filenames with whitespace
The list of files is put into a string and then split on whitespace.
Fix the way the list of files are passed to the compile script.
* lib/py-compile: Pass files as arguments, not as a string.
* t/py-compile-files.sh: New test.
|
|
faa1d2c5
|
2022-02-05T23:01:31
|
|
py-compile: clean up usage info
Include the full summary of options in the output.
* lib/py-compile: Update usage output.
* t/py-compile-usage.sh: Update test to match new output.
|
|
8d9daa99
|
2022-01-30T05:59:19
|
|
maint: Update files from upstream with 'make fetch'
* 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.
|
|
9daa34db
|
2022-01-24T03:08:13
|
|
texi: define new AM_TEXI2FLAGS variable
To provide a bit more flexibility when invoking TEXI2DVI & TEXI2PDF,
and provide a bit of symmetry with .info & .html generation, provide
a AM_TEXI2FLAGS setting that is passed to all TEXI2xxx invocations.
* doc/automake.texi: Mention new AM_TEXI2FLAGS setting.
* lib/am/texibuild.am: Pass $(AM_TEXI2FLAGS) to TEXI2DVI & TEXI2PDF.
* NEWS: Mention AM_TEXI2FLAGS.
* t/txinfo-many-output-formats.sh: Check for AM_TEXI2FLAGS.
|
|
c1b799a0
|
2022-01-24T02:53:13
|
|
texi: pass automatic -I to dvi & pdf generation
Fixes automake bug https://bugs.gnu.org/23599.
When generating info/html pages, automake adds -I flags to source
dirs that contain the texi files, but it doesn't do this for dvi or
pdf formats. Instead, automake has been relying on texi2dvi to use
makeinfo for expanding macros, and it hasn't done that by default in
a long time.
Since adding --expand to the texi2dvi call is undesirable (due to bad
and unpredictable BEHAVIOR), pass those automatic -I flags directly
to TEXI2DVI & TEXI2PDF so they work regardless of --expand behavior.
We have to keep the MAKEINFO= setting around as texi2dvi might itself
fall back to it if the version of tex is old or broken.
* bin/automake.in: Add comment about $makeinfoflags usage.
* doc/automake.texi: Mention automatic -I subdir flags.
* lib/am/texibuild.am: Pass %MAKEINFOFLAGS% to TEXI2DVI & TEXI2PDF.
* t/txinfo-subdir-pr343.sh: Check for -I subdir usage.
|
|
975ea4d9
|
2022-01-19T05:14:47
|
|
progs, libs: support _RANLIB overrides
Much like we have per-target support for _AR and _LINK, add an _RANLIB
override too. This allows selection of specific ranlib tools in case
a non-standard archiver tool was forced.
* bin/automake.in: Check for _RANLIB per-target settings.
* doc/automake.texi: Document _RANLIB override.
* lib/am/library.am: Change $(RANLIB) to $(%XLIBRARY%_RANLIB).
* t/list-of-tests.mk: Add ranlib_override.sh.
* t/ranlib_override.sh: New test.
* NEWS: Mention new feature.
|
|
5fefc4a6
|
2018-07-30T15:02:35
|
|
lib: drop unused shell variables
Detected by ShellCheck.
* lib/depcomp: Drop never used $digits.
* lib/ylwrap: Drop --basedir and $basedir, seems like that was old
C&P error from 210797967a.
|
|
6c8ff6a8
|
2022-01-12T14:15:12
|
|
maint: make update-copyright
|
|
a320a092
|
2021-11-27T17:43:00
|
|
dejagnu: add support for silent builds with site.exp.
* lib/am/dejagnu.am (site.exp): Use $(AM_V_GEN) and merge all
independent shell calls into one.
|
|
b7868119
|
2021-10-31T12:52:43
|
|
config headers: add support for silent builds
* lib/am/remake-hdr.am (%STAMP%): Use $(AM_V_at) and $(AM_V_GEN).
(%CONFIG_HIN%): Likewise.
|
|
4e53bb67
|
2021-09-26T18:19:43
|
|
maint: Update files from upstream with 'make fetch'.
* lib/config.sub: Update.
|
|
522e0d40
|
2021-08-07T17:54:17
|
|
doc: typos from codespell.
* HACKING: typo from codespell.
* doc/local.mk: likewise.
* lib/am/header-vars.am: likewise.
* lib/am/lisp.am: likewise.
* t/cond24.sh: likewise.
* t/cond36.sh: likewise.
* t/dist-auxdir-many-subdirs.sh: likewise.
* t/link_override.sh: likewise.
* t/parallel-tests-console-output.sh: likewise.
* t/subobj11a.sh: likewise.
* t/subobj11b.sh: likewise.
|
|
badd7d25
|
2021-07-26T18:03:53
|
|
cosmetics: py-compile consistently use test, not [ ... ]; indentation.
* lib/py-compile: consistently use test rather than [ ... ];
use consistent sh indentation; check exit status consistently.
|
|
0b087f56
|
2021-07-22T13:44:12
|
|
maint: Update files from upstream with 'make fetch'.
* lib/gendocs.sh: Update.
|
|
a470a47f
|
2021-07-11T19:19:42
|
|
maint: make update-copyright
|
|
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.
|
|
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.
|
|
35c47fb6
|
2021-07-05T18:59:51
|
|
maint: Update files from upstream with 'make fetch'
* lib/INSTALL: Update.
* lib/config.guess: Likewise.
* 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.
|
|
6a753ef5
|
2020-12-13T18:34:35
|
|
python: don't assume $(...) in py-compile.
This change (very) partially fixes https://bugs.gnu.org/45205.
* lib/py-compile: use `...` instead of $(...).
Solaris 10 /bin/sh is still in use.
|
|
d2ccbd7e
|
2020-12-05T18:11:55
|
|
tags: support setting CTAGS, ETAGS, CSCOPE vars via ./configure.
This change fixes https://bugs.gnu.org/45013.
* m4/init.m4: add default settings and AC_SUBST calls for the variables
`CTAGS', `ETAGS' and `CSCOPE'.
* lib/am/tags.am: remove default settings of the above variables.
* doc/automake.texi (Tags): mention and index.
* NEWS: mention.
|