]> git.ipfire.org Git - thirdparty/automake.git/log
thirdparty/automake.git
13 months agodoc: modernize version control doc
Paul Eggert [Fri, 7 Jun 2024 17:23:59 +0000 (10:23 -0700)] 
doc: modernize version control doc

Be more generic about version control instead of saying “CVS”.
In the specific examples, use Git instead of CVS.

13 months agomaint: spelling and whitespace fixes
Paul Eggert [Fri, 7 Jun 2024 15:41:45 +0000 (08:41 -0700)] 
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.

13 months agomaint: fix version mismatch
Paul Eggert [Fri, 7 Jun 2024 14:56:25 +0000 (07:56 -0700)] 
maint: fix version mismatch

* m4/amversion.m4 (AM_AUTOMAKE_VERSION)
(AM_SET_CURRENT_AUTOMAKE_VERSION): Bump to 1.16.91 (auto-updated).

13 months agomaint: post-release: bump version to 1.16.91
Jim Meyering [Thu, 6 Jun 2024 13:53:52 +0000 (06:53 -0700)] 
maint: post-release: bump version to 1.16.91

* configure.ac (AC_INIT): Post-release version bump to 1.16.91.

13 months agotests: work also with v2.72-9-g7a6347d1 and newer v1.16.90
Jim Meyering [Mon, 3 Jun 2024 01:02:41 +0000 (18:02 -0700)] 
tests: work also with v2.72-9-g7a6347d1 and newer

* t/dist-missing-m4.sh: Accommodate a slightly different diagnostic
("undefined or overquoted macro" rather than "possibly undefined macro")
in autoconf as of v2.72-9-g7a6347d1.

13 months agomaint: support test releases numbered from .90 for announcements.
Karl Berry [Sun, 2 Jun 2024 17:47:20 +0000 (10:47 -0700)] 
maint: support test releases numbered from .90 for announcements.

* maintainer/maint.mk (beta_version_rx, alpha_version_rx):
update to use MAJOR.MINOR.90, .92, ..., for "beta" (test) releases,
and .91, .93, ... for "alpha" (development). Follows the
2024-01-21 change.
* HACKING: typo en passant.

13 months agomaint: secondary updates from make fetch.
Karl Berry [Fri, 31 May 2024 15:58:23 +0000 (08:58 -0700)] 
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.

13 months agomaint: prepare for next pretest.
Karl Berry [Fri, 31 May 2024 15:55:10 +0000 (08:55 -0700)] 
maint: prepare for next pretest.

* HACKING: typo, tweak release info.
* maintainer/maint.mk: typo.
* maintainer/syntax-checks.mk: typo, and exclude test-defs.sh
(actually .in) from the `...` test because I can't figure out how
to get the same results with $(...).

13 months agomissing: shellcheck disable=SC2006,SC2268
Karl Berry [Thu, 30 May 2024 01:16:01 +0000 (18:16 -0700)] 
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)

13 months agotest: check that subsecond mtime works with make.
Karl Berry [Mon, 27 May 2024 19:34:35 +0000 (12:34 -0700)] 
test: check that subsecond mtime works with make.

Trying to fix https://bugs.gnu.org/68808.

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): check
that make works with subsecond mtimes, as well as sleep and ls.
(Known to fail with the make 3.81 that ships with macOS.)
* configure.ac (MTIME_RESOLUTION): notice if it erroneously
expands to the empty string, i.e., fall back to 1 if
$am_cv_filesystem_timestamp_resolution ended up being unset.
* t/ax/test-defs.in (MTIME_RESOLUTION): also fall back to 1
if the variable to not set, with a message.
Fix other typos en passant.
* HACKING: tweak.

13 months agotest: objc tests on openbsd.
Bogdan [Sun, 26 May 2024 22:35:58 +0000 (15:35 -0700)] 
test: objc tests on openbsd.

Fixes https://bugs.gnu.org/68179.

* t/objcxx-deps.sh: test for objc_getProperty and other
functions in the objc library.
* t/objcxx-minidemo.sh: likewise.
* t/strip2.sh (STRIP): use -x instead of --verbose to test
strip with multiple words, to work with openbsd (and aix) strip.

13 months agodoc: test-driver option args are separate words.
Mark Wooding [Tue, 21 May 2024 16:54:35 +0000 (09:54 -0700)] 
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.)

13 months agodoc: NEWS subsecond reference.
Karl Berry [Tue, 21 May 2024 16:48:18 +0000 (09:48 -0700)] 
doc: NEWS subsecond reference.

* NEWS: another subsecond reference.

14 months agodoc: update Vala documentation
Reuben Thomas [Mon, 6 May 2024 15:16:40 +0000 (08:16 -0700)] 
doc: update Vala documentation

From https://bugs.gnu.org/70557#29.

* doc/automake.texi (Vala Support): Update the URL for Vala.
Drop the mention of a version requirement, as no current system
  will have a too-old version of Vala.
Note the restriction on conditional inclusion of source files in
  *_SOURCES.

14 months agodoc: typos in test file.
Reuben Thomas [Tue, 30 Apr 2024 01:21:50 +0000 (18:21 -0700)] 
doc: typos in test file.

From https://bugs.gnu.org/70557#23.

* t/vala-vapi.sh: typos.

