Imported Upstream version 1.16.5 upstream upstream/1.16.5
authorTizenOpenSource <tizenopensrc@samsung.com>
Tue, 27 Dec 2022 02:44:34 +0000 (11:44 +0900)
committerTizenOpenSource <tizenopensrc@samsung.com>
Tue, 27 Dec 2022 02:44:34 +0000 (11:44 +0900)
66 files changed:
ChangeLog
HACKING
Makefile.in
NEWS
NEWS-2.0
THANKS
aclocal.m4
bin/automake.in
configure
configure.ac
contrib/checklinkx
doc/amhello-1.0.tar.gz
doc/automake.info
doc/automake.info-1
doc/automake.info-2
doc/automake.texi
doc/help2man
doc/local.mk
doc/stamp-vti
doc/version.texi
lib/am/header-vars.am
lib/am/lisp.am
lib/config.sub
lib/py-compile
m4/amversion.m4
m4/init.m4
m4/python.m4
maintainer/syntax-checks.mk
t/cond24.sh
t/cond35.sh
t/cond36.sh
t/dist-auxdir-many-subdirs.sh
t/link_override.sh
t/parallel-tests-console-output.sh
t/python-prefix.sh
t/python-vars.sh
t/silent-many-languages.sh
t/silent-yacc-headers.sh
t/silent-yacc.sh
t/subobj11a.sh
t/subobj11b.sh
t/subpkg-yacc.sh
t/suffix10.tap
t/test-extensions-empty.sh
t/yacc-basic.sh
t/yacc-bison-skeleton.sh
t/yacc-clean-cxx.sh
t/yacc-clean.sh
t/yacc-cxx.sh
t/yacc-d-basic.sh
t/yacc-d-vpath.sh
t/yacc-deleted-headers.sh
t/yacc-depend.sh
t/yacc-depend2.sh
t/yacc-dist-nobuild-subdir.sh
t/yacc-dist-nobuild.sh
t/yacc-dry.sh
t/yacc-line.sh
t/yacc-misc.sh
t/yacc-mix-c-cxx.sh
t/yacc-nodist.sh
t/yacc-pr204.sh
t/yacc-subdir.sh
t/yacc-vpath.sh
t/yflags-cmdline-override.sh
t/yflags-force-override.sh

index 7707fa86632fa9325cdf77d9d95b71a2bce0714e..97e3f4e772cb2c18e73ae8a01318da765288c963 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,179 @@
+2021-10-03  Jim Meyering  <meyering@fb.com>
+
+       version 1.16.5
+
+       * configure.ac (AC_INIT): Bump version number to 1.16.5.
+       * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
+       * NEWS: Record release version.
+
+2021-10-03  Jim Meyering  <meyering@fb.com>
+
+       maint: don't use obsolescent "egrep"
+
+       * maintainer/syntax-checks.mk (sc_perl_local): Use grep -E
+       in place of "egrep".
+
+2021-10-03  Jim Meyering  <meyering@fb.com>
+
+       maint: remove trailing white space from a few files
+
+       * NEWS: Remove trailing white space.
+       * NEWS-2.0: Likewise.
+       * contrib/checklinkx: Likewise.
+       * doc/local.mk (chlx_args): Likewise.
+       * m4/python.m4: Likewise.
+       * t/test-extensions-empty.sh: Likewise.
+
+2021-09-28  Karl Berry  <karl@freefriends.org>
+
+       doc: show "RUNNING: <testname>" example using [AM_]TESTS_ENVIRONMENT.
+
+       This change addresses https://bugs.gnu.org/49309.
+
+       * doc/automake.texi (Testsuite Environment Overrides): new
+       subsubsection, separating out [AM_]TESTS_ENVIRONMENT description.
+       Add example to get "RUNNING: <testname>" when a test starts.
+
+2021-09-28  Karl Berry  <karl@freefriends.org>
+
+       doc: tweak Yacc/Lex text; subnode for the yacc linking hack.
+
+       * doc/automake.texi (Alternative): remove obsolete footnote.
+       (Yacc and Lex): tweak wording, more consistent capitalization.
+       (Linking Multiple Yacc Parsers): new subsection.
+
+       Also add @shortcontents.
+       Also update texinfo-master-menu (for the first time in ages).
+
+2021-09-26  Karl Berry  <karl@freefriends.org>
+
+       maint: Update files from upstream with 'make fetch'.
+
+       * lib/config.sub: Update.
+
+2021-09-19  Jim Meyering  <meyering@fb.com>
+
+       maint: Post-release administrivia
+
+       * configure.ac (AC_INIT): Bump version number to 1.16h.
+       * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
+
+2021-09-19  Jim Meyering  <meyering@fb.com>
+
+       maint: adjust version for snapshot
+
+       * configure.ac (AC_INIT): Bump version number to 1.16g for snapshot.
+       * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
+
+2021-09-19  Karl Berry  <karl@freefriends.org>
+
+       python: only use Python's sys.* values if the new option
+
+       --with-python-sys-prefix is specified; otherwise, return to
+       previous behavior of using the GNU ${prefix} and ${exec_prefix}.
+
+       * doc/automake.texi (Python): document the new behavior.
+       * m4/python.m4 (AM_PATH_PYTHON): conditionalize use of Python's
+       sys.* values on the new option --with-python-sys-prefix.
+       * t/python-prefix.sh: doc update.
+       * t/python-vars.sh: test both GNU and Python prefix values.
+       * NEWS: mention this.
+
+2021-09-18  Karl Berry  <karl@freefriends.org>
+
+       doc: update NEWS for yyerror const arg; update THANKS.
+
+       * THANKS: update with missed recent committer.
+       * NEWS: mention yyerror decl in our tests now uses const.
+
+2021-09-11  Akim Demaille  <akim@lrde.epita.fr>
+
+       tests: let yacc's yyerror take its argument as a const string
+
+       Some of yacc error messages are const strings; it makes no sense for
+       yyerror to take a 'char *', it should be a 'const char *' as POSIX now
+       requires.
+
+       Fixes all the failures reported by Kiyoshi Kanazawa.
+       <https://lists.gnu.org/r/bug-bison/2021-09/msg00005.html>
+       See bug#50469 <https://debbugs.gnu.org/50469>.
+
+       * t/cond35.sh, t/silent-many-languages.sh, t/silent-yacc-headers.sh,
+       * t/silent-yacc.sh, t/subpkg-yacc.sh, t/suffix10.tap, t/yacc-basic.sh,
+       * t/yacc-clean.sh, t/yacc-d-basic.sh, t/yacc-d-vpath.sh,
+       * t/yacc-deleted-headers.sh, t/yacc-depend.sh, t/yacc-depend2.sh,
+       * t/yacc-dist-nobuild-subdir.sh, t/yacc-dist-nobuild.sh, t/yacc-dry.sh,
+       * t/yacc-line.sh, t/yacc-misc.sh, t/yacc-mix-c-cxx.sh, t/yacc-nodist.sh,
+       * t/yacc-pr204.sh, t/yacc-subdir.sh, t/yacc-vpath.sh,
+       * t/yflags-cmdline-override.sh, t/yflags-force-override.sh
+       (yyerror): From 'char *' to 'const char *'.
+       Enforce consistency: prefer '{}' to '{ return; }'.
+
+2021-09-10  Jan Engelhardt  <jengelh@inai.de>
+
+       automake: consistently depend on install-libLTLIBRARIES.
+
+       Report and patch:
+       https://lists.gnu.org/archive/html/automake/2021-08/msg00016.html
+
+       * bin/automake.in (generate_makefile): depend on
+       install-libLTLIBRARIES for all PROGRAMS and LTLIBRARIES,
+       such as install-pkglibLTLIBRARIES.
+       * NEWS: mention this.
+
+2021-08-17  Nick Bowler  <nbowler@draconx.ca>
+
+       automake: fatal error on second AM_INIT_AUTOMAKE.
+
+       This change addresses https://bugs.gnu.org/50046.
+       Patch posted:
+       https://lists.gnu.org/archive/html/automake-patches/2021-08/msg00000.html
+
+       * m4/init.m4: Make attempts to expand AM_INIT_AUTOMAKE more than
+       once a fatal error at m4 time.
+
+2021-08-08  Karl Berry  <karl@freefriends.org>
+
+       maint: Update doc/help2man.
+
+       * doc/help2man: update to 1.48.24
+
+2021-08-07  Karl Berry  <karl@freefriends.org>
+
+       maint: Update doc/help2man.
+
+       * doc/help2man: update to 1.48.2.
+
+2021-08-07  Dimitri Papadopoulos  <dimitri.papadopoulos@gmail.com>
+
+       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.
+
+2021-07-26  Karl Berry  <karl@freefriends.org>
+
+       cosmetics: py-compile consistently use test, not [ ... ]; indentation.
+
+       * lib/py-compile: consistently use test rather than [ ... ];
+       use consistent sh indentation; check exit status consistently.
+
+2021-07-26  Jim Meyering  <meyering@fb.com>
+
+       maint: Post-release administrivia
+
+       * configure.ac (AC_INIT): Bump version number to 1.16f.
+       * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
+
 2021-07-25  Jim Meyering  <meyering@fb.com>
 
        version 1.16.4
diff --git a/HACKING b/HACKING
index 5f8644e71eb3a77f70faa74c506bd46f66e6efe6..a41e8e202c38126d347348f2883ecb621882c33f 100644 (file)
--- a/HACKING
+++ b/HACKING
 
       Here goes a more detailed explanation of why the commit is needed,
       and a general overview of what it does, and how.  This section
-      should almost always be provided, possibly only with the expection
+      should almost always be provided, possibly only with the exception
       of obvious fixes or very trivial changes.
 
       And if the detailed explanation is quite long or detailed, you can
 
 * To add tags "help" and "confirmed" to bug 12345, mail to
   control@debbugs.gnu.org with a one-line body:
-    tags 35322 + help confirmed
+    tags 12345 + help confirmed
 
 * In general, all bug operations are done by mail.  Reference information:
     https://debbugs.gnu.org/server-control.html # dev info
index bbe2d048f90a630e2fa9f9521537eb0d00117ca8..18850e72a5c2487ee27bfdaa7b63d5a54a0cd06a 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -713,7 +713,7 @@ chlx_args = -v --sleep 8 #--exclude-url-file=/tmp/xf
 # - mailto urls, they are always forbidden.
 # - vala, redirects to a Gnome subpage and returns 403 to us.
 # - cfortran, forbidden by site's robots.txt.
-# - search.cpan.org, gets 
+# - search.cpan.org, gets
 # - debbugs.gnu.org/automake, forbidden by robots.txt.
 # - autoconf.html, forbidden by robots.txt (since served from savannah).
 # - https://fsf.org redirects to https://www.fsf.org and nothing to do
@@ -3750,7 +3750,7 @@ checklinkx:
 $(srcdir)/doc/amhello-1.0.tar.gz: $(amhello_sources) $(srcdir)/configure.ac
        $(AM_V_GEN)tmp=amhello-output.tmp \
          && $(am__cd) $(srcdir)/doc/amhello \
