kc3-lang/automake

Branch :


Log

Author Commit Date CI Message
23e69f6e 2024-05-27 12:34:35 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.
b5b6f240 2024-05-26 15:35:58 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.
0d49ecb2 2024-05-21 09: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.)
3000a024 2024-05-21 09:48:18 doc: NEWS subsecond reference. * NEWS: another subsecond reference.
fa816226 2024-05-06 08:16:40 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.
618408d7 2024-04-29 18:21:50 doc: typos in test file. From https://bugs.gnu.org/70557#23. * t/vala-vapi.sh: typos.
fba8c57d 2024-04-27 09:34:15 doc: Vala-related typo in automake.in From https://bugs.gnu.org/70557. * bin/automake.in (lang_vala_finish_target): typo.
efb9f7b2 2024-02-07 14:56:25 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.
70127e61 2024-02-03 08: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.
2f120f1b 2024-01-30 15:10:21 doc: mention pyenv. * HACKING: mention pyenv as a way to test different Python versions.
c354194e 2024-01-29 14:16:01 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.
f1112a88 2024-01-28 18:12:50 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.
50466f62 2024-01-28 07:45:25 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.
d550b6ee 2024-01-27 18: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-27 10: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-24 15: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-24 15: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.
211dc035 2024-01-24 15:34:29 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.
2fa17ccc 2024-01-23 08:53:18 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.
2838316b 2024-01-21 08:57:50 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).
70128b8b 2024-01-20 14:33:14 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).
ac64ce26 2024-01-17 14:48:13 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.
22ecc131 2024-01-17 09:51:40 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.
420b53da 2024-01-17 09:44:49 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).
3cd8f545 2024-01-13 18:09:02 python: add 3.20 - 3.16 to the version search list. * m4/python.m4: Add python3.20 - python3.16. * NEWS: Mention these versions too.
b80b5c47 2024-01-01 11:29:06 maint: make update-copyright
0d0926ef 2024-01-01 11:27:31 maint: make fetch
ea454b4f 2023-12-31 18:28:10 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.
87119fa3 2023-12-31 15:27:15 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.
21ac1161 2023-12-30 15: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.)
b79e21c5 2023-12-27 07:48:17 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.
c8fcdede 2023-12-27 06: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.
5eb995c3 2023-12-26 14:26:20 doc: typos in NEWS. From https://lists.gnu.org/archive/html/automake/2023-12/msg00037.html. * NEWS: typos.
01b62818 2023-12-25 15:42:34 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.
354b7e47 2023-12-25 15:40:25 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.
0249be1e 2023-12-25 15:38:15 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.
6a2d079b 2023-12-24 15:02:30 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.
f033898f 2023-12-24 14:56:50 doc: update location of FETCHFILES variable. Report and patch: https://bugs.gnu.org/68004. * HACKING: FETCHFILES has been moved: Makefile.am -> maintainer/maint.mk.
aa55e07c 2023-12-24 08:56:30 maint: email in THANKS for Zack Weinberg. * THANKS (Zack Weinberg): update from zackw@panix.com to zack@owlfolio.org, per Zack.
448fd777 2023-12-24 08:55:04 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).
9ab5c03e 2023-12-24 08:45:50 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.
8f43e75d 2023-12-23 10:44:03 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.
352d5f6f 2023-12-22 15: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.
3cc3e282 2023-12-21 18:19:36 maint: tweak announcement text again. * maintainer/maint.mk (announcement): "(instead of replying to this mail),"
95c0aa18 2023-12-21 15:46:43 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.
90ef1189 2023-12-20 14:12:34 doc: typo in tap-driver.sh. * lib/tap-driver.sh: to not too.
5883fcb1 2023-12-20 08:20:26 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").
80b72e67 2023-12-18 14:20:55 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.
31a4eb47 2023-12-17 08: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.
5c8dce80 2023-12-13 10:17:49 doc: checklinkx tweaks. * HACKING: mention checklinkx to check for broken links. * contrib/checklinkx: mention us in version info; use warnings instead of -w.
72ab19f5 2023-12-11 09: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.
0fbca7e7 2023-12-10 15:12:00 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.
0d88793d 2023-12-10 15:05:40 doc: NEWS entry for OBJC[XX] tags. This helps https://bugs.gnu.org/67539. * NEWS: update; forgot to commit with prior code change.
38f2f397 2023-12-10 09:57:53 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.
cfdb83d4 2023-12-10 09: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.
668e8a20 2023-12-02 21:50:45 Simplify recent $PERL check * configure.ac: Don’t spin off subprocesses to check $PERL.
f2b10583 2023-12-02 14:53:12 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.
fac41f94 2023-12-02 14:33:30 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.
6b4304c1 2022-01-26 06:36:32 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.
94f4bad7 2023-11-24 09:31:18 compile: support libtool .lo, needed for Xapian on Windows. * lib/compile (func_cl_wrapper):handle *.lo like *.o.
fba903e6 2023-11-23 09: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-23 09: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.
f68b2784 2023-11-21 09:44:55 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
8cdbdda5 2023-11-21 08:30:00 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.
4adfd131 2023-11-19 06:55:04 doc: typos in tap-driver.sh. * lib/tap-driver.sh: fix typos.
f4b5d415 2023-11-18 18:25:16 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
458bc6ad 2023-11-15 10:37:22 tests: give input file to sed. * t/posixtarget.sh: sed ... Makefile | grep, not sed ... | grep Makefile, to avoid waiting forever on stdin.
d5d5707d 2023-11-15 10:35:40 m4: use AS_IF instead of ! builtin. * m4/sanity.m4: Switch `if !` to AS_IF.
5c85c782 2023-11-01 22:20:05 fix: syntax error in sanity.m4 * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Fix syntax error from preceding change: add a missing double quote.
cfb00bd3 2023-11-01 18:05:53 doc: more NEWS on fractional seconds. * NEWS: fixed autom4te is not yet released.
581e0ae4 2023-11-01 18:03:36 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:
a1c34d1f 2023-11-01 17:41:53 doc: add bug numbers to NEWS. * NEWS: add some bug numbers.
b6fa7311 2023-11-01 17:40:47 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.
7d727188 2023-11-01 17:36:01 m4: syntax fix for lex change. * m4/lex.m4: dnl caused "fiif" in output.
df85c29c 2023-11-01 09:25:21 doc: tiny Texinfo cleanups. * doc/automake.texi (Public macros): Missed @var usage. (Dependencies): "The Autoconf Manual" in cross-manual xref.
c889fedb 2023-11-01 09:22:46 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.
edd08396 2023-11-01 09:18:57 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.
2d91e57b 2023-10-30 10:14:51 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.
b2d0fee3 2023-10-06 08:28:19 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.
1c618bce 2023-10-06 08: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.
80714ea0 2023-08-29 11:00:41 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.
c1f34ffe 2023-08-28 18:32:53 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.
6c10512c 2023-08-28 06:11:39 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.
43a53bdf 2023-08-09 18:07:44 maint: Ineiev in THANKS. * THANKS: add Ineiev.
56766ede 2023-08-09 18: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.
80d755f9 2023-08-05 17:58:10 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.
dbdfa65c 2023-07-20 18: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.)
683400c3 2023-07-14 08:50:51 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%.
5c85a9d3 2023-07-13 15:32:34 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.)
65ad31d8 2023-07-09 09:57:15 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.
c5f08e89 2023-07-06 18:27:36 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.
ab347652 2023-07-05 08: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-01 08: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
8859f820 2023-06-29 17:59:48 doc: discuss setting uid/gid information in tarballs. In response to https://bugs.gnu.org/19615. * doc/automake.texi (Basics of Distribution): give example of specifying the TAR_OPTIONS (environment) variable used by GNU tar.
4e86c7ed 2023-06-28 10: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.
a456dfd6 2023-06-27 18:10:38 doc: discuss workaround for V=99 failing. In response to https://bugs.gnu.org/20077. * doc/automake.texi (Tricks For Silencing Make): state and discuss workarounds for the limitation of $(V) only being settable to 0 or 1.
7db4d7d1 2023-06-24 18:31:29 doc: bring a few examples up to date. * doc/automake.texi (Built Sources Example): use @kbd for typed commands; show current output. (Checking the Distribution): refer to Third-Party Makefiles for the do-nothing dvi target example. Other small wording tweaks throughout. * HACKING: consistently omit $ prompt. Say a bit more about versions of Autoconf. Describe actual current status of branches (only master in use). Give some topic examples. "rerun" not "re-run". Other small wording tweaks throughout.
d4da6e96 2023-06-23 17:51:43 test: avoid sometime-race condition for dist-no-built-sources test. * t/dist-no-built-sources.sh: rm the dist .tar.gz and .tar generated after inspecting, to avoid it being considered up to date on the second time through the loop.
226b6131 2023-06-08 14: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
5b87f66c 2023-05-29 17:54:07 doc: improve NAME string for man pages. This change fixes https://bugs.gnu.org/62853 and https://bugs.gnu.org/62854. * doc/local.mk (update_mans): move $(AM_V_GEN): to calls; include --name="$${HELP2MAN_NAME}". (-%D%/aclocal-$(APIVERSION).1, %D%/automake-$(APIVERSION).1): set HELP2MAN_NAME in environment to pass to help2man.