14 months agodoc: Vala-related typo in automake.in
Reuben Thomas [Sat, 27 Apr 2024 16:34:15 +0000 (09:34 -0700)] 
doc: Vala-related typo in automake.in

From https://bugs.gnu.org/70557.

* bin/automake.in (lang_vala_finish_target): typo.

17 months agotest: protect more yacc declarations against C vs. C++ linkage.
Bogdan [Wed, 7 Feb 2024 22:56:25 +0000 (14:56 -0800)] 
test: protect more yacc declarations against C vs. C++ linkage.

Fix for more of https://bugs.gnu.org/68832.

* t/yacc-clean-cxx.sh: more #ifdef of yylex, etc., following
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62886,
now for OpenIndiana. Specifically:
#if (defined __cplusplus) && ((!defined __sun) || (defined __EXTERN_C__))
* t/yacc-cxx.sh: likewise.
* t/yacc-d-cxx.sh: likewise.
* t/yacc-mix-c-cxx.sh: likewise.

17 months agotest: make bug-reporting message on test failure more explicit.
Karl Berry [Sat, 3 Feb 2024 16:38:49 +0000 (08:38 -0800)] 
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.

17 months agodoc: mention pyenv.
Karl Berry [Tue, 30 Jan 2024 23:10:21 +0000 (15:10 -0800)] 
doc: mention pyenv.

* HACKING: mention pyenv as a way to test different Python versions.

17 months agotest: elide leading spaces within case for macOS sh.
Karl Berry [Mon, 29 Jan 2024 22:16:01 +0000 (14:16 -0800)] 
test: elide leading spaces within case for macOS sh.

Yet another fix in https://bugs.gnu.org/68119.

* t/py-compile-basedir.sh: sed away the leading spaces
from wc -l output within the case statement.

17 months agotest: another check for PEP-3147 induced by Python 3.12.1.
Bogdan [Mon, 29 Jan 2024 02:12:50 +0000 (18:12 -0800)] 
test: another check for PEP-3147 induced by Python 3.12.1.

Fix for more of https://bugs.gnu.org/68119.

* t/ax/am-test-lib.sh (python_has_pep3147) <am_pep3147_tag>:
check sys.implementation.cache_tag as well as the (old)
imp.get_tag. For Python 3.12.1.

17 months agotest: more rerunning autotools, C++ std:: portability.
Karl Berry [Sun, 28 Jan 2024 15:45:25 +0000 (07:45 -0800)] 
test: more rerunning autotools, C++ std:: portability.

Trying to fix more of https://bugs.gnu.org/68119.

* t/aclocal-deleted-header-aclocal-amflags.sh: $sleep
before file modifications.
* t/aclocal-deleted-header.sh: likewise.
* t/aclocal-deps.sh: likewise.
* t/subdir-add2-pr46.sh: likewise.
* t/yacc-mix-c-cxx.sh: #include <cstdlib> before using std::...,
following yacc-cxx and yacc-d-cxx tests.

17 months agotest: output system information after summary report.
Karl Berry [Sun, 28 Jan 2024 02:07:48 +0000 (18:07 -0800)] 
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?

17 months agomaint: secondary updates from make fetch.
Karl Berry [Sat, 27 Jan 2024 18:59:15 +0000 (10:59 -0800)] 
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.

17 months agomaint: Update files from upstream with 'make fetch'.
Karl Berry [Wed, 24 Jan 2024 23:47:59 +0000 (15:47 -0800)] 
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.

17 months agodoc: typo for Channels.pm, mention files for which we are the master.
Karl Berry [Wed, 24 Jan 2024 23:43:24 +0000 (15:43 -0800)] 
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.

17 months agodoc: more about pretest numbering.
Karl Berry [Wed, 24 Jan 2024 23:34:29 +0000 (15:34 -0800)] 
doc: more about pretest numbering.

* HACKING: mention change to numbered pretests.
* configure.ac: and hence am_beta_version_rx won't match any more.
Let's just call all pretests development snapshots.

17 months agoautomake: recommend autoreconf -f with version mismatches.
Karl Berry [Tue, 23 Jan 2024 16:53:18 +0000 (08:53 -0800)] 
automake: recommend autoreconf -f with version mismatches.

From https://bugs.gnu.org/68674.

* bin/automake.in (scan_autoconf_traces): change error
to suggest running autoreconf -f. The version mismatch is
most likely to happen due to the cache files, which
aclocal && automake (the previous recommendation) does not delete.
(scan_autoconf_files): likewise.
* doc/automake.texi (Auto-generating aclocal.m4): mention autoreconf.
Other minor wording changes.

17 months agomaint: use 1.xx.90-style pretest versions.
Karl Berry [Sun, 21 Jan 2024 16:57:50 +0000 (08:57 -0800)] 
maint: use 1.xx.90-style pretest versions.

In response to https://bugs.gnu.org/54412.

* configure.ac (AC_INIT): 1.16.90.
* m4/amversion.m4: Likewise (auto-updated).

17 months agopython: use deb_system instead of posix_local if prefix = /usr.
Karl Berry [Sat, 20 Jan 2024 22:33:14 +0000 (14:33 -0800)] 
python: use deb_system instead of posix_local if prefix = /usr.

Continuing with https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54412.

* m4/python.m4 (AM_PATH_PYTHON) <am_python_setup_scheme>:
factor out common scheme-related code to this new variable.
If the scheme is posix_local and the prefix is /usr,
use deb_system (for Debian package builds).
* NEWS: more explanations (and unrelated references, en passant).