-         && : Make our aclocal and automake avaiable before system ones. \
+         && : Make our aclocal and automake available before system ones. \
          && $(setup_autotools_paths) \
          && ( \
            { $(AM_V_P) || exec 5>&2 >$$tmp 2>&1; } \
diff --git a/NEWS b/NEWS
index bb3e3ae4781cc28fff0f793ba4959669a2a0024a..fb05ee2197087426ca3d144759e9eb25eb416d61 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,7 +3,20 @@ please see NEWS-2.0 and start following the advice there now.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-New in ?.?.?:
+New in 1.16.5:
+
+* Bugs fixed
+
+  - PYTHON_PREFIX and PYTHON_EXEC_PREFIX are now set according to
+    Python's sys.* values only if the new configure option
+    --with-python-sys-prefix is specified. Otherwise, GNU default values
+    are used, as in the past. (The change in 1.16.3 was too incompatible.)
+
+  - consistently depend on install-libLTLIBRARIES.
+
+* Distribution
+
+  - use const for yyerror declaration in bison/yacc tests.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
index 743138ca919c76c1d30699a372febd188ace56ef..5c56aa6e070ac67be97f570386b6a28d0965e480 100644 (file)
--- a/NEWS-2.0
+++ b/NEWS-2.0
@@ -62,8 +62,8 @@ warranted.  For more info, see the ./PLANS/ directory.
     certainty about this though: we'd first like to wait and see
     whether future Autoconf versions will be enhanced to guarantee
     that such a shell is always found and provided by the checks in
-    ./configure. 
-    
+    ./configure.
+
     In 2020, config.guess was changed by its then-maintainer to require
     $(...); the ensuing bug reports and maintenance hassle
     (unfortunately the changes have not been reverted) are a convincing
diff --git a/THANKS b/THANKS
index 6c8abf9b232679a92720173b58288e70a67b1097..965f280ef7a3ac89c1b9b0939e5465396971791c 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -105,6 +105,7 @@ Dieter Baron                    dillo@stieltjes.smc.univie.ac.at
 Dieter Jurzitza                 DJurzitza@harmanbecker.com
 Дилян Палаузов                  dilyan.palauzov@aegee.org
 Dirk Mueller                    josef.moellers@suse.com
+Dimitri Papadopoulos            dimitri.papadopoulos@gmail.com
 Dmitry Mikhin                   dmitrym@acres.com.au
 Dmitry V. Levin                 ldv@altlinux.org
 Doug Evans                      devans@cygnus.com
index 9fdd1aa0df624a593306878bf9b05be5f0b59f9e..82bcbe1e21bbdc749fd5af68ef6e593e8df41f39 100644 (file)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -171,6 +171,10 @@ m4_defn([AC_PROG_CC])
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
index f04f5d5f55543dd02560ee9564c20e3cb6b940bf..30babd6075b5a5211771329411b197005c4de95e 100644 (file)
@@ -8042,13 +8042,26 @@ sub generate_makefile
   handle_all ($makefile);
 
   # FIXME: Gross!
-  if (var ('lib_LTLIBRARIES') && var ('bin_PROGRAMS'))
+  my $have_lt1 = !!var("lib_LTLIBRARIES");
+  my $have_lt2 = !!var("nobase_lib_LTLIBRARIES");
+  for my $var (variables("PROGRAMS"), variables("LTLIBRARIES"))
     {
-      $output_rules .= "install-binPROGRAMS: install-libLTLIBRARIES\n\n";
-    }
-  if (var ('nobase_lib_LTLIBRARIES') && var ('bin_PROGRAMS'))
-    {
-      $output_rules .= "install-binPROGRAMS: install-nobase_libLTLIBRARIES\n\n";
+      if ($var->name eq "lib_LTLIBRARIES"
+          || $var->name eq "nobase_lib_LTLIBRARIES"
+          || substr($var->name, 0, 7) eq "noinst_")
+        {
+          next;
+        }
+      my $shortname = $var->name;
+      $shortname =~ tr{_}{}d;
+      if ($have_lt1)
+        {
+          $output_rules .= "install-$shortname: install-libLTLIBRARIES\n\n";
+        }
+      if ($have_lt2)
+        {
+          $output_rules .= "install-$shortname: install-nobase_libLTLIBRARIES\n\n";
+        }
     }
 
   handle_install;
index 42b508882e362448a3f2afab62c2e625b2bbc7ab..4ed563d09cfdc4ec24f195649faaa62743ea07d9 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for GNU Automake 1.16.4.
+# Generated by GNU Autoconf 2.71 for GNU Automake 1.16.5.
 #
 # Report bugs to <bug-automake@gnu.org>.
 #
@@ -611,8 +611,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU Automake'
 PACKAGE_TARNAME='automake'
-PACKAGE_VERSION='1.16.4'
-PACKAGE_STRING='GNU Automake 1.16.4'
+PACKAGE_VERSION='1.16.5'
+PACKAGE_STRING='GNU Automake 1.16.5'
 PACKAGE_BUGREPORT='bug-automake@gnu.org'
 PACKAGE_URL='https://www.gnu.org/software/automake/'
 
@@ -1333,7 +1333,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GNU Automake 1.16.4 to adapt to many kinds of systems.
+\`configure' configures GNU Automake 1.16.5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1404,7 +1404,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU Automake 1.16.4:";;
+     short | recursive ) echo "Configuration of GNU Automake 1.16.5:";;
    esac
   cat <<\_ACEOF
 
@@ -1513,7 +1513,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU Automake configure 1.16.4
+GNU Automake configure 1.16.5
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1706,7 +1706,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GNU Automake $as_me 1.16.4, which was
+It was created by GNU Automake $as_me 1.16.5, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -3279,7 +3279,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='automake'
- VERSION='1.16.4'
+ VERSION='1.16.5'
 
 
 # Some tools Automake needs.
@@ -8125,7 +8125,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GNU Automake $as_me 1.16.4, which was
+This file was extended by GNU Automake $as_me 1.16.5, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8186,7 +8186,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-GNU Automake config.status 1.16.4
+GNU Automake config.status 1.16.5
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
index f7656ffea0b475f678af5f0e228d3f437a0d7bab..2b878c28baf9d6a254e2bac4a2d1a37596547068 100644 (file)
@@ -16,7 +16,7 @@
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 AC_PREREQ([2.69])
-AC_INIT([GNU Automake], [1.16.4], [bug-automake@gnu.org])
+AC_INIT([GNU Automake], [1.16.5], [bug-automake@gnu.org])
 
 AC_CONFIG_SRCDIR([bin/automake.in])
 AC_CONFIG_AUX_DIR([lib])
index 1c0a135c10455fd9cc8bff3be1ba1a80eade754c..2e81bb17f0c33feefff319fd3b8c6fb1de7dc046 100755 (executable)
@@ -870,14 +870,14 @@ sub parse_arguments ()
       # was that string all along.
       $Opts{Exclude} = $exclude_rx;
     }
-    
+
     if ($Opts{Exclude_Url_File}) {
         # The idea is that if the specified file exists, we read it and
         # treat it as a list of excludes. If the file doesn't exist, we
         # write it with all the urls that were successful. That way, we
         # can avoid re-checking them on every run, and it can be removed
         # externally (from cron) to get re-updated.
-        # 
+        #
         # We distinguish the cases here, and either add to
         # $Opts{Exclude} if reading, or setting Exclude_File_Write in
         # %Opts if writing (even though it is not really an option,
index 3f7b52195533c857c660dd7d026d449e0d6a88ea..cd40d02ad8ec2f5367f710e9ec8cb84dcd616a59 100644 (file)
Binary files a/doc/amhello-1.0.tar.gz and b/doc/amhello-1.0.tar.gz differ
index 4132a33c7cc044a4a7232d773529ca0521bef92b..c285e76b71f5ac3eb4b112f5583578f35cb99033 100644 (file)
@@ -1,7 +1,7 @@
 This is automake.info, produced by makeinfo version 6.8 from
 automake.texi.
 
-This manual is for GNU Automake (version 1.16.4, 16 July 2021), a
+This manual is for GNU Automake (version 1.16.5, 1 October 2021), a
 program that creates GNU standards-compliant Makefiles from template
 files.
 
@@ -27,215 +27,215 @@ END-INFO-DIR-ENTRY
 
 \1f
 Indirect:
-automake.info-1: 1081
-automake.info-2: 301558
+automake.info-1: 1083
+automake.info-2: 301994
 \1f
 Tag Table:
 (Indirect)
-Node: Top\7f1081
-Node: Introduction\7f14332
-Ref: Introduction-Footnote-1\7f15741
-Node: Autotools Introduction\7f15900
-Node: GNU Build System\7f17282
-Node: Use Cases\7f20030
-Node: Basic Installation\7f22158
-Node: Standard Targets\7f25744
-Node: Standard Directory Variables\7f27347
-Node: Standard Configuration Variables\7f29204
-Node: config.site\7f30563
-Node: VPATH Builds\7f31989
-Node: Two-Part Install\7f36047
-Node: Cross-Compilation\7f38491
-Node: Renaming\7f41457
-Node: DESTDIR\7f42615
-Node: Preparing Distributions\7f44797
-Node: Dependency Tracking\7f47167
-Node: Nested Packages\7f49275
-Node: Why Autotools\7f50791
-Node: Hello World\7f52433
-Ref: amhello Explained\7f52855
-Node: Creating amhello\7f53027
-Node: amhello's configure.ac Setup Explained\7f58382
-Node: amhello's Makefile.am Setup Explained\7f63303
-Node: Generalities\7f67003
-Node: General Operation\7f67697
-Node: Strictness\7f71121
-Ref: Gnits\7f71255
-Node: Uniform\7f75155
-Node: Length Limitations\7f80052
-Node: Canonicalization\7f82363
-Node: User Variables\7f83435
-Node: Auxiliary Programs\7f84925
-Node: Examples\7f88862
-Node: Complete\7f89732
-Node: true\7f91837
-Node: automake Invocation\7f94328
-Ref: Invoking automake\7f94483
-Node: configure\7f103098
-Node: Requirements\7f104027
-Node: Optional\7f109265
-Node: aclocal Invocation\7f119008
-Ref: Invoking aclocal\7f119169
-Node: aclocal Options\7f122207
-Node: Macro Search Path\7f125917
-Ref: ACLOCAL_PATH\7f130291
-Node: Extending aclocal\7f131861
-Node: Local Macros\7f135560
-Node: Serials\7f139543
-Node: Future of aclocal\7f144763
-Node: Macros\7f147113
-Node: Public Macros\7f147654
-Ref: Modernize AM_INIT_AUTOMAKE invocation\7f149277
-Node: Obsolete Macros\7f153759
-Node: Private Macros\7f155101
-Node: Directories\7f156551
-Node: Subdirectories\7f158146
-Node: Conditional Subdirectories\7f161538
-Node: SUBDIRS vs DIST_SUBDIRS\7f163219
-Node: Subdirectories with AM_CONDITIONAL\7f164857
-Node: Subdirectories with AC_SUBST\7f166051
-Node: Unconfigured Subdirectories\7f166878
-Node: Alternative\7f170336
-Ref: Alternative-Footnote-1\7f172488
-Node: Subpackages\7f172613
-Node: Programs\7f175968
-Node: A Program\7f177510
-Node: Program Sources\7f178233
-Node: Linking\7f180138
-Node: Conditional Sources\7f183782
-Node: Conditional Programs\7f186710
-Node: A Library\7f188600
-Node: A Shared Library\7f191277
-Node: Libtool Concept\7f192281
-Node: Libtool Libraries\7f194371
-Node: Conditional Libtool Libraries\7f196105
-Node: Conditional Libtool Sources\7f198562
-Node: Libtool Convenience Libraries\7f199949
-Node: Libtool Modules\7f203376
-Node: Libtool Flags\7f204692
-Node: LTLIBOBJS\7f206603
-Node: Libtool Issues\7f207238
-Node: Error required file ltmain.sh not found\7f207579
-Node: Objects created both with libtool and without\7f208800
-Node: Program and Library Variables\7f210716
-Node: Default _SOURCES\7f222876
-Node: LIBOBJS\7f225353
-Node: Program Variables\7f230580
-Node: Yacc and Lex\7f234125
-Ref: Yacc and Lex-Footnote-1\7f239753
-Node: C++ Support\7f240016
-Node: Objective C Support\7f240878
-Node: Objective C++ Support\7f241834
-Node: Unified Parallel C Support\7f242839
-Node: Assembly Support\7f243817
-Node: Fortran 77 Support\7f244989
-Ref: Fortran 77 Support-Footnote-1\7f246656
-Node: Preprocessing Fortran 77\7f246859
-Node: Compiling Fortran 77 Files\7f247463
-Node: Mixing Fortran 77 With C and C++\7f248075
-Ref: Mixing Fortran 77 With C and C++-Footnote-1\7f250398
-Node: How the Linker is Chosen\7f250706
-Node: Fortran 9x Support\7f252245
-Node: Compiling Fortran 9x Files\7f253273
-Node: Java Support with gcj\7f253909
-Node: Vala Support\7f255390
-Node: Support for Other Languages\7f257663
-Node: Dependencies\7f258371
-Node: EXEEXT\7f260258
-Node: Other Objects\7f262498
-Node: Scripts\7f263080
-Node: Headers\7f265939
-Node: Data\7f267734
-Node: Sources\7f268419
-Node: Built Sources Example\7f271424
-Node: Other GNU Tools\7f278596
-Node: Emacs Lisp\7f279125
-Node: gettext\7f281222
-Node: Libtool\7f281910
-Node: Java\7f282169
-Node: Python\7f284828
-Node: Documentation\7f289863
-Node: Texinfo\7f290167
-Node: Man Pages\7f297352
-Node: Install\7f301558
-Node: Basics of Installation\7f302253
-Node: The Two Parts of Install\7f303783
-Node: Extending Installation\7f305323
-Node: Staged Installs\7f306087
-Node: Install Rules for the User\7f307500
-Node: Clean\7f308058
-Node: Dist\7f310230
-Node: Basics of Distribution\7f310734
-Node: Fine-grained Distribution Control\7f314907
-Node: The dist Hook\7f315834
-Node: Checking the Distribution\7f318364
-Node: The Types of Distributions\7f325671
-Node: Tests\7f328824
-Node: Generalities about Testing\7f330020
-Node: Simple Tests\7f332960
-Node: Scripts-based Testsuites\7f333341
-Ref: Testsuite progress on console\7f335714
-Ref: Simple tests and color-tests\7f337807
-Node: Serial Test Harness\7f341830
-Node: Parallel Test Harness\7f343920
-Ref: Basics of test metadata\7f344426
-Node: Custom Test Drivers\7f353519
-Node: Overview of Custom Test Drivers Support\7f353810
-Node: Declaring Custom Test Drivers\7f356862
-Node: API for Custom Test Drivers\7f358284
-Node: Command-line arguments for test drivers\7f359056
-Node: Log files generation and test results recording\7f361770
-Node: Testsuite progress output\7f365985
-Node: Using the TAP test protocol\7f367407
-Node: Introduction to TAP\7f367769
-Node: Use TAP with the Automake test harness\7f369553
-Node: Incompatibilities with other TAP parsers and drivers\7f374976
-Node: Links and external resources on TAP\7f376377
-Node: DejaGnu Tests\7f377969
-Node: Install Tests\7f380097
-Node: Rebuilding\7f380407
-Node: Options\7f384501
-Node: Options generalities\7f384802
-Node: List of Automake options\7f386583
-Ref: tar-formats\7f393990
-Node: Miscellaneous\7f397503
-Node: Tags\7f397848
-Node: Suffixes\7f401044
-Node: Include\7f402676
-Node: Conditionals\7f404411
-Node: Usage of Conditionals\7f405269
-Node: Limits of Conditionals\7f408627
-Node: Silencing Make\7f409812
-Node: Make verbosity\7f410168
-Ref: Make verbosity-Footnote-1\7f411490
-Node: Tricks For Silencing Make\7f411564
-Node: Automake Silent Rules\7f414071
-Node: Not Enough\7f421049
-Node: Extending\7f421505
-Node: Third-Party Makefiles\7f426539
-Node: Distributing\7f433598
-Node: API Versioning\7f434247
-Node: Upgrading\7f436952
-Node: FAQ\7f438997
-Node: CVS\7f440121
-Node: maintainer-mode\7f448557
-Node: Wildcards\7f452732
-Node: Limitations on File Names\7f456170
-Node: Errors with distclean\7f458800
-Node: Flag Variables Ordering\7f463742
-Node: Renamed Objects\7f471751
-Node: Per-Object Flags\7f473346
-Node: Multiple Outputs\7f476356
-Node: Hard-Coded Install Paths\7f488700
-Node: Debugging Make Rules\7f493844
-Ref: Debugging Make Rules-Footnote-1\7f495990
-Node: Reporting Bugs\7f496168
-Node: Copying This Manual\7f497806
-Node: GNU Free Documentation License\7f498036
-Node: Indices\7f523340
-Node: Macro Index\7f523629
-Node: Variable Index\7f529479
-Node: General Index\7f562289
+Node: Top\7f1083
+Node: Introduction\7f14520
+Ref: Introduction-Footnote-1\7f15929
+Node: Autotools Introduction\7f16088
+Node: GNU Build System\7f17470
+Node: Use Cases\7f20218
+Node: Basic Installation\7f22346
+Node: Standard Targets\7f25932
+Node: Standard Directory Variables\7f27535
+Node: Standard Configuration Variables\7f29392
+Node: config.site\7f30751
+Node: VPATH Builds\7f32177
+Node: Two-Part Install\7f36235
+Node: Cross-Compilation\7f38679
+Node: Renaming\7f41645
+Node: DESTDIR\7f42803
+Node: Preparing Distributions\7f44985
+Node: Dependency Tracking\7f47355
+Node: Nested Packages\7f49463
+Node: Why Autotools\7f50979
+Node: Hello World\7f52621
+Ref: amhello Explained\7f53043
+Node: Creating amhello\7f53215
+Node: amhello's configure.ac Setup Explained\7f58570
+Node: amhello's Makefile.am Setup Explained\7f63491
+Node: Generalities\7f67191
+Node: General Operation\7f67885
+Node: Strictness\7f71309
+Ref: Gnits\7f71443
+Node: Uniform\7f75343
+Node: Length Limitations\7f80240
+Node: Canonicalization\7f82551
+Node: User Variables\7f83623
+Node: Auxiliary Programs\7f85113
+Node: Examples\7f89050
+Node: Complete\7f89920
+Node: true\7f92025
+Node: automake Invocation\7f94516
+Ref: Invoking automake\7f94671
+Node: configure\7f103286
+Node: Requirements\7f104215
+Node: Optional\7f109453
+Node: aclocal Invocation\7f119196
+Ref: Invoking aclocal\7f119357
+Node: aclocal Options\7f122395
+Node: Macro Search Path\7f126105
+Ref: ACLOCAL_PATH\7f130479
+Node: Extending aclocal\7f132049
+Node: Local Macros\7f135748
+Node: Serials\7f139731
+Node: Future of aclocal\7f144951
+Node: Macros\7f147301
+Node: Public Macros\7f147842
+Ref: Modernize AM_INIT_AUTOMAKE invocation\7f149465
+Node: Obsolete Macros\7f153947
+Node: Private Macros\7f155289
+Node: Directories\7f156739
+Node: Subdirectories\7f158334
+Node: Conditional Subdirectories\7f161726
+Node: SUBDIRS vs DIST_SUBDIRS\7f163407
+Node: Subdirectories with AM_CONDITIONAL\7f165045
+Node: Subdirectories with AC_SUBST\7f166239
+Node: Unconfigured Subdirectories\7f167066
+Node: Alternative\7f170524
+Node: Subpackages\7f172711
+Node: Programs\7f176066
+Node: A Program\7f177608
+Node: Program Sources\7f178331
+Node: Linking\7f180236
+Node: Conditional Sources\7f183880
+Node: Conditional Programs\7f186808
+Node: A Library\7f188698
+Node: A Shared Library\7f191375
+Node: Libtool Concept\7f192379
+Node: Libtool Libraries\7f194469
+Node: Conditional Libtool Libraries\7f196203
+Node: Conditional Libtool Sources\7f198660
+Node: Libtool Convenience Libraries\7f200047
+Node: Libtool Modules\7f203474
+Node: Libtool Flags\7f204790
+Node: LTLIBOBJS\7f206701
+Node: Libtool Issues\7f207336
+Node: Error required file ltmain.sh not found\7f207677
+Node: Objects created both with libtool and without\7f208898
+Node: Program and Library Variables\7f210814
+Node: Default _SOURCES\7f222974
+Node: LIBOBJS\7f225451
+Node: Program Variables\7f230678
+Node: Yacc and Lex\7f234223
+Node: Linking Multiple Yacc Parsers\7f238439
+Node: C++ Support\7f240252
+Node: Objective C Support\7f241114
+Node: Objective C++ Support\7f242070
+Node: Unified Parallel C Support\7f243075
+Node: Assembly Support\7f244053
+Node: Fortran 77 Support\7f245225
+Ref: Fortran 77 Support-Footnote-1\7f246892
+Node: Preprocessing Fortran 77\7f247095
+Node: Compiling Fortran 77 Files\7f247699
+Node: Mixing Fortran 77 With C and C++\7f248311
+Ref: Mixing Fortran 77 With C and C++-Footnote-1\7f250634
+Node: How the Linker is Chosen\7f250942
+Node: Fortran 9x Support\7f252481
+Node: Compiling Fortran 9x Files\7f253509
+Node: Java Support with gcj\7f254145
+Node: Vala Support\7f255626
+Node: Support for Other Languages\7f257899
+Node: Dependencies\7f258607
+Node: EXEEXT\7f260494
+Node: Other Objects\7f262734
+Node: Scripts\7f263316
+Node: Headers\7f266175
+Node: Data\7f267970
+Node: Sources\7f268655
+Node: Built Sources Example\7f271660
+Node: Other GNU Tools\7f278832
+Node: Emacs Lisp\7f279361
+Node: gettext\7f281458
+Node: Libtool\7f282146
+Node: Java\7f282405
+Node: Python\7f285064
+Node: Documentation\7f290297
+Node: Texinfo\7f290601
+Node: Man Pages\7f297786
+Node: Install\7f301994
+Node: Basics of Installation\7f302689
+Node: The Two Parts of Install\7f304219
+Node: Extending Installation\7f305759
+Node: Staged Installs\7f306523
+Node: Install Rules for the User\7f307936
+Node: Clean\7f308494
+Node: Dist\7f310666
+Node: Basics of Distribution\7f311170
+Node: Fine-grained Distribution Control\7f315343
+Node: The dist Hook\7f316270
+Node: Checking the Distribution\7f318800
+Node: The Types of Distributions\7f326107
+Node: Tests\7f329260
+Node: Generalities about Testing\7f330456
+Node: Simple Tests\7f333396
+Node: Scripts-based Testsuites\7f333777
+Ref: Testsuite progress on console\7f336150
+Ref: Simple tests and color-tests\7f338243
+Node: Testsuite Environment Overrides\7f340365
+Node: Serial Test Harness\7f342964
+Node: Parallel Test Harness\7f345054
+Ref: Basics of test metadata\7f345560
+Node: Custom Test Drivers\7f354653
+Node: Overview of Custom Test Drivers Support\7f354944
+Node: Declaring Custom Test Drivers\7f357996
+Node: API for Custom Test Drivers\7f359418
+Node: Command-line arguments for test drivers\7f360190
+Node: Log files generation and test results recording\7f362904
+Node: Testsuite progress output\7f367119
+Node: Using the TAP test protocol\7f368541
+Node: Introduction to TAP\7f368903
+Node: Use TAP with the Automake test harness\7f370687
+Node: Incompatibilities with other TAP parsers and drivers\7f376110
+Node: Links and external resources on TAP\7f377511
+Node: DejaGnu Tests\7f379103
+Node: Install Tests\7f381231
+Node: Rebuilding\7f381541
+Node: Options\7f385635
+Node: Options generalities\7f385936
+Node: List of Automake options\7f387717
+Ref: tar-formats\7f395124
+Node: Miscellaneous\7f398637
+Node: Tags\7f398982
+Node: Suffixes\7f402178
+Node: Include\7f403810
+Node: Conditionals\7f405545
+Node: Usage of Conditionals\7f406403
+Node: Limits of Conditionals\7f409761
+Node: Silencing Make\7f410946
+Node: Make verbosity\7f411302
+Ref: Make verbosity-Footnote-1\7f412624
+Node: Tricks For Silencing Make\7f412698
+Node: Automake Silent Rules\7f415205
+Node: Not Enough\7f422183
+Node: Extending\7f422639
+Node: Third-Party Makefiles\7f427673
+Node: Distributing\7f434732
+Node: API Versioning\7f435381
+Node: Upgrading\7f438086
+Node: FAQ\7f440131
+Node: CVS\7f441255
+Node: maintainer-mode\7f449691
+Node: Wildcards\7f453866
+Node: Limitations on File Names\7f457304
+Node: Errors with distclean\7f459934
+Node: Flag Variables Ordering\7f464876
+Node: Renamed Objects\7f472885
+Node: Per-Object Flags\7f474480
+Node: Multiple Outputs\7f477490
+Node: Hard-Coded Install Paths\7f489834
+Node: Debugging Make Rules\7f494978
+Ref: Debugging Make Rules-Footnote-1\7f497124
+Node: Reporting Bugs\7f497302
+Node: Copying This Manual\7f498940
+Node: GNU Free Documentation License\7f499170
+Node: Indices\7f524474
+Node: Macro Index\7f524763
+Node: Variable Index\7f530613
+Node: General Index\7f563584
 \1f
 End Tag Table
 
index 5771278bf3181445f29f5dabb1100136071bb88b..57b58dbbcfd070f26b29b43cf81bb75968f01831 100644 (file)
@@ -1,7 +1,7 @@
 This is automake.info, produced by makeinfo version 6.8 from
 automake.texi.
 
-This manual is for GNU Automake (version 1.16.4, 16 July 2021), a
+This manual is for GNU Automake (version 1.16.5, 1 October 2021), a
 program that creates GNU standards-compliant Makefiles from template
 files.
 
@@ -31,7 +31,7 @@ File: automake.info,  Node: Top,  Next: Introduction,  Up: (dir)
 GNU Automake
 ************
 
-This manual is for GNU Automake (version 1.16.4, 16 July 2021), a
+This manual is for GNU Automake (version 1.16.5, 1 October 2021), a
 program that creates GNU standards-compliant Makefiles from template
 files.
 
@@ -140,6 +140,7 @@ Auto-generating aclocal.m4
 Autoconf macros supplied with Automake
 
 * Public Macros::               Macros that you can use.
+* Obsolete Macros::             Macros that will soon be removed.
 * Private Macros::              Macros that you should not use.
 
 Directories
@@ -204,6 +205,10 @@ Common Issues Related to Libtool’s Use
 * Error required file ltmain.sh not found::  The need to run libtoolize
 * Objects created both with libtool and without::  Avoid a specific build race
 
+Yacc and Lex support
+
+* Linking Multiple Yacc Parsers::
+
 Fortran 77 Support
 
 * Preprocessing Fortran 77::    Preprocessing Fortran 77 sources
@@ -260,7 +265,7 @@ What Goes in a Distribution
 
 Support for test suites
 
-* Generalities about Testing::  Generic concepts and terminology about testing
+* Generalities about Testing::  Concepts and terminology about testing
 * Simple Tests::                Listing test scripts in ‘TESTS’
 * Custom Test Drivers::         Writing and using custom test drivers
 * Using the TAP test protocol:: Integrating test scripts that use the TAP protocol
@@ -273,12 +278,9 @@ Simple Tests
 * Serial Test Harness::         Older (and discouraged) serial test harness
 * Parallel Test Harness::       Generic concurrent test harness
 
-Using the TAP test protocol
+Scripts-based Testsuites
 
-* Introduction to TAP::
-* Use TAP with the Automake test harness::
-* Incompatibilities with other TAP parsers and drivers::
-* Links and external resources on TAP::
+* Testsuite Environment Overrides::
 
 Custom Test Drivers
 
@@ -292,6 +294,13 @@ API for Custom Test Drivers
 * Log files generation and test results recording::
 * Testsuite progress output::
 
+Using the TAP test protocol
+
+* Introduction to TAP::
+* Use TAP with the Automake test harness::
+* Incompatibilities with other TAP parsers and drivers::
+* Links and external resources on TAP::
+
 Changing Automake’s Behavior
 
 * Options generalities::        Semantics of Automake option
@@ -307,7 +316,7 @@ Conditionals
 * Usage of Conditionals::       Declaring conditional content
 * Limits of Conditionals::      Enclosing complete statements
 
-Silencing Make
+Silencing ‘make’
 
 * Make verbosity::              Make is verbose by default
 * Tricks For Silencing Make::   Standard and generic ways to silence make
@@ -3844,9 +3853,9 @@ will probably come as unwelcome advice.  For those who haven’t read the
 paper, Miller’s main thesis is that recursive ‘make’ invocations are
 both slow and error-prone.
 
-   Automake provides sufficient cross-directory support (1) to enable
-you to write a single ‘Makefile.am’ for a complex multi-directory
-package.
+   Automake is intended to have sufficient cross-directory support to
+enable you to write a single ‘Makefile.am’ for a complex multi-directory
+package.  (If it seems to be lacking, please report the issue as usual.)
 
    By default an installable file specified in a subdirectory will have
 its directory name stripped before installation.  For instance, in this
@@ -3883,11 +3892,6 @@ without changing the layout of the source tree.
 rule, in that there is no particular installation order guarantee for an
 otherwise equivalent set of variables without ‘nobase_’ prefix.
 
-   ---------- Footnotes ----------
-
-   (1) We believe.  This work is new and there are probably warts.
-*Note Introduction::, for information on reporting bugs.
-
 \1f
 File: automake.info,  Node: Subpackages,  Prev: Alternative,  Up: Directories
 
@@ -5279,21 +5283,21 @@ File: automake.info,  Node: Yacc and Lex,  Next: C++ Support,  Prev: Program Var
 
 Automake has somewhat idiosyncratic support for Yacc and Lex.
 
-   Automake assumes that the ‘.c’ file generated by ‘yacc’ (or ‘lex’)
+   Automake assumes that the ‘.c’ file generated by ‘yacc’ or ‘lex’
 should be named using the basename of the input file.  That is, for a
-yacc source file ‘foo.y’, Automake will cause the intermediate file to
+Yacc source file ‘foo.y’, Automake will cause the intermediate file to
 be named ‘foo.c’ (as opposed to ‘y.tab.c’, which is more traditional).
 
-   The extension of a yacc source file is used to determine the
-extension of the resulting C or C++ source and header files.  Note that
-header files are generated only when the ‘-d’ Yacc option is used; see
-below for more information about this flag, and how to specify it.
-Files with the extension ‘.y’ will thus be turned into ‘.c’ sources and
-‘.h’ headers; likewise, ‘.yy’ will become ‘.cc’ and ‘.hh’, ‘.y++’ will
-become ‘c++’ and ‘h++’, ‘.yxx’ will become ‘.cxx’ and ‘.hxx’, and ‘.ypp’
-will become ‘.cpp’ and ‘.hpp’.
+   The extension of a Yacc source file is used to determine the
+extension of the resulting C or C++ source and header files.  Be aware
+that header files are generated only when the option ‘-d’ is given to
+Yacc; see below for more information about this flag, and how to specify
+it.  Files with the extension ‘.y’ will thus be turned into ‘.c’ sources
+and ‘.h’ headers; likewise, ‘.yy’ will become ‘.cc’ and ‘.hh’, ‘.y++’
+will become ‘c++’ and ‘h++’, ‘.yxx’ will become ‘.cxx’ and ‘.hxx’, and
+‘.ypp’ will become ‘.cpp’ and ‘.hpp’.
 
-   Similarly, lex source files can be used to generate C or C++; the
+   Similarly, Lex source files can be used to generate C or C++; the
 extensions ‘.l’, ‘.ll’, ‘.l++’, ‘.lxx’, and ‘.lpp’ are recognized.
 
    You should never explicitly mention the intermediate (C or C++) file
@@ -5303,7 +5307,7 @@ in any ‘SOURCES’ variable; only list the source file.
 included in any distribution that is made.  That way the user doesn’t
 need to have ‘yacc’ or ‘lex’.
 
-   If a ‘yacc’ source file is seen, then your ‘configure.ac’ must define
+   If a Yacc source file is seen, then your ‘configure.ac’ must define
 the variable ‘YACC’.  This is most easily done by invoking the macro
 ‘AC_PROG_YACC’ (*note Particular Program Checks: (autoconf)Particular
 Programs.).
@@ -5314,19 +5318,24 @@ latter is a user variable and the former is intended for the
 
    ‘AM_YFLAGS’ is usually used to pass the ‘-d’ option to ‘yacc’.
 Automake knows what this means and will automatically adjust its rules
-to update and distribute the header file built by ‘yacc -d’(1).  What
-Automake cannot guess, though, is where this header will be used: it is
-up to you to ensure the header gets built before it is first used.
-Typically this is necessary in order for dependency tracking to work
-when the header is included by another file.  The common solution is
-listing the header file in ‘BUILT_SOURCES’ (*note Sources::) as follows.
+to update and distribute the header file built by ‘yacc -d’.  Caveat:
+‘automake’ recognizes ‘-d’ in ‘AM_YFLAGS’ only if it is not clustered
+with other options; for example, it won’t be recognized if ‘AM_YFLAGS’
+is ‘-dt’, but it will be if ‘AM_YFLAGS’ is ‘-d -t’ or ‘-t -d’.
+
+   What Automake cannot guess, though, is where this header will be
+used: it is up to you to ensure the header gets built before it is first
+used.  Typically this is necessary in order for dependency tracking to
+work when the header is included by another file.  The common solution
+is listing the header file in ‘BUILT_SOURCES’ (*note Sources::) as
+follows.
 
      BUILT_SOURCES = parser.h
      AM_YFLAGS = -d
      bin_PROGRAMS = foo
      foo_SOURCES = ... parser.y ...
 
-   If a ‘lex’ source file is seen, then your ‘configure.ac’ must define
+   If a Lex source file is seen, then your ‘configure.ac’ must define
 the variable ‘LEX’.  You can use ‘AC_PROG_LEX’ to do this (*note
 Particular Program Checks: (autoconf)Particular Programs.), but using
 the ‘AM_PROG_LEX’ macro (*note Macros::) is recommended.
@@ -5335,22 +5344,31 @@ the ‘AM_PROG_LEX’ macro (*note Macros::) is recommended.
 latter is a user variable and the former is intended for the
 ‘Makefile.am’ author.
 
-   When ‘AM_MAINTAINER_MODE’ (*note maintainer-mode::) is used, the
-rebuild rule for distributed Yacc and Lex sources are only used when
+   When ‘AM_MAINTAINER_MODE’ (*note maintainer-mode::) is in effect, the
+rebuild rules for distributed Yacc and Lex sources are only used when
 ‘maintainer-mode’ is enabled, or when the files have been erased.
 
-   When ‘lex’ or ‘yacc’ sources are used, ‘automake -a’ automatically
+   When Yacc or Lex sources are used, ‘automake -a’ automatically
 installs an auxiliary program called ‘ylwrap’ in your package (*note
 Auxiliary Programs::).  This program is used by the build rules to
 rename the output of these tools, and makes it possible to include
-multiple ‘yacc’ (or ‘lex’) source files in a single directory.  (This is
-necessary because yacc’s output file name is fixed, and a parallel make
-could conceivably invoke more than one instance of ‘yacc’
-simultaneously.)
+multiple ‘yacc’ (or ‘lex’) source files in a single directory.  This is
+necessary because Yacc’s output file name is fixed, and a parallel make
+could invoke more than one instance of ‘yacc’ simultaneously.
+
+* Menu:
+
+* Linking Multiple Yacc Parsers::
+
+8.8.1 Linking Multiple Yacc Parsers
+-----------------------------------
+
+\1f
+File: automake.info,  Node: Linking Multiple Yacc Parsers,  Up: Yacc and Lex
 
-   For ‘yacc’, simply managing locking is insufficient.  The output of
-‘yacc’ always uses the same symbol names internally, so it isn’t
-possible to link two ‘yacc’ parsers into the same executable.
+For ‘yacc’, simply managing locking as with ‘ylwrap’ is insufficient.
+The output of ‘yacc’ always uses the same symbol names internally, so it
+isn’t possible to link two ‘yacc’ parsers into the same executable.
 
    We recommend using the following renaming hack used in ‘gdb’:
      #define yymaxdepth c_maxdepth
@@ -5399,13 +5417,6 @@ These defines work for ‘bison’, ‘byacc’, and traditional ‘yacc’s.  I
 you find a parser generator that uses a symbol not covered here, please
 report the new name so it can be added to the list.
 
-   ---------- Footnotes ----------
-
-   (1) Please note that ‘automake’ recognizes ‘-d’ in ‘AM_YFLAGS’ only
-if it is not clustered with other options; for example, it won’t be
-recognized if ‘AM_YFLAGS’ is ‘-dt’, but it will be if ‘AM_YFLAGS’ is ‘-d
--t’ or ‘-t -d’.
-
 \1f
 File: automake.info,  Node: C++ Support,  Next: Objective C Support,  Prev: Yacc and Lex,  Up: Programs
 
@@ -6622,12 +6633,17 @@ installed in ‘pythondir’ or ‘pkgpythondir’, respectively.
 
 ‘PYTHON_PREFIX’
 ‘PYTHON_EXEC_PREFIX’
-     The value of Python’s ‘sys.prefix’ (resp. ‘sys.exec_prefix’)
-     variable.  Sometimes the same as the standard ‘${prefix}’
-     (‘${exec_prefix}’), but differs on some platforms such as Mac OS x
-     (where Python is usually installed as a Framework).  Can be set
-     explicitly with the ‘--with-python_prefix’
-     (‘--with-python_exec_prefix’) ‘configure’ option.
+     With no special options given, these have values ‘${prefix}’ and
+     ‘${exec_prefix}’, respectively (unexpanded; see below).
+
+     The ‘configure’ options ‘--with-python_prefix’ and
+     ‘--with-python_exec_prefix’ set them to an explicit value.
+
+     The ‘configure’ option ‘--with-python-sys-prefix’ set them to the
+     values of Python’s ‘sys.prefix’ and ‘sys.exec_prefix’ variables.
+     These often differ from ‘${prefix}’ and ‘${exec_prefix}’, e.g., on
+     platforms such as Mac OS x (where Python is usually installed as a
+     Framework).
 
 ‘PYTHON_PLATFORM’
      The canonical name used by Python to describe the operating system,
index 332bd67833123d6f8362ecbc3629380591da4374..c195529a4ed45bc1eca0da2498b5767449779215 100644 (file)
@@ -1,7 +1,7 @@
 This is automake.info, produced by makeinfo version 6.8 from
 automake.texi.
 
-This manual is for GNU Automake (version 1.16.4, 16 July 2021), a
+This manual is for GNU Automake (version 1.16.5, 1 October 2021), a
 program that creates GNU standards-compliant Makefiles from template
 files.
 
@@ -814,12 +814,38 @@ directory (*note Build Directories: (autoconf)Build Directories.), and
 in particular for the ‘distcheck’ rule (*note Checking the
 Distribution::).
 
-   The ‘AM_TESTS_ENVIRONMENT’ and ‘TESTS_ENVIRONMENT’ variables can be
-used to run initialization code and set environment variables for the
-test scripts.  The former variable is developer-reserved, and can be
-defined in the ‘Makefile.am’, while the latter is reserved for the user,
-which can employ it to extend or override the settings in the former;
-for this to work portably, however, the contents of a non-empty
+   Automake ensures that each file listed in ‘TESTS’ is built before it
+is run; you can list both source and derived programs (or scripts) in
+‘TESTS’; the generated rule will look both in ‘srcdir’ and ‘‘..’’.  For
+instance, you might want to run a C program as a test.  To do this you
+would list its name in ‘TESTS’ and also in ‘check_PROGRAMS’, and then
+specify it as you would any other program.
+
+   Programs listed in ‘check_PROGRAMS’ (and ‘check_LIBRARIES’,
+‘check_LTLIBRARIES’, ...)  are only built during ‘make check’, not
+during ‘make all’.  You should list there any program needed by your
+tests that does not need to be built by ‘make all’.  The programs in
+‘check_PROGRAMS’ are _not_ automatically added to ‘TESTS’ because
+‘check_PROGRAMS’ usually lists programs used by the tests, not the tests
+themselves.  If all your programs are in fact test cases, you can set
+‘TESTS = $(check_PROGRAMS)’.
+
+* Menu:
+
+* Testsuite Environment Overrides::
+
+\1f
+File: automake.info,  Node: Testsuite Environment Overrides,  Up: Scripts-based Testsuites
+
+15.2.1.1 Testsuite Environment Overrides
+........................................
+
+The ‘AM_TESTS_ENVIRONMENT’ and ‘TESTS_ENVIRONMENT’ variables can be used
+to run initialization code and set environment variables for the test
+scripts.  The former variable is developer-reserved, and can be defined
+in the ‘Makefile.am’, while the latter is reserved for the user, which
+can employ it to extend or override the settings in the former; for this
+to work portably, however, the contents of a non-empty
 ‘AM_TESTS_ENVIRONMENT’ _must_ be terminated by a semicolon.
 
    The ‘AM_TESTS_FD_REDIRECT’ variable can be used to define file
@@ -830,7 +856,7 @@ hurdle is constituted by Korn shells, which usually set the
 close-on-exec flag on file descriptors opened with the ‘exec’ builtin,
 thus rendering an idiom like ‘AM_TESTS_ENVIRONMENT = exec 9>&2;’
 ineffectual.  This issue also affects some Bourne shells, such as the
-HP-UX’s ‘/bin/sh’,
+HP-UX’s ‘/bin/sh’.
 
      AM_TESTS_ENVIRONMENT = \
      ## Some environment initializations are kept in a separate shell
@@ -842,36 +868,31 @@ HP-UX’s ‘/bin/sh’,
        if test -d /usr/xpg4/bin; then \
          PATH=/usr/xpg4/bin:$$PATH; export PATH; \
        fi;
+
      ## With this, the test scripts will be able to print diagnostic
      ## messages to the original standard error stream, even if the test
      ## driver redirects the stderr of the test scripts to a log file
      ## before executing them.
      AM_TESTS_FD_REDIRECT = 9>&2
 
-Note however that ‘AM_TESTS_ENVIRONMENT’ is, for historical and
-implementation reasons, _not_ supported by the serial harness (*note
-Serial Test Harness::).
+   As another example, a notice that a test is starting can be emitted
+using ‘AM_TESTS_ENVIRONMENT’ (for package maintainers) or
+‘TESTS_ENVIRONMENT’ by users:
 
-   Automake ensures that each file listed in ‘TESTS’ is built before it
-is run; you can list both source and derived programs (or scripts) in
-‘TESTS’; the generated rule will look both in ‘srcdir’ and ’‘..’’.  For
-instance, you might want to run a C program as a test.  To do this you
-would list its name in ‘TESTS’ and also in ‘check_PROGRAMS’, and then
-specify it as you would any other program.
+     make -j12 ... TESTS_ENVIRONMENT='echo RUNNING: "$$f";' check
 
-   Programs listed in ‘check_PROGRAMS’ (and ‘check_LIBRARIES’,
-‘check_LTLIBRARIES’...)  are only built during ‘make check’, not during
-‘make all’.  You should list there any program needed by your tests that
-does not need to be built by ‘make all’.  Note that ‘check_PROGRAMS’ are
-_not_ automatically added to ‘TESTS’ because ‘check_PROGRAMS’ usually
-lists programs used by the tests, not the tests themselves.  Of course
-you can set ‘TESTS = $(check_PROGRAMS)’ if all your programs are test
-cases.
+The shell variable ‘$f’ contains the test name.  (Although technically
+this is not guaranteed, in practice it is extremely unlikely to ever
+change.)  This can be helpful to see when trying to debug test failures.
+
+   Notwithstanding these benefits, ‘AM_TESTS_ENVIRONMENT’ is, for
+historical and implementation reasons, _not_ supported by the serial
+harness (*note Serial Test Harness::).
 
 \1f
 File: automake.info,  Node: Serial Test Harness,  Next: Parallel Test Harness,  Prev: Scripts-based Testsuites,  Up: Simple Tests
 
-15.2.2 Older (and discouraged) serial test harness
+15.2.2 Older (and discouraged) Serial Test Harness
 --------------------------------------------------
 
 First, note that today the use of this harness is strongly discouraged
@@ -4953,7 +4974,7 @@ B.2 Variable Index
 * AM_JAVACFLAGS:                         Java.                (line  44)
 * AM_LDFLAGS:                            Linking.             (line  10)
 * AM_LDFLAGS <1>:                        Program Variables.   (line  59)
-* AM_LFLAGS:                             Yacc and Lex.        (line  60)
+* AM_LFLAGS:                             Yacc and Lex.        (line  65)
 * AM_LIBTOOLFLAGS:                       Libtool Flags.       (line   6)
 * AM_LOG_DRIVER_FLAGS:                   Declaring Custom Test Drivers.
                                                               (line   6)
@@ -4969,10 +4990,10 @@ B.2 Variable Index
 * AM_RUNTESTFLAGS:                       DejaGnu Tests.       (line  24)
 * AM_TESTSUITE_SUMMARY_HEADER:           Scripts-based Testsuites.
                                                               (line  69)
-* AM_TESTS_ENVIRONMENT:                  Scripts-based Testsuites.
-                                                              (line 104)
-* AM_TESTS_FD_REDIRECT:                  Scripts-based Testsuites.
-                                                              (line 112)
+* AM_TESTS_ENVIRONMENT:                  Testsuite Environment Overrides.
+                                                              (line   6)
+* AM_TESTS_FD_REDIRECT:                  Testsuite Environment Overrides.
+                                                              (line  14)
 * AM_UPCFLAGS:                           Unified Parallel C Support.
                                                               (line  21)
 * AM_UPDATE_INFO_DIR:                    Texinfo.             (line  92)
@@ -5012,6 +5033,8 @@ B.2 Variable Index
                                                               (line   6)
 * check_PROGRAMS:                        Program Sources.     (line   6)
 * check_PROGRAMS <1>:                    Default _SOURCES.    (line  28)
+* check_PROGRAMS <2>:                    Scripts-based Testsuites.
+                                                              (line 111)
 * check_SCRIPTS:                         Scripts.             (line  18)
 * CLASSPATH_ENV:                         Java.                (line  53)
 * CLEANFILES:                            Clean.               (line  13)
@@ -5125,7 +5148,7 @@ B.2 Variable Index
 * JAVAROOT:                              Java.                (line  49)
 * LDADD:                                 Linking.             (line  10)
 * LDFLAGS:                               Program Variables.   (line  12)
-* LFLAGS:                                Yacc and Lex.        (line  60)
+* LFLAGS:                                Yacc and Lex.        (line  65)
 * libexec_PROGRAMS:                      Program Sources.     (line   6)
 * libexec_SCRIPTS:                       Scripts.             (line  18)
 * LIBOBJS:                               Optional.            (line  75)
@@ -5262,16 +5285,16 @@ B.2 Variable Index
 * pkglibexec_SCRIPTS:                    Scripts.             (line  18)
 * pkglib_LIBRARIES:                      A Library.           (line   6)
 * pkglib_LTLIBRARIES:                    Libtool Libraries.   (line   6)
-* pkgpyexecdir:                          Python.              (line 104)
-* pkgpythondir:                          Python.              (line  90)
+* pkgpyexecdir:                          Python.              (line 109)
+* pkgpythondir:                          Python.              (line  95)
 * PROGRAMS:                              Uniform.             (line  17)
 * PROGRAMS <1>:                          Uniform.             (line 101)
-* pyexecdir:                             Python.              (line  95)
+* pyexecdir:                             Python.              (line 100)
 * PYTHON:                                Uniform.             (line 101)
 * PYTHON <1>:                            Python.              (line  56)
-* pythondir:                             Python.              (line  86)
+* pythondir:                             Python.              (line  91)
 * PYTHON_EXEC_PREFIX:                    Python.              (line  73)
-* PYTHON_PLATFORM:                       Python.              (line  81)
+* PYTHON_PLATFORM:                       Python.              (line  86)
 * PYTHON_PREFIX:                         Python.              (line  72)
 * PYTHON_VERSION:                        Python.              (line  68)
 * RECHECK_LOGS:                          Parallel Test Harness.
@@ -5292,7 +5315,7 @@ B.2 Variable Index
                                                               (line  73)
 * SUFFIXES:                              Suffixes.            (line   6)
 * sys.exec_prefix Python variable:       Python.              (line  74)
-* sys.platform Python variable:          Python.              (line  82)
+* sys.platform Python variable:          Python.              (line  87)
 * sys.prefix Python variable:            Python.              (line  74)
 * sys.version_info Python variable:      Python.              (line  69)
 * sysconf_DATA:                          Data.                (line   9)
@@ -5304,8 +5327,8 @@ B.2 Variable Index
                                                               (line 104)
 * TESTS <1>:                             Parallel Test Harness.
                                                               (line  12)
-* TESTS_ENVIRONMENT:                     Scripts-based Testsuites.
-                                                              (line 104)
+* TESTS_ENVIRONMENT:                     Testsuite Environment Overrides.
+                                                              (line   6)
 * TEST_EXTENSIONS:                       Parallel Test Harness.
                                                               (line  34)
 * TEST_LOGS:                             Parallel Test Harness.
@@ -5421,6 +5444,7 @@ B.3 General Index
 * --warnings:                            automake Invocation. (line 133)
 * --warnings <1>:                        aclocal Options.     (line  80)
 * --with-dmalloc:                        Public Macros.       (line 122)
+* --with-python-sys-prefix:              Python.              (line  74)
 * --with-python_exec_prefix:             Python.              (line  74)
 * --with-python_prefix:                  Python.              (line  74)
 * -a:                                    automake Invocation. (line  41)
@@ -5967,7 +5991,7 @@ B.3 General Index
 * LDFLAGS and AM_LDFLAGS:                Flag Variables Ordering.
                                                               (line  20)
 * lex problems with HP-UX 10:            Public Macros.       (line  94)
-* lex, multiple lexers:                  Yacc and Lex.        (line  68)
+* lex, multiple lexers:                  Yacc and Lex.        (line  73)
 * LFLAGS and AM_LFLAGS:                  Flag Variables Ordering.
                                                               (line  20)
 * libltdl, introduction:                 Libtool Concept.     (line  29)
@@ -5992,6 +6016,8 @@ B.3 General Index
 * Limitations of automake parser:        General Operation.   (line  33)
 * Linking Fortran 77 with C and C++:     Mixing Fortran 77 With C and C++.
                                                               (line   6)
+* Linking multiple yacc parsers:         Linking Multiple Yacc Parsers.
+                                                              (line   3)
 * LISP primary, defined:                 Emacs Lisp.          (line   6)
 * LN_S example:                          Extending.           (line  86)
 * local targets:                         Extending.           (line  37)
@@ -6051,9 +6077,9 @@ B.3 General Index
 * mostlyclean-local <1>:                 Extending.           (line  41)
 * multiple configurations, example:      VPATH Builds.        (line  48)
 * Multiple configure.ac files:           automake Invocation. (line   6)
-* Multiple lex lexers:                   Yacc and Lex.        (line  68)
+* Multiple lex lexers:                   Yacc and Lex.        (line  73)
 * multiple outputs, rules with:          Multiple Outputs.    (line   6)
-* Multiple yacc parsers:                 Yacc and Lex.        (line  68)
+* Multiple yacc parsers:                 Yacc and Lex.        (line  73)
 * Nested packages:                       Nested Packages.     (line   6)
 * Nesting packages:                      Subpackages.         (line   6)
 * no-define:                             Public Macros.       (line  54)
@@ -6189,6 +6215,8 @@ B.3 General Index
 * Overriding make variables:             General Operation.   (line  51)
 * overriding rules:                      Extending.           (line  26)
 * overriding semantics:                  Extending.           (line  26)
+* Overriding testsuite environment:      Testsuite Environment Overrides.
+                                                              (line   6)
 * PACKAGE, directory:                    Uniform.             (line  19)
 * PACKAGE, prevent definition:           Public Macros.       (line  54)
 * Packages, nested:                      Nested Packages.     (line   6)
@@ -6300,7 +6328,7 @@ B.3 General Index
 * Silent rules:                          Silencing Make.      (line   6)
 * silent rules and libtool:              Automake Silent Rules.
                                                               (line  59)
-* site-packages Python directory:        Python.              (line  87)
+* site-packages Python directory:        Python.              (line  92)
 * site.exp:                              DejaGnu Tests.       (line  26)
 * source tree and build tree:            VPATH Builds.        (line   6)
 * source tree, read-only:                VPATH Builds.        (line  91)
@@ -6383,6 +6411,8 @@ B.3 General Index
 * test-driver:                           Auxiliary Programs.  (line  73)
 * Tests, expected failure:               Scripts-based Testsuites.
                                                               (line  32)
+* Testsuite environment overrides:       Testsuite Environment Overrides.
+                                                              (line   6)
 * testsuite harness:                     Generalities about Testing.
                                                               (line  18)
 * Testsuite progress on console:         Scripts-based Testsuites.
@@ -6447,11 +6477,11 @@ B.3 General Index
                                                               (line  39)
 * xz:                                    The Types of Distributions.
                                                               (line  30)
-* yacc, multiple parsers:                Yacc and Lex.        (line  68)
+* yacc, multiple parsers:                Yacc and Lex.        (line  73)
 * YFLAGS and AM_YFLAGS:                  Flag Variables Ordering.
                                                               (line  20)
 * ylwrap:                                Auxiliary Programs.  (line  85)
-* ylwrap <1>:                            Yacc and Lex.        (line  68)
+* ylwrap <1>:                            Yacc and Lex.        (line  73)
 * zardoz example:                        Complete.            (line  35)
 * zip:                                   The Types of Distributions.
                                                               (line  37)
index 0a0da6168c6a66e95d43ffc23bac8a7c72216520..ab4e2aeb648feeef5cc349e4aee2ecd682c02e40 100644 (file)
@@ -62,6 +62,7 @@ section entitled ``GNU Free Documentation License.''
 @insertcopying
 @end titlepage
 
+@shortcontents
 @contents
 
 @c We use the following macros to define indices:
@@ -192,6 +193,7 @@ Auto-generating aclocal.m4
 Autoconf macros supplied with Automake
 
 * Public Macros::               Macros that you can use.
+* Obsolete Macros::             Macros that will soon be removed.
 * Private Macros::              Macros that you should not use.
 
 Directories
@@ -256,6 +258,10 @@ Common Issues Related to Libtool's Use
 * Error required file ltmain.sh not found::  The need to run libtoolize
 * Objects created both with libtool and without::  Avoid a specific build race
 
+Yacc and Lex support
+
+* Linking Multiple Yacc Parsers::
+
 Fortran 77 Support
 
 * Preprocessing Fortran 77::    Preprocessing Fortran 77 sources
@@ -312,7 +318,7 @@ What Goes in a Distribution
 
 Support for test suites
 
-* Generalities about Testing::  Generic concepts and terminology about testing
+* Generalities about Testing::  Concepts and terminology about testing
 * Simple Tests::                Listing test scripts in @code{TESTS}
 * Custom Test Drivers::         Writing and using custom test drivers
 * Using the TAP test protocol:: Integrating test scripts that use the TAP protocol
@@ -325,12 +331,9 @@ Simple Tests
 * Serial Test Harness::         Older (and discouraged) serial test harness
 * Parallel Test Harness::       Generic concurrent test harness
 
-Using the TAP test protocol
+Scripts-based Testsuites
 
-* Introduction to TAP::
-* Use TAP with the Automake test harness::
-* Incompatibilities with other TAP parsers and drivers::
-* Links and external resources on TAP::
+* Testsuite Environment Overrides::
 
 Custom Test Drivers
 
@@ -344,6 +347,13 @@ API for Custom Test Drivers
 * Log files generation and test results recording::
 * Testsuite progress output::
 
+Using the TAP test protocol
+
+* Introduction to TAP::
+* Use TAP with the Automake test harness::
+* Incompatibilities with other TAP parsers and drivers::
+* Links and external resources on TAP::
+
 Changing Automake's Behavior
 
 * Options generalities::        Semantics of Automake option
@@ -359,7 +369,7 @@ Conditionals
 * Usage of Conditionals::       Declaring conditional content
 * Limits of Conditionals::      Enclosing complete statements
 
-Silencing Make
+Silencing @command{make}
 
 * Make verbosity::              Make is verbose by default
 * Tricks For Silencing Make::   Standard and generic ways to silence make
@@ -4599,11 +4609,10 @@ recursion will probably come as unwelcome advice.  For those who
 haven't read the paper, Miller's main thesis is that recursive
 @command{make} invocations are both slow and error-prone.
 
-Automake provides sufficient cross-directory support @footnote{We
-believe.  This work is new and there are probably warts.
-@xref{Introduction}, for information on reporting bugs.} to enable you
-to write a single @file{Makefile.am} for a complex multi-directory
-package.
+Automake is intended to have sufficient cross-directory support to
+enable you to write a single @file{Makefile.am} for a complex
+multi-directory package.  (If it seems to be lacking, please report
+the issue as usual.)
 
 By default an installable file specified in a subdirectory will have its
 directory name stripped before installation.  For instance, in this
@@ -6293,14 +6302,14 @@ variable.
 Automake has somewhat idiosyncratic support for Yacc and Lex.
 
 Automake assumes that the @file{.c} file generated by @command{yacc}
-(or @command{lex}) should be named using the basename of the input
-file.  That is, for a yacc source file @file{foo.y}, Automake will
+or @command{lex} should be named using the basename of the input
+file.  That is, for a Yacc source file @file{foo.y}, Automake will
 cause the intermediate file to be named @file{foo.c} (as opposed to
 @file{y.tab.c}, which is more traditional).
 
-The extension of a yacc source file is used to determine the extension
-of the resulting C or C++ source and header files.  Note that header
-files are generated only when the @option{-d} Yacc option is used; see
+The extension of a Yacc source file is used to determine the extension
+of the resulting C or C++ source and header files.  Be aware that header
+files are generated only when the option @option{-d} is given to Yacc; see
 below for more information about this flag, and how to specify it.
 Files with the extension @file{.y} will thus be turned into @file{.c}
 sources and @file{.h} headers; likewise, @file{.yy} will become
@@ -6308,7 +6317,7 @@ sources and @file{.h} headers; likewise, @file{.yy} will become
 @file{h++}, @file{.yxx} will become @file{.cxx} and @file{.hxx},
 and @file{.ypp} will become @file{.cpp} and @file{.hpp}.
 
-Similarly, lex source files can be used to generate C or C++; the
+Similarly, Lex source files can be used to generate C or C++; the
 extensions @file{.l}, @file{.ll}, @file{.l++}, @file{.lxx}, and
 @file{.lpp} are recognized.
 
@@ -6319,10 +6328,10 @@ The intermediate files generated by @command{yacc} (or @command{lex})
 will be included in any distribution that is made.  That way the user
 doesn't need to have @command{yacc} or @command{lex}.
 
-If a @command{yacc} source file is seen, then your @file{configure.ac} must
+If a Yacc source file is seen, then your @file{configure.ac} must
 define the variable @code{YACC}.  This is most easily done by invoking
-the macro @code{AC_PROG_YACC} (@pxref{Particular Programs, , Particular
-Program Checks, autoconf, The Autoconf Manual}).
+the macro @code{AC_PROG_YACC} (@pxref{Particular Programs, ,
+Particular Program Checks, autoconf, The Autoconf Manual}).
 
 @vindex YFLAGS
 @vindex AM_YFLAGS
@@ -6333,17 +6342,18 @@ intended for the @file{Makefile.am} author.
 @code{AM_YFLAGS} is usually used to pass the @option{-d} option to
 @command{yacc}.  Automake knows what this means and will automatically
 adjust its rules to update and distribute the header file built by
-@samp{yacc -d}@footnote{Please note that @command{automake} recognizes
-@option{-d} in @code{AM_YFLAGS} only if it is not clustered with other
-options; for example, it won't be recognized if @code{AM_YFLAGS} is
-@option{-dt}, but it will be if @code{AM_YFLAGS} is @option{-d -t} or
-@option{-t -d}.}.
-What Automake cannot guess, though, is where this
-header will be used: it is up to you to ensure the header gets built
-before it is first used.  Typically this is necessary in order for
-dependency tracking to work when the header is included by another
-file.  The common solution is listing the header file in
-@code{BUILT_SOURCES} (@pxref{Sources}) as follows.
+@samp{yacc -d}.  Caveat: @command{automake} recognizes @option{-d} in
+@code{AM_YFLAGS} only if it is not clustered with other options; for
+example, it won't be recognized if @code{AM_YFLAGS} is @option{-dt},
+but it will be if @code{AM_YFLAGS} is @option{-d -t} or @option{-t
+-d}.
+
+What Automake cannot guess, though, is where this header will be used:
+it is up to you to ensure the header gets built before it is first
+used.  Typically this is necessary in order for dependency tracking to
+work when the header is included by another file.  The common solution
+is listing the header file in @code{BUILT_SOURCES} (@pxref{Sources})
+as follows.
 
 @example
 BUILT_SOURCES = parser.h
@@ -6352,11 +6362,11 @@ bin_PROGRAMS = foo
 foo_SOURCES = @dots{} parser.y @dots{}
 @end example
 
-If a @command{lex} source file is seen, then your @file{configure.ac}
-must define the variable @code{LEX}.  You can use @code{AC_PROG_LEX}
-to do this (@pxref{Particular Programs, , Particular Program Checks,
-autoconf, The Autoconf Manual}), but using the @code{AM_PROG_LEX} macro
-(@pxref{Macros}) is recommended.
+If a Lex source file is seen, then your @file{configure.ac} must
+define the variable @code{LEX}.  You can use @code{AC_PROG_LEX} to do
+this (@pxref{Particular Programs, , Particular Program Checks,
+autoconf, The Autoconf Manual}), but using the @code{AM_PROG_LEX}
+macro (@pxref{Macros}) is recommended.
 
 @vindex LFLAGS
 @vindex AM_LFLAGS
@@ -6364,9 +6374,10 @@ When @command{lex} is invoked, it is passed @code{AM_LFLAGS} and
 @code{LFLAGS}.  The latter is a user variable and the former is
 intended for the @file{Makefile.am} author.
 
-When @code{AM_MAINTAINER_MODE} (@pxref{maintainer-mode}) is used, the
-rebuild rule for distributed Yacc and Lex sources are only used when
-@code{maintainer-mode} is enabled, or when the files have been erased.
+When @code{AM_MAINTAINER_MODE} (@pxref{maintainer-mode}) is in effect,
+the rebuild rules for distributed Yacc and Lex sources are only used
+when @code{maintainer-mode} is enabled, or when the files have been
+erased.
 
 @cindex @command{ylwrap}
 @cindex @command{yacc}, multiple parsers
@@ -6374,19 +6385,28 @@ rebuild rule for distributed Yacc and Lex sources are only used when
 @cindex Multiple @command{lex} lexers
 @cindex @command{lex}, multiple lexers
 
-When @command{lex} or @command{yacc} sources are used, @code{automake -a}
-automatically installs an auxiliary program called @command{ylwrap} in
-your package (@pxref{Auxiliary Programs}).
-This program is used by the build rules to rename the output of these
-tools, and makes it possible to include multiple @command{yacc} (or
-@command{lex}) source files in a single directory.  (This is necessary
-because yacc's output file name is fixed, and a parallel make could
-conceivably invoke more than one instance of @command{yacc}
-simultaneously.)
+When Yacc or Lex sources are used, @code{automake -a} automatically
+installs an auxiliary program called @command{ylwrap} in your package
+(@pxref{Auxiliary Programs}).  This program is used by the build rules
+to rename the output of these tools, and makes it possible to include
+multiple @command{yacc} (or @command{lex}) source files in a single
+directory.  This is necessary because Yacc's output file name is
+fixed, and a parallel make could invoke more than one instance of
+@command{yacc} simultaneously.
 
-For @command{yacc}, simply managing locking is insufficient.  The output of
-@command{yacc} always uses the same symbol names internally, so it isn't
-possible to link two @command{yacc} parsers into the same executable.
+@menu
+* Linking Multiple Yacc Parsers::
+@end menu
+
+@subsection Linking Multiple Yacc Parsers
+@node Linking Multiple Yacc Parsers
+
+@cindex Linking multiple @command{yacc} parsers
+
+For @command{yacc}, simply managing locking as with @code{ylwrap} is
+insufficient.  The output of @command{yacc} always uses the same
+symbol names internally, so it isn't possible to link two
+@command{yacc} parsers into the same executable.
 
 We recommend using the following renaming hack used in @command{gdb}:
 @example
@@ -7882,17 +7902,22 @@ The Python version number, in the form @var{major}.@var{minor}
 
 @item PYTHON_PREFIX
 @itemx PYTHON_EXEC_PREFIX
+@opindex --with-python-sys-prefix
 @opindex --with-python_prefix
 @opindex --with-python_exec_prefix
 @vindex sys.prefix @r{Python variable}
 @vindex sys.exec_prefix @r{Python variable}
-The value of Python's @samp{sys.prefix} (resp.@:
-@samp{sys.exec_prefix}) variable. Sometimes the same as the standard
-@samp{$@{prefix@}} (@samp{$@{exec_prefix@}}), but differs on some
-platforms such as Mac@tie{}OS@tie{}x (where Python is usually
-installed as a Framework).  Can be set explicitly with the
-@option{--with-python_prefix} (@option{--with-python_exec_prefix})
-@file{configure} option.
+With no special options given, these have values @samp{$@{prefix@}}
+and @samp{$@{exec_prefix@}}, respectively (unexpanded; see below).
+
+The @file{configure} options @option{--with-python_prefix}
+and @option{--with-python_exec_prefix} set them to an explicit value.
+
+The @file{configure} option @option{--with-python-sys-prefix} set them
+to the values of Python's @samp{sys.prefix} and @samp{sys.exec_prefix}
+variables.  These often differ from @samp{$@{prefix@}} and
+@samp{$@{exec_prefix@}}, e.g., on platforms such as Mac@tie{}OS@tie{}x
+(where Python is usually installed as a Framework).
 
 @item PYTHON_PLATFORM
 @vindex sys.platform @r{Python variable}
@@ -9208,6 +9233,35 @@ The Autoconf Manual}), and in particular for the @code{distcheck} rule
 (@pxref{Checking the Distribution}).
 
 @vindex TESTS
+Automake ensures that each file listed in @code{TESTS} is built before
+it is run; you can list both source and derived programs (or scripts)
+in @code{TESTS}; the generated rule will look both in @code{srcdir} and
+`@file{..}'.  For instance, you might want to run a C program as a test.
+To do this you would list its name in @code{TESTS} and also in
+@code{check_PROGRAMS}, and then specify it as you would any other
+program.
+
+@vindex check_PROGRAMS
+Programs listed in @code{check_PROGRAMS} (and @code{check_LIBRARIES},
+@code{check_LTLIBRARIES}, ...) are only built during @code{make
+check}, not during @code{make all}.  You should list there any program
+needed by your tests that does not need to be built by @code{make
+all}.  The programs in @code{check_PROGRAMS} are @emph{not}
+automatically added to @code{TESTS} because @code{check_PROGRAMS}
+usually lists programs used by the tests, not the tests themselves.
+If all your programs are in fact test cases, you can set @code{TESTS =
+$(check_PROGRAMS)}.
+
+@menu
+* Testsuite Environment Overrides::
+@end menu
+
+@node Testsuite Environment Overrides
+@subsubsection Testsuite Environment Overrides
+
+@cindex Testsuite environment overrides
+@cindex Overriding testsuite environment
+
 @vindex TESTS_ENVIRONMENT
 @vindex AM_TESTS_ENVIRONMENT
 The @code{AM_TESTS_ENVIRONMENT} and @code{TESTS_ENVIRONMENT} variables can
@@ -9227,7 +9281,7 @@ hurdle is constituted by Korn shells, which usually set the close-on-exec
 flag on file descriptors opened with the @command{exec} builtin, thus
 rendering an idiom like @code{AM_TESTS_ENVIRONMENT = exec 9>&2;}
 ineffectual.  This issue also affects some Bourne shells, such as the
-HP-UX's @command{/bin/sh},
+HP-UX's @command{/bin/sh}.
 
 @c Keep in sync with tests-environment-backcompat.sh
 @example
@@ -9241,6 +9295,7 @@ AM_TESTS_ENVIRONMENT = \
   if test -d /usr/xpg4/bin; then \
     PATH=/usr/xpg4/bin:$$PATH; export PATH; \
   fi;
+
 @c $$ restore font-lock
 ## With this, the test scripts will be able to print diagnostic
 ## messages to the original standard error stream, even if the test
@@ -9249,30 +9304,27 @@ AM_TESTS_ENVIRONMENT = \
 AM_TESTS_FD_REDIRECT = 9>&2
 @end example
 
-@noindent
-Note however that @code{AM_TESTS_ENVIRONMENT} is, for historical and
-implementation reasons, @emph{not} supported by the serial harness
-(@pxref{Serial Test Harness}).
+@c https://bugs.gnu.org/49309
+As another example, a notice that a test is starting can be emitted
+using @code{AM_TESTS_ENVIRONMENT} (for package maintainers) or
+@code{TESTS_ENVIRONMENT} by users:
 
-Automake ensures that each file listed in @code{TESTS} is built before
-it is run; you can list both source and derived programs (or scripts)
-in @code{TESTS}; the generated rule will look both in @code{srcdir} and
-'@file{..}'.  For instance, you might want to run a C program as a test.
-To do this you would list its name in @code{TESTS} and also in
-@code{check_PROGRAMS}, and then specify it as you would any other
-program.
+@example
+make -j12 ... TESTS_ENVIRONMENT='echo RUNNING: "$$f";' check
+@end example
 
-Programs listed in @code{check_PROGRAMS} (and @code{check_LIBRARIES},
-@code{check_LTLIBRARIES}...) are only built during @code{make check},
-not during @code{make all}.  You should list there any program needed
-by your tests that does not need to be built by @code{make all}.  Note
-that @code{check_PROGRAMS} are @emph{not} automatically added to
-@code{TESTS} because @code{check_PROGRAMS} usually lists programs used
-by the tests, not the tests themselves.  Of course you can set
-@code{TESTS = $(check_PROGRAMS)} if all your programs are test cases.
+@noindent
+The shell variable @code{$f} contains the test name. (Although
+technically this is not guaranteed, in practice it is extremely
+unlikely to ever change.)  This can be helpful to see when trying to
+debug test failures.
+
+Notwithstanding these benefits, @code{AM_TESTS_ENVIRONMENT} is, for
+historical and implementation reasons, @emph{not} supported by the
+serial harness (@pxref{Serial Test Harness}).
 
 @node Serial Test Harness
-@subsection Older (and discouraged) serial test harness
+@subsection Older (and discouraged) Serial Test Harness
 @cindex @option{serial-tests}, Using
 
 First, note that today the use of this harness is strongly discouraged in
index db8bedf3f950f3b142eef04c97c8870dd4e6e08b..a8bea98960fadc40b4b173f6e4f4cb33037a7ae4 100755 (executable)
@@ -1,7 +1,9 @@
 #!/usr/bin/perl -w
 
 # Generate a short man page from --help and --version output.
-# Copyright (C) 1997-2021 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009,
+# 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2020, 2021 Free Software
+# Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,7 +29,7 @@ use Text::Tabs qw(expand);
 use POSIX qw(strftime setlocale LC_ALL);
 
 my $this_program = 'help2man';
-my $this_version = '1.47.4';
+my $this_version = '1.48.4';
 
 sub _ { $_[0] }
 sub configure_locale
@@ -51,8 +53,9 @@ sub fix_italic_spacing;
 my $version_info = enc_user sprintf _(<<'EOT'), $this_program, $this_version;
 GNU %s %s
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2010,
-2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009,
+2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2020, 2021 Free Software
+Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -247,7 +250,7 @@ my $help_text   = get_option_value $ARGV[0], $help_option;
 $version_text ||= get_option_value $ARGV[0], $version_option;
 
 # By default the generated manual pages will include the current date.  This may
-# however be overriden by setting the environment variable $SOURCE_DATE_EPOCH
+# however be overridden by setting the environment variable $SOURCE_DATE_EPOCH
 # to an integer value of the seconds since the UNIX epoch.  This is primarily
 # intended to support reproducible builds (wiki.debian.org/ReproducibleBuilds)
 # and will additionally ensure that the output date string is UTC.
@@ -255,7 +258,7 @@ my $epoch_secs = time;
 if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
 {
     $epoch_secs = $1;
-    $ENV{TZ} = 'UTC';
+    $ENV{TZ} = 'UTC0';
 }
 
 # Translators: the following message is a strftime(3) format string, which in
@@ -282,21 +285,23 @@ if ($opt_output)
 #   <version>
 #   <program> <version>
 #   {GNU,Free} <program> <version>
-#   <program> ({GNU,Free} <package>) <version>
-#   <program> - {GNU,Free} <package> <version>
+#   <program> ({GNU,Free,} <package>) <version>
+#   <program> - {GNU,Free,} <package> <version>
+#   <program> - {GNU,Free,} <package> - <version>
 #
 # and separated from any copyright/author details by a blank line.
 
 ($_, $version_text) = ((split /\n+/, $version_text, 2), '');
 
-if (/^(\S+) +\(((?:GNU|Free) +[^)]+)\) +(.*)/ or
-    /^(\S+) +- *((?:GNU|Free) +\S+) +(.*)/)
+if (/^(\S+) +\(((?:(?:GNU|Free) +)?[^)]+)\) +(\S.*)$/ or
+    /^(\S+) +- +((?:(?:GNU|Free) +)?\S.*) +- +(\S.*)$/ or
+    /^(\S+) +- +((?:(?:GNU|Free) +)?\S+) +(\S.*)$/)
 {
     $program = program_basename $1;
     $package = $2;
     $version = $3;
 }
