]> git.ipfire.org Git - thirdparty/automake.git/log
thirdparty/automake.git
5 years agoSync ChannelDefs.pm from autoconf.
Zack Weinberg [Fri, 11 Sep 2020 18:23:10 +0000 (14:23 -0400)] 
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.

5 years agoautomake: be robust against directories containing ().
Zack Weinberg [Sun, 6 Sep 2020 01:12:48 +0000 (18:12 -0700)] 
automake: be robust against directories containing ().

This change fixes https://bugs.gnu.org/14196.

* m4/missing.m4 (AM_MISSING_HAS_RUN): always quote the
invocation (not just if $am_aux_dir contains space or tab), in
case $am_aux_dir contains () or other metachars not rejected by
AM_SANITY_CHECK; quoting with '...' suggested by Jim Meyering.
* t/man6.sh (HELP2MAN): adjust grep since missing value
is quoted now.
* t/am-missing-prog.sh: likewise.

5 years agomaint: Update files from upstream with 'make fetch'
Issam E. Maghni [Wed, 2 Sep 2020 20:53:21 +0000 (20:53 +0000)] 
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>
5 years agoperl: use warnings instead of -w; consistent ordering of use, etc.
Zack Weinberg [Tue, 1 Sep 2020 01:31:04 +0000 (18:31 -0700)] 
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.

5 years agodocs: automake-history.texi @dircategory Software development.
Robert Wanamaker [Sat, 29 Aug 2020 00:29:06 +0000 (17:29 -0700)] 
docs: automake-history.texi @dircategory Software development.

Per thread at:
https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00006.html

* doc/automake-history.texi (@dircategory): Define.

5 years agoautomake: if TEST_EXTENSIONS is set to empty, don't look inside it.
Karl Berry [Fri, 28 Aug 2020 23:26:54 +0000 (16:26 -0700)] 
automake: if TEST_EXTENSIONS is set to empty, don't look inside it.

This change fixes https://bugs.gnu.org/42635.

* bin/automake.in (handle_tests): do not use $test_suffixes[0]
if it does not exist.
* t/test-extensions-empty.sh: new test.
* t/list-of-tests.mk (handwritten_TESTS): add it.

5 years agodocs: typo in tap-driver.sh.
Felix Yan [Fri, 14 Aug 2020 01:10:17 +0000 (18:10 -0700)] 
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.

5 years agoport XFile locking to OpenIndiana
Paul Eggert [Sat, 1 Aug 2020 23:12:34 +0000 (16:12 -0700)] 
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.

5 years ago* Update scriptversions for install-sh, mkinstalldirs.
Paul Eggert [Sun, 26 Jul 2020 22:12:08 +0000 (15:12 -0700)] 
* Update scriptversions for install-sh, mkinstalldirs.

5 years agoInstall directories mode 755 instead of using umask
Paul Eggert [Sun, 26 Jul 2020 22:01:34 +0000 (15:01 -0700)] 
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.

5 years agoautomake: remove stray up_to_date_p
Paul Eggert [Mon, 29 Jun 2020 22:18:20 +0000 (15:18 -0700)] 
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.

5 years agotests: support -fno-common in vala-mix2 test.
Karl Berry [Sat, 6 Jun 2020 22:47:33 +0000 (15:47 -0700)] 
tests: support -fno-common in vala-mix2 test.

This change fixes https://bugs.gnu.org/41726.

* t/vala-mix2.sh: extern in .h, initialization in .c.
GCC 10 defaults to -fno-common.

5 years agoautomake: support AM_TESTSUITE_SUMMARY_HEADER override.
Karl Berry [Sat, 6 Jun 2020 22:42:54 +0000 (15:42 -0700)] 
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.

5 years agodocs: promote Makefile snippets that work properly with make -n.
Akim Demaille [Fri, 29 May 2020 00:45:15 +0000 (17:45 -0700)] 
docs: promote Makefile snippets that work properly with make -n.

This change handles https://bugs.gnu.org/10852.

* doc/automake.texi (Multiple Outputs): Split commands than
reinvoke $(MAKE) to avoid file removals during dry runs.

5 years agodocs: forgot TAR in NEWS; fix " -- " in manual.
Karl Berry [Tue, 26 May 2020 01:30:53 +0000 (18:30 -0700)] 
docs: forgot TAR in NEWS; fix " -- " in manual.