17 months agopython: use posix_prefix instead of posix_local on Debian.
Gianfranco Costamagna [Wed, 17 Jan 2024 22:48:13 +0000 (14:48 -0800)] 
python: use posix_prefix instead of posix_local on Debian.

From https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54412#17.
(Patch slightly adapted by Bogdan from original by Gianfranco,
as posted by Stefano Rivera in message#14.)

* m4/python.m4 (AM_PATH_PYTHON): replace Debian's posix_local
scheme with posix_prefix.
* doc/automake.texi (Python) <pythondir>: say a bit more.
* NEWS: mention this.

17 months agoautomake: a millisecond is too fast for subsecond-mtime.
Karl Berry [Wed, 17 Jan 2024 17:51:40 +0000 (09:51 -0800)] 
automake: a millisecond is too fast for subsecond-mtime.

This patch is from https://bugs.gnu.org/68325.

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): don't try
for a millisecond; make a hundredth of a second the fastest we'll go.

Apparently there are plenty of systems which supposedly support
subsecond-mtimes down to the millisecond and yet randomly
fail parallelized tests. For example:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68119#18
Maybe the tests themselves need fixing. (The ones that run
autotools multiple times in succession.) A work in progress.

17 months agodoc: mention debian python 3.10 changes; master menu; etc.
Karl Berry [Wed, 17 Jan 2024 17:44:49 +0000 (09:44 -0800)] 
doc: mention debian python 3.10 changes; master menu; etc.

* doc/automake.texi (Creating amhello): mention libtool too.
(FAQ): remove spurious leftover "Errors with distclean" menu entry.
(Top): Regenerate master menu (M-x texinfo-master-menu).

17 months agopython: add 3.20 - 3.16 to the version search list.
Mike Frysinger [Sun, 14 Jan 2024 02:09:02 +0000 (18:09 -0800)] 
python: add 3.20 - 3.16 to the version search list.

* m4/python.m4: Add python3.20 - python3.16.
* NEWS: Mention these versions too.

18 months agomaint: make update-copyright
Paul Eggert [Mon, 1 Jan 2024 19:29:06 +0000 (11:29 -0800)] 
maint: make update-copyright

18 months agomaint: make fetch
Paul Eggert [Mon, 1 Jan 2024 19:27:31 +0000 (11:27 -0800)] 
maint: make fetch

18 months agodoc: overview of autotools ordering.
Karl Berry [Mon, 1 Jan 2024 02:28:10 +0000 (18:28 -0800)] 
doc: overview of autotools ordering.

* doc/automake.texi (Creating amhello): briefly mention the order
in which to run the autotools, a la autoreconf. A couple other tweaks.

18 months agotest: don't hang waiting for Solaris lex/yacc to read from stdin.
Bruno Haible [Sun, 31 Dec 2023 23:27:15 +0000 (15:27 -0800)] 
test: don't hang waiting for Solaris lex/yacc to read from stdin.

From https://bugs.gnu.org/68165.

* t/get-sysconf.sh: Don't let $LEX or $YACC read from stdin when
trying --version and --help. Only lex --version hangs, but may
as well avoid it in general.

18 months agodist: Use -9 instead of --best, and only for gzip, to pacify Alpine.
Bruno Haible [Sat, 30 Dec 2023 23:37:05 +0000 (15:37 -0800)] 
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.)

18 months agomaint: avoid a false-positive syntax-check failure
Jim Meyering [Wed, 27 Dec 2023 15:48:17 +0000 (07:48 -0800)] 
maint: avoid a false-positive syntax-check failure

* maintainer/syntax-checks.mk (sc_tests_plain_sleep): This would match
the "sleep 1" in a comment.  So filter out shell-style comments before
matching.

18 months agomaint: avoid a racy distcheck failure
Jim Meyering [Wed, 27 Dec 2023 14:52:50 +0000 (06:52 -0800)] 
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.

18 months agodoc: typos in NEWS.
Hans Ulrich Niedermann [Tue, 26 Dec 2023 22:26:20 +0000 (14:26 -0800)] 
doc: typos in NEWS.

From https://lists.gnu.org/archive/html/automake/2023-12/msg00037.html.

* NEWS: typos.

18 months agotest: silent-defaults.sh rerun autotools each time.
Karl Berry [Mon, 25 Dec 2023 23:42:34 +0000 (15:42 -0800)] 
test: silent-defaults.sh rerun autotools each time.

Follow-up to https://bugs.gnu.org/32868.