-elsif (/^((?:GNU|Free) +)?(\S+) +(.*)/)
+elsif (/^((?:GNU|Free) +)?(\S+) +(\S.*)$/)
 {
     $program = program_basename $2;
     $package = $1 ? "$1$program" : $program;
@@ -336,7 +341,7 @@ for ($replace{_('NAME')} || ($include{_('NAME')} ||= ''))
 my $PROGRAM = uc $program;
 
 # Set default page head/footers
-$source ||= "$program $version";
+$source ||= "$package $version";
 unless ($manual)
 {
     for ($section)
index 7bd1f3907c822ba41c27c245a79609bf6adb5f7c..f61a7288ef5ec6de07f825b4e83cf032280604b0 100644 (file)
@@ -65,7 +65,7 @@ chlx_args = -v --sleep 8 #--exclude-url-file=/tmp/xf
 # - mailto urls, they are always forbidden.
 # - vala, redirects to a Gnome subpage and returns 403 to us.
 # - cfortran, forbidden by site's robots.txt.
-# - search.cpan.org, gets 
+# - search.cpan.org, gets
 # - debbugs.gnu.org/automake, forbidden by robots.txt.
 # - autoconf.html, forbidden by robots.txt (since served from savannah).
 # - https://fsf.org redirects to https://www.fsf.org and nothing to do
@@ -126,7 +126,7 @@ setup_autotools_paths = { \
 $(srcdir)/%D%/amhello-1.0.tar.gz: $(amhello_sources) $(srcdir)/configure.ac
        $(AM_V_GEN)tmp=amhello-output.tmp \
          && $(am__cd) $(srcdir)/%D%/amhello \
-         && : Make our aclocal and automake avaiable before system ones. \
+         && : Make our aclocal and automake available before system ones. \
          && $(setup_autotools_paths) \
          && ( \
            { $(AM_V_P) || exec 5>&2 >$$tmp 2>&1; } \
index 583ef9568cb71ea8f9fd89591bcafd0c6667727f..43622a919b91440a62722b108d45bcc82a1e28c5 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 16 July 2021
-@set UPDATED-MONTH July 2021
-@set EDITION 1.16.4
-@set VERSION 1.16.4
+@set UPDATED 1 October 2021
+@set UPDATED-MONTH October 2021
+@set EDITION 1.16.5
+@set VERSION 1.16.5
index 583ef9568cb71ea8f9fd89591bcafd0c6667727f..43622a919b91440a62722b108d45bcc82a1e28c5 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 16 July 2021
-@set UPDATED-MONTH July 2021
-@set EDITION 1.16.4
-@set VERSION 1.16.4
+@set UPDATED 1 October 2021
+@set UPDATED-MONTH October 2021
+@set EDITION 1.16.5
+@set VERSION 1.16.5
index f4a0102d251d54ad13e0dcde6597c773afae6b77..e7f6ba895245ed571e8a08a39c02154310341eec 100644 (file)
@@ -31,7 +31,7 @@ VPATH = @srcdir@
 ## Why the this needs to be so convoluted?
 ##
 ## (1) We can't unconditionally use make functions or special variables
-##     starting with a dot, as those cause non-GNU implmentations to
+##     starting with a dot, as those cause non-GNU implementations to
 ##     crash hard.
 ##
 ## (2) We can't use $(MAKE_VERSION) here, as it is also defined in some
index 6029ee3436d26a1834183d6dd04972b25d1be047..11b5e5842749c391bed309722b5d8bda5355161c 100644 (file)
@@ -28,7 +28,7 @@ endif %?INSTALL%
 ## We prefer files from the build directory to those from the source
 ## directory, in true VPATH spirit.
 ## The destination file is normally determined by appending "c" to the
-## input (which would erronously put it in $(srcdir) in VPATH builds),
+## input (which would erroneously put it in $(srcdir) in VPATH builds),
 ## so we override that, too.
        if test '$(EMACS)' != no; then \
          am__dir=. am__subdir_includes=''; \
index d80c5d759e48d7942ccbb665d8ae6d2c4dcaf397..d74fb6deac942a4e21f49fa752c3280e66c196a0 100755 (executable)
@@ -4,7 +4,7 @@
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2021-07-03'
+timestamp='2021-08-14'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -121,9 +121,11 @@ esac
 
 # Split fields of configuration type
 # shellcheck disable=SC2162
+saved_IFS=$IFS
 IFS="-" read field1 field2 field3 field4 <<EOF
 $1
 EOF
+IFS=$saved_IFS
 
 # Separate into logical components for further validation
 case $1 in
@@ -172,6 +174,10 @@ case $1 in
                                                basic_machine=$field1
                                                basic_os=$field2
                                                ;;
+                                       zephyr*)
+                                               basic_machine=$field1-unknown
+                                               basic_os=$field2
+                                               ;;
                                        # Manufacturers
                                        dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
                                        | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
@@ -931,9 +937,11 @@ case $basic_machine in
 
        *-*)
                # shellcheck disable=SC2162
+               saved_IFS=$IFS
                IFS="-" read cpu vendor <<EOF
 $basic_machine
 EOF
+               IFS=$saved_IFS
                ;;
        # We use `pc' rather than `unknown'
        # because (1) that's what they normally are, and
@@ -1313,9 +1321,11 @@ case $basic_os in
                ;;
        *-*)
                # shellcheck disable=SC2162
+               saved_IFS=$IFS
                IFS="-" read kernel os <<EOF
 $basic_os
 EOF
+               IFS=$saved_IFS
                ;;
        # Default OS when just kernel was specified
        nto*)