* NEWS: it seems the TAR envvar was never mentioned in NEWS;
add it, back for 1.11.3 when it was apparently implemented.
* doc/automake.texi: consistently use "---" instead of " --".

5 years agodocs: TAR envvar overrides "tar" for make dist.
Karl Berry [Tue, 26 May 2020 01:20:01 +0000 (18:20 -0700)] 
docs: TAR envvar overrides "tar" for make dist.

This change finishes https://bugs.gnu.org/9822.

* doc/automake.texi (Basics of Distribution): mention that
environment variable TAR overrides "tar".

5 years agoautomake: new variable AM_DISTCHECK_DVI_TARGET to override "dvi".
Karl Berry [Sun, 17 May 2020 16:36:15 +0000 (09:36 -0700)] 
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.

5 years agoautomake: remove unused Automake::FileUtils::up_to_date_p function.
Karl Berry [Mon, 11 May 2020 00:40:14 +0000 (17:40 -0700)] 
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.

5 years agodocs: make dist implies make dvi.
Karl Berry [Fri, 8 May 2020 01:26:33 +0000 (18:26 -0700)] 
docs: make dist implies make dvi.

This change handles https://bugs.gnu.org/7994.

* doc/automake.texi (Preparing Distributions): make distcheck
runs make dvi.
(Auxiliary Programs) <texinfo.tex>: mention
that make dist runs make dvi, and therefore a TeX system is
required when Texinfo sources are present. Add @cmindex entries
for all auxiliary programs while we're here.

5 years agotests: TeX system required for two more tests.
Karl Berry [Fri, 8 May 2020 01:11:49 +0000 (18:11 -0700)] 
tests: TeX system required for two more tests.

* t/instdir-no-empty.sh (required): makeinfo tex texi2dvi dvips.
* t/txinfo-bsd-make-recurs.sh (required): likewise.

5 years agobug#40699: "dist Hook" documentation in manual is incorrect or unclear about write...
Vincent Lefevre [Thu, 23 Apr 2020 15:40:39 +0000 (17:40 +0200)] 
bug#40699: "dist Hook" documentation in manual is incorrect or unclear about write permissions

On 2020-04-20 14:59:00 -0600, Karl Berry wrote:
>     i.e. it does not change the permissions in order to make the removal
>     work recursively
>
> Right, I see it now. Had been testing the wrong thing.
>
> So, can you propose a specific change for the manual? -k

I think that it is sufficient to fix the example (the explanation
is just below). BTW, the second example is also incorrect.

commit a639e5b51cadbaff88ca4059b4db4571c811070c
Author: Vincent Lefevre <vincent@vinc17.net>
Date:   2020-04-23 17:33:54 +0200

    doc: fix dist-hook examples

5 years agocosmetics: spurious word in README, copyright year.
Karl Berry [Sat, 18 Apr 2020 21:06:59 +0000 (14:06 -0700)] 
cosmetics: spurious word in README, copyright year.

* README: delete spurious "that"; update copyright year end to 2020.
Original suggestion from Vincent Lefevre,
https://lists.gnu.org/archive/html/automake-patches/2020-04/msg00007.html

5 years agodocs: test-driver options do not accept =, update --help.
Samuel Tardieu [Thu, 9 Apr 2020 01:07:10 +0000 (18:07 -0700)] 
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.

5 years agocosmetics: typo in comment.
Samy Mahmoudi [Tue, 7 Apr 2020 01:25:24 +0000 (18:25 -0700)] 
cosmetics: typo in comment.

This change fixes https://bugs.gnu.org/32100.

* bin/aclocal.in (install_file): remove duplicate "the" in
"Using the real the destination file ...".

5 years agovala: more precise argument matching.
Colomban Wendling [Mon, 6 Apr 2020 00:35:51 +0000 (17:35 -0700)] 
vala: more precise argument matching.

This change fixes https://bugs.gnu.org/18734.

* bin/automake.in (lang_vala_finish_target): anchor option regexp
so that, e.g., an argument "vapi" does not match the option --vapi.
* NEWS: mention this (and preceding checklinkx change, sorry).

5 years agodoc: update urls in manual and include checklinkx script.
Karl Berry [Wed, 1 Apr 2020 01:21:22 +0000 (18:21 -0700)] 
doc: update urls in manual and include checklinkx script.