* t/silent-defaults.sh: rerun $ACLOCAL && $AUTOMAKE for each trial,
else test failed. (Why it has always succeeded before now, and/or
what has changed, I don't know.) Remake the cache for each trial,
for reliability. Echo trial description.
* doc/automake.texi (Silent Rules): tweak text.
(Unsilencing Automake): new node.  Mention
make --debug=p to completely unsilence rules.

18 months agotest: self-announce leading installcheck/protocol/PATH information.
Karl Berry [Mon, 25 Dec 2023 23:40:25 +0000 (15:40 -0800)] 
test: self-announce leading installcheck/protocol/PATH information.

* t/ax/am-test-lib.sh (am_extra_info): self-announce where the
initial reports on installcheck, test protocol, and PATH
come from. Apparently this doesn't disturb the tests.
If other people don't like the extra verbiage, no problem to remove.

18 months agotest: force long sleep with explicit cache variable setting.
Karl Berry [Mon, 25 Dec 2023 23:38:15 +0000 (15:38 -0800)] 
test: force long sleep with explicit cache variable setting.

From https://bugs.gnu.org/67670.

* t/ax/test-defs.in: when MTIME_RESOLUTION is set to 1
because automake/autom4te do not support subsecond-mtime,
also set am_cv_sleep_fractional_seconds=false. Otherwise
the random parallel test failures from given bug and others return.
* m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): reformat.
(_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): elide "the" in AC_CACHE_CHECK.
* t/amassign.sh: end with :.
* HACKING: more on debugging tests.
* NEWS: update.

18 months agodoc: typos from codespell.
Dimitri Papadopoulos [Sun, 24 Dec 2023 23:02:30 +0000 (15:02 -0800)] 
doc: typos from codespell.

Report and patch: https://bugs.gnu.org/68003.

* bin/automake.in: typo from codespell.
* configure.ac: likewise.
* t/dist-auxdir-many-subdirs.sh: likewise.
* t/instmany-mans.sh: likewise.
* t/instmany-python.sh: likewise.
* t/instmany.sh: likewise.
* t/nostdinc.sh: likewise.
* t/parallel-tests-fork-bomb.sh: likewise.
* t/rm-f-probe.sh: likewise.
* t/tap-basic.sh: likewise.
* t/test-driver-custom-multitest.sh: likewise.
* t/txinfo-vtexi3.sh: likewise.

18 months agodoc: update location of FETCHFILES variable.
Dimitri Papadopoulos [Sun, 24 Dec 2023 22:56:50 +0000 (14:56 -0800)] 
doc: update location of FETCHFILES variable.

Report and patch: https://bugs.gnu.org/68004.

* HACKING: FETCHFILES has been moved: Makefile.am ->
maintainer/maint.mk.

18 months agomaint: email in THANKS for Zack Weinberg.
Karl Berry [Sun, 24 Dec 2023 16:56:30 +0000 (08:56 -0800)] 
maint: email in THANKS for Zack Weinberg.

* THANKS (Zack Weinberg): update from zackw@panix.com to
zack@owlfolio.org, per Zack.

18 months agotest: do not leave files as mode zero.
Karl Berry [Sun, 24 Dec 2023 16:55:04 +0000 (08:55 -0800)] 
test: do not leave files as mode zero.

Follows up on https://bugs.gnu.org/67868.

* t/dist-with-unreadable-makefile-fails.sh: chmod u+rw at end.
Also follow usual pattern of ending tests with :, not explicit exit.
* t/tap-bad-prog.tap: chmod u+r at end (since only r removed).

18 months agowarn: avoid "only used once" warning for subsecond_mtime.
Karl Berry [Sun, 24 Dec 2023 16:45:50 +0000 (08:45 -0800)] 
warn: avoid "only used once" warning for subsecond_mtime.

* bin/automake.in (version): uselessly use
$Automake::FileUtils::subsecond_mtime a second time to
avoid Perl warning.

18 months agodoc: more on help2man and "Errors with distclean".
Karl Berry [Sat, 23 Dec 2023 18:44:03 +0000 (10:44 -0800)] 
doc: more on help2man and "Errors with distclean".

This fixes (the rest of) https://bugs.gnu.org/67891.

* doc/automake.texi (Errors with distclean): make a subsection of
"Checking the Distribution". Contrast help2man usage examples of
Autoconf (includes man pages in distribution) and
Automake (no man pages, distributes the help2man script instead).
(Checking the Distribution): convert subheadings to subsections.
* doc/local.mk: also mention autoconf vs. automake approaches here,
and point to the manual.
(checklinkx): en passant, remove unused checklinkx exclude.

18 months agomaint: sync autoconf Channels.pm and ChannelsDefs.pm.
Zack Weinberg [Fri, 22 Dec 2023 23:52:26 +0000 (15:52 -0800)] 
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.

18 months agomaint: tweak announcement text again.
Karl Berry [Fri, 22 Dec 2023 02:19:36 +0000 (18:19 -0800)] 
maint: tweak announcement text again.

* maintainer/maint.mk (announcement):
"(instead of replying to this mail),"

18 months agoautomake: avoid unnecessary use of \K.
Karl Berry [Thu, 21 Dec 2023 23:46:43 +0000 (15:46 -0800)] 
automake: avoid unnecessary use of \K.

This fixes (part of) https://bugs.gnu.org/67891
and follows up on https://bugs.gnu.org/55025.

* bin/automake.in (generate_makefile) <posix>: avoid use of
\K when removing comment and blank lines before a .POSIX target,
since Solaris 10 has perl 5.8.4, and \K was added in 5.10.

18 months agodoc: typo in tap-driver.sh.
Dave Hart [Wed, 20 Dec 2023 22:12:34 +0000 (14:12 -0800)] 
doc: typo in tap-driver.sh.

* lib/tap-driver.sh: to not too.

18 months agomaint: post-release administrivia.
Karl Berry [Wed, 20 Dec 2023 16:20:26 +0000 (08:20 -0800)] 
maint: post-release administrivia.

* configure.ac (AC_INIT): now 1.16j, since 1.16i pretest was
released (on 2023-12-18).
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