@@ -1697,7 +1707,7 @@ fi
 # Now, validate our (potentially fixed-up) OS.
 case $os in
        # Sometimes we do "kernel-libc", so those need to count as OSes.
-       musl* | newlib* | uclibc*)
+       musl* | newlib* | relibc* | uclibc*)
                ;;
        # Likewise for "kernel-abi"
        eabi* | gnueabi*)
@@ -1738,7 +1748,7 @@ case $os in
             | skyos* | haiku* | rdos* | toppers* | drops* | es* \
             | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
             | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
-            | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
+            | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*)
                ;;
        # This one is extra strict with allowed versions
        sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
@@ -1755,11 +1765,12 @@ esac
 # As a final step for OS-related things, validate the OS-kernel combination
 # (given a valid OS), if there is a kernel.
 case $kernel-$os in
-       linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
+       linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
+                  | linux-musl* | linux-relibc* | linux-uclibc* )
                ;;
        uclinux-uclibc* )
                ;;
-       -dietlibc* | -newlib* | -musl* | -uclibc* )
+       -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
                # These are just libc implementations, not actual OSes, and thus
                # require a kernel.
                echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
index c45a77de24e67241b2f7a60011f6f059453261db..81b122b0a546ca34b2e6bad824ea2fd2d2bb5610 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # py-compile - Compile a Python program
 