* doc/automake.texi: update many urls; http -> https,
search.cpan.org -> metacpan.org/pod/distribution, node names, etc.
Remove sourceware.org/cgi-bin/gnatsweb.pl and
miller.emu.id.au/pmiller/books/rmch/ as these are 404
and no good replacement is evident.
s/perl/Perl/ a couple times in text for good measure.
* contrib/checklinkx: new script, a small modification of
W3C checklink <https://validator.w3.org/checklink/docs/checklink.html>
(W3C license, which is free software), starting from version 4.81
installed from CPAN:
https://metacpan.org/pod/distribution/W3C-LinkChecker/bin/checklink.pod
* doc/local.mk (checklinkx): new target to invoke it, with variables.
* Makefile.am (EXTRA_DIST): distribute it.
* NEWS: mention all this.

5 years agotests: require etags for tags-lisp-space test.
Karl Berry [Wed, 25 Mar 2020 01:30:18 +0000 (18:30 -0700)] 
tests: require etags for tags-lisp-space test.

* t/tags-lisp-space.sh (required): set to etags.

5 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/automake
Karl Berry [Tue, 24 Mar 2020 22:13:09 +0000 (15:13 -0700)] 
Merge branch 'master' of git.savannah.gnu.org:/srv/git/automake

5 years agodoc: forgot Python 3 NEWS entries.
Karl Berry [Tue, 24 Mar 2020 22:12:49 +0000 (15:12 -0700)] 
doc: forgot Python 3 NEWS entries.

* NEWS: item for Python 3 support in 1.16.2.

5 years agomaint: Post-release administrivia
Jim Meyering [Tue, 24 Mar 2020 01:43:29 +0000 (18:43 -0700)] 
maint: Post-release administrivia

* NEWS: Add header line for next release.
* configure.ac (AC_INIT): Bump version number to 1.16b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

5 years agoversion 1.16.2 v1.16.2
Jim Meyering [Sun, 15 Mar 2020 03:21:43 +0000 (20:21 -0700)] 
version 1.16.2

* configure.ac (AC_INIT): Bump version number to 1.16.2.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
* NEWS: Record release version.

5 years agomaint: sync fdl.texi.
Karl Berry [Tue, 17 Mar 2020 01:29:59 +0000 (18:29 -0700)] 
maint: sync fdl.texi.

* doc/fdl.texi: sync with gnulib/doc/fdl.texi, for https://fsf.org
and some Texinfo fixes.

5 years agomaint: do not descend into unreadable test directories.
Karl Berry [Fri, 13 Mar 2020 01:01:56 +0000 (18:01 -0700)] 
maint: do not descend into unreadable test directories.

* maintainer/syntax-checks.mk (sc_tests_makefile_variable_order):
find t ! -perm o+r -prune, since some test directories
are intentionally unreadable.

5 years agodoc: gender tweak
Jim Meyering [Sat, 29 Feb 2020 16:11:23 +0000 (08:11 -0800)] 
doc: gender tweak

* HACKING: s/his/their/

5 years agomaint: run "make fetch" to update files from elsewhere
Jim Meyering [Sat, 29 Feb 2020 16:14:04 +0000 (08:14 -0800)] 
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.

5 years agomaint: typo in comment.
Karl Berry [Wed, 11 Mar 2020 14:34:31 +0000 (07:34 -0700)] 
maint: typo in comment.

* t/CheckListOfTests.am (maintainer-check-list-of-tests): an -> and.

5 years agopython: support both Python 2 and 3 in py-compile
Karl Berry [Wed, 26 Feb 2020 02:07:15 +0000 (18:07 -0800)] 
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

5 years agoconfigure: add flang compilers to _AM_COMPILER_CAN_FAIL
Paul Osmialowski [Sun, 16 Feb 2020 02:16:15 +0000 (18:16 -0800)] 
configure: add flang compilers to _AM_COMPILER_CAN_FAIL

* configure.ac (_AM_COMPILER_CAN_FAIL): add armflang and flang
(in two places). Original patch at:
https://lists.gnu.org/archive/html/automake-patches/2019-02/msg00001.html

5 years agocosmetics: improve error message when dependency tracking fails
Libor Bukata [Sat, 15 Feb 2020 02:36:49 +0000 (18:36 -0800)] 
cosmetics: improve error message when dependency tracking fails

This change fixes https://bugs.gnu.org/35848.

