lib


Log

Author Commit Date CI Message
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.
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 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 8abf0894 2022-02-20T13:28:48 automake: support embedded \# in variable appends Fixes automake bug https://bugs.gnu.org/7610. Use of \# is not portable. POSIX does not provide any way of retaining the # marker in variables. There is wide spread support for \# though in GNU & BSD Make implementations. Today, with plain variable assignments, Automake leaves the line alone: foo = blah\#blah This will leave it to the implementation to decide what to do. But if you try to append to it, Automake follows POSIX and strips it: foo = blah\#blah foo += what -> foo = blah\ what Instead, let's issue a portability warning whenever \# is used, even if it isn't being appended, and do not strip the \# when appending. Now: foo = blah\#blah foo += what -> warning: escaping \# comment markers is not portable -> foo = blah\#blah what * NEWS: Mention change in \# handling. * lib/Automake/VarDef.pm: Do not strip # if escaped. * lib/Automake/Variable.pm: Warn if \# is used. * t/comment12.sh: New test. * t/comments-escaped-in-var.sh: New test. * t/list-of-tests.mk: Add comment12.sh & comments-escaped-in-var.sh.
Mike Frysinger 38da1d90 2022-02-17T04:35:03 python: use xargs -n when uninstalling files Fixes automake bug https://bugs.gnu.org/53340. If the system has xargs, then utilize it to uninstall files to stay within long command line limits. If the system doesn't have xargs, fall back to running the remove command one at a time. Since every reasonable system should have `xargs -n`, and POSIX requires it, the fallback probably rarely gets used, so don't bother optimizing. * lib/am/inst-vars.am: Use am__xargs_n to call rm -f on the files. * lib/am/python.am: Drop am__base_list and for loop and let the am__uninstall_files_from_dir break up the long command lines. * m4/init.m4: Call _AM_PROG_XARGS_N. * m4/xargsn.m4: New test for `xargs -n`.
Mike Frysinger 3099097d 2022-02-17T03:50:55 rm: handle -f w/no arguments gracefully Fixes automake bug https://bugs.gnu.org/10828. Delete the configure check that would abort if `rm -f` does not work, and delete the plans to make this a hard requirement in the future. Instead, test to see if `rm -f` fails w/out arguments. If it does, define am__rm_f such that it always passes at least the "" argument when deleting files. If it doesn't fail, then we can omit the "". Then go through lib/am/ and update places where we use the pattern `test -z ... || rm -f ...` and replace with $(am__rm_f). * NEWS: Mention support for `rm -f` w/out arguments. * PLANS/rm-f-without-args.txt: Remove. * lib/am/check.am: Use new $(am__rm_f) helper. * lib/am/clean.am: Likewise. * lib/am/header-vars.am: Likewise. * lib/am/inst-vars.am: Likewise. * lib/am/libs.am: Likewise. * lib/am/ltlib.am: Likewise. * lib/am/progs.am: Likewise. * lib/am/texinfos.am: Likewise. * m4/init.m4: Delete `rm -f` checks and call _AM_PROG_RM_F. * m4/rmf.m4: Define new _AM_PROG_RM_F macro. * t/rm-f-probe.sh: Update test.
Mike Frysinger 6097de0a 2022-02-15T22:25:35 python: fix exit status handling with uninstall The st variable is set at the top of this shell script, and then here is a pipeline where it tries to update it in the subshell. But since setting variables in a subshell doesn't propagate back up, it doesn't actually work. Have the final subshell in the pipeline manage its own exit status and exit with that so that the final status of the pipeline is the right value. * lib/am/python.am: Fix final subshell exit status passing.
Mike Frysinger 5c9e117c 2022-02-08T00:39:40 elisp: run emacs with --no-site-file Fixes automake bug https://bugs.gnu.org/21547. If users have interactive site file logic, the lispdir probing can hang, as can the compilation of elisp files. Use --no-site-file to disable loading any of that possible user logic. * NEWS: Note emacs --no-site-file change. * doc/automake.texi: Run emacs with --no-site-file. * lib/am/lisp.am: Likewise. * m4/lispdir.m4: Likewise.
Mike Frysinger 24a28a24 2022-02-07T23:29:13 ar-lib: ignore -nologo option We already invoke $AR with -NOLOGO all the time, so we can ignore the option entirely if the user specifies it. * lib/ar-lib: Ignore -NOLOGO.
Mike Frysinger 5b99315c 2022-02-06T01:24:52 py-compile: fix display when compiling multiple files The compilation steps print the filename as it runs, but forgets to add a space after it, so they all get squashed together: $ ./py-compile 1.py 2.py 3.py Byte-compiling python modules... 1.py2.py.3.py * lib/py-compile: Add missing write.
Mike Frysinger 8b2d281d 2022-02-06T00:22:50 py-compile: drop support for Python 0.x & 1.x Python 2.0 was released in 2000. There's really no way for us to check those old versions, so let's just drop them. No one will miss them. * NEWS: Note Python version support removal. * lib/py-compile: Abort if major version 0 or 1 is found. * t/py-compile-env.sh: Rework slightly to handle new version probing.
Mike Frysinger 8a913c26 2022-02-05T23:43:38 py-compile: handle filenames with whitespace The list of files is put into a string and then split on whitespace. Fix the way the list of files are passed to the compile script. * lib/py-compile: Pass files as arguments, not as a string. * t/py-compile-files.sh: New test.
Mike Frysinger faa1d2c5 2022-02-05T23:01:31 py-compile: clean up usage info Include the full summary of options in the output. * lib/py-compile: Update usage output. * t/py-compile-usage.sh: Update test to match new output.
Mike Frysinger 8d9daa99 2022-01-30T05:59:19 maint: Update files from upstream with 'make fetch' * lib/config.guess: Update. * lib/config.sub: Likewise. * lib/gendocs.sh: Likewise. * lib/gendocs_template: Likewise. * lib/gitlog-to-changelog: Likewise. * lib/gnupload: Likewise. * lib/texinfo.tex: Likewise. * lib/update-copyright: Likewise.
Mike Frysinger 9daa34db 2022-01-24T03:08:13 texi: define new AM_TEXI2FLAGS variable To provide a bit more flexibility when invoking TEXI2DVI & TEXI2PDF, and provide a bit of symmetry with .info & .html generation, provide a AM_TEXI2FLAGS setting that is passed to all TEXI2xxx invocations. * doc/automake.texi: Mention new AM_TEXI2FLAGS setting. * lib/am/texibuild.am: Pass $(AM_TEXI2FLAGS) to TEXI2DVI & TEXI2PDF. * NEWS: Mention AM_TEXI2FLAGS. * t/txinfo-many-output-formats.sh: Check for AM_TEXI2FLAGS.
Mike Frysinger c1b799a0 2022-01-24T02:53:13 texi: pass automatic -I to dvi & pdf generation Fixes automake bug https://bugs.gnu.org/23599. When generating info/html pages, automake adds -I flags to source dirs that contain the texi files, but it doesn't do this for dvi or pdf formats. Instead, automake has been relying on texi2dvi to use makeinfo for expanding macros, and it hasn't done that by default in a long time. Since adding --expand to the texi2dvi call is undesirable (due to bad and unpredictable BEHAVIOR), pass those automatic -I flags directly to TEXI2DVI & TEXI2PDF so they work regardless of --expand behavior. We have to keep the MAKEINFO= setting around as texi2dvi might itself fall back to it if the version of tex is old or broken. * bin/automake.in: Add comment about $makeinfoflags usage. * doc/automake.texi: Mention automatic -I subdir flags. * lib/am/texibuild.am: Pass %MAKEINFOFLAGS% to TEXI2DVI & TEXI2PDF. * t/txinfo-subdir-pr343.sh: Check for -I subdir usage.
Mike Frysinger 975ea4d9 2022-01-19T05:14:47 progs, libs: support _RANLIB overrides Much like we have per-target support for _AR and _LINK, add an _RANLIB override too. This allows selection of specific ranlib tools in case a non-standard archiver tool was forced. * bin/automake.in: Check for _RANLIB per-target settings. * doc/automake.texi: Document _RANLIB override. * lib/am/library.am: Change $(RANLIB) to $(%XLIBRARY%_RANLIB). * t/list-of-tests.mk: Add ranlib_override.sh. * t/ranlib_override.sh: New test. * NEWS: Mention new feature.
Pavel Raiskup 5fefc4a6 2018-07-30T15:02:35 lib: drop unused shell variables Detected by ShellCheck. * lib/depcomp: Drop never used $digits. * lib/ylwrap: Drop --basedir and $basedir, seems like that was old C&P error from 210797967a.
Jim Meyering 6c8ff6a8 2022-01-12T14:15:12 maint: make update-copyright
Mike Frysinger a320a092 2021-11-27T17:43:00 dejagnu: add support for silent builds with site.exp. * lib/am/dejagnu.am (site.exp): Use $(AM_V_GEN) and merge all independent shell calls into one.
Mike Frysinger b7868119 2021-10-31T12:52:43 config headers: add support for silent builds * lib/am/remake-hdr.am (%STAMP%): Use $(AM_V_at) and $(AM_V_GEN). (%CONFIG_HIN%): Likewise.
Karl Berry 4e53bb67 2021-09-26T18:19:43 maint: Update files from upstream with 'make fetch'. * lib/config.sub: Update.
Dimitri Papadopoulos 522e0d40 2021-08-07T17:54:17 doc: typos from codespell. * HACKING: typo from codespell. * doc/local.mk: likewise. * lib/am/header-vars.am: likewise. * lib/am/lisp.am: likewise. * t/cond24.sh: likewise. * t/cond36.sh: likewise. * t/dist-auxdir-many-subdirs.sh: likewise. * t/link_override.sh: likewise. * t/parallel-tests-console-output.sh: likewise. * t/subobj11a.sh: likewise. * t/subobj11b.sh: likewise.
Karl Berry badd7d25 2021-07-26T18:03:53 cosmetics: py-compile consistently use test, not [ ... ]; indentation. * lib/py-compile: consistently use test rather than [ ... ]; use consistent sh indentation; check exit status consistently.
Karl Berry 0b087f56 2021-07-22T13:44:12 maint: Update files from upstream with 'make fetch'. * lib/gendocs.sh: Update.
Jim Meyering a470a47f 2021-07-11T19:19:42 maint: make update-copyright
Jim Meyering 314c55f0 2021-07-11T18:34:22 no-dist-built-sources: fix-up * bin/automake.in (preprocess_file): Process new option here, (handle_dist): ... not here. * lib/Automake/Options.pm (_is_valid_easy_option): Remove pure-dist. * lib/am/distdir.am: Don't factor out the duplicate-looking $(MAKE)... command. Otherwise, many dist-using tests would fail for me, e.g., t/aclocal-amflags.sh.
Allison Karlitskaya 13659a73 2021-07-09T09:03:30 dist: add new "dist-no-built-sources" automake option. Fixes automake bug https://debbugs.gnu.org/49317. * bin/automake.in: implement new option "no-dist-built-sources" to omit the dependency of distdir on $(BUILT_SOURCES). (Allison's original patch used the option name dist-pure; trivially renamed.) * lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: conditionalize the dependency. * lib/Automake/Options.pm (_is_valid_easy_option): list it. * doc/automake.texi (List of Automake options): document it. * NEWS: mention it. * t/dist-no-built-sources.sh: test it. * t/list-of-tests.mk (handwritten_TESTS): add it.
Karl Berry 35c47fb6 2021-07-05T18:59:51 maint: Update files from upstream with 'make fetch' * lib/INSTALL: Update. * lib/config.guess: Likewise. * lib/config.sub: Likewise. * lib/gendocs.sh: Likewise. * lib/gendocs_template: Likewise. * lib/gitlog-to-changelog: Likewise. * lib/gnupload: Likewise. * lib/texinfo.tex: Likewise. * lib/update-copyright: Likewise.
Karl Berry 6a753ef5 2020-12-13T18:34:35 python: don't assume $(...) in py-compile. This change (very) partially fixes https://bugs.gnu.org/45205. * lib/py-compile: use `...` instead of $(...). Solaris 10 /bin/sh is still in use.
Reuben Thomas d2ccbd7e 2020-12-05T18:11:55 tags: support setting CTAGS, ETAGS, CSCOPE vars via ./configure. This change fixes https://bugs.gnu.org/45013. * m4/init.m4: add default settings and AC_SUBST calls for the variables `CTAGS', `ETAGS' and `CSCOPE'. * lib/am/tags.am: remove default settings of the above variables. * doc/automake.texi (Tags): mention and index. * NEWS: mention.
Karl Berry a5af212c 2020-11-23T18:04:56 tests: create log file before running the test script. This change partially fixes https://bugs.gnu.org/35762. * lib/test-driver: create $log_file before running the test script. Also quote $log_file. Combined suggestions from howaboutsynergy and Eric Blake.
Jim Meyering 3b2633fb 2020-11-15T21:42:14 maint: Update files from upstream with 'make fetch' * lib/config.guess: Update. * lib/config.sub: Likewise. * lib/texinfo.tex: Likewise.
Karl Berry 3313d9ca 2020-11-13T17:51:46 install-sh: trailing whitespace. * lib/install-sh: remove trailing whitespace. Sigh. (scriptversion): 2020-11-14.01
Robert Menteer 37b70ac4 2020-11-13T17:50:09 dejagnu: quote `pwd` when writing "set objdir" line to site.exp. This change fixes https://bugs.gnu.org/44600. * lib/am/dejagnu.am (site.exp): quote set objdir line. * NEWS: mention this.
Karl Berry db65189f 2020-11-12T17:49:31 install-sh: new option -S SUFFIX for simple file backups. * lib/install-sh: implement and document -S. Patch sent by Julien Elie: https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00004.html (scriptversion): 2020-11-13.01 * t/install-sh-option-S.sh: new test. * t/list-of-tests.mk (handwritten_tests): add it. * NEWS: mention it.
Karl Berry 8aa4d93f 2020-11-10T18:18:35 install-sh: --help tweaks. * lib/install-sh (usage): avoid too-long line, mention bug reporting address (bug-automake) and automake home page.
Karl Berry a296ffe1 2020-11-10T18:03:47 install-sh: new option -p to preserve mtime. * lib/install-sh: new option -p to call cp -p. Idea from patch sent by Julien Elie: https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00002.html (scriptversion): 2020-11-11.02 * NEWS: mention this. 2020-11-10 Karl Berry <karl@freefriends.org>
Karl Berry 6b182dc5 2020-11-10T17:54:06 install-sh: do not chown existing directories. * lib/install-sh: do not chown existing directories. Original patch sent by Julien Elie: https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00003.html (scriptversion): 2020-11-11.01 * NEWS: mention this.
Karl Berry 5c8d6e25 2020-11-10T17:48:35 install-sh: do not redundantly specify -f to rm. * lib/install-sh: do not redundantly specify -f to rm. Mention implication for RMPROG in the --help message. Original patch sent by Julien Elie: https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00005.html * NEWS: mention this.
Karl Berry dbc1c9e7 2020-10-06T18:16:14 automake: install-exec did not depend on $(BUILT_SOURCES). This change fixes https://bugs.gnu.org/43683. * lib/am/install.am (install-exec): %maybe_BUILT_SOURCES% dependency, twice. Basic patch from madmurphy (tiny change), message#8. (.MAKE) [maybe_BUILT_SOURCES]: depend on install-exec. * NEWS: mention it. * doc/automake.texi (Sources): mention this (also that make dist depends on $(BUILT_SOURCES)). * t/built-sources-install-exec.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it. * t/built-sources-install.sh: typo. * t/built-sources-check.sh: typo.
Zack Weinberg 22089fa6 2020-09-13T11:33:05 New utility function Automake::ChannelDefs::merge_WARNINGS. This function merges a list of warnings categories into the environment variable WARNINGS, returning a new value to set it to. The intended use is in code of the form { local $ENV{WARNINGS} = merge_WARNINGS ("this", "that"); # run a command here with WARNINGS=this,that,etc } This is not actually used in automake, but will be in autoconf. * lib/Automake/ChannelDefs.pm (merge_WARNINGS): New function.
Zack Weinberg 74673d1c 2020-09-11T18:03:19 Consistently use ‘our’ instead of ‘use vars’. At file scope of a file containing at most one ‘package’ declaration, ‘use vars’ is exactly equivalent to ‘our’, and the latter is preferred starting with Perl 5.6.0, which happens to be the oldest version we support. (This change has nothing to do with the previous two, but I want to make the same change in Autoconf and that means doing it here for all the files synced from Automake.) (I don’t know why, but this change exposed a latent bug in FileUtils.pm where the last pod block in the file didn’t have a ‘=cut’ delimiter, so the code after it was considered documentation, causing ‘require FileUtils’ to fail.) * lib/Automake/ChannelDefs.pm * lib/Automake/Channels.pm * lib/Automake/Condition.pm * lib/Automake/Configure_ac.pm * lib/Automake/DisjConditions.pm * lib/Automake/FileUtils.pm * lib/Automake/General.pm * lib/Automake/Getopt.pm * lib/Automake/Options.pm * lib/Automake/Rule.pm * lib/Automake/RuleDef.pm * lib/Automake/VarDef.pm * lib/Automake/Variable.pm * lib/Automake/Wrap.pm * lib/Automake/XFile.pm: Replace all uses of ‘use vars’ with ‘our’. * lib/Automake/FileUtils.pm: Add missing ‘=cut’ to a pod block near the end of the file.
Zack Weinberg 9ae8a896 2020-09-11T16:17:41 Consistently process -W(no-)error after all other warning options. automake and aclocal were processing ‘-W(no-)error’ whenever it appeared on the command line, which means that ‘-Werror,something-strange’ would issue a hard error, but ‘-Wsomething-strange,error’ would only issue a warning. It is not desirable for warnings about unknown warning categories ever to be treated as a hard error; that leads to problems for driver scripts like autoreconf, which would like to pass whatever -W options it got on its own command line down to all the tools and not worry about which tools understand which warning categories. Also, this sort of order dependence is confusing for humans. Change parse_warnings to take just one option, the _complete_ list of warning categories seen on the command line, and to process -Werror / -Wno-error after processing all other warnings options. Thus, unknown warnings categories will always just be a plain warning. This does mean aclocal has to stop using parse_warnings as a Getopt::Long callback, but that’s not a big deal. Similarly, change parse_WARNINGS to record whether ‘error’ appeared in the environment variable, but not activate warnings-are-errors mode itself. parse_warnings picks up the record and honors it, unless it’s overridden by the command line. * lib/Automake/ChannelDefs.pm ($werror): New package global (not exported). (parse_WARNINGS): Do not call switch_warning for ‘error’ / ‘no-error’; just toggle the value of $werror. (parse_warnings): Do not call switch_warning immediately for ‘error’ / ‘no-error’; toggle $werror instead. Call switch_warning ‘error’ at the very end if $werror is true. Remove unused $OPTION argument. * bin/automake.in: parse_warnings now takes only one argument. * bin/aclocal.in: Call parse_warnings after parse_options instead of using it as a parse_options callback.
Zack Weinberg ab9ef6cf 2020-09-11T14:23:10 Sync ChannelDefs.pm from autoconf. ChannelDefs.pm *ought* to be kept in sync between automake and autoconf, because it defines the set of valid -W options, and autoreconf assumes that it can pass arbitrary -W options to all of the tools it invokes. However, it isn’t covered by either project’s ‘make fetch’ and it hasn’t actually *been* in sync for more than 17 years. This patch manually brings over all of the changes made on the autoconf side. Most importantly, there is a new warnings channel ‘cross’, for warnings related to cross-compilation. Also, the ‘usage’ function now *returns* the text to be put into a usage message, instead of printing it itself. (This is necessary on autoconf’s side.) * lib/Automake/ChannelDefs.pm: Sync from autoconf. (cross): New warnings channel. (portability-recursive): Document. (usage): Now returns the text to be printed, instead of printing it. (parse_warnings): Second argument may now be a list.
Issam E. Maghni f50685a5 2020-09-02T20:53:21 maint: Update files from upstream with 'make fetch' * lib/config.guess: Update. * lib/config.sub: Likewise. * lib/gendocs_template: Likewise. * lib/gitlog-to-changelog: Likewise. * lib/texinfo.tex: Likewise. * lib/update-copyright: Likewise. Signed-off-by: Issam E. Maghni <issam.e.maghni@mailbox.org>
Zack Weinberg 5cafaafd 2020-08-31T18:31:04 perl: use warnings instead of -w; consistent ordering of use, etc. Per thread at: https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00009.html * bin/aclocal.in: use warnings instead of #!...-w; consistent ordering of basic "use" directives, then BEGIN block, then standard modules in ASCII order, then Automake:: modules (not sort), finally use vars. Also sort @ISA lists and use qw(...) in ASCII order. * bin/automake.in: likewise. * lib/Automake/ChannelDefs.pm: likewise. * lib/Automake/Channels.pm: likewise. * lib/Automake/Condition.pm: likewise. * lib/Automake/Config.in: likewise. * lib/Automake/Configure_ac.pm: likewise. * lib/Automake/DisjConditions.pm: likewise. * lib/Automake/FileUtils.pm: likewise. * lib/Automake/General.pm: likewise. * lib/Automake/Getopt.pm: likewise. * lib/Automake/Item.pm: likewise. * lib/Automake/ItemDef.pm: likewise. * lib/Automake/Language.pm: likewise. * lib/Automake/Location.pm: likewise. * lib/Automake/Options.pm: likewise. * lib/Automake/Rule.pm: likewise. * lib/Automake/RuleDef.pm: likewise. * lib/Automake/VarDef.pm: likewise. * lib/Automake/Variable.pm: likewise. * lib/Automake/Version.pm: likewise. * lib/Automake/Wrap.pm: likewise. * lib/Automake/XFile.pm: remove unnecessary imports of Carp, DynaLoader, and File::Basename.
Felix Yan c8f8c3d5 2020-08-13T18:10:17 docs: typo in tap-driver.sh. Per thread at: https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00000.html * lib/tap-driver.sh (setup_result_obj): "assing" typo, etc.
Paul Eggert 217d6d92 2020-08-01T16:12:34 port XFile locking to OpenIndiana I observed this problem on an NFS filesystem on an OpenIndiana host (5.11 illumos-dde7ba523f i386). fcntl (fd, F_SETLK, ...) failed with errno == EINVAL, which POSIX allows for files that do not support locking. * lib/Automake/XFile.pm (lock): Treat EINVAL like ENOLCK.
Paul Eggert 17614727 2020-07-26T15:12:08 * Update scriptversions for install-sh, mkinstalldirs.
Paul Eggert cd8ef343 2020-07-26T15:01:34 Install directories mode 755 instead of using umask Problem reported by Antoine Amarilli in: https://lists.gnu.org/archive/html/automake/2019-01/msg00000.html and followed up by Akim Demaille in: https://lists.gnu.org/archive/html/bug-bison/2020-07/msg00040.html * bin/automake.in: Add a comment about this. * lib/install-sh: Ignore umask; just create directories mode 755 unless overridden via -m (for non-intermediate directories only). Also, fix 'umask=$mkdir_umask' typo. * lib/mkinstalldirs: Likewise.
Paul Eggert 19fe70ea 2020-06-29T15:18:20 automake: remove stray up_to_date_p * lib/Automake/FileUtils.pm (up_to_date_p): Don’t export up_to_date_p, which was removed in 2020-05-11T00:40:14Z!karl@freefriends.org.
Karl Berry 216d1834 2020-06-06T15:42:54 automake: support AM_TESTSUITE_SUMMARY_HEADER override. This change handles https://bugs.gnu.org/11745. * lib/am/check.am (AM_TESTSUITE_SUMMARY_HEADER): new variable. Default value is " for $(PACKAGE_STRING)", including quotes, to keep the default output the same. ($(TEST_SUITE_LOG)): use it, unquoted. * doc/automake.texi (Scripts-based Testsuites): document it. * NEWS: mention it. * t/testsuite-summary-header.sh: new test. * t/list-of-tests.mk (handwritten_tests): add it. * t/ax/testsuite-summary-checks.sh: fix typo.
Karl Berry 04567be6 2020-05-17T09:36:15 automake: new variable AM_DISTCHECK_DVI_TARGET to override "dvi". This change fixes https://bugs.gnu.org/8289. * lib/am/distdir.am (AM_DISTCHECK_DVI_TARGET): define as dvi. (distcheck): use it, isntead of hardcoding dvi. * lib/Automake/Variable.pm (%_silent_variable_override): add AM_DISTCHECK_DVI_TARGET. * t/distcheck-override-dvi.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it. * doc/automake.texi (Checking the Distribution): document this. (Third-Party Makefiles): explicitly mention that EMPTY_AUTOMAKE_TARGETS is not a built-in or special name. Various other index entries and wording tweaks. * NEWS (Distribution): mention this.
Karl Berry afba8295 2020-05-10T17:40:14 automake: remove unused Automake::FileUtils::up_to_date_p function. Per thread at: https://lists.gnu.org/archive/html/automake-patches/2020-04/msg00000.html> especially: https://lists.gnu.org/archive/html/automake-patches/2020-05/msg00003.html * lib/Automake/FileUtils.pm (up_to_date_p): remove. Nothing in Automake itself uses this. It is used in Autoconf's autom4te utility, but Autoconf has its own copy, and the duplication was impeding auto4mte development, as discussed in the thread above. (While here, insert missing =over/=back to placate pod2text.) * NEWS (Miscellanous changes): note this.
Samuel Tardieu 6cfd9401 2020-04-08T18:07:10 docs: test-driver options do not accept =, update --help. This change fixes https://bugs.gnu.org/22445. * lib/test-driver (print_usage): space after --test-name, --log-file, --trs-file, not =. Also mention Automake as source.
Jim Meyering 92f4a08b 2020-02-29T08:14:04 maint: run "make fetch" to update files from elsewhere * lib/config.guess: Auto-update. * lib/config.sub: Auto-update. * lib/gendocs.sh: Auto-update. * lib/gendocs_template: Auto-update. * lib/gitlog-to-changelog: Auto-update. * lib/gnupload: Auto-update. * lib/texinfo.tex: Auto-update. * lib/update-copyright: Auto-update.
Karl Berry 9ba2f0dd 2020-02-25T18:07:15 python: support both Python 2 and 3 in py-compile * lib/py-compile: check python major version and use imp or importlib accordingly, plus related changes. Original patch for Python 3 only from Gabriel Ganne at: https://lists.gnu.org/archive/html/automake-patches/2019-07/msg00002.html
Vincent Lefevre 71dff5b2 2020-02-13T18:26:40 maint: update lib/COPYING from canonical source. * lib/COPYING: update from https://www.gnu.org/licenses/gpl-3.0.txt (only change is to use https urls).
Lukas Fleischer 6207236f 2020-01-29T18:12:29 python: properly uninstall __pycache__ in subdirectories This change finishes fixing automake bug#32088: https://debbugs.gnu.org/32088 * lib/am/python.am (uninstall-%DIR%PYTHON): Uninstall byte-compiled files in a '__pycache__' subdirectory from sub/__pycache__/, not __pycache__/sub/. (am__pep3147_tweak): prefix __pycache__ here, for both .pyc and .pyo. https://lists.gnu.org/archive/html/automake-patches/2018-05/msg00000.html * t/instmany-python.sh (limit): increase to 4500, following Andreas Huettel, https://debbugs.gnu.org/32088#11.
Karl Berry b87f2974 2020-01-04T17:06:40 automake: Support byte compilation in older Emacsen * lib/am/lisp.am (am__emacs_byte_compile_setup) [FIRST]: define new make variable, to use byte-compile-dest-file-function if available, else byte-compile-dest-file. (.el.elc): use it. * t/lisp-loadpath.sh: skip test if emacs version is <= 23, since their -L ordering is backwards. * NEWS: update.
Jim Meyering cf27a3df 2020-01-01T11:44:41 maint: make update-copyright
Giuseppe Scrivano 5c466eaf 2019-10-04T16:39:24 dist: add dist-zstd option Add support for using the zstd compression algorithm. Use a default compression setting of -19, and ".zst" as the suffix. * bin/automake.in (handle_dist): Add zstd to the list of known dist- suffixes. (preprocess_file): Map ZSTD to dist-zstd. * doc/automake.texi: Document the new option. * lib/Automake/Options.pm (_is_valid_easy_option): Add dist-zstd. * lib/am/distdir.am (dist-zstd): New rule. (?ZSTD?DIST_TARGETS): Add definition. (distcheck): Add a case for *.tar.zst*. * t/dist-formats.tap: Add tests. * NEWS: Mention the change.
Paul Eggert d010f76f 2019-11-11T12:07:08 config: add msys support Requested by Arnold Robbins in: https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html * lib/ar-lib, lib/compile (func_file_conv): Treat msys like cygwin.
Paul Eggert 5ae02cc8 2019-10-14T13:46:55 maint: make update-copyright
Paul Eggert 06971c3d 2019-10-14T13:44:48 maint: make fetch
Paul Eggert d89a1aad 2019-08-25T18:51:26 install-sh: support -s with read-only source Problem reported by Karl Berry in: https://lists.gnu.org/r/bug-gnulib/2019-08/msg00067.html * lib/install-sh: If -s is given, create the temporary file with $cp_umask so that ‘strip’ can write to it.
Bruno Haible 20f739e6 2019-07-04T03:43:54 ar-lib: Fix for MSVC 14. * lib/ar-lib (extract): Convert CRLFs in 'lib -NOLOGO -LIST' output to LFs.
Mathieu Lirzin a348d830 2018-07-08T23:41:42 python: Don't use '\n' in sed substitution This change fixes automake bug#31222. On macOS, 'sed' interprets '\n' in the substitution text as the letter 'n' instead of as a newline. * lib/am/python.am [?FIRST?] (am__pep3147_tweak): Use a space instead of '\n'. * NEWS: Update.
Mathieu Lirzin d96d1f3e 2018-03-11T22:13:16 maint: Update files from upstream with 'make fetch' * lib/config.guess: Update. * lib/config.sub: Likewise. * lib/gendocs.sh: Likewise. * lib/gitlog-to-changelog: Likewise. * lib/gnupload: Likewise. * lib/texinfo.tex: Likewise. * lib/update-copyright: Likewise.
Pavel Raiskup 968bf9f6 2018-03-11T21:47:54 install-sh: avoid (low risk) race in "/tmp" Ensure that nobody can cross privilege boundaries by pre-creating symlink on '$tmpdir' destination directory. Just testing 'mkdir -p' by creating "/tmp/ins$RANDOM-$$/d" is not safe because "/tmp" directory is usually world-writeable and "/tmp/ins$RANDOM-$$" content could be pretty easily guessed by attacker (at least for shells where $RANDOM is not supported). So, as the first step, create the "/tmp/ins$RANDOM-$$" without -p. This step would fail early if somebody wanted catch us. Systems that implement (and have enabled) fs.protected_symlinks kernel feature are not affected even without this commit. References: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455 https://bugzilla.redhat.com/show_bug.cgi?id=1140725 * lib/install-sh: Implement safer 'mkdir -p' test by running '$mkdirprog $mkdir_mode "$tmpdir"' first. * NEWS: Update. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
Mathieu Lirzin 74902aa2 2018-03-03T23:50:10 automake: Don't rely on List::Util to provide 'none' This change fixes automake bug#30631. This removes the use of List::Util which is not supported by Perl 5.6, by reimplementing the 'none' subroutine. * lib/Automake/General.pm (none): New subroutine. * bin/automake.in (handle_single_transform): Use it. * t/pm/General.pl: New test. * t/list-of-tests.mk (perl_TESTS): Add it. * NEWS: Update.
Paul Eggert 6bab5b26 2018-03-06T20:13:32 maint: write-file-hooks -> before-save-hook write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and it's time to use the recommended replacement. Problem reported by Glenn Morris in: https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html * contrib/tap-driver.pl, lib/compile, lib/depcomp, lib/install-sh: * lib/mdate-sh, lib/missing, lib/mkinstalldirs, lib/py-compile: * lib/tap-driver.sh, lib/test-driver, lib/ylwrap: Update hook usage for files where Automake is the canonical source.
Mathieu Lirzin b09d945b 2018-02-25T15:10:50 maint: Update files from upstream with 'make fetch' * lib/config.guess: Update * lib/config.sub: Likewise. * lib/gendocs.sh: Likewise. * lib/gendocs_template: Likewise. * lib/gitlog-to-changelog: Likewise. * lib/gnupload: Likewise. * lib/texinfo.tex: Likewise. * lib/update-copyright: Likewise.
Mathieu Lirzin 006c4dfe 2018-02-04T00:09:31 python: Avoid exceeding command-line length limit With Python implementations following PEP-3174, a large number of files are installed in the ‘__pycache__’ directory. As a consequence “t/instmany-python.sh” test was failing due to the ‘uninstall-pythonPYTHON’ target deleting installed files in a single ‘rm’ command. Doing that in multiple steps avoids exceeding the command-line length limit. This fixes bug#30335. * lib/am/python.am (uninstall-%DIR%PYTHON): For byte-compiled files installed in '__pycache__' directory, uninstall them by batch of 40. [?FIRST?] (am__pep3147_tweak): Adapt.
Simon Sobisch 0186f3fc 2018-01-04T23:09:34 missing: Update displayed URLs * lib/missing (perl_URL): Use HTTPS. (flex_URL): Use new Github homepage. Copyright-paperwork-exempt: yes
Mathieu Lirzin bbaa4cdc 2018-01-04T16:19:30 maint: Update copyright years to 2018 This update has been made with 'make update-copyright'.
Jim Meyering 3f8a2dd5 2017-11-22T21:07:29 port elisp-compilation support to emacs-23.1 and newer In May of 2017, emacs.master support for using the long-deprecated byte-compile-dest-file function was removed, and that removal broke automake's elisp-compiling rule for any .el file not in the current directory. In emacs-23.1 (July 2009) byte-compile-dest-file-function became the recommended way to adjust the byte-compiler's destination. The removed functionality has been restored for Emacs-26, albeit with dissuasive diagnostics warning about the imminent removal of this functionality. It will be removed in Emacs-27. * lib/am/lisp.am (.el.elc): Use byte-compile-dest-file-function, rather than byte-compile-dest-file. Also, use "-f batch-byte-compile '$<'" rather than open-coding it, as suggested by Glenn Morris. * t/lisp-readonly-srcdir.sh: New file, to test for the above. * t/list-of-tests.mk (handwritten_TESTS): Add it. * NEWS (Bugs fixed): Mention this problem.
Jim Meyering ac47c22e 2014-03-20T12:31:32 "make dist" did not depend on $(BUILT_SOURCES) * lib/am/distdir.am (distdir-am): New intermediate target. Interpose this target between $(distdir) and its dependency on $(DISTFILES), so that we can ensure $(BUILT_SOURCES) are all created before we begin creating $(DISTFILES). * t/dist-vs-built-sources.sh: Test for this. * t/list-of-tests.mk (handwritten_TESTS): Add it. * NEWS (Bugs fixed): Mention it. Assaf Gordon reported that "make dist" (after ./configure from a pristine clone of GNU hello) would fail due to the absence of configmake.h while compiling lib/localcharset.c. https://lists.gnu.org/r/bug-hello/2014-03/msg00016.html
Mathieu Lirzin 5e202df2 2017-09-23T12:19:43 maint: Make Emacs use 'makefile-automake-mode' * bin/local.mk: Specify mode name in the first line. * contrib/t/local.mk: Likewise. * doc/local.mk: Likewise. * lib/Automake/local.mk: Likewise. * lib/am/local.mk: Likewise. * lib/local.mk: Likewise. * m4/local.mk: Likewise. * t/local.mk: Likewise.
Paul Eggert 48463bb2 2017-09-23T11:03:34 install-sh: do not assume / = // * lib/install-sh: Do not append / to destination directory if it already ends in /. This supports a destination directory of // on hosts where / and // are distinct directories, as POSIX allows.
Mathieu Lirzin 6cb3b835 2017-09-22T23:06:15 maint: Configure Emacs automatically with ".dir-locals.el" * .dir-locals.el: New Emacs directory configuration file. All perl files adapted.
Paul Eggert 8191abac 2017-09-21T20:08:48 * lib/mdate.sh (TZ): Use portable setting.
Mathieu Lirzin c2757b97 2017-09-19T13:43:07 maint: Reset master
Mathieu Lirzin 561f4736 2017-09-19T13:29:18 Merge branch 'minor'
Paul Eggert 1b3b7b7d 2017-09-16T18:02:10 make fetch
Paul Eggert 3562e384 2017-09-16T13:03:36 Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
Paul Eggert f4da36d7 2017-09-16T18:02:10 make fetch
Paul Eggert 199e7a44 2017-09-16T13:03:36 Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
Reiner Herrmann 7c25c996 2017-09-15T11:43:53 mdate-sh: Ensure reproducible time output This change fixes automake bug#20314. 'mdate-sh' pretty-prints the modification time of a file. But it's output can vary depending on the timezone of the caller. Someone in timezone GMT-12 will get a different result (day) than someone in timezone GMT+12. As this output is also used to create/update stamp files, which influence the further build process, the build result can vary. * lib/mdate-sh: Set 'TZ' to UTC which ensures reproducible output. * NEWS: Announce bug fix. Copyright-paperwork-exempt: yes
Mathieu Lirzin f389ecb8 2017-08-31T19:23:42 Merge branch 'minor'
Mathieu Lirzin e94c0186 2017-08-31T14:42:13 build: Rename "Makefile.inc" Makefile fragments to "local.mk" This is done to follow a convention used by a lot of GNU packages. * bin/Makefile.inc: Rename to ... * bin/local.mk: ... this. * doc/Makefile.inc: Rename to ... * doc/local.mk: ... this. * lib/Automake/Makefile.inc: Rename to ... * lib/Automake/local.mk: ... this. * lib/am/Makefile.inc: Rename to ... * lib/am/local.mk: ... this. * lib/Makefile.inc: Rename to ... * lib/local.mk: ... this. * m4/Makefile.inc: Rename to ... * m4/local.mk: ... this. * contrib/t/Makefile.inc: Rename to ... * contrib/t/local.mk: ... this. * t/Makefile.inc: Rename to ... * t/local.mk: ... this. Adapt. * Makefile.am: Adapt.
Mathieu Lirzin e679a5c2 2017-08-31T14:22:30 Merge branch 'micro' into minor
Mathieu Lirzin dd0b8142 2017-08-29T14:16:24 config: Support AUTOMAKE_LIBDIR environment variable * lib/Automake/Config.in: Let AUTOMAKE_LIBDIR environment variable override the default location for '$libdir'. * doc/automake.texi (automake Invocation): Document AUTOMAKE_LIBDIR. * pre-inst-env.in (AUTOMAKE_LIBDIR): Set AUTOMAKE_LIBDIR. * bin/wrap-automake.in: Don't use "--libdir" option.
Mathieu Lirzin 8555e7b8 2017-07-16T00:11:07 check: Make 'check-TESTS' target depend on test dependencies The 'check' and 'recheck' targets are already depending on the progams and scripts required to run the test suite. The 'check-TESTS' target while not in the public API might be used by uninformed users, so it makes sense to add the same dependency to it. This fixes bug#27186. * lib/am/check.am [!%?SERIAL_TESTS%] (check-TESTS): Add dependency to '%CHECK_DEPS%'. * THANKS: Update.
Mathieu Lirzin 3126fa4c 2017-07-15T22:24:43 dejagnu: Allow AM_RUNTESTFLAGS to override default RUNTEST arguments This fixes bug#25335. * lib/am/dejagnu.am (check-DEJAGNU): Swap $(RUNTESTDEFAULTFLAGS) and $(AM_RUNTESTFLAGS). * THANKS: Update.
Mathieu Lirzin cd69a1fd 2017-06-18T03:04:25 maint: Update files from upstream with 'make fetch' * lib/config.guess: Update. * lib/config.sub: Likewise. * lib/texinfo.tex: Likewise.