-scriptversion=2020-02-19.23; # UTC
+scriptversion=2021-02-27.01; # UTC
 
 # Copyright (C) 2000-2021 Free Software Foundation, Inc.
 
@@ -27,7 +27,7 @@ scriptversion=2020-02-19.23; # UTC
 # bugs to <bug-automake@gnu.org> or send patches to
 # <automake-patches@gnu.org>.
 
-if [ -z "$PYTHON" ]; then
+if test -z "$PYTHON"; then
   PYTHON=python
 fi
 
@@ -96,23 +96,23 @@ done
 
 files=$*
 if test -z "$files"; then
-    usage_error "no files given"
+  usage_error "no files given"
 fi
 
 # if basedir was given, then it should be prepended to filenames before
 # byte compilation.
-if [ -z "$basedir" ]; then
-    pathtrans="path = file"
+if test -z "$basedir"; then
+  pathtrans="path = file"
 else
-    pathtrans="path = os.path.join('$basedir', file)"
+  pathtrans="path = os.path.join('$basedir', file)"
 fi
 
 # if destdir was given, then it needs to be prepended to the filename to
 # byte compile but not go into the compiled file.
-if [ -z "$destdir" ]; then
-    filetrans="filepath = path"
+if test -z "$destdir"; then
+  filetrans="filepath = path"
 else