* m4/depout.m4: Add suggestion to try GNU make to the error message.
Original patch at
https://lists.gnu.org/archive/html/automake-patches/2019-05/msg00000.html

5 years agomaint: update lib/COPYING from canonical source.
Vincent Lefevre [Fri, 14 Feb 2020 02:26:40 +0000 (18:26 -0800)] 
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).

5 years agobuild: fix 'installcheck' target
Mathieu Lirzin [Tue, 4 Feb 2020 14:28:00 +0000 (15:28 +0100)] 
build: fix 'installcheck' target

* t/local.mk (installcheck-testsuite): Do not use 'pre-inst-env' script.
(AM_TESTS_ENVIRONMENT): Ensure that installed perl modules are found.

5 years agopython: properly uninstall __pycache__ in subdirectories
Lukas Fleischer [Thu, 30 Jan 2020 02:12:29 +0000 (18:12 -0800)] 
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.

5 years agotests: in python tests, do not require .pyo files (for python3)
Lukas Fleischer [Wed, 29 Jan 2020 02:32:20 +0000 (18:32 -0800)] 
tests: in python tests, do not require .pyo files (for python3)

This change partially fixes automake bug#32088:
https://debbugs.gnu.org/32088

* t/py-compile-basedir.sh: Remove all .pyo checks.
Also, in this test only, allow for either 4 or 6 files resulting
from compilation, as new-enough Python3 results in 6
(per Andreas Huettel, https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32088#17)
* t/py-compile-basic.sh: Remove all .pyo checks.
* t/py-compile-destdir.sh: Likewise.
* t/py-compile-option-terminate.sh: Likewise.
* t/python-virtualenv.sh: Likewise.
* t/python10.sh: Likewise.
* t/python12.sh: Likewise.
* t/python3.sh: Likewise.

5 years agodoc: clarify build tree location
Karl Berry [Mon, 27 Jan 2020 02:06:04 +0000 (18:06 -0800)] 
doc: clarify build tree location

* doc/automake.texi (VPATH Builds): more words about the build
tree location. Suggestion from Jefferson Carpenter, 31 May 2018:
<https://lists.gnu.org/archive/html/automake-patches/2018-05/msg00003.html>

5 years agolint: make syntax-check same as maintainer-check.
Karl Berry [Mon, 20 Jan 2020 02:24:28 +0000 (18:24 -0800)] 
lint: make syntax-check same as maintainer-check.

* maintainer/syntax-checks.mk (syntax-check): new target,
same as maintainer-check. For consistency with many other
GNU packages.
(.PHONY): add here too.

5 years agotests: use find+rm, not perl, to remove temporary directories.
Karl Berry [Sun, 19 Jan 2020 02:06:23 +0000 (18:06 -0800)] 
tests: use find+rm, not perl, to remove temporary directories.

This change fixes automake bug#39078:
https://debbugs.gnu.org/39078

* t/ax/test-lib.sh (rm_rf_): run chmod -R u+rwx and rm -rf,
instead of calling our t/ax/deltree.pl script.  This reverses the
change of 2013-05-16.  It made sense to write and use deltree
at that point, but unfortunately as of perl-5.28.0
(File::Path.pm version 2.15), rmtree no longer removes a tree with
unreadable subdirectories, such as we (intentionally) have.  So we
might as well go back to rm -rf.  The unconditional recursive chmod
instead of the previously-used more complex find command will
hopefully prove portable.  See the bug report for more details.

Our deltree.pl is not used for anything else, but nevertheless
leaving it in our source tree for now, for ease of reversion
and comparison.

5 years agotests: use skip_ consistently.
Karl Berry [Thu, 9 Jan 2020 02:21:26 +0000 (18:21 -0800)] 
tests: use skip_ consistently.

* t/lisp-loadpath.sh: use skip_ instead of exit 77;
also, notice and reset if the EMACS envvar is simply "t".
* t/uninstall-fail.sh: use skip_ instead of the undefined skip.

5 years agotests: Correctly simulate no emacs in t/nobase-nodist.sh
Karl Berry [Mon, 6 Jan 2020 02:21:01 +0000 (18:21 -0800)] 
tests: Correctly simulate no emacs in t/nobase-nodist.sh

* t/nobase-nodist.sh: export EMACS, not EMCAS, as "no".

5 years agoautomake: Support byte compilation in older Emacsen
Karl Berry [Sun, 5 Jan 2020 01:06:40 +0000 (17:06 -0800)] 
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.

5 years agomaint: make update-copyright
Jim Meyering [Wed, 1 Jan 2020 19:44:41 +0000 (11:44 -0800)] 
maint: make update-copyright

5 years agomaint: make maintainer-check tests pass
Jim Meyering [Mon, 23 Dec 2019 20:13:26 +0000 (12:13 -0800)] 
maint: make maintainer-check tests pass

* maintainer/syntax-checks.mk (sc_sanity_gnu_grep): Remove
NUL byte from grep output, to avoid shell diagnostic about
"NUL byte suppressed from expansion."
(automake_diff_no, aclocal_diff_no): Adjust number of expected
diff lines.

5 years agotests: Ensure UTC for Texinfo @UPDATED@ test
Karl Berry [Sat, 21 Dec 2019 01:37:32 +0000 (17:37 -0800)] 
tests: Ensure UTC for Texinfo @UPDATED@ test

* t/txinfo-vtexi4.sh: TZ=UTC0; export TZ (same as mdate-sh).
* NEWS: update.

5 years agoautomake: Ensure space after $(LISP) in tags dependencies.
Karl Berry [Tue, 17 Dec 2019 02:45:22 +0000 (19:45 -0700)] 
automake: Ensure space after $(LISP) in tags dependencies.

This change fixes automake bug#38139.

* bin/automake.in (handle_tags): Concatenate with space in " @config".
* t/tags-lisp-space.sh: New test.
* t/list-of-tests.mk (handwritten_TESTS): Add it.

5 years agodist: add dist-zstd option
Giuseppe Scrivano [Fri, 4 Oct 2019 14:39:24 +0000 (16:39 +0200)] 
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.

5 years agoconfig: add msys support
Paul Eggert [Mon, 11 Nov 2019 20:07:08 +0000 (12:07 -0800)] 
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.

5 years agomaint: make update-copyright
Paul Eggert [Mon, 14 Oct 2019 20:46:55 +0000 (13:46 -0700)] 
maint: make update-copyright

5 years agomaint: make fetch
Paul Eggert [Mon, 14 Oct 2019 20:44:48 +0000 (13:44 -0700)] 
maint: make fetch

6 years agoautomake: do not require @setfilename in Texinfo files
Gavin Smith [Mon, 26 Aug 2019 04:07:58 +0000 (21:07 -0700)] 
automake: do not require @setfilename in Texinfo files

Texinfo no longer requires a @setfilename directive in each
.texi file, so automake now also relaxes its restriction.
* bin/automake.in (scan_texinfo_file): Derive name of info file from
name of input file if no @setfilename line occurs in the file.
* t/txinfo-no-setfilename.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS: Mention it.

Fixes automake bugs #36921 and #34201.

6 years agoinstall-sh: support -s with read-only source
Paul Eggert [Mon, 26 Aug 2019 01:51:26 +0000 (18:51 -0700)] 
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.

6 years agoar-lib: Fix for MSVC 14.
Bruno Haible [Thu, 4 Jul 2019 01:43:54 +0000 (03:43 +0200)] 
ar-lib: Fix for MSVC 14.

* lib/ar-lib (extract): Convert CRLFs in 'lib -NOLOGO -LIST' output to LFs.

6 years agodoc: Fix various typos and phrasing
Paul Hardy [Tue, 23 Oct 2018 18:55:44 +0000 (20:55 +0200)] 
doc: Fix various typos and phrasing

This change fixes automake bug#32150.

* doc/automake.texi: Various typos and phrasing changes.

7 years agopython: Don't use '\n' in sed substitution
Mathieu Lirzin [Sun, 8 Jul 2018 21:41:42 +0000 (23:41 +0200)] 
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.

7 years agotest-driver.scm: Add "--coverage" option
Mathieu Lirzin [Sun, 25 Mar 2018 05:29:48 +0000 (07:29 +0200)] 
test-driver.scm: Add "--coverage" option

* contrib/test-driver.scm: When 'coverage' option is enabled, run tests
in the debug vm and trace coverage data.
(%options): Add 'coverage'.
(show-help): Display option.

7 years agotest-driver.scm: Don't guess script name from "--test-name"
Mathieu Lirzin [Sat, 24 Mar 2018 22:42:16 +0000 (23:42 +0100)] 
test-driver.scm: Don't guess script name from "--test-name"

'primitive-load' is used instead of 'load-from-path' since the script is
given as a relative file name.  For unknown reason, using 'load' fails
with GNU Mcron test suite when running 'make distcheck'.

* contrib/test-driver.scm: Get the actual script name directly from the
command line.  Handle the case where that argument is missing.

7 years agotest-driver.scm: Inline 'main' procedure
Mathieu Lirzin [Sat, 24 Mar 2018 19:54:24 +0000 (20:54 +0100)] 
test-driver.scm: Inline 'main' procedure

Having a main procedure involves passing the '-e main' command-line
argument to 'guile' which makes the test driver a bit less easy to use.

* contrib/test-driver.scm (main): Delete.  Move body to the top-level.

7 years agomaint: Use 'before-save-hook' in "contrib/test-driver.scm"
Mathieu Lirzin [Sun, 11 Mar 2018 22:49:07 +0000 (23:49 +0100)] 
maint: Use 'before-save-hook' in "contrib/test-driver.scm"

This a follow-up to commit 6bab5b26a1241b0e0edd058d2a921989f9a1747c.

Use 'before-save-hook' instead of 'write-file-functions' to match what
is done in other scripts.

* contrib/test-driver.scm: Update hook usage and use 'UTC0' timezone
instead of 'UTC'.

7 years agobin: Rely only on the shebang line
Mathieu Lirzin [Tue, 20 Feb 2018 22:18:09 +0000 (23:18 +0100)] 
bin: Rely only on the shebang line

Previously ‘automake’ and ‘aclocal’ were handling the case of being
interpreted as a Shell script by using a hack leveraging the fact that
Shell and Perl has a compatible syntax intersection allowing those
scripts to launch ‘perl’ from the shell.

* bin/aclocal.in: Remove cryptic launching hack.
* bin/automake.in: Likewise.

7 years agomaint: Post-release administrivia
Mathieu Lirzin [Sun, 11 Mar 2018 22:24:55 +0000 (23:24 +0100)] 
maint: Post-release administrivia

* NEWS: Add header line for next release.
* configure.ac (AC_INIT): Bump version number to 1.16a.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

7 years agoversion 1.16.1 v1.16.1
Mathieu Lirzin [Sun, 11 Mar 2018 21:24:54 +0000 (22:24 +0100)] 
version 1.16.1

* configure.ac (AC_INIT): Bump version number to 1.16.1.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
* NEWS: Record release version.

7 years agomaint: Update files from upstream with 'make fetch'
Mathieu Lirzin [Sun, 11 Mar 2018 21:13:16 +0000 (22:13 +0100)] 
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.

7 years agoinstall-sh: avoid (low risk) race in "/tmp"
Pavel Raiskup [Sun, 11 Mar 2018 20:47:54 +0000 (21:47 +0100)] 
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>
7 years agoautomake: Don't rely on List::Util to provide 'none'
Mathieu Lirzin [Sat, 3 Mar 2018 22:50:10 +0000 (23:50 +0100)] 
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.

7 years agopython: Support future python version up to 3.9
Mathieu Lirzin [Sat, 3 Mar 2018 11:01:13 +0000 (12:01 +0100)] 
python: Support future python version up to 3.9

This change fixes automake bug#28160.

Since AM_PYTHON_PATH macro takes no maximum version argument, there is
no need to generate _AM_PYTHON_INTERPRETER_LIST dynamically, like what
was previously done by the reverted commit
1d60fb72168e62d33fe433380af621de64e22f23.  We could rely on M4 to
generate this list statically however this is likely to be a complex
solution that would not improve maintainability.

* m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add 'python3.7',
'python3.8', and 'python3.9'.
* NEWS: Update.

7 years agomaint: write-file-hooks -> before-save-hook
Paul Eggert [Wed, 7 Mar 2018 04:13:32 +0000 (20:13 -0800)] 
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.

7 years agoRevert "python: Generate python interpreter list"
Mathieu Lirzin [Sat, 3 Mar 2018 11:00:31 +0000 (12:00 +0100)] 
Revert "python: Generate python interpreter list"

This reverts commit 1d60fb72168e62d33fe433380af621de64e22f23.

7 years agomaint: Post-release administrivia
Mathieu Lirzin [Sun, 25 Feb 2018 21:28:21 +0000 (22:28 +0100)] 
maint: Post-release administrivia

* NEWS: Add header line for next release.
* configure.ac (AC_INIT): Bump version number to 1.16a.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

7 years agoMerge branch 'release'
Mathieu Lirzin [Sun, 25 Feb 2018 21:26:28 +0000 (22:26 +0100)] 
Merge branch 'release'

7 years agoversion 1.16 v1.16
Mathieu Lirzin [Sun, 25 Feb 2018 19:47:15 +0000 (20:47 +0100)] 
version 1.16

* configure.ac (AC_INIT, APIVERSION): Bump version number to 1.16.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
* NEWS: Record release version.

7 years agomaint: Update INSTALL
Mathieu Lirzin [Sun, 25 Feb 2018 17:52:38 +0000 (18:52 +0100)] 
maint: Update INSTALL

* INSTALL: Use single quotes.

7 years agotests: Remove tests intended only for the 'next' branch
Mathieu Lirzin [Sun, 25 Feb 2018 15:45:32 +0000 (16:45 +0100)] 
tests: Remove tests intended only for the 'next' branch

The commit 199e7a445040270fa5ef67623c56cde40d765199 "Prefer https: URLS"
which is a cherry-pick of b09d945b795ab9deed2bc457289cd5f41c506b50 from
'next' to 'master' has mistakenly copied some tests only present on the
'next' branch.

* t/am-prog-mkdir-p.sh: Delete.
* t/txinfo-no-split.sh: Likewise.

7 years agomaint: Update files from upstream with 'make fetch'
Mathieu Lirzin [Sun, 25 Feb 2018 14:10:50 +0000 (15:10 +0100)] 
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.

7 years agopython: Avoid exceeding command-line length limit
Mathieu Lirzin [Sat, 3 Feb 2018 23:09:31 +0000 (00:09 +0100)] 
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.

7 years agotests: Don't check 'Getopt::Long' corner cases
Mathieu Lirzin [Thu, 18 Jan 2018 10:19:13 +0000 (11:19 +0100)] 
tests: Don't check 'Getopt::Long' corner cases

Depending on the installed 'Getopt::Long' perl module, command-line
handling may vary a bit.  As a consequence we prefer not to check
command-line corners cases.  This change fixes automake bug#29638.

* t/aclocal.sh (am_create_testdir): Don't expect "--versi" to be
interpreted as "--version".
* t/automake-cmdline.tap: Don't expect "--vers" to be interpreted as
"--version" and things after "--" to be interpreted as file arguments.
(do_check): Display the actual command output.
* t/maken3.sh (check_targets): "--force" is not a documented option, so
don't use it.

7 years agopython: Generate python interpreter list
Mathieu Lirzin [Thu, 1 Feb 2018 12:51:03 +0000 (13:51 +0100)] 
python: Generate python interpreter list

_AM_PYTHON_INTERPRETER_LIST is used by AM_PYTHON_PATH to autodetect
Python programs whose names correspond to a specific Python
version (e.g. python3.6).  Previously this list was updated manually.
The automatic support of newer versions (up to 4.0 excluded) fixes
bug#28160.

* m4/python.m4 (am_py_min_ver, am_py_max_ver): New macros.
(_AM_PYTHON_INTERPRETER_LIST): Generate this list instead of hard-coding
it.  Implementation is taken from GNU Pyconfigure.

7 years agotests: Improve comment in 'txinfo-many-output-formats.sh'
Mathieu Lirzin [Fri, 19 Jan 2018 14:54:46 +0000 (15:54 +0100)] 
tests: Improve comment in 'txinfo-many-output-formats.sh'

* t/txinfo-many-output-formats.sh: Explain why AM_MAKEINFOFLAGS is set
with an invalid option.

7 years agotests: Distribute DEJATOOL files manually
Mathieu Lirzin [Thu, 18 Jan 2018 23:41:31 +0000 (00:41 +0100)] 
tests: Distribute DEJATOOL files manually

"t/check12.sh" was failing because files declared in DEJATOOL are not
automatically distributed.  The test running 'make distcheck' couldn't succeed
since some scripts were not distributed.  This fixes automake bug#26738.

* t/check12.sh (Makefile.am): Distribute files from DEJATOOL.

7 years agotests: Let 'ltorder.sh' run successfully with Guix dynamic loader
Mathieu Lirzin [Thu, 18 Jan 2018 23:38:34 +0000 (00:38 +0100)] 
tests: Let 'ltorder.sh' run successfully with Guix dynamic loader

* t/ltorder.sh: Set GUIX_LD_WRAPPER_ALLOW_IMPURITIES environment variable to
unlock the dynamic loader provided by GNU Guix.

7 years agotests: Fix various 'flex' compilation issues
Mathieu Lirzin [Thu, 18 Jan 2018 22:51:49 +0000 (23:51 +0100)] 
tests: Fix various 'flex' compilation issues

* t/lex-clean-cxx.sh (parsefoo.lxx): Declare 'yylex':
(mainfoo.cc): Make declaration compatible with C++.
* t/lex-depend-cxx.sh (joe.ll): Declare 'yylex'.
* t/silent-many-languages.sh (Makefile.am, sub/Makefile.am): Link -lfl only
with 'fo2' and 'sub/ba2' which are the only program needing it.
(foo5.l): Define 'isatty'.
(foo6.y): Declare 'yylex'.

7 years agotests: Check GCS conformance of 'aclocal' command-line interface
Mathieu Lirzin [Thu, 18 Jan 2018 10:00:19 +0000 (11:00 +0100)] 
tests: Check GCS conformance of 'aclocal' command-line interface

* t/aclocal.sh: Check that 'aclocal' support the --version and --help
command-line options.

7 years agocontrib: Add Guile custom test driver using SRFI-64 test harness
Mathieu Lirzin [Wed, 17 Jan 2018 23:12:06 +0000 (00:12 +0100)] 
contrib: Add Guile custom test driver using SRFI-64 test harness

This sets a home for a script already used by GNU Guix and GNU Mcron.

* contrib/test-driver.scm: New test driver script.
* NEWS: Update.

7 years agomaint: Document how to use Guix for Automake development
Mathieu Lirzin [Mon, 15 Jan 2018 15:42:09 +0000 (16:42 +0100)] 
maint: Document how to use Guix for Automake development

* HACKING <Setting the development environment>: New part.

7 years agoautomake: Add default libtool_tag to cppasm
Khem Raj [Thu, 4 Jan 2018 22:59:00 +0000 (23:59 +0100)] 
automake: Add default libtool_tag to cppasm

* bin/automake.in (register_language): Define default libtool tag to be
CC since CPPASCOMPILE is using CC to call assembler.

Copyright-paperwork-exempt: yes

7 years agodoc: Document the portability of various tar formats better
Bruno Haible [Wed, 3 Jan 2018 00:52:34 +0000 (01:52 +0100)] 
doc: Document the portability of various tar formats better

* doc/automake.texi (List of Automake options): Document the portability of
the tar-ustar and tar-pax options better.

7 years agomissing: Update displayed URLs
Simon Sobisch [Thu, 4 Jan 2018 22:09:34 +0000 (23:09 +0100)] 
missing: Update displayed URLs

* lib/missing (perl_URL): Use HTTPS.
(flex_URL): Use new Github homepage.

Copyright-paperwork-exempt: yes

7 years agomaint: Update copyright years to 2018
Mathieu Lirzin [Thu, 4 Jan 2018 15:19:30 +0000 (16:19 +0100)] 
maint: Update copyright years to 2018

This update has been made with 'make update-copyright'.

7 years agomaint: Exclude ".dir-locals.el" from copyright updates
Mathieu Lirzin [Thu, 4 Jan 2018 15:21:26 +0000 (16:21 +0100)] 
maint: Exclude ".dir-locals.el" from copyright updates

* maintainer/maint.mk (files_without_copyright): Add ".dir-locals.el".

7 years agoport elisp-compilation support to emacs-23.1 and newer
Jim Meyering [Thu, 23 Nov 2017 05:07:29 +0000 (21:07 -0800)] 
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.

7 years ago"make dist" did not depend on $(BUILT_SOURCES)
Jim Meyering [Thu, 20 Mar 2014 19:31:32 +0000 (12:31 -0700)] 
"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

7 years agomaint: Update HACKING
Mathieu Lirzin [Fri, 24 Nov 2017 12:28:24 +0000 (13:28 +0100)] 
maint: Update HACKING

* HACKING (Working with git): Remove reference to the 'micro' branch and
adapt branch descriptions to the current branching scheme.

8 years agomaint: Make Emacs use 'makefile-automake-mode'
Mathieu Lirzin [Sat, 23 Sep 2017 10:19:43 +0000 (12:19 +0200)] 
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.