Log

Author Commit Date CI Message
Karl Berry fac41f94 2023-12-02T14: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.
Mike Frysinger 6b4304c1 2022-01-26T06: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.
Olly Betts 94f4bad7 2023-11-24T09:31:18 compile: support libtool .lo, needed for Xapian on Windows. * lib/compile (func_cl_wrapper):handle *.lo like *.o.
Karl Berry 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.
Alex Vong 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.
Karl Berry f68b2784 2023-11-21T09: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
Pavel Raiskup 8cdbdda5 2023-11-21T08: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.
Jakub Wilk 4adfd131 2023-11-19T06:55:04 doc: typos in tap-driver.sh. * lib/tap-driver.sh: fix typos.
Karl Berry f4b5d415 2023-11-18T18: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
Karl Berry 458bc6ad 2023-11-15T10:37:22 tests: give input file to sed. * t/posixtarget.sh: sed ... Makefile | grep, not sed ... | grep Makefile, to avoid waiting forever on stdin.
Mike Frysinger d5d5707d 2023-11-15T10:35:40 m4: use AS_IF instead of ! builtin. * m4/sanity.m4: Switch `if !` to AS_IF.
Jim Meyering 5c85c782 2023-11-01T22: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.
Karl Berry cfb00bd3 2023-11-01T18:05:53 doc: more NEWS on fractional seconds. * NEWS: fixed autom4te is not yet released.
Karl Berry 581e0ae4 2023-11-01T18: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:
Karl Berry a1c34d1f 2023-11-01T17:41:53 doc: add bug numbers to NEWS. * NEWS: add some bug numbers.
Bogdan b6fa7311 2023-11-01T17: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.
Karl Berry 7d727188 2023-11-01T17:36:01 m4: syntax fix for lex change. * m4/lex.m4: dnl caused "fiif" in output.
Karl Berry df85c29c 2023-11-01T09:25:21 doc: tiny Texinfo cleanups. * doc/automake.texi (Public macros): Missed @var usage. (Dependencies): "The Autoconf Manual" in cross-manual xref.
Bogdan c889fedb 2023-11-01T09: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.
Łukasz Stelmach edd08396 2023-11-01T09: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.
Karl Berry 2d91e57b 2023-10-30T10: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.
Karl Berry b2d0fee3 2023-10-06T08: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.
Vincent Lefevre 1c618bce 2023-10-06T08:18:33 automake: new option posix to emit .POSIX target first. This patch is from https://bugs.gnu.org/55025. * lib/Automake/Options.pm (_is_valid_easy_option): declare new option "posix". * bin/automake.in (generate_makefile): if the "posix" option is present, add a .POSIX special target as the first non-comment line in the Makefile.in files. * NEWS: mention this. * doc/automake.texi: likewise.
Frédéric Bérat 80714ea0 2023-08-29T11: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.
Frédéric Bérat c1f34ffe 2023-08-28T18: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.
Frédéric Bérat 6c10512c 2023-08-28T06: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.
Karl Berry 43a53bdf 2023-08-09T18:07:44 maint: Ineiev in THANKS. * THANKS: add Ineiev.
Jan Engelhardt 56766ede 2023-08-09T18:07:00 automake: portability warning for dollar-escaped dollar signs. This bug and fix was posted at https://lists.gnu.org/archive/html/automake/2023-08/msg00003.html. * lib/Automake/Variable.pm (scan_variable_expansions): rewrite scan_variable_expansions regex to handle dollar-escaped dollar signs. * t/dollarvar2.sh: test it.
Ineiev 80d755f9 2023-08-05T17: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.
Bruno Haible dbdfa65c 2023-07-20T18:03:27 automake: disable GNU make's internal pattern rules, for speed. From https://bugs.gnu.org/64743. * lib/am/footer.am: Disable GNU make's internal pattern rules. * lib/Automake/Rule.pm (_conditionals_for_rule): Add special handling for these pattern rules from footer.am. (define): Likewise. * t/nodep.sh: Update test to avoid matching the new %:: rules. * t/fnoc.sh: Update test to avoid matching the new %:: SCCS rule. * NEWS: Mention this. * doc/automake.texi (Suffixes): Likewise. (Doc changes written by Karl.)
Mike Frysinger 683400c3 2023-07-14T08: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%.
Bogdan 5c85a9d3 2023-07-13T15: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.)
Bogdan 65ad31d8 2023-07-09T09: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.
Bogdan c5f08e89 2023-07-06T18: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.
Bogdan 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.
Bogdan 4bd4640e 2023-07-01T08:34:55 automake: do not warn that POSIX variables are non-POSIX. This change fixes https://bugs.gnu.org/9587. * lib/Automake/Variable.pm (_VARIABLE_PATTERN_EXTRA_POSIX): new variable for $(*D) and the like. (_VARIABLE_PATTERN): use it. * t/vars3.sh: update test. * NEWS: mention this. POSIX spec (currently): https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
Karl Berry 8859f820 2023-06-29T17: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.
Karl Berry 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.
Karl Berry a456dfd6 2023-06-27T18: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.
Karl Berry 7db4d7d1 2023-06-24T18: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.
Karl Berry d4da6e96 2023-06-23T17: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.
Paul Eggert 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
Karl Berry 5b87f66c 2023-05-29T17: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.
Bogdan 7f33a3b8 2023-05-27T18:10:11 configure: exit explicitly if the path to perl contains spaces. This change ameloriates https://bugs.gnu.org/62896. * configure.ac: exit explicitly if the result of AC_PATH_PROG for perl contains spaces, since shebang lines cannot support such paths. * THANKS (Bogdan): add.
Karl Berry e5168045 2023-05-27T17:59:51 doc: HACKING bug merge; doc/local.mk help2man update hints. * HACKING: give bug merge example. * doc/local.mk: how to update help2man manually; fix checklinkx sleep comment.
Karl Berry 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.
Paul Eggert 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.
Paul Eggert 844c71e5 2023-03-29T18:05:25 do not assume GNU tar in test * t/dist-no-built-sources.sh: Don’t assume GNU Tar’s ability of decompressing tarballs. Solaris 10 ‘tar’ doesn’t do that.
Jacob Bachmeyer 794464f0 2023-02-08T23:30:00 Remove parentheses around test argument lists This works around a parser bug in Perl 5.6.2. * t/pm/General.pl: Remove parentheses on argument lists. Copyright-paperwork-exempt: yes
Jacob Bachmeyer 62b3ff7b 2023-02-08T23:07:26 Improve test for blocked signals This fixes ERRORs reported by: * t/parallel-tests-interrupt.tap * t/self-check-exit.tap * t/self-check-is-blocked-signal.tap * t/tap-signal.tap * t/ax/am-test-lib.sh (is_blocked_signal): Revise Perl code to more closely follow documented interfaces where available. This also works around bugs and limitations of the POSIX module in Perl 5.6. Copyright-paperwork-exempt: yes
Paul Eggert 16fa11bf 2023-03-29T11:48:02 Port 'make check' to platforms lacking libtool * t/get-sysconf.sh: Don’t fail if libtoolize is missing.
Paul Eggert e1b3b704 2023-03-28T20:29:02 configure: recommend perl 5.10 or better * configure.ac (PERL): Recommend perl 5.10 or better, since 5.10 has higher-resolution timestamps.
Jacob Bachmeyer efce8539 2023-02-07T22:42:59 Gracefully degrade if Time::HiRes is not available Copyright-paperwork-exempt: yes
Jacob Bachmeyer 0e127700 2023-02-07T22:39:29 Revert "maint: require perl 5.010 or later" This reverts commit 4e3744a15c4d8bdb46c11ead2fb56c5f591b714b. Copyright-paperwork-exempt: yes
Karl Berry 0901ccdd 2023-03-01T15:03:30 doc: tweak old NEWS about ACLOCAL_AMFLAGS. * NEWS: any ACLOCAL_AMFLAGS deprecation will be in a major release (the hypothetical 2.0), not sooner. * NEWS-2.0: developers who don't wish to be maintainers are also welcome and needed.
Karl Berry 4f5a624d 2023-02-28T15:14:07 dirstamp: revert change of Jan 11 2023. Fixes (hopefully) automake bug https://bugs.gnu.org/61867. * bin/automake.in: restore explicit per-directory pattern rules, since evidently @D is not supported on BSD-derived makes, whatever POSIX says. That is, revert this commit: https://git.savannah.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=55f8fcfd08cbf15d65d61dd2db934b6c3171cf06
Paul Eggert 01bf65da 2023-02-02T14:17:52 Use higher-resolution file timestamps * lib/Automake/FileUtils.pm (mtime): Return higher-resolution file timestamps. This isn’t perfect, but it’s better than what we had. Code change taken from Autoconf to partially fix a race <https://bugs.gentoo.org/show_bug.cgi?id=782985>.
Paul Eggert 4e3744a1 2023-02-02T14:13:24 maint: require perl 5.010 or later This is needed for better treatment of high-res timestamps.
Frédéric Bérat 6d6fc91c 2022-12-12T07:32:13 tests: depcomp: ensure make_ok() fails when run_make fails While running automake tests with -std-gnu=c99, the compiler report errors which lead to make to fail. Yet, these failures are ignored during the tests, which considers them to be successful as stderror is check for one specific pattern. If make fails, investigation should be made to discover why, whatever the reason for the failure is. * t/ax/depcomp.sh: Make make_ok fail when make fails.
Mike Frysinger 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`.
Mike Frysinger c9479c29 2023-01-12T20:31:31 tests: rework gettext to only check 'external' behavior The gettext project deprecated non-external use back in 2010 with the 0.18 release, and made it fatal with the 0.20 release in 2019. With that version, calling AM_GNU_GETTEXT() fails, which means all Automake tests are now skipped. The t/gettext-macros.sh helper probes gettext as such: >+ autopoint --force > autopoint: *** AM_GNU_GETTEXT without 'external' argument is no longer supported in version 0.21.1 > autopoint: *** Stop. > ... >+ aclocal-1.16 -Werror -Wno-syntax -I m4 --install > aclocal-1.16: warnings are treated as errors > configure.ac:4: warning: macro 'AM_GNU_GETTEXT' not found in library > configure.ac:5: warning: macro 'AM_GNU_GETTEXT_VERSION' not found in library >+ echo skip_all_ "couldn't find or get gettext macros" Since t/gettext-macros.sh generates a helper that all other gettext tests use to see if gettext is available, all they get skipped. Rework our existing tests to only check the 'external' gettext mode. This should work with older versions, and we don't really need to keep track of old non-external mode since it's been deprecated for so long. * t/gettext-basics.sh: Use external gettext mode, and adjust tests. * t/gettext-config-rpath.sh: Likewise. * t/gettext-macros.sh: Likewise. * t/gettext-pr381.sh: Likewise. * t/subdir-cond-gettext.sh: Likewise.
Mike Frysinger 9067b181 2023-01-13T00:09:06 tests: disable git log pager usage When running this code locally, the git log call can trigger a pager depending on the local settings, which in turn forces the test to be interactive. Run git with --no-pager to force disable it. * t/get-sysconf.sh: Run git with --no-pager.
Mike Frysinger 34c5008d 2023-01-03T22:38:22 tests: change `sort|uniq` to `sort -u` These are equivalent, but more performant. We already use `sort -u` elsewhere in the codebase, so nothing new here really. * t/add-missing.tap: Change `sort|uniq` to `sort -u`. * t/CheckListOfTests.am: Likewise.
Frédéric Bérat 2a9908da 2022-12-12T08:05:53 tests: Fix 'type defaults' error in link_cond due to main not being properly declared This is related to an effort to prepare Automake for future GCC/Clang versions which set c99 as default standard to be used. Not properly declaring main as "int main(...)" is rejected since c99. * t/link_cond.sh: Add (void) to main definition.
Mike Frysinger 55f8fcfd 2023-01-11T22:07:22 dirstamp: switch to a pattern rule We can leverage $(@D) to generate a single pattern rule for all dirstamp rules. This saves many lines in the output -- normally we create 2 rules (or 6 lines) per subdir, and projects that use subdirs tend to use them quite a bit. In the most extreme & unlikely case (1 subdir, no depdir support), the line count is the same. In every other case, it's always a win. Looking at a few real world projects, the line deltas: * GNU libgloss: +3 -66 * GNU newlib: +3 -714 * GNU sim: +3 -138 There shouldn't be any concerns about portability with $(@D) because: (0) This has been in POSIX (and beyond) for decades, (1) We only generate this rule iff we know the dirstamp is in a subdir (so we'd never have a case where $(@D) would expand to the cwd, and that is where a few implementations are known to be buggy), (2) We already rely on $(@D) in our depdir code, and have since 2014 (the Automake 1.16 release).
Mike Frysinger 054b02ce 2023-01-11T21:40:04 dirstamp: use append too instead of truncate We changed the depfiles logic to use >> (append) instead of > (truncate) due to it being slightly faster & nicer to the disk. Do the same with the dirstamp files as we only need the files to exist -- we don't care about their content, and we never put anything in them ourselves. If someone else were to, we clean them up normally with `make clean`. Simple test case on my Linux 6.1 w/ext4 on SSD: @: > foo.txt for (i = 0; i < 1000000; ++i) close(open("foo.txt", O_WRONLY|O_CREAT|O_TRUNC, 0666)); -> 769 msec @: >>foo.txt for (i = 0; i < 1000000; ++i) close(open("foo.txt", O_WRONLY|O_CREAT|O_APPEND, 0666)); -> 2 sec
Mike Frysinger 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).
Karl Berry 2c0a22f9 2023-01-08T17:56:40 doc: overriding targets doesn't mean third-party Makefiles. Fixes automake bug https://bugs.gnu.org/60607. * doc/automake.texi (dvi and distcheck): simply show dvi: as an example of a do-nothing Makefile (xref to Extending), instead of cross-referencing the complicated method in Third-Party Makefiles. (Clean, Extending): wording tweaks.
Mike Frysinger 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.
Mike Frysinger 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%.
Mike Frysinger 34bdde96 2023-01-04T02:00:14 maint: make update-copyright
Mike Frysinger 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.
Karl Berry ed1368e8 2022-12-12T14:50:33 test: avoid apostrophe in test document. From automake patch https://bugs.gnu.org/59989 (though a different solution), suggestion by Frederic Berat. * t/txinfo-include.sh: avoid apostrophes in test document, since Texinfo 7.0 turns them into UTF-8 by default.
Kelvin M. Klann 63216e55 2022-10-06T14:08:55 doc: typo in HACKING changes. * HACKING: allow backward compatibilities again.
Karl Berry 7ae28351 2022-10-01T18:23:39 distcheck: more .NOTPARALLEL. * t/backcompat.sh: add .NOTPARALLEL. * t/subdir-add2-pr46.sh: likewise. (Maybe the problem is more general?)
Karl Berry 77c0e3e3 2022-10-01T15:24:54 maint: Update files from upstream with 'make fetch' + help2man. * INSTALL: update with make fetch.
Karl Berry 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.
Karl Berry 92fcf10f 2022-10-01T14:59:51 maintcheck: placate maintainer-check and grep 3.8. * maintainer/syntax-checks.mk (sc_rm_minus_f): no \ before - (diagnosed by grep 3.8). * t/comment12.sh: use $(...) instead of `...`. * t/comments-escaped-in-var.sh: use AUTOMAKE_fails and grep for expected warning message. * t/list-of-tests.mk (handwritten_TESTS): add t/py-compile-files.sh. * t/subdir-add2-pr46.sh (.NOTPARALLEL): add; showed up with parallelized internal make. Seems unreproducible.
Karl Berry 96fd38d7 2022-10-01T09:19:57 more HACKING tweaks
Karl Berry 7191c6b4 2022-10-01T09:02:15 aclocal: protect against Perl undefined warnings. * bin/aclocal.in (usage): check that envvars (ACLOCAL_AUTOMAKE_DIR, ACLOCAL_PATH) are defined before printing values. * HACKING: describe running scripts from checkout, et al.
Karl Berry e0d24592 2022-09-28T10:17:35 doc: rearrange NEWS. * NEWS: reclassify bugs vs. features.
Zack Weinberg 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.
Karl Berry 8a4ecd4f 2022-09-28T09:08:20 forgot NEWS update
Zack Weinberg 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.
Richard Hopkins cea8158f 2022-09-27T18:04:20 automake: do not use -Q with emacs invocations. This change is for https://bugs.gnu.org/58102. (By the way, the previous two commits were for bugs 58026 (silent .elc compilation) and 58025 (load bytecomp), respectively, but I forgot to mention them.) * m4/lispdir.m4 (AM_PATH_LISPDIR): omit -Q option. Also (from karl), use -no-site-file (one hyphen) for consistency with the other options. * NEWS: mention this. * doc/automake.texi (Hard-Coded Install Paths): likewise.
Richard Hopkins 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.
Richard Hopkins 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.
Karl Berry 023189d4 2022-09-18T14:11:15 doc: typo in depcomp. * lib/depcomp: obsosete -> obsolete. Report from anonymous.
Alexander Neumann 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.
Jim Meyering 208f103f 2022-05-23T23:20:37 fix: autoreconf fails due to .m4 files added but not installed * m4/local.mk (dist_automake_ac_DATA): Add both rmf.m4 and xargsn.m4. Building grep from "make maintainer-clean" state, failed like this: configure.ac:41: warning: _AM_PROG_RM_F is m4_require'd but not\ m4_defun'd configure.ac:41: warning: _AM_PROG_XARGS_N is m4_require'd but not\ m4_defun'd configure:5058: error: possibly undefined macro: _AM_PROG_RM_F configure:5059: error: possibly undefined macro: _AM_PROG_XARGS_N
Jan Engelhardt 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.
Mike Frysinger fee9a828 2022-03-13T00:12:23 doc: refer to automake manual in all man pages Fixes automake bug https://bugs.gnu.org/54363. There is no "aclocal" manual as it's all integrated into the automake manual, so have all the help2man calls force automake as the manual. * doc/local.mk: Use --info-page=automake for man pages.
Mike Frysinger ff230b29 2022-02-24T22:25:45 automake: fall back gracefully when texinfo inputs don't exist Fixes automake bug https://bugs.gnu.org/54063. The function scanning for @setfilename will fall back to a default value if the input doesn't have one defined. But we need to handle the case where the file doesn't even exist before falling back. * bin/automake.in: Scan /dev/null for @setfilename if input doesn't exist. * t/list-of-tests.mk: Add txinfo-no-setfilename-no-inputs.sh. * t/txinfo-no-setfilename-no-inputs.sh: New test.
Mike Frysinger ce3bbbb4 2022-02-24T22:20:53 m4: handle id failures when checking ustar support Fixes automake bug https://bugs.gnu.org/20713. If `id` fails, display a specific warning message to the user. * m4/tar.m4: Check $am_uid & $am_gid if they're unknown.
Mike Frysinger d747a66a 2022-02-20T19:06:55 m4: rework silent-rules macros to avoid double expansion Fixes automake bug https://bugs.gnu.org/32868. The AM_SILENT_RULES macro defines all the silent-rules related setup. It's also called by users to change the default verbosity level. This leads to a quirk where automake calls it, expands the full context, and then users call it, and it's fully expanded again. Instead, let's rename AM_SILENT_RULES to _AM_SILENT_RULES and move the initialization logic to late in the configure stage. This allows the user-centric AM_SILENT_RULES call to expand into a single line to set the default verbosity. * m4/init.m4: Switch to _AM_SILENT_RULES. * m4/silent.m4: Rename AM_SILENT_RULES to _AM_SILENT_RULES. Delay evaluation of AM_SILENT_RULES to the end. Define new AM_SILENT_RULES to set default rules verbosity. * t/silent-defaults.sh: New tests. * t/list-of-tests.mk: Add t/silent-defaults.sh.
Mike Frysinger a61eaf68 2022-02-24T00:52:08 tests: make silent-custom regex a little more robust Fixes automake bug https://bugs.gnu.org/32800. Have the regex match the entire path with word boundaries on both sides. This should reduce false positives when the full cwd happens to match parent directories. * t/silent-custom.sh: Update the header output regex.
Mike Frysinger 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+.
Mike Frysinger d5dc4e0a 2022-02-23T00:44:11 manual: mention LT_INIT The AC_PROG_LIBTOOL macro name is the old/deprecated one, so include LT_INIT here too to avoid confusing people who have switched. * doc/automake.texi: Add LT_INIT after AC_PROG_LIBTOOL.
Mike Frysinger c62e7230 2022-02-20T23:30:39 automake: allow required files to be in subdirs Fixes automake bug https://bugs.gnu.org/20300. The internal method for caching path lookups expects the $filename to only be a filename. If it's actually a subdir/file itself, then the cache logic gets confused, and it never matches. This manifests as AC_REQUIRE_AUX_FILE([subdir/file]) claiming that the subdir/file path doesn't exist even when it does. Before we process any required files, since we already construct the full path locally, reset the dir & file inputs to the final values. * bin/automake.in: Split dir & file name back out from the constructed required file path. * t/auxdir-subsubdir.sh: New test. * t/list-of-tests.mk: Add t/auxdir-subsubdir.sh.
Mike Frysinger 13ae585a 2022-02-20T14:28:11 tests: fix yacc C++ tests with some C++ compilers Fixes automake bug https://bugs.gnu.org/20031. The C++ standard does not require symbols be placed into the global namespace, just in the std namespace. The GNU implementation will place symbols in both. For our specific code, we don't care either. Unfortunately, it looks like generated flex code assumes that some stdlib.h symbols (free, malloc, exit) are in the global namespace, even when compiling for C++. So when we include <cstdlib> but not <stdlib.h>, we might not get the symbols in the global namespace. We can workaround this by including stdlib.h in these tests without invalidating the point of the tests in general. * t/yacc-cxx.sh: Include stdlib.h. * t/yacc-d-cxx.sh: Likewise. * t/yacc-mix-c-cxx.sh: Likewise.