-    filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)"
+  filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)"
 fi
 
 python_major=`$PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q'`
@@ -176,7 +176,7 @@ for file in files.split():
         py_compile.compile(filepath, $import_call(filepath$import_arg2), path)
     else:
         py_compile.compile(filepath, filepath + 'o', path)
-sys.stdout.write('\n')" 2>/dev/null || :
+sys.stdout.write('\n')" 2>/dev/null || exit $?
 
 # Local Variables:
 # mode: shell-script
index e71cdaaa6adc5566a6da41337ca08069efd92429..f4acbd26248e3b20bd7516b6bf006121a9e1f7aa 100644 (file)
@@ -15,7 +15,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -31,7 +31,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
index c5807d211ed39acd5b2ebe4011e90f97707ea7a6..b4686b140a5e533c486852d9deffe6722622e64e 100644 (file)
@@ -28,6 +28,10 @@ m4_defn([AC_PROG_CC])
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
index 56d9eb2bb29538ed56c87f88e89d63fe8dd9b26e..4e7de942719bec91d904cb701d1648679dcee25e 100644 (file)
@@ -82,7 +82,7 @@ AC_DEFUN([AM_PATH_PYTHON],
   ])
 
   if test "$PYTHON" = :; then
-  dnl Run any user-specified action, or abort.
+    dnl Run any user-specified action, or abort.
     m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
   else
 