18 months agomaint: announcement text tweaks.
Karl Berry [Mon, 18 Dec 2023 22:20:55 +0000 (14:20 -0800)] 
maint: announcement text tweaks.

* HACKING: mention DEVEL_SNAPSHOT=1 for us.
* NEWS: tweak text.
* maintainer/maint.mk (announcement): tweak text,
ls -l ./announcement as a clue as to where the result is.

18 months agodist: more forcefully deal with mode 0 directories created by tests. v1.16i
karl [Sun, 17 Dec 2023 16:42:35 +0000 (08:42 -0800)] 
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.

18 months agodoc: checklinkx tweaks.
Karl Berry [Wed, 13 Dec 2023 18:17:49 +0000 (10:17 -0800)] 
doc: checklinkx tweaks.

* HACKING: mention checklinkx to check for broken links.
* contrib/checklinkx: mention us in version info;
use warnings instead of -w.

19 months agomaint: Update files from upstream with 'make fetch'.
Karl Berry [Mon, 11 Dec 2023 17:08:37 +0000 (09:08 -0800)] 
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.

19 months agodoc: add advice to list Yacc/Lex generated sources in BUILT_SOURCES.
Reuben Thomas [Sun, 10 Dec 2023 23:12:00 +0000 (15:12 -0800)] 
doc: add advice to list Yacc/Lex generated sources in BUILT_SOURCES.

For https://bugs.gnu.org/62791.

* doc/automake.texi (Yacc and Lex): it seems to be necessary to
list the generated C source file for a Yacc/Lex file, as well as the
header file, in BUILT_SOURCES.

19 months agodoc: NEWS entry for OBJC[XX] tags.
Karl Berry [Sun, 10 Dec 2023 23:05:40 +0000 (15:05 -0800)] 
doc: NEWS entry for OBJC[XX] tags.

This helps https://bugs.gnu.org/67539.

* NEWS: update; forgot to commit with prior code change.

19 months agoautomake: pass OBJC and OBJCXX tags to libtool.
Karl Berry [Sun, 10 Dec 2023 17:57:53 +0000 (09:57 -0800)] 
automake: pass OBJC and OBJCXX tags to libtool.

This helps https://bugs.gnu.org/67539.

* bin/automake.in <register_language>: pass libtool_flag
of OBJC and OBJCXX for the respective languages.

19 months agoautomake: again revise file mtime resolution support.
Zack Weinberg [Sun, 10 Dec 2023 17:50:51 +0000 (09:50 -0800)] 
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.

19 months agoSimplify recent $PERL check
Paul Eggert [Sun, 3 Dec 2023 05:50:45 +0000 (21:50 -0800)] 
Simplify recent $PERL check

* configure.ac: Don’t spin off subprocesses to check $PERL.

19 months agoconfigure: better check for the perl patch containing whitespace.
Karl Berry [Sat, 2 Dec 2023 22:53:12 +0000 (14:53 -0800)] 
configure: better check for the perl patch containing whitespace.

More for https://bugs.gnu.org/62896.

* configure.ac: quote "$PERL" and check directly with grep.

19 months agodoc: autoconf portability link, python NEWS.
Karl Berry [Sat, 2 Dec 2023 22:33:30 +0000 (14:33 -0800)] 
doc: autoconf portability link, python NEWS.

        More for https://bugs.gnu.org/67268.

* doc/automake.texi (Usage of Conditionals): link to
Autoconf's Limitations of Builtins, e.g.,
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/Limitations-of-Builtins.html
* NEWS: Python version preferences are not just miscellaneous.

19 months agopython: prioritize python 3.x over 2.x
Mike Frysinger [Wed, 26 Jan 2022 11:36:32 +0000 (06:36 -0500)] 
python: prioritize python 3.x over 2.x

Since Python 2.x went EOL years ago, stop searching for it before
any of the Python 3 versions.

* m4/python.m4: Move python2 after all python3 versions.
* NEWS: Mention update in version search.

19 months agocompile: support libtool .lo, needed for Xapian on Windows.
Olly Betts [Fri, 24 Nov 2023 17:31:18 +0000 (09:31 -0800)] 
compile: support libtool .lo, needed for Xapian on Windows.

* lib/compile (func_cl_wrapper):handle *.lo like *.o.

19 months agomissing et al.: mention automake home page and gnu.org/gethelp.
Karl Berry [Thu, 23 Nov 2023 17:35:09 +0000 (09:35 -0800)] 
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.

19 months agomissing: add autoreconf, autogen and perl as supported programs.
Alex Vong [Thu, 23 Nov 2023 17:13:38 +0000 (09:13 -0800)] 
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.

19 months agocontrib: remove test-driver.scm, maintained elsewhere.
Karl Berry [Tue, 21 Nov 2023 17:44:55 +0000 (09:44 -0800)] 
contrib: remove test-driver.scm, maintained elsewhere.

* contrib/test-driver.scm: remove.
Original patch and discussion:
https://lists.gnu.org/archive/html/automake-patches/2016-05/msg00000.html

Suggestion from guile-devel in 2023 that it's been updated outside
of Automake, and merging would not be especially helpful:
https://lists.gnu.org/archive/html/guile-devel/2023-11/msg00036.html