@@ -91,38 +91,63 @@ AC_DEFUN([AM_PATH_PYTHON],
   dnl trailing zero was eliminated. So now we output just the major
   dnl and minor version numbers, as numbers. Apparently the tertiary
   dnl version is not of interest.
-
+  dnl
   AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
     [am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`])
   AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
 
-  dnl Use the values of sys.prefix and sys.exec_prefix for the corresponding
-  dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
-  dnl distinct variables so they can be overridden if need be.  However,
-  dnl general consensus is that you shouldn't need this ability.
-  dnl Also allow directly setting the prefixes via configure args.
+  dnl At times, e.g., when building shared libraries, you may want
+  dnl to know which OS platform Python thinks this is.
+  dnl
+  AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
+    [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
+  AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
 
-  if test "x$prefix" = xNONE
-  then
-   am__usable_prefix=$ac_default_prefix
+  dnl emacs-page
+  dnl If --with-python-sys-prefix is given, use the values of sys.prefix
+  dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX
+  dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and
+  dnl ${exec_prefix} variables.
+  dnl
+  dnl The two are made distinct variables so they can be overridden if
+  dnl need be, although general consensus is that you shouldn't need
+  dnl this separation.
+  dnl
+  dnl Also allow directly setting the prefixes via configure options,
+  dnl overriding any default.
+  dnl
+  if test "x$prefix" = xNONE; then
+    am__usable_prefix=$ac_default_prefix
   else
-   am__usable_prefix=$prefix
+    am__usable_prefix=$prefix
   fi
 
+  # Allow user to request using sys.* values from Python,
+  # instead of the GNU $prefix values.
+  AC_ARG_WITH([python-sys-prefix],
+  [AS_HELP_STRING([--with-python-sys-prefix],
+                  [use Python's sys.prefix and sys.exec_prefix values])],
+  [am_use_python_sys=:],
+  [am_use_python_sys=false])
+
+  # Allow user to override whatever the default Python prefix is.
   AC_ARG_WITH([python_prefix],
   [AS_HELP_STRING([--with-python_prefix],
-                 [override the default PYTHON_PREFIX])],
-  [ am_python_prefix_subst="$withval"
-   am_cv_python_prefix="$withval"
-   AC_MSG_CHECKING([for $am_display_PYTHON prefix])
+                  [override the default PYTHON_PREFIX])],
+  [am_python_prefix_subst=$withval
+   am_cv_python_prefix=$withval
+   AC_MSG_CHECKING([for explicit $am_display_PYTHON prefix])
    AC_MSG_RESULT([$am_cv_python_prefix])],
   [
-  AC_CACHE_CHECK([for $am_display_PYTHON prefix], [am_cv_python_prefix],
-    [am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`])
+   if $am_use_python_sys; then
+     # using python sys.prefix value, not GNU
+     AC_CACHE_CHECK([for python default $am_display_PYTHON prefix],
+     [am_cv_python_prefix],
+     [am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`])
 
-  dnl If sys.prefix is a subdir of $prefix, replace the literal value of $prefix
-  dnl with a variable reference so it can be overridden.
-  case $am_cv_python_prefix in
+     dnl If sys.prefix is a subdir of $prefix, replace the literal value of
+     dnl $prefix with a variable reference so it can be overridden.
+     case $am_cv_python_prefix in
      $am__usable_prefix*)
        am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'`
        am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"`
@@ -130,55 +155,68 @@ AC_DEFUN([AM_PATH_PYTHON],
      *)
        am_python_prefix_subst=$am_cv_python_prefix
        ;;
-  esac
-  ])
+     esac
+   else # using GNU prefix value, not python sys.prefix
+     am_python_prefix_subst='${prefix}'
+     am_python_prefix=$am_python_prefix_subst
+     AC_MSG_CHECKING([for GNU default $am_display_PYTHON prefix])
+     AC_MSG_RESULT([$am_python_prefix])
+   fi])
+  # Substituting python_prefix_subst value.
   AC_SUBST([PYTHON_PREFIX], [$am_python_prefix_subst])
 
+  # emacs-page Now do it all over again for Python exec_prefix, but with yet
+  # another conditional: fall back to regular prefix if that was specified.
   AC_ARG_WITH([python_exec_prefix],
   [AS_HELP_STRING([--with-python_exec_prefix],
-                 [override the default PYTHON_EXEC_PREFIX])],
-  [ am_python_exec_prefix_subst="$withval"
-   am_cv_python_exec_prefix="$withval"
-   AC_MSG_CHECKING([for $am_display_PYTHON exec_prefix])
+                  [override the default PYTHON_EXEC_PREFIX])],
+  [am_python_exec_prefix_subst=$withval
+   am_cv_python_exec_prefix=$withval
+   AC_MSG_CHECKING([for explicit $am_display_PYTHON exec_prefix])
    AC_MSG_RESULT([$am_cv_python_exec_prefix])],
   [
-  dnl --with-python_prefix was given - use its value for python_exec_prefix too
-  AS_IF([test -n "$with_python_prefix"], [am_python_exec_prefix_subst="$with_python_prefix"
-  am_cv_python_exec_prefix="$with_python_prefix"
-  AC_MSG_CHECKING([for $am_display_PYTHON exec_prefix])
-  AC_MSG_RESULT([$am_cv_python_exec_prefix])],
-  [
-  AC_CACHE_CHECK([for $am_display_PYTHON exec_prefix], [am_cv_python_exec_prefix],
-    [am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`])
-  dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the
-  dnl literal value of $exec_prefix with a variable reference so it can
-  dnl be overridden.
-  if test "x$exec_prefix" = xNONE
-  then
-   am__usable_exec_prefix=$am__usable_prefix
-  else
-   am__usable_exec_prefix=$exec_prefix
-  fi
-  case $am_cv_python_exec_prefix in
-     $am__usable_exec_prefix*)
-       am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'`
-       am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"`
-       ;;
-     *)
-       am_python_exec_prefix_subst=$am_cv_python_exec_prefix
-       ;;
-  esac
-  ])])
+   # no explicit --with-python_exec_prefix, but if
+   # --with-python_prefix was given, use its value for python_exec_prefix too.
+   AS_IF([test -n "$with_python_prefix"],
+   [am_python_exec_prefix_subst=$with_python_prefix
+    am_cv_python_exec_prefix=$with_python_prefix
+    AC_MSG_CHECKING([for python_prefix-given $am_display_PYTHON exec_prefix])
+    AC_MSG_RESULT([$am_cv_python_exec_prefix])],
+   [
+    # Set am__usable_exec_prefix whether using GNU or Python values,
+    # since we use that variable for pyexecdir.
+    if test "x$exec_prefix" = xNONE; then
+      am__usable_exec_prefix=$am__usable_prefix
+    else
+      am__usable_exec_prefix=$exec_prefix
+    fi
+    #
+    if $am_use_python_sys; then # using python sys.exec_prefix, not GNU
+      AC_CACHE_CHECK([for python default $am_display_PYTHON exec_prefix],
+      [am_cv_python_exec_prefix],
+      [am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`])
+      dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the
+      dnl literal value of $exec_prefix with a variable reference so it can
+      dnl be overridden.
+      case $am_cv_python_exec_prefix in
+      $am__usable_exec_prefix*)
+        am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'`
+        am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"`
+        ;;
+      *)
+        am_python_exec_prefix_subst=$am_cv_python_exec_prefix
+        ;;
+     esac
+   else # using GNU $exec_prefix, not python sys.exec_prefix
+     am_python_exec_prefix_subst='${exec_prefix}'
+     am_python_exec_prefix=$am_python_exec_prefix_subst
+     AC_MSG_CHECKING([for GNU default $am_display_PYTHON exec_prefix])
+     AC_MSG_RESULT([$am_python_exec_prefix])
+   fi])])
+  # Substituting python_exec_prefix_subst.
   AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst])
 
-  dnl At times (like when building shared libraries) you may want
-  dnl to know which OS platform Python thinks this is.
-
-  AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
-    [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
-  AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
-
-  # Just factor out some code duplication.
+  # Factor out some code duplication into this shell variable.
   am_python_setup_sysconfig="\
 import sys
 # Prefer sysconfig over distutils.sysconfig, for better compatibility
@@ -198,96 +236,95 @@ try:
 except ImportError:
     pass"
 
-  dnl Set up 4 directories:
+  dnl emacs-page Set up 4 directories:
 
-  dnl pythondir -- where to install python scripts.  This is the
-  dnl   site-packages directory, not the python standard library
-  dnl   directory like in previous automake betas.  This behavior
-  dnl   is more consistent with lispdir.m4 for example.
+  dnl 1. pythondir: where to install python scripts.  This is the
+  dnl    site-packages directory, not the python standard library
+  dnl    directory like in previous automake betas.  This behavior
+  dnl    is more consistent with lispdir.m4 for example.
   dnl Query distutils for this directory.
-  AC_CACHE_CHECK([for $am_display_PYTHON script directory],
-    [am_cv_python_pythondir],
-    [if test "x$am_cv_python_prefix" = x
-     then
-       am_py_prefix=$am__usable_prefix
-     else
-       am_py_prefix=$am_cv_python_prefix
-     fi
-     am_cv_python_pythondir=`$PYTHON -c "
+  dnl
+  AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)],
+  [am_cv_python_pythondir],
+  [if test "x$am_cv_python_prefix" = x; then
+     am_py_prefix=$am__usable_prefix
+   else
+     am_py_prefix=$am_cv_python_prefix
+   fi
+   am_cv_python_pythondir=`$PYTHON -c "
 $am_python_setup_sysconfig
 if can_use_sysconfig:
-    sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
+  sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
 else:
-    from distutils import sysconfig
-    sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
+  from distutils import sysconfig
+  sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
 sys.stdout.write(sitedir)"`
-     case $am_cv_python_pythondir in
-     $am_py_prefix*)
-       am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
-       am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"`
-       ;;
-     *)
-       case $am_py_prefix in
-         /usr|/System*) ;;
-         *)
-         am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
-         ;;
-       esac
-       ;;
+   #
+   case $am_cv_python_pythondir in
+   $am_py_prefix*)
+     am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+     am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"`
+     ;;
+   *)
+     case $am_py_prefix in
+       /usr|/System*) ;;
+       *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
+          ;;
      esac
-    ])
+     ;;
+   esac
+  ])
   AC_SUBST([pythondir], [$am_cv_python_pythondir])
 
-  dnl pkgpythondir -- $PACKAGE directory under pythondir.  Was
-  dnl   PYTHON_SITE_PACKAGE in previous betas, but this naming is
-  dnl   more consistent with the rest of automake.
-
+  dnl 2. pkgpythondir: $PACKAGE directory under pythondir.  Was
+  dnl    PYTHON_SITE_PACKAGE in previous betas, but this naming is
+  dnl    more consistent with the rest of automake.
+  dnl
   AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
 
-  dnl pyexecdir -- directory for installing python extension modules
-  dnl   (shared libraries)
+  dnl 3. pyexecdir: directory for installing python extension modules
+  dnl    (shared libraries).
   dnl Query distutils for this directory.
-  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
-    [am_cv_python_pyexecdir],
-    [if test "x$am_cv_python_exec_prefix" = x
-     then
-       am_py_exec_prefix=$am__usable_exec_prefix
-     else
-       am_py_exec_prefix=$am_cv_python_exec_prefix
-     fi
-     am_cv_python_pyexecdir=`$PYTHON -c "
+  dnl
+  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)],
+  [am_cv_python_pyexecdir],
+  [if test "x$am_cv_python_exec_prefix" = x; then
+     am_py_exec_prefix=$am__usable_exec_prefix
+   else
+     am_py_exec_prefix=$am_cv_python_exec_prefix
+   fi
+   am_cv_python_pyexecdir=`$PYTHON -c "
 $am_python_setup_sysconfig
 if can_use_sysconfig:
-    sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'})
+  sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'})
 else:
-    from distutils import sysconfig
-    sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix')
+  from distutils import sysconfig
+  sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix')
 sys.stdout.write(sitedir)"`
-     case $am_cv_python_pyexecdir in
-     $am_py_exec_prefix*)
-       am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
-       am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"`
-       ;;
-     *)
-       case $am_py_exec_prefix in
-         /usr|/System*) ;;
-         *)
-          am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
-          ;;
-       esac
-       ;;
+   #
+   case $am_cv_python_pyexecdir in
+   $am_py_exec_prefix*)
+     am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+     am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"`
+     ;;
+   *)
+     case $am_py_exec_prefix in
+       /usr|/System*) ;;
+       *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
+          ;;
      esac
-    ])
+     ;;
+   esac
+  ])
   AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
 
-  dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
-
+  dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE)
+  dnl
   AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
 
   dnl Run any user-specified action.
   $2
   fi
-
 ])
 
 
index 56f853888b21820039608e9d6989b59b7a986047..6b7ec020f89fd46ddc53117d7e66019882fdaa87 100644 (file)
@@ -230,7 +230,7 @@ sc_perl_at_uscore_in_scalar_context:
 
 ## Allow only few variables to be localized in automake and aclocal.
 sc_perl_local:
-       @if egrep -v '^[ \t]*local \$$[_~]( *=|;)' \
+       @if grep -Ev '^[ \t]*local \$$[_~]( *=|;)' \
              $(automake_in) $(aclocal_in) | \
            grep '^[ \t]*local [^*]'; then \
          echo "Please avoid 'local'." 1>&2; \
index 3868ae32e8618509bd103843e1f1213d68641071..f8f2a3077f6a5d27cd1900f56fee55f2b7cf6456 100644 (file)
@@ -26,7 +26,7 @@ EOF
 
 cat >Makefile.am <<EOF
 if COND
-## A dummy comment to change line numer.
+## A dummy comment to change line number.
 foo = baz
 endif
 EOF
index 786bb3cf5e6354152cd736492eb38c4ebedab042..37a25eae31b9eb6e27cb6bd6af816d9bbd6b293d 100644 (file)
@@ -73,7 +73,7 @@ END
 
 cat > tparse.y << 'END'
 %{
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %token EOF
 %%
index 8cfb9d5f5e1d293d5ed3dea3fa456acd65bdb20c..78d1e23a5b5f7d9ec5eba8c5fc96b99ec774947b 100644 (file)
@@ -46,7 +46,7 @@ EOF
 
 $ACLOCAL
 
-# Presently Automake doesn't fully support partially overriden rules
+# Presently Automake doesn't fully support partially overridden rules
 # and should complain.
 AUTOMAKE_fails --add-missing
 grep 'tparse\.h.*already defined' stderr
index cfbb223e83fd0be5c2ae19f5c0cc699057ef6bbd..fe53cccb522696005ac5bf031a7ac6ab0a411da8 100644 (file)
@@ -100,7 +100,7 @@ END
   else
     for f in $required_files; do
       cp "$am_scriptdir"/$f $auxdir/$f \
-        || fatal_ "faild to fetch auxiliary script '$f'"
+        || fatal_ "failed to fetch auxiliary script '$f'"
       # See comments above.
       chmod a-w $auxdir/$f
     done
index 81787af914ecd73d94e239b7bfba1b69e3e4f714..a4cd6243840dd39f36837932363dbf3567698a96 100644 (file)
@@ -43,7 +43,7 @@ grep '.\$(LINK).*foo' Makefile.in && exit 1
 grep '^ *bar_LINK *=.*bar_LDFLAGS' Makefile.in && exit 1
 grep '.\$(bar_LINK).*bar' Makefile.in
 
-# Silent make rules should use AM_V_GEN unless overriden.
+# Silent make rules should use AM_V_GEN unless overridden.
 grep '.\$(AM_V_GEN)\$(foo_LINK)' Makefile.in
 grep '.\$(AM_V_baz_LINK)\$(baz_LINK)' Makefile.in
 grep '.\$(AM_V_GEN)\$(baz_LINK)' Makefile.in && exit 1
index 37d80b2b22847189291c809515109cd0c1d31f23..5464d8907c099c083b14dcded6362fbc88c830ce 100644 (file)
@@ -60,7 +60,7 @@ cat > xfail.test << 'END'
 #!/bin/sh
 # The sleep should ensure expected execution order of tests
 # even when make is run in parallel mode.
-# Creative quoting below to plase maintainer-check.
+# Creative quoting below to please maintainer-check.
 sleep '10'
 exit 1
 END
index 3179d42e57496f8b3dc27c4def4869e943575962..6231a571c73fcfbc3d18b764797331092281e08f 100755 (executable)
@@ -15,8 +15,6 @@
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Test configure options --with-python_prefix and --with-python_exec_prefix.
-# We can't test with no prefixes specified, since the default is to
-# install in Python's sys.prefix and sys.exec_prefix directories.
 
 required=python
 . test-init.sh
index 9070c7501ed61bda27ccfc4217067b7b6555367a..c6da7e49ae2e75b078aeffcb0b81c55d2079c57f 100644 (file)
@@ -15,7 +15,8 @@
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Check that AM_PATH_PYTHON correctly sets all the output variables
-# advertised in the manual.
+# advertised in the manual, both with the GNU prefix values and the
+# Python sys.* prefix values.
 
 required=python
 . test-init.sh
@@ -61,16 +62,22 @@ check-local: test-in test-am
 .PHONY: test-in test-am
 
 test-in:
+       @echo "> doing test-in"
+       @echo ">> contents of pythondir:"
        cat pythondir
        case `cat pythondir` in '$${PYTHON_PREFIX}'/*);; *) exit 1;; esac
+       @echo ">> contents of pyexecdir:"
        cat pyexecdir
        case `cat pyexecdir` in '$${PYTHON_EXEC_PREFIX}'/*);; *) exit 1;; esac
+       @echo ">> contents of vars-exp:"
        cat $(srcdir)/vars-exp
+       @echo ">> contents of vars-got:"
        cat $(builddir)/vars-got
        diff $(srcdir)/vars-exp $(builddir)/vars-got
 
 ## Note: this target's rules will be extended in the "for" loop below.
 test-am:
+       @echo "> doing test-am"
        case '$(pythondir)' in '$(PYTHON_PREFIX)'/*);; *) exit 1;; esac
        case '$(pyexecdir)' in '$(PYTHON_EXEC_PREFIX)'/*);; *) exit 1;; esac
 END
@@ -78,35 +85,59 @@ END
 echo @pythondir@ > pythondir.in
 echo @pyexecdir@ > pyexecdir.in
 
-: > vars-exp
-: > vars-got.in
-
-for var in $pyvars; do
-  eval val=\$$var
-  echo "var=$val" >> vars-exp
-  echo "var=@$var@" >> vars-got.in
-  echo "${tab}test x'\$($var)' = x'$val' || test \"\$NO_CHECK_PYTHON_PREFIX\"" >> Makefile.am
-done
-
-cat Makefile.am
-cat vars-got.in
+# This depends on whether we're doing GNU or Python values, per arg.
+setup_vars_file ()
+{
+  vartype=$1
+  : > vars-exp
+  : > vars-got.in
+
+  for var in $pyvars; do
+    if test x"$vartype" = xgnu; then
+      # when not using Python sys.* values, PYTHON_*PREFIX will vary;
+      # the computed value will be (something like) "/usr",
+      # but the expected value will be "${prefix}".
+      if test x"$var" = xPYTHON_PREFIX \
+         || test x"$var" = xPYTHON_EXEC_PREFIX; then
+        continue
+      fi
+    fi
+    eval val=\$$var
+    echo "var=$val  #$var"   >> vars-exp
+    echo "var=@$var@  #$var" >> vars-got.in
+    echo "${tab}test x'\$($var)' = x'$val' || test \"\$NO_CHECK_PYTHON_PREFIX\"" >> Makefile.am
+  done
+}
+
+setup_vars_file gnu
 
 $ACLOCAL
 $AUTOMAKE --add-missing
 
+# some debugging output.
 for var in pythondir pyexecdir $pyvars; do
   grep "^$var *=" Makefile.in
 done
 
-instdir=$(pwd)/inst
-
 $AUTOCONF
-./configure --prefix="$instdir" PYTHON="$PYTHON"
 
+# Do GNU values.
+./configure PYTHON="$PYTHON"
 $MAKE test-in test-am
+run_make distcheck
+
+# Do Python values.
+setup_vars_file python
+instdir=$(pwd)/inst
+./configure PYTHON="$PYTHON" --with-python-sys-prefix --prefix="$instdir"
+$MAKE test-in test-am
+#
 # This tries to install to $PYTHON_PREFIX, which may not be writable.
 # Override it to something safe, but then of course we have to skip
 # checking that it is what we originally set it to.
-run_make distcheck PYTHON_PREFIX="$instdir" NO_CHECK_PYTHON_PREFIX=1
+run_make distcheck \
+  PYTHON_PREFIX="$instdir" \
+  NO_CHECK_PYTHON_PREFIX=1 \
+  AM_DISTCHECK_CONFIGURE_FLAGS=--with-python-sys-prefix
 
 :
index edb59e7c9b069ea5ab0b5c9da23d7e719a13cef4..9361b2bf8264839126ec87b2d67f1471846a4362 100644 (file)
@@ -188,7 +188,7 @@ EOF
 cat > foo6.y <<'EOF'
 %{
 extern int yylex (void);
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %token EOF
 %%
index c10fc5cc4040fd4a34deeda07ab7b0659b36acb8..0582973f5cfa5c2f26bdfb0578623479e489d78d 100644 (file)
@@ -39,7 +39,7 @@ EOF
 
 cat > parse.y <<'EOF'
 %{
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 int yylex (void) { return 0; }
 int main (void) { return 0; }
 %}
index d11fc2ab2d272eb92b13189f1f4708e321d1e1ff..3254d401439a46c4e7d0caffb6543ef21f62e976 100644 (file)
@@ -50,7 +50,7 @@ EOF
 
 cat > foo.y <<'EOF'
 %{
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 int yylex (void) { return 0; }
 int main (void) { return 0; }
 %}
index e9f980acb803cacd8b1897ffdb18d781649e7f72..f9c494d57b26d3316c158c218292d76f9540a5ae 100644 (file)
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Test that automake works around a bug of Solaris Make. The bug is the
-# following.  If we have a Makefile containg a file inclusion like this:
+# following.  If we have a Makefile containing a file inclusion like this:
 #   include .//foo.mk
 # Solaris make fails with a message like:
 #   make: ... can't find '/foo.mk': No such file or directory
index ee63680a8b33b87d42019eced48ca0cdea9d7191..d3500a9a63c5b2eff725fcd32547f9239e0efceb 100644 (file)
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Test that automake works around a bug of Solaris Make. The bug is the
-# following.  If we have a Makefile containg a file inclusion like this:
+# following.  If we have a Makefile containing a file inclusion like this:
 #   include .//foo.mk
 # Solaris make fails with a message like:
 #   make: ... can't find '/foo.mk': No such file or directory
index eac56cb1f23c51fa151f3b3b16ffca8a7956b0f0..9e31c5151e8c9874016eaf8a8f576fb6094e10de 100644 (file)
@@ -88,7 +88,7 @@ EOF
 cat > lib/foo.y << 'END'
 %{
 int yylex (void) { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
index 2258120e7887d37498c9fe0e80578032512a7bd6..d233c6c213f39e4aa7826c6a314863aebd8a8f09 100644 (file)
@@ -39,7 +39,7 @@ libfoo_la_SOURCES = foo.x_
        :; { echo '/* autogenerated */' \
          && echo '%{' \
          && echo 'int yylex () {return 0;}' \
-         && echo 'void yyerror (char *s) {}' \
+         && echo 'void yyerror (const char *s) {}' \
          && echo '%}' \
          && echo '%%' \
          && echo "foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};" \
index 915bf5c9b757e9aa12bdba5ab2c640ba39492fb4..d9d3cd1df4373b62e3915935a4295eda7db83c17 100755 (executable)
@@ -35,7 +35,7 @@ END
 
 touch foo.test
 
-autoreconf -fi >reconf.out 2>&1 
+autoreconf -fi >reconf.out 2>&1
 grep 'uninitialized value' reconf.out && exit 1
 
 # What we're trying to avoid:
index cfbaa195778915f9ef6585a89eaa9c39c73722f9..d50157099eb38ddc68d23cf9dea9db1360e2c34e 100644 (file)
@@ -42,7 +42,7 @@ cat > parse.y << 'END'
 #include <stdio.h>
 #include <stdlib.h>
 int yylex () { return getchar (); }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 a : 'a' { exit(0); };
index 60e85dd856199cd27b79899eb6dd967783faf26a..6069489dab5d31043445ff40154d4e7f938033d6 100644 (file)
@@ -44,7 +44,7 @@ void yyerror (const char *s);
 foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
 %%
 int yylex () { return 0; }
-void yyerror (const char *s) { return; }
+void yyerror (const char *s) {}
 END
 
 cat > foo.c << 'END'
index fe2795894c03d4664fd0b34a1a86ce10231ba0cb..811d46939a2f146289e3d2992897bb3d6ff7d7cb 100644 (file)
@@ -70,7 +70,7 @@ cat > sub1/parsefoo.yxx << 'END'
 #include <cstdio>
 // "std::" qualification required by Sun C++ 5.9.
 int yylex (void) { return std::getchar (); }
-void yyerror (const char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %%
 x : 'x' { };
index 9ea13a70443a96ea3c7afe8bf4b6179c3574544e..c248e5c89b9535d9a080452e900a75cc417f51e7 100644 (file)
@@ -66,7 +66,7 @@ END
 cat > sub1/parse.y << 'END'
 %{
 int yylex () { return (getchar ()); }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 x : 'x' { };
index 0e163eb4476af39eb2a821f1f69cc6f4fb900fed..b9dcd458bd36c1395e9c7a48decae20c87e5e727 100644 (file)
@@ -48,7 +48,7 @@ cat > parse1.yy << 'END'
 #include <cstdlib>
 // "std::" qualification required by Sun C++ 5.9.
 int yylex (void) { return std::getchar (); }
-void yyerror (const char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %%
 a : 'a' { exit(0); };
index 66c11063e9c8c137c45dea3636a4062d1a4a3fec..b468d553225e653016f0fa5a08249fe7510481a7 100644 (file)
@@ -48,7 +48,7 @@ cat > foo/parse.y << 'END'
 %{
 #include "parse.h"
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 x : 'x' {};
index e0fb951f2854c8b09a79074661e9a9c6b7155b4d..86ae07b0cdcb6b35c12effffd07d7a6fa82e6f1b 100644 (file)
@@ -41,7 +41,7 @@ END
 cat > parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %token FOOBAR
 %%
@@ -74,7 +74,7 @@ $sleep
 cat > ../parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %token FUBAR
 %%
@@ -94,7 +94,7 @@ $sleep
 cat > ../parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %token MAUDE
 %%
index 766caac5c0bb51a30fcaddb1ed0d2314a4eb7015..5b661d1e530599c6b5cce2ef87ddfd4ee1947aa3 100644 (file)
@@ -56,7 +56,7 @@ cat > parse1.y << 'END'
 %{
 #include "parse1.h"
 int yylex () { return 0; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %token ZARDOZ
 %%
@@ -81,7 +81,7 @@ sed 's/"parse1\.h"/"parse3.h"/' main1.c > main3.c
 cat > parse4.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %%
 x : 'x' {};
index 27c704b3d5926d50ec29e4de070fcb6dfb5a15d1..dc82a316a4a34e21b0870f92a48283a617975e20 100644 (file)
@@ -36,7 +36,7 @@ END
 cat > foo.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %token TOKEN
 %%
index ce730f42bf4d6cce1ff641382108742a45cde226..c2b1b9be549e26193062ef6bfc8141e788c0841d 100644 (file)
@@ -42,7 +42,7 @@ END
 cat > foo.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %token TOKEN
 %%
index c918c399601d0a2271ddfc54d62633554dc659ab..8b15d2c2a07c1a85b35d5a6741a7a5e1d7ce141a 100644 (file)
@@ -36,7 +36,7 @@ mkdir sub
 cat > sub/parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %%
 x : 'x' {};
index 5e1a2a70afe5484aa69401165acf4946e356fd84..f4d3fbcb2e6a4a0a1998ece262597d52c946942a 100644 (file)
@@ -37,7 +37,7 @@ END
 cat > parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
index c9c1aa2e0c48a1e62bec31c64bb131856e391484..43e1422a6d6dbb9fc25e515e8ba485277d0c9e53 100644 (file)
@@ -38,7 +38,7 @@ END
 cat > parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
index 10e8a8cd44e9e974c3f1c811f81678e3b49ec6bd..ef48d83c561fbd715f5018de8b57c0189e803c41 100644 (file)
@@ -57,7 +57,7 @@ END
 cat > zardoz.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %%
 x : 'x' {};
index 2371a099f8bf83be4bfaa056c354e910d5f6ce5e..9dc8f9dfd9c5d5414257aff5e1263245b95f7d1b 100644 (file)
@@ -35,7 +35,7 @@ END
 cat > parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
@@ -45,7 +45,7 @@ END
 cat > bar.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 fubar : 'f' 'o' 'o' 'b' 'a' 'r' {};
index ad9bf9523116028f0aee57e1a3e0bb8de495a1ae..45dffa0d2b832cc5a7daae848a8ec9677bdd7a23 100644 (file)
@@ -53,7 +53,7 @@ END
 cat > p.y <<'END'
 %{
 int yylex (void) { int new = 0; return new; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %token ZARDOZ
 %%
@@ -85,7 +85,7 @@ cat > parse.yy <<'END'
 #include <cstdlib>
 #include "parse.hh"
 int yylex (void) { return 0; }
-void yyerror (const char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %token FOOBAR
 %%
@@ -97,7 +97,7 @@ cat > parse2.y++ <<'END'
 %{
 #include <cstdlib>
 int yylex (void) { return 0; }
-void yyerror (const char *s) { return; }
+void yyerror (const char *s) {}
 %}
 %%
 x : 'x' {};
index 075e077434666c910fd7c064e1ef61a4ace36036..3b523e888fe94ec18bd70102e8bf6be1ce0e04c1 100644 (file)
@@ -59,7 +59,7 @@ parse.y:
        :; { : \
          && echo "%{" \
          && echo "int yylex () { return 0; }" \
-         && echo "void yyerror (char *s) {}" \
+         && echo "void yyerror (const char *s) {}" \
          && echo "%}" \
          && echo "%%" \
          && echo "maude : 'm' 'a' 'u' 'd' 'e' {}"; \
index 9606f7b3dd5e6dee0fbcaa0ee220a700bfc1b8ec..e07f5e5c9debba725219ba0440c157bd3f0df44d 100644 (file)
@@ -51,7 +51,7 @@ EOF
 cat > parse.y << 'END'
 %{
 int yylex () {return 0;}
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 maude : 'm' 'a' 'u' 'd' 'e' {};
index 5f38621876144b0784006e1cfc27434aeb146f55..879b433c67e759db9115db114c02652dd2b8b459 100644 (file)
@@ -49,7 +49,7 @@ mkdir foo
 cat > foo/parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
index f9bb719daecce4574a8d5ee4a65247745f21997a..5481d9646677d668a5d60c78abe806e229e2bbc0 100644 (file)
@@ -40,7 +40,7 @@ END
 cat > parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
@@ -67,7 +67,7 @@ $sleep
 cat > ../parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 fubar : 'f' 'o' 'o' 'b' 'a' 'r' {};
@@ -85,7 +85,7 @@ $sleep
 cat > ../parse.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) {}
+void yyerror (const char *s) {}
 %}
 %%
 maude : 'm' 'a' 'u' 'd' 'e' {};
index eaee47849ed855ebf9318ca304992523a670dfae..63d31fbfa9039bd3885b9264e783feaba0cb433f 100644 (file)
@@ -43,7 +43,7 @@ END
 cat > foo.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 int main () { return 0; }
 %}
 %%
index 2d5cb55e1408c91c94ce7e51509f65e91ad7f0f8..1346c12597f9a958cb5cb318ff5d1ab72a5321b7 100644 (file)
@@ -37,7 +37,7 @@ END
 cat > foo.y << 'END'
 %{
 int yylex () { return 0; }
-void yyerror (char *s) { return; }
+void yyerror (const char *s) {}
 int main () { return 0; }
 %}
 %%