19 months agoautomake: make the ARFLAGS default 'cr' instead of 'cru'.
Pavel Raiskup [Tue, 21 Nov 2023 16:30:00 +0000 (08:30 -0800)] 
automake: make the ARFLAGS default 'cr' instead of 'cru'.

In some GNU/Linux distributions people started to compile 'ar'
binary with --enable-deterministic-archives (binutils project).
That, however, in combination with our previous long time working
default AR_FLAGS=cru causes warnings on such installations:
ar: `u' modifier ignored since `D' is the default (see `U')

The 'u' option (at least with GNU binutils) did small optimization
during repeated builds because it instructed 'ar' to not
open/close unchanged *.o files and to rather read their contents
from old archive file.  However, its removal should not cause a
big performance hit for usual workflows.

Distributions started using --enable-deterministic-archives
knowing that it would disable the 'u', just to rather have a bit
more deterministic builds.

Also, to justify this change a bit more, keeping 'u' in ARFLAGS
could only result in many per-project changes to override
Automake's ARFLAGS default, just to silence such warnings.

Fixes bug#20082.  Reported by Eric Blake.

* bin/automake.in (handle_libraries): Use 'ARFLAGS=cr' by default.
* doc/automake.texi (Building a library): Mention the changed
ARFLAGS default.
(@c LocalWords): Replace 'cru' with 'cr'.
* m4/ar-lib.m4 (AM_PROG_AR): Cut out 'cru' string into separate
ARFLAGS variable with new default 'cr'.
* NEWS: Document.

19 months agodoc: typos in tap-driver.sh.
Jakub Wilk [Sun, 19 Nov 2023 14:55:04 +0000 (06:55 -0800)] 
doc: typos in tap-driver.sh.

* lib/tap-driver.sh: fix typos.

19 months agodoc: mention shell operators preferred over `test` options.
Karl Berry [Sun, 19 Nov 2023 02:25:16 +0000 (18:25 -0800)] 
doc: mention shell operators preferred over `test` options.

* doc/automake.texi (Usage of Conditionals): mention that shell
operators (&&, ||, ()) are preferred over `test` options (-a, -o,
\(\)). Idea and POSIX url reference from Michael Stapelberg,
https://lists.gnu.org/archive/html/automake-patches/2016-10/msg00002.html

19 months agotests: give input file to sed.
Karl Berry [Wed, 15 Nov 2023 18:37:22 +0000 (10:37 -0800)] 
tests: give input file to sed.

* t/posixtarget.sh: sed ... Makefile | grep,
not sed ... | grep Makefile, to avoid waiting forever on stdin.

19 months agom4: use AS_IF instead of ! builtin.
Mike Frysinger [Wed, 15 Nov 2023 18:35:40 +0000 (10:35 -0800)] 
m4: use AS_IF instead of ! builtin.

* m4/sanity.m4: Switch `if !` to AS_IF.

20 months agofix: syntax error in sanity.m4
Jim Meyering [Thu, 2 Nov 2023 05:20:05 +0000 (22:20 -0700)] 
fix: syntax error in sanity.m4

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Fix
syntax error from preceding change: add a missing double quote.

20 months agodoc: more NEWS on fractional seconds.
Karl Berry [Thu, 2 Nov 2023 01:05:53 +0000 (18:05 -0700)] 
doc: more NEWS on fractional seconds.

* NEWS: fixed autom4te is not yet released.

20 months agodoc: references for non-fractional timestamps.
Karl Berry [Thu, 2 Nov 2023 01:03:36 +0000 (18:03 -0700)] 
doc: references for non-fractional timestamps.

The non-fractional fix from Bogdan fixes
https://bugs.gnu.org/64756, discussed earlier in a long thread on
automake in 2023-03 and 2023-04; references in the bug.
Jacob Bachmeyer contributed to the analysis and fixes.

* m4/sanity.m4:

20 months agodoc: add bug numbers to NEWS.
Karl Berry [Thu, 2 Nov 2023 00:41:53 +0000 (17:41 -0700)] 
doc: add bug numbers to NEWS.

* NEWS: add some bug numbers.

20 months agom4: fall back to non-fractional timestamps with older autom4te.
Bogdan [Thu, 2 Nov 2023 00:40:47 +0000 (17:40 -0700)] 
m4: fall back to non-fractional timestamps with older autom4te.

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): if
HiRes is not present in Autom4te/FileUtils.pm, do not consider
fractional sleeps.

20 months agom4: syntax fix for lex change.
Karl Berry [Thu, 2 Nov 2023 00:36:01 +0000 (17:36 -0700)] 
m4: syntax fix for lex change.

* m4/lex.m4: dnl caused "fiif" in output.

20 months agodoc: tiny Texinfo cleanups.
Karl Berry [Wed, 1 Nov 2023 16:25:21 +0000 (09:25 -0700)] 
doc: tiny Texinfo cleanups.

* doc/automake.texi (Public macros): Missed @var usage.
(Dependencies): "The Autoconf Manual" in cross-manual xref.

20 months agotests: add new test for AM_PROG_LEX arguments.
Bogdan [Wed, 1 Nov 2023 16:22:46 +0000 (09:22 -0700)] 
tests: add new test for AM_PROG_LEX arguments.

See https://bugs.gnu.org/65600 and https://bugs.gnu.org/65730
and https://lists.gnu.org/archive/html/automake/2023-07/msg00007.html.

* t/lex-args.sh: New test.
* t/list-of-tests.mk (handwritten_tests): Add it.

20 months agom4: update invocation of AC_PROG_LEX.
Łukasz Stelmach [Wed, 1 Nov 2023 16:18:57 +0000 (09:18 -0700)] 
m4: update invocation of AC_PROG_LEX.

* m4/lex.m4: Pass on any arguments given to AC_PROG_LEX.
* doc/automake.texi: Describe this.
* NEWS: Mention this.
* THANKS: New contributor.

20 months agodoc: user conditional for dependency tracking.
Karl Berry [Mon, 30 Oct 2023 17:14:51 +0000 (10:14 -0700)] 
doc: user conditional for dependency tracking.

* doc/automake.texi (Automatic dependency tracking): Describe
basing a conditional for dependency tracking on the shell variable
enable_dependency_tracking. Mentioned by Nick Bowler.
https://lists.gnu.org/archive/html/automake/2023-09/msg00004.html

* HACKING: Capitalization.

21 months agotests: add test for new posix option.
Karl Berry [Fri, 6 Oct 2023 15:28:19 +0000 (08:28 -0700)] 
tests: add test for new posix option.

See https://bugs.gnu.org/55025.

* t/posixtarget.sh: New test.
* t/list-of-tests.mk (handwritten_tests): Add it.
* t/README: mention using existing tests as a basis.

21 months agoautomake: new option posix to emit .POSIX target first.
Vincent Lefevre [Fri, 6 Oct 2023 15:18:33 +0000 (08:18 -0700)] 
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.

22 months agotests: avoid implicit function declarations.
Frédéric Bérat [Tue, 29 Aug 2023 18:00:41 +0000 (11:00 -0700)] 
tests: avoid implicit function declarations.

This patch is from https://bugs.gnu.org/59993 (v2 part 2).

* t/c-demo.sh: This patch is related to an effort to prepare
Automake for future GCC/Clang versions which set c99 as default
standard to be used.

C99 requires that functions be properly declared before use.
This is true for both user functions and standard functions,
e.g., printf.

* t/cond35.sh: Likewise.
* t/dist-vs-built-sources.sh: Likewise.
* t/lex-clean.sh: Likewise.
* t/lex-multiple.sh: Likewise.
* t/lex-nodist.sh: Likewise.
* t/ltcond2.sh: Likewise.
* t/ltconv.sh: Likewise.
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/subobj-clean-pr10697.sh: Likewise.
* t/tags-pr12372.sh: Likewise.
* t/yacc-basic.sh: Likewise.
* t/yacc-clean.sh: Likewise.
* t/yacc-nodist.sh: Likewise.

This patch is from https://bugs.gnu.org/59993.

22 months agotests: don't try to prevent flex from including unistd.h.
Frédéric Bérat [Tue, 29 Aug 2023 01:32:53 +0000 (18:32 -0700)] 
tests: don't try to prevent flex from including unistd.h.

This patch is from https://bugs.gnu.org/59994.

* t/cond35.sh: This patch is related to an effort to prepare
Automake for future GCC/Clang versions which set c99 as default
standard to be used.

In the current version of flex, not having unistd.h leads to
implicit function declarations that are not compatible with C99.

A future version of flex will (hopefully) make the "NO_UNISTD"
flag a no-op, and include unistd.h by default.

Also, while flex-dedicated tests had this macro set,
yacc tests did not, despite their use of flex.

For consistency, all the yacc/flex related tests now have the
"--never-interactive" option set in AM_LFLAGS, and do not try
define an isatty function.

* t/lex-clean-cxx.sh: Likewise.
* t/lex-clean.sh: Likewise.
* t/lex-depend-cxx.sh: Likewise.
* t/lex-depend.sh: Likewise.
* t/lex-header.sh: Likewise.
* t/lex-lib-external.sh: Likewise.
* t/lex-lib.sh: Likewise.
* t/lex-libobj.sh: Likewise.
* t/lex-line.sh: Likewise.
* t/lex-multiple.sh: Likewise.
* t/lex-nodist.sh: Likewise.
* t/lex-noyywrap.sh: Likewise.
* t/lex-pr204.sh: Likewise.
* t/lex-subobj-nodep.sh: Likewise.
* t/lex3.sh: Likewise.
* t/lex5.sh: Likewise.
* t/lexvpath.sh: Likewise.
* t/silent-lex.sh: Likewise.
* t/silent-many-languages.sh: Likewise.
* t/silent-yacc-headers.sh: Likewise.
* t/silent-yacc.sh: Likewise.
* t/subpkg-yacc.sh: Likewise.
* t/suffix10.tap: Likewise.
* t/yacc-auxdir.sh: Likewise.
* t/yacc-basic.sh: Likewise.
* t/yacc-bison-skeleton-cxx.sh: Likewise.
* t/yacc-bison-skeleton.sh: Likewise.
* t/yacc-clean-cxx.sh: Likewise.
* t/yacc-clean.sh: Likewise.
* t/yacc-cxx-grepping.sh: Likewise.
* t/yacc-cxx.sh: Likewise.
* t/yacc-d-basic.sh: Likewise.
* t/yacc-d-cxx.sh: Likewise.
* t/yacc-d-vpath.sh: Likewise.
* t/yacc-deleted-headers.sh: Likewise.
* t/yacc-depend.sh: Likewise.
* t/yacc-depend2.sh: Likewise.
* t/yacc-dist-nobuild-subdir.sh: Likewise.
* t/yacc-dist-nobuild.sh: Likewise.
* t/yacc-dry.sh: Likewise.
* t/yacc-grepping.sh: Likewise.
* t/yacc-grepping2.sh: Likewise.
* t/yacc-headers-and-dist-pr47.sh: Likewise.
* t/yacc-line.sh: Likewise.
* t/yacc-misc.sh: Likewise.
* t/yacc-mix-c-cxx.sh: Likewise.
* t/yacc-nodist.sh: Likewise.
* t/yacc-pr204.sh: Likewise.
* t/yacc-subdir.sh: Likewise.
* t/yacc-vpath.sh: Likewise.
* t/yacc-weirdnames.sh: Likewise.
* t/yflags-cmdline-override.sh: Likewise.
* t/yflags-cxx.sh: Likewise.
* t/yflags-d-false-positives.sh: Likewise.
* t/yflags-force-conditional.sh: Likewise.
* t/yflags-force-override.sh: Likewise.
* t/yflags-var-expand.sh: Likewise.
* t/yflags.sh: Likewise.

22 months agotests: avoid implicit function declaration in t/depcomp.sh.
Frédéric Bérat [Mon, 28 Aug 2023 13:11:39 +0000 (06:11 -0700)] 
tests: avoid implicit function declaration in t/depcomp.sh.

This patch is from https://bugs.gnu.org/60962.

* t/ax/depcomp.sh: save and restore sub/subfoo.h, so its
declaration will be seen, as required by C99.
* THANKS: add Frédéric.

23 months agomaint: Ineiev in THANKS.
Karl Berry [Thu, 10 Aug 2023 01:07:44 +0000 (18:07 -0700)] 
maint: Ineiev in THANKS.

* THANKS: add Ineiev.

23 months agoautomake: portability warning for dollar-escaped dollar signs.
Jan Engelhardt [Thu, 10 Aug 2023 01:07:00 +0000 (18:07 -0700)] 
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.

23 months agodoc: missing docdir and lispdir in _DATA description.
Ineiev [Sun, 6 Aug 2023 00:58:10 +0000 (17:58 -0700)] 
doc: missing docdir and lispdir in _DATA description.

This changes fixes https://bugs.gnu.org/65032.

* doc/automake.texi (Data): add docdir and lispdir,
index doc_DATA and lisp_DATA.

23 months agoautomake: disable GNU make's internal pattern rules, for speed.
Bruno Haible [Fri, 21 Jul 2023 01:03:27 +0000 (18:03 -0700)] 
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.)

23 months agoautomake: set test delays to am_cv_filesystem_timestamp_resolution.
Mike Frysinger [Fri, 14 Jul 2023 15:50:51 +0000 (08:50 -0700)] 
automake: set test delays to am_cv_filesystem_timestamp_resolution.

This patch is from https://bugs.gnu.org/60808.

* configure.ac: Set test delays to
am_cv_filesystem_timestamp_resolution, instead of hardwiring
5sec on DJGPP and 2sec elsewhere. This speeds up test runs
significantly, informally as much 30%.

23 months agotexi: assume .texi.in generates .texi.
Bogdan [Thu, 13 Jul 2023 22:32:34 +0000 (15:32 -0700)] 
texi: assume .texi.in generates .texi.

This change refines the fix for https://bugs.gnu.org/54063.

* bin/automake.in (scan_texinfo_file): if .texi doesn't exist,
but .texi.in exists, read the latter for the Texinfo source.
Use the @setfilename argument, if present, to generate rules.
* t/txinfo-no-texi-but-texi-in.sh: new test.
* t/list-of-tests.mk (handwritten_tests): add it.

* doc/automake.texi (Texinfo): document this.
* NEWS: mention this.  (Doc changes written by Karl.)

2 years agotests: avoid some SunOS declaration conflicts.
Bogdan [Sun, 9 Jul 2023 16:57:15 +0000 (09:57 -0700)] 
tests: avoid some SunOS declaration conflicts.

This change: finishes fixing https://bugs.gnu.org/34151
  and https://bugs.gnu.org/30612 and https://bugs.gnu.org/42393;
fixes https://bugs.gnu.org/44795 and https://bugs.gnu.org/49755;
partially fixes https://bugs.gnu.org/45205
  and https://bugs.gnu.org/55073.
Still open: https://bugs.gnu.org/15256;

* t/lex-clean-cxx.sh: test __cplusplus, __sun, and __EXTERN_C__
before using extern "C" for the yylex decl, as explained at
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45205#13.
* t/lex-depend-cxx.sh: likewise.

* t/yacc-cxx.sh: "using" std::exit, std::free, std::malloc.
* t/yacc-d-cxx.sh: likewise.
* t/yacc-mix-c-cxx.sh: likewise.

* NEWS: mention this.

2 years agopython: generalize tests.
Bogdan [Fri, 7 Jul 2023 01:27:36 +0000 (18:27 -0700)] 
python: generalize tests.

This change finishes fixing https://bugs.gnu.org/30556.

* t/python-prefix.sh: use $PYTHON if set, not hardwiring "python".
* t/python-virtualenv.sh (get-pyexecdir): new make target;
use it instead of hardwiring $py_site.