From a158b40451a19caa06e43f5605c4a1acfd840b42 Mon Sep 17 00:00:00 2001 From: TizenOpenSource Date: Tue, 27 Dec 2022 11:44:34 +0900 Subject: [PATCH] Imported Upstream version 1.16.5 --- ChangeLog | 176 ++++++++++++ HACKING | 4 +- Makefile.in | 6 +- NEWS | 15 +- NEWS-2.0 | 4 +- THANKS | 1 + aclocal.m4 | 10 +- bin/automake.in | 25 +- configure | 20 +- configure.ac | 2 +- contrib/checklinkx | 4 +- doc/amhello-1.0.tar.gz | Bin 86818 -> 86877 bytes doc/automake.info | 414 ++++++++++++++--------------- doc/automake.info-1 | 134 ++++++---- doc/automake.info-2 | 122 +++++---- doc/automake.texi | 212 +++++++++------ doc/help2man | 29 +- doc/local.mk | 4 +- doc/stamp-vti | 8 +- doc/version.texi | 8 +- lib/am/header-vars.am | 2 +- lib/am/lisp.am | 2 +- lib/config.sub | 21 +- lib/py-compile | 20 +- m4/amversion.m4 | 4 +- m4/init.m4 | 4 + m4/python.m4 | 291 +++++++++++--------- maintainer/syntax-checks.mk | 2 +- t/cond24.sh | 2 +- t/cond35.sh | 2 +- t/cond36.sh | 2 +- t/dist-auxdir-many-subdirs.sh | 2 +- t/link_override.sh | 2 +- t/parallel-tests-console-output.sh | 2 +- t/python-prefix.sh | 2 - t/python-vars.sh | 65 +++-- t/silent-many-languages.sh | 2 +- t/silent-yacc-headers.sh | 2 +- t/silent-yacc.sh | 2 +- t/subobj11a.sh | 2 +- t/subobj11b.sh | 2 +- t/subpkg-yacc.sh | 2 +- t/suffix10.tap | 2 +- t/test-extensions-empty.sh | 2 +- t/yacc-basic.sh | 2 +- t/yacc-bison-skeleton.sh | 2 +- t/yacc-clean-cxx.sh | 2 +- t/yacc-clean.sh | 2 +- t/yacc-cxx.sh | 2 +- t/yacc-d-basic.sh | 2 +- t/yacc-d-vpath.sh | 6 +- t/yacc-deleted-headers.sh | 4 +- t/yacc-depend.sh | 2 +- t/yacc-depend2.sh | 2 +- t/yacc-dist-nobuild-subdir.sh | 2 +- t/yacc-dist-nobuild.sh | 2 +- t/yacc-dry.sh | 2 +- t/yacc-line.sh | 2 +- t/yacc-misc.sh | 4 +- t/yacc-mix-c-cxx.sh | 6 +- t/yacc-nodist.sh | 2 +- t/yacc-pr204.sh | 2 +- t/yacc-subdir.sh | 2 +- t/yacc-vpath.sh | 6 +- t/yflags-cmdline-override.sh | 2 +- t/yflags-force-override.sh | 2 +- 66 files changed, 1045 insertions(+), 654 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7707fa866..97e3f4e77 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,179 @@ +2021-10-03 Jim Meyering + + 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 + + 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 + + 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 + + doc: show "RUNNING: " 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: " when a test starts. + +2021-09-28 Karl Berry + + 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 + + maint: Update files from upstream with 'make fetch'. + + * lib/config.sub: Update. + +2021-09-19 Jim Meyering + + 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 + + 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 + + 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 + + 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 + + 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. + + See bug#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 + + 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 + + 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 + + maint: Update doc/help2man. + + * doc/help2man: update to 1.48.24 + +2021-08-07 Karl Berry + + maint: Update doc/help2man. + + * doc/help2man: update to 1.48.2. + +2021-08-07 Dimitri Papadopoulos + + 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 + + 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 + + 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 version 1.16.4 diff --git a/HACKING b/HACKING index 5f8644e71..a41e8e202 100644 --- a/HACKING +++ b/HACKING @@ -259,7 +259,7 @@ 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 @@ -415,7 +415,7 @@ * 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 diff --git a/Makefile.in b/Makefile.in index bbe2d048f..18850e72a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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 bb3e3ae47..fb05ee219 100644 --- 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. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/NEWS-2.0 b/NEWS-2.0 index 743138ca9..5c56aa6e0 100644 --- 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 6c8abf9b2..965f280ef 100644 --- 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 diff --git a/aclocal.m4 b/aclocal.m4 index 9fdd1aa0d..82bcbe1e2 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -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 diff --git a/bin/automake.in b/bin/automake.in index f04f5d5f5..30babd607 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -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; diff --git a/configure b/configure index 42b508882..4ed563d09 100755 --- 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 . # @@ -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\\" diff --git a/configure.ac b/configure.ac index f7656ffea..2b878c28b 100644 --- a/configure.ac +++ b/configure.ac @@ -16,7 +16,7 @@ # along with this program. If not, see . 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]) diff --git a/contrib/checklinkx b/contrib/checklinkx index 1c0a135c1..2e81bb17f 100755 --- a/contrib/checklinkx +++ b/contrib/checklinkx @@ -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, diff --git a/doc/amhello-1.0.tar.gz b/doc/amhello-1.0.tar.gz index 3f7b52195533c857c660dd7d026d449e0d6a88ea..cd40d02ad8ec2f5367f710e9ec8cb84dcd616a59 100644 GIT binary patch delta 66126 zcmV(nK=Qw$rUl)m1&~F5oWy8%XJ_a4&JHVkGUlEam?dkw_~bA8Y{Tcp-X4CJUhHir zzxC%yX}7fVeD_7EwEGPDU%=-H+k5g4`e;V<_dn!gC-mjtQt(`p*tE!Y_pnwXFH${b7y;}#EwJG zStl4qcXr6xaWL}-cH{YVFSErR3fkOF%VxTyNB1%wVUm=+O1J z!9?g3|2zEu8&>SQeo>6U z4=+M{3ciQt&y+EQg58Z>XUqlx^MeSSbO3!3x?s+9m>J~20j1yH!T`8zd1t%yKj!u` zbNhw0{p^4}W#`?hVJrul(hooU@P&cqB6OpO`>a1_-C)AHVKCuy_A;XHLuU?tEi9n- z6#(nFG!27)QD{%r#G-jHV~*{!kS9Wl8(~x_0^c&Q02)^@OTjCGh$L7rq{d0}oSkr= zhqlMgW_{0fSi^O=FCa9*%Ge{u5XSn5=CROsz_<(JAycAbI|T+LY}yf08M0uCP%=KyQaWDn)$AA(Tx^p4O^*Nh=2|k>81;7BX?4sU%1L25On(x>} zrQNPHyYCJFHW~*o%5S;EM!=RR)p)Ha)fbR*=iL^>$dAxXi|bh zz?s^SGv){hb6#pVQ+3DiK!@*@b4Cv7x!}y_u)dhu4y+v6eM%pEe#bl@tbl|~!Gv6Y z!M(X;CkR0(U<&^`3nCZH#1&FPV2D5?0E0tB@ECX)TOc4|sPuqM1h)I=GY~Q(PD_H+ z>=Cz&`f;b6VVTTE*7q`offDM0T5iioVjRk{vfy$3^51`4IdQ? zu7=4Ms?4E9g-p?+`IJ-&p-lysO#}zlCt&{^Y!wYI&l;6q-xa`x60<4lAPP_xs2+r3 z8A}{*=8caABd*HX5J@;Pr- znasK915Os9shYpDOg3IGLm8=WY&=B)yC9XAZ4k$uOgfds`_i0+u|YJwpZVw~rg)Ep zZ7_CPZ=PIiKwDYdBIsvw^JBd-xScL%qzJTDu zb`+aKS3NA`Ml*_q>`s9Q-6|}9dJ7UW;vh1MvQ5%|?@R`)SgbPci~}VzmI0~-Xx-#2 zCyJS?O>65a54~I2;#H}bd#|xc9*W51M9f7R?|cM~I%eiXVFjf3$yG8j8e}sy7dzzS zyU$IQVn~RF`l$UWb~VTA4Qw%PUC(w&hH=lrfep50Lec0d06lnC>fQmA!IL@bt)H;(_GSP^w0{dDw&eKoC&e zVrHZM`mEA@v#%zsFzqSMFsvK};4!KR3bsRMY?7Q&3bU!q13e=>U2zT5q^k}wohkbP zJPO#4dl>1m@CVxXm^;XS5l{$wOGt4^^Te`1D~t^S;+p1Z42E*vtQbSeG+^I-r=&Rq zX#%1mVzCCEXTf(;s+yiTc&uy_q03X$SU=?Ujgj!6SZk?u{@@ya1V6yi9Qz9wh~d|- zFbI5ZEXy)sjo>YaIm5mwGr*oU$8v&tz?L$dJ9RVw7qP>UWno@_UK#v06OleC$h`mp zF+@)>gFPr=IeNCT9ZZ|V48ka+Z1&Xd!(@TSP$OacXilX2^8S*+D{}%e7RD3H)dv>2 z9i^oS9c6lqT}(&H5(P&ypkT8|r#PF?K?MR#AZVivXMW5me~J@nsl;54)$ z*DK+JTx5soz`kXF1rQsztjnNvec69~efir@*DA`di6c81JtTOqtmjj#u33h~n_zOGdSab;4T(|3{AElZOHa-Er$3C& zTSH(R#k3d_s3_X5!;>H@F(0Y&K7A>Y#>2!kVqzrZ>T(T#wOr%V0u0XJk?Z8;O5`U) z8?9T9UwCSp2R|v(Z0Pw!;20O&A?_Ry9l%p4Oc!#rDi*&ydqja6W*(q}ZRqfv$?Cbv zN*>;avWSJCC?svHML>kUmDAGlc?5AnRFc7z^h>L<-?G3-(d(*J`f@&ekj=Mmr87F! z>+io`Z+fMFW&N7n=|ctwm?i${RN_B7qi-+>`i9+3eyeut^-uI2^nZ(k!b4Q7wfzSP z`4X`#B}!_4k`VDek_xK{Eu{09gsMzzr66_6!as0FQj;8}0oW@_xZ6;eHWGoEv0N@M zDOI`N_C9L{dZ&RiS{D+RTy~q8ChQ;6+@fUQ`gkaRqGPd@VWn5!?I=97nqr^CV2(lh zFn>#~)1HQquYKQ_Alik*Z820HrEV`!|lo`yR5WNI@gBre=MQ3`6Rf7 z>>Box0SMd*a`I@2SPQiI=!I0#0#DBqdFC|0Phm6lBOwn$aN5Ho3c|oybPC5&*s%DA zDRIu#xmmZG9?j)zv*-{i5<21)~96;7@lZx0CTSRT(Cy2lu+2oDYF?p#{U?Csv%3VY+mf8+e246vKA3EC;pZX{ zPc#dC%%BuW z)khgiHBpJPkNvKH8{EKAh~k1xSRhf3c<6%$L0xxLp@NA(6POuQy?{Cll2rW_3{JMD z8T+(E;bWBal>TKEk&0mGyj~#Ck98P-qpJBBB84Nb%>i zQ2@RKL6ERW6v2&^+#(E+Fq|)%7{-F3!p&6-ThN1L8VEKKw+u%b(0jE_I7$apwaAJ4 ze_30XS69XB`}+e1txMbdy<+})y-)4pmE~lMR)B>Jtd|i=B>?9JkFBt35YF*`$kPlW z*b%T2nnU;Bx6JDt)1^V~3-m9NU#tg&jmxVTn5md3Ay7OslCiF3PJn%gsGZAv@u(7Uedmi^>%(o2W5|~^FFGxy{ zYCiXx+56u8DEHnP7_g&Z1u~p}@dKt~)CAFBq974w*sJ1z-xmFu=dqnv-<1+kOCMXM zD|wtxAq603ddiOLZ%=FcEX3+5M6H2KR!KsJML?b*yKy~FfLla&Xl-&`I(kCfwG8~r zGT{V!bDEmmf!g~a8(=%Ew1>KG&!j|^Nm&M2A4KRf>=;Jsu&$&M^PrA@(^^>Nl;=-w z6GM8y;9d&jM+xw$|Jw@I#Lzm-$>A6~`i$gxp#ekge!viN+Xx(R^ieY-z5zun%M;Gcm7f8H!X(&O)7D*$}nt!^(3bAJE> z>UT#Rt3ikH0NzyIqS3YI&Te<(a2WId!{(p`CkH-JL>-SVy3^xHXWP|?pI<50|wT8V|B(t2a+rS_7f7kz; z{C{@`%x&rZ=g!_<>8t<$J^r82c>3m;F3Yl#ReEmi$-+~@-!TRp#%0Bx>rZFV;o6Iy zyI&MhRzeC8^cRGG6n)V%b^8;qLQ;7I2K2>83N@}nn6b1j7~LAQg)E`@LF77gCu$mU z!NXfBuK$&HG7I`zA^#BJ6*S^4QrhzDyZFu~o!1|}wfWgQn=pUPtxdx??9{qFyf42- z&Htp0;}^Uk1AD_EM7)6;9vb$f*Kc!r6l}eyO!P^;R>VTU>mh!RmP%PCSp`5`2}Wp^M+2 zh)LwG7tVbA-KdAw(o^NzbE~xE^T*YVn4&>!VYAI!Nn5trBaXymfDyApUqpQt;+hJ-^I#t`5Gpe^?E#P%Wmwgdexo zPD!I}t-`b(McZ13wzZ7bTZQo+MeD6Y>m|{emxJ2TOlo$vnlrm zdbF?7?KJwCU=2R}r9eI@t5CC~O)MhaAe`f`n`O3{TBhtDCmuGmNVZtEUPeSUe3#-6Ms7|$AKkKdoQr8F6Yj*^pf4h)~JpSP03%Uf4V=DLR z#l1cJWh`$rTkX?Iqo<|<=)Q5*uBF?sQ>QxAob%@Ltfd~Dm+o43IL&U>-qvbwyLm&* zlpe8iS*bQ!RaoV8m*|gzX-_65`J(N3_@j+A*(I&1W^c0F8}O-E0Z+b-Db*aO=P~>m zJbCDrFE5@0e``mzvs&}0)~wcR9Srgt+06xodE=-KyjEMMr>!R8(`zRaI=M;$GH*<7 zlvV*)tZI2+q~5KJIiuew6TDet4Onf|Doy#aB`c>pDZh({Xd_Rpoyl$<)jC~FrLvo# zD8!#J6568PSbY==WL=^4`lnj88`l-Go7jO0T^=S0f22A!Oyj6>bVLyJL@%TM(mRWF zbK5)X9b(_1j6v9589b^TSI!&V6wo$6$vc3$r$m-W_)luh1QKX1t${sj09Mz*5nSm| z=6#GIW=h>y_V6G9gp13y?I?lSj+R!2j@9ASbzy*(T{LL{4Onkh8|Oz<@iFVxp-kRF z=MY*;28LvS#pCajuM!vmU6aTXE&)4}_Yyb(zLPK$cz@qDlR;U%+K!^vbi-p8R3PIi z>7?E{!=L!u+#b*iB=TKApWoptb!PlF80D7!NWCRTmtgSLqa9))WICgw3m(ns*uc2$ zjMdAV6BhXRww|uU3}#ag3o%^a#Uq?5U(%DW=56^ww3RHvAY(J%{r3zG{IV=XtW_?4 z&a)h{|9`r6Qg6bs!G|<*GL7aiybXs1b)a!0KEcD%_BHgE4w6tM4Fww{LJrxc9?e4= z4>FrB>WgsX6=yCTL~vqGziFf{3h`KYBAA5^r;Axcy1cigZeMa35%`WypF8$Ua1u|8K9!anMxB3DIzJK09g|Oj}hg49KnUg5SFF#o-z70XK zB-3S!xuTadL{!d6UrP>SodU-tL*@6lm@7|tI3;nmOWljfy6QfREGctqvCFXn3_BpwGK4OnV4IJ{>SmpzwD#f$Z8f5Bmr@55T#&@9a`J?3pjCV99c*U=xw1@w330^{2u#n zUNduUs};sh(xz?P2JN0bXU=`j%$&K&aA zAd#OaMUNg%(`QOO*xq|8h53n64o#**$??-erqX`oH1o2F1D&(s7jHO2Z46Ftj?zY?!G$qX0wpw@_$(7 zW;0Cjavaio8LZ&LW~2uqa_A$a?cO6IQ_|#-(@X;14*fibHW$_amMfCYGo`}Vkx9}` zecX(M&_$9wZAQvZBFVCr`p~}j?BV{-)4lye@2g96`JQY&_5tv_`--kVdFX$a6qkdx zO%a49xjfJIANk+u)qPWz*Z;0b$baLrz>>vJ*^G=h9N(O1oM}om&z}jk+5e-lqX7I^Z3r7-+#$D*}dvF zli&8=$zL}0QPRd)Hu2K+mA++WoaBj8-tktF(#eIO$(9@#tPRBbd~?2D&%; zGC3b8Abs470@=@|d&8HL%qH{WrYA9xWb?KeS=rF0JaLMX25q{x&4}55Q>A^;beNU} z-%P@01hX6YAWxJ6Mbq|(lYiuKGs>uAL8pR*&1lp+(GT)ODRv;u7?w+MBuCj7Dv=wY zIm09}+wY0@x*6qeS>EYZAL06w5z~>r>|yzdP}I7 z=H*iO;jRvMw7;9@=s?gyS&zXabk3uwaq#THgWcyl2kYKr+~`6D9e;)yQ7MJA9?y~Z zDCHH(n`+U*CR3Q{h{?XcD#>RoW0TTCi7-41Dj=pbz93Oc)Wx{lE6Ro-oRph0WgzX9 zNR5c!dYy)oxP!CU0~5=|fk$`}v!_%iE|FH0<`fAulbL*(urPDcwBQ8O3q~%zz@%#8 znyN!44K>6UF|~E|G=CO&2xGE&LC2<7n+3s@z8_9x9@cLpcV|RwSn$)F=1wQ+uWm+` zf-G)cK6*~f5IRuBp({XCiA^JHEIK$9d3bfx%H&H#H^P(L*ydkbgLH}4L=@dP#Ow3K zw^klY1kcvtvx8738!deFaGM6r)VMx(2Y-BBf!x?uP?SCYx_=tVAg-H3vQDVo2yxeE zgt`lx)y42m0BMGq4f5i`-5TIoi81UkI6F^xV5G+kZpB_1FBnTj^hzk|8nEAt6gsJF znB8sjl}fAG|A`T-b&zVHjz(a-UCZc zf;U=aKt8S{Xn)*HpHZ&}{NNcVblq_23t`o;EE;X(%Z;Vx^76)T<18^dQ*4eJOYa)* zg0#`brOjVx_Xe#XLl4yOvFg5?PH}&qY~X+S^3iZPUOv??MmS^yL%fk+R2mhCfGQZY z{@A{+vM6T(qM}}_TK#;3H*|}%0 zParTjlRLeAhay!r^=icpT?;TJ)0xL(lQY;QU~lr-E|Lw{b6(7Ey~EXPl>$56-g)vv zZ8o_UD}S8Q9mUn#ZH0dy4!1H7uG@xH5I0%{kG^cQD4Gt-kdcpk?7iWyLOvb#?(V!iq6-OIYgpe!6fx!ObbHXzfHv=`9 zK`K&?4owkLB8s}iiVh2dUUy3`9AR#w0w^34QGa-KyKd$B=3dVxgcqkq{8#pkCR!>h zTnjJoVJ9~nH3-_D{Jl26KDj?+f&4u*^qd&Y!Ikt|EgI2hscFf(tYll6x%noYV`3Jf z&8^4O==S0Mvz^U=_4ir%l6x-iD;%}aX{`n8=biEEbR6laUAQ!>$)2#MUUhNvJ~o7q zgMWA8-t_$ZDv7_VZq_G49>{$fw~?(!+{%+qKA{ZT+tN!n z`ZdsBd_70B_2WZ=PCxhQzo+!ygV^=Cy3{xvWvupq`>DA4?TwH-lbYA=B9tKEX*N3p z4(fxgM+ZTJMgC8iBD&U)s~M4ddH8 z6$ax)CFHdd*f+PAKMyndxEYMKH;z0}$N%@cP1P$ZXvEGS#=cEn{W*8P#oUz*Y_xmd z?8xAT$gsKdZkTEt@%igM9aAT}_X)MjO;SWTXoKS~L>Z9i%Ucv_+Pb;3ETZI+27j>6 z2R>Y2V%~Z+y6C;~81NffcBK9xLh_#v7rtg_!+Q&zqf4gYh9OwrFgl_OvClMUE}TVr zXI8E9wWtC&}#tACTglg-MpKPQV?S_qV}1`Ie4A3 zM{mC173VG$D`KixX%YL}fH%;;uFGRBhG@3s=k)|Y{LK@ym`t%JQ88TZ?0-G-!rW_Q zU$9j1;B$_d6>g~Ioc%evJU$Qm-FLIHGako=5}%I1;&pAQE53##RK~LuKirp}gP$JL zUp7kM<&M$>6ti*f+3q8Ezl>E~E)~%tJf-e=T`#Cbb%UrW8Bx~xwf;WbTo`{T%@;2l zFMh68kB*jJHjn7vr_IwuX@C1{R0_jemA8UpmXvFq5zMh2x5v$>6W|$!MhN{B*X}&AYDvG^wiyTa!X`PdaHkWF?yvB@)m$xDfTv&*ujY;#U z+5DupL2aNab-qwrzTABAGi{V=b$L1Q3&Cktefp|wE4Tr26_)M^8GkY7nW$&SP#E`C z!|?4byC^)y-9kdSUNb1GBkQ@5(eHs98NYL{Hj1KzI`ejRFtmJF0k+|=G+$g7VMY8& zT!%SOT>olig{p;5q3+pv){Cc~jV~_ax5S-q*t$Kbgx@_+$ApK>Sm98=A>i>wCv04I zMB_Z#p9SDGxF9%K-GBHO^v$-*&f6_oRiF}9J zWgamz?gQTZuefV=U-5>oR#3DaJDCyCxqG(b!JKmGIZ&u`rhgU#O-Iy!^P9-%a6O=E z30boOgJ*pva_Z7{6l7^Q@=Fz3YIZ@)8VuZ2C`?DCt$OZuk^&QCY1i=|vayvCX=ICY zBBAAmy%O|_Xl7sD!wm=#sIsnxpc22+P?j7{(qRuy^56&57H3zJ(;Ti+wICs$UOGsrwIbRU zYg|Of7^lBX`{UHc^pH3YaFdvdzqE>sFkvHZ6VuT8WYRpLV;rlbzHif5#J@yuFaY!=X}5p-RsHE;UTK!5(FWdwDV^%#FST_4sXR#I7K zf2)dL_+dSY3aH0VK@HwZfaYwC1ytrrc*E;*N&Eb_0IJ_!rz!0Uc9AxpOab9_G!1toH1iUH|Lx%#QfrrBVVRTzc`mT^Gog*JoC8_#S>Y%dZ4s zMG+6A8Gk@Ka2PNhC^JC*spy}P!E$H-t@~$k92{ws;pz8#PkvgDMITl8F#d!1Z(76` zBn#1DNe|gw%n-b1s|Sp=$T6&VBiMGg+Na?rHRVCr(09yMNLzOuNwEc7-kIZ8EPjB2gn0Gv4NAtKU6A2HA3 z{C_H+q~|evV~7`V_8wg2Kg4vR!Zq}y#s}+h%JH$%9!xYEPxf}6LlyW>&y0U8|39KC z_}jb2xyk?67pq18U#nky^~In5fBqH!noA$+$0d&67isZECoWX{S9x)P+>MZ#QBVKY zmD%h(E1$2et$p?7%2(|F@z4GLulZ*dd58Gn zb0P;O8cNbcfWTo6lE4ISY($3;MZRJ(%_JtmA46e`w!BHDQ-3(^3>tr)@c$wE-+wuq z_!sW~)wQ)RR(=0}D}4Tc@ztOE|6k+(&-wflhkuhkt%1Q6djOOLVH^O~m+Cg0EM7`| z{eAgCzWz+4*gu{8{b8K^o!@QuPlmnpWbuWIY5#a@d!L;V9K2kPU$CP6$#l5*q74Oz zvMeuaF4H_PrG*!(o3)qpzd}2Vfq%0x&wRN|1Q;5E*nV z71bZ7gDX15GhBQj#)yefLJ+%Y57sBWtjhtVWYO_AAqSSB5w7?lLHoxkdXO}D#>#v` zuHDWj{1*r_w*IDcP$J&@rnDjMs*!D5lhG_*QaAK@!ZHR1>nN7V0m@yQ!- zXaJ`K&z{icne9An&lhZ(GwQcZz>fsSND|TRqiH;6TsY3<&btJHuzNIJXm5Wan~OHw z6~cc5hP|i(tn>b`e?C1o+l#i;(+oxq>`X)vs;o=yWkdJ>i|Q)ygnyiGjJB55GaWF( zgRR4@M~g4+iy#a`5m#4azfgmBpX?smRx_kp!(bQL3~lX}k5z8FDzGff@msngc-#!R z%^1h@-Rvc%>ch#MWEl<3GY&ZIIuY1jd1zj)DvulGW1|pojZMrU z)$A;7J$sIWxxMrJ>DH6`@ooRTpID^RVfBCGba()xoN)%t?tfeZemR;*$9M6?NtS`; zu!EMT6Ku$8r`zsKFWb25q4p-K*Vd%$3A;mzg|aXeECXBia}JwFsPc|2ku1ByjRw7C zV?P0DGS+)1G%C|^o-TX5JR&`xWkZfrM$pY&0K(1h)*r%D4B!STqNp2ZwO z9W)q0H`y{RC=v#@}eJ}QY!n0?hkUFJafiNTtUA|j_K(47sI911Gdxo zY`&+SSvY30mOrRDbRxy#yj!SR>`MV4|2l4Xy!sS@uuWqwv^Sq}92SqO*0mr@(DSQ+ zb0h%7A%FXhX~V_hqd_QSUA3|s`F^slb1ls@As46l6r?kOIqQtii9E}VM=!hZDOZBM zi3LE#;5|)v$8q*rHXG=DEG7=O8V(07e88d>*u7wy#$zDCJG)HaAtOj9t^}ugf6!qB z^PXwNg!NBOToh0qN)7pHdcl+D6*e&+FSzRCbbp;EjR-{j-b#)_yY%E$dO1QQI|ri@ zuhY9Wthscw*jPHMRbHtNITLYGYEZ(a`gr%?022F7&K2rwt8!F*%U1r^)X4K<4=d)l zahuXZ^aiAIX#Q%ocxBm4D?yqf5bBqEH+rciw!H2g4&&(jVVODu2az?F)ApItC! zWq&NlD^Gbya}T>55Bjt!wzmy|#(7RAG!)aEB@xjbzf~A0nSF;?IU;eclw5_EbS0QN zUO8LJzVfQ#lbI_3lx5yIS=<>Aan6B;3%iCtq9t}wV#(?O&>MFyjyt%4*X<|AqspK9zNB7M8!bFKDFW!jR%RBUnmaeY%dG?(fi2T70qA_+m{~OdK$qFxjJDpTk60bAJtq z;Hp}W!BSd=G}hv5ji>bfEsApkDC@zqdk2ST0-Fq$Bnw>2F7Su;lf6U3-FoH9zk2`* zOd!Un{lnIyXFF}_LsbU`WWkz^eX4b|MHp{>nlBzZXy_tfoJ_+_LmeSle5 zj9vsrd2bcMb;U*1FzF2I+Qnfdh<}d{9=3P(_xFf0f8otP2Zm;^3Vbr*mrP@yZTI6EG*bM_tW<-}a5-8tP zl2PJ(3KsZ-sDjjyOL?sddy%851P8dNzY;RYV>F@LB_}RPn zw{7z)DbJoFftp--NS{#hM~GprbiyZT_l!*?a~@@(OAw7bV|KO!cI*_P>1jw)O9#o) z|ItL;c4xWvVoa-SlnD#yjgyI#Z8?DpCKF}xiYQ%n>+CRYZ`U>)wSOrB{IIRBYS~IV0jJ(G0eT z-~YV#?C|NcLkHw1i$+VcvlL7Hk(Xu=!}P7~zsuK9*1Elo!!LdT^Yd=2Ql$kWtbkc< zZ8i;bf>A&s2FTU{hc|N%sfUStD3}?0y zNcy{P=xlG>QvEb{mB4rnt1>u^o&N&wIEH~40aMom?l|V%&3|$zBN5xG=cm^^kC1=NN|=Dv%?7oPxU`&=0aPgJEr3 zAP?N^b|4f1qQ@QvFxsi#KdnD|&TXSIJut?ezuZ6G~vDslTpT%Z$d$SGuQIAxWXdH{slxN#pTp|hzghPhq z<}sPTv(AY5(q2lZ3Z!YB5qpt`q|RI2gznj`JY=+HUVj+|OL-2*(=YEPc}%m2ChTsz zV;x>b2)xWh*tiZvb%4Q_X6eZZ8jzjnfvPkcBs_q}y*2Y%=pzH+Lu@)`5ACkI;-!n* z7l1f7w1NyBLkK2C76c7l6bUYP&(3YZ!+qp?{3;@liaJTt&02ObB`@P|4% zfyA0*i|*n$!dR8dfKZ!EN7w@*Xk-%n9P(s;CV#CUN^VIFtXyHR^oZ8*#keyfB4~UX z>>y>zst2wGMRii*42y}PG-LouXn*f7bxGzF}v#s9nge6DE!YDNa zh=QWM@01w2M45{UL!K(G#_({M2rR^9;U_#Y^}KVXfCycW!3Su+O;iac_)!)}OPH49 zynhSfudyLS01MM7VW!RqZKQ;HjWL6i22lA<@9S#g zOa$i!$U#PPPhDMIiJQm$VKYB#1PyC0>3<=$)J$e8;;cQv5!QRgThC$Gbu6#!6YM(Z z$kWXKR3YH_bbb=K1tIo1Jm^Win=l$q>RG~LD&a3)n;DKPy-t31o=v)$PmZQp1SX@Z#oe*sFkHn1qhh}R z8eUQJE8ZJsI3DG6bS>FBnWTEhIDhG!E)(I?rGf9~=Q#@oSTE&@57xRAT{gG+$zWii z@R}EWyPj-&;m=`+@LWrG?v)9-QvVRIeMs#?w zv9t-RAd}vlb#e;_!v^m1DxHYnJx|Sa%eW4JYtvyiJv}o7#3@mu4$(6?gZrb-YrB1L z)1x{Qe2EmO4)xDRovt^?W+l&E#l>}8TrI=2ChoXR5=Sx8`P0s{>?*gBG1a?Th(L{> zHM37#cD4I#74TF%IUkjNI)8kcxx!V6{a{HLLm<#(RfEnI@VOtjHHg?`v!vrOu}LP^ zDRCS{lwNG`cX1f{>4xH8enfFQavxBz`WCW-IvBa@xSoUG6MR2Y$R{R2&(jzJEo1r9 z0Rw~&WCU()sIh`Y?|~^{7Mk?)d*M(`jl!@h-@5=hZQdU~W)Uqxd!!TS55+w-M-A140s+Q2p`KW$xZr zjTJsozG|%Uh97iz8&31V)w(ShBkMXbZ;o0qU0j!XS?N z02gMT4Q>{A*R!B*!{ZpV;leP_B69u_r@qX(Hs&$iTKlbeD+2to7Tm_Dn?@Bo31YjA zkc9*N`Bz{sJXemwCz+VJ?>Xx}p~G${n9WFMDz|9@PD#k4sDCM7X`G^;$RCTMXNb5h z$6$F|j`X3tkl{v{1F))ka;s9%)1!4;6o!`Q>8T*JTuS>gF1L=POS4Q@U;CpoLzCZF165Y0}pI!}iXTt$UAld?{SrObxFIH0+>FXU$W! zNd)itqF$F7t$&vmLyn%PvW`<6esPW)6>o^sOXQ{*$gz;h;P?9Z%@yP$R!Abwloob< z(mz)f7{1!NC7C5l&z=BIe$?`B(9IDG3O96M+DeWRl^U>@(pEyh3EvYIHV2o(fZo1Y z!A1@1oqIW2mdydN?VMY_kV7sB9~vG1E~p*7Afa*h=6}<)z3~wm1K<2_XbiM(y#9Ev zszBiy=7x(D+S_kg7PmJ*;7U9G%=zXB;DQk}C$)+?-az#l1U@z`b1~vx5^$Jk@3X$2 z83O@Av;8QYB-GPEhZv>KiC9iEM%P$Vyq4%W|(NH;J$Hm_pdQzqgM2NYu|N zKs=s|Du4K9)+k|$ki5r{J4HFHGZyKiP#wnpz!=A@VD`Xuu;hfW&Gyy-6bbYqpM5|D zR}C+gj*=y8Rj1C2l`M>*6T)Q$p7!g zeH+nK>@8zrAOIROsBu~!PlrRZ3Y~Iy-lcu0@>&c-t8xlhm3R^71~G4Sb@NDRj_wu=`#gX6S6vH0EG zJiT}DV2ETcPiP4~dqSiwlM%YS_-pXNte)8~=O?pi<1VL(Yca$6px=4p{B?9q6v}%~ zRwa=?{_G7o0Tn$Nv7gbh;=`z3XMaVKH~o&sEqJsG6HtAXlN%OUj@uhY8D-=^btXhc z=FYbiN#kjz0_(=p0X@!a26OwI5cXj?GHdKgY-=nFvz5ZT!7C9(%W8xeHsB|2CPHRa z<(SJ5tf0rIki(bZ9X-h33VUvRFQuafbhdCSgd}^>mjzXf=G*;@(LSFhY<~=qjh*L- zU#|xH<^Kjz>+K6-=R_-!FEu7v7N1YMXDsGA*Si&w|MKD=vUe^z1qjGhHXU0`#HG9G zcp^e6NYn_%J+V;$%>lt2Eq&C~iI4lIv{<1k%Z8f!sjB09x>vx1fwuuq(@OKSx7&Mx zJ)tX3Ys|M^GpV)cMWMXYu73`#HPw7>IaYf&A{3wO)oBmyKG}I$D=YD0?%OGPOkJX4J5j(B(M|~n^
K&?T?XVksF^ldrWl(Su3X>UD(Tcw}4 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 delta 66060 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 diff --git a/doc/automake.info b/doc/automake.info index 4132a33c7..c285e76b7 100644 --- a/doc/automake.info +++ b/doc/automake.info @@ -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  Indirect: -automake.info-1: 1081 -automake.info-2: 301558 +automake.info-1: 1083 +automake.info-2: 301994  Tag Table: (Indirect) -Node: Top1081 -Node: Introduction14332 -Ref: Introduction-Footnote-115741 -Node: Autotools Introduction15900 -Node: GNU Build System17282 -Node: Use Cases20030 -Node: Basic Installation22158 -Node: Standard Targets25744 -Node: Standard Directory Variables27347 -Node: Standard Configuration Variables29204 -Node: config.site30563 -Node: VPATH Builds31989 -Node: Two-Part Install36047 -Node: Cross-Compilation38491 -Node: Renaming41457 -Node: DESTDIR42615 -Node: Preparing Distributions44797 -Node: Dependency Tracking47167 -Node: Nested Packages49275 -Node: Why Autotools50791 -Node: Hello World52433 -Ref: amhello Explained52855 -Node: Creating amhello53027 -Node: amhello's configure.ac Setup Explained58382 -Node: amhello's Makefile.am Setup Explained63303 -Node: Generalities67003 -Node: General Operation67697 -Node: Strictness71121 -Ref: Gnits71255 -Node: Uniform75155 -Node: Length Limitations80052 -Node: Canonicalization82363 -Node: User Variables83435 -Node: Auxiliary Programs84925 -Node: Examples88862 -Node: Complete89732 -Node: true91837 -Node: automake Invocation94328 -Ref: Invoking automake94483 -Node: configure103098 -Node: Requirements104027 -Node: Optional109265 -Node: aclocal Invocation119008 -Ref: Invoking aclocal119169 -Node: aclocal Options122207 -Node: Macro Search Path125917 -Ref: ACLOCAL_PATH130291 -Node: Extending aclocal131861 -Node: Local Macros135560 -Node: Serials139543 -Node: Future of aclocal144763 -Node: Macros147113 -Node: Public Macros147654 -Ref: Modernize AM_INIT_AUTOMAKE invocation149277 -Node: Obsolete Macros153759 -Node: Private Macros155101 -Node: Directories156551 -Node: Subdirectories158146 -Node: Conditional Subdirectories161538 -Node: SUBDIRS vs DIST_SUBDIRS163219 -Node: Subdirectories with AM_CONDITIONAL164857 -Node: Subdirectories with AC_SUBST166051 -Node: Unconfigured Subdirectories166878 -Node: Alternative170336 -Ref: Alternative-Footnote-1172488 -Node: Subpackages172613 -Node: Programs175968 -Node: A Program177510 -Node: Program Sources178233 -Node: Linking180138 -Node: Conditional Sources183782 -Node: Conditional Programs186710 -Node: A Library188600 -Node: A Shared Library191277 -Node: Libtool Concept192281 -Node: Libtool Libraries194371 -Node: Conditional Libtool Libraries196105 -Node: Conditional Libtool Sources198562 -Node: Libtool Convenience Libraries199949 -Node: Libtool Modules203376 -Node: Libtool Flags204692 -Node: LTLIBOBJS206603 -Node: Libtool Issues207238 -Node: Error required file ltmain.sh not found207579 -Node: Objects created both with libtool and without208800 -Node: Program and Library Variables210716 -Node: Default _SOURCES222876 -Node: LIBOBJS225353 -Node: Program Variables230580 -Node: Yacc and Lex234125 -Ref: Yacc and Lex-Footnote-1239753 -Node: C++ Support240016 -Node: Objective C Support240878 -Node: Objective C++ Support241834 -Node: Unified Parallel C Support242839 -Node: Assembly Support243817 -Node: Fortran 77 Support244989 -Ref: Fortran 77 Support-Footnote-1246656 -Node: Preprocessing Fortran 77246859 -Node: Compiling Fortran 77 Files247463 -Node: Mixing Fortran 77 With C and C++248075 -Ref: Mixing Fortran 77 With C and C++-Footnote-1250398 -Node: How the Linker is Chosen250706 -Node: Fortran 9x Support252245 -Node: Compiling Fortran 9x Files253273 -Node: Java Support with gcj253909 -Node: Vala Support255390 -Node: Support for Other Languages257663 -Node: Dependencies258371 -Node: EXEEXT260258 -Node: Other Objects262498 -Node: Scripts263080 -Node: Headers265939 -Node: Data267734 -Node: Sources268419 -Node: Built Sources Example271424 -Node: Other GNU Tools278596 -Node: Emacs Lisp279125 -Node: gettext281222 -Node: Libtool281910 -Node: Java282169 -Node: Python284828 -Node: Documentation289863 -Node: Texinfo290167 -Node: Man Pages297352 -Node: Install301558 -Node: Basics of Installation302253 -Node: The Two Parts of Install303783 -Node: Extending Installation305323 -Node: Staged Installs306087 -Node: Install Rules for the User307500 -Node: Clean308058 -Node: Dist310230 -Node: Basics of Distribution310734 -Node: Fine-grained Distribution Control314907 -Node: The dist Hook315834 -Node: Checking the Distribution318364 -Node: The Types of Distributions325671 -Node: Tests328824 -Node: Generalities about Testing330020 -Node: Simple Tests332960 -Node: Scripts-based Testsuites333341 -Ref: Testsuite progress on console335714 -Ref: Simple tests and color-tests337807 -Node: Serial Test Harness341830 -Node: Parallel Test Harness343920 -Ref: Basics of test metadata344426 -Node: Custom Test Drivers353519 -Node: Overview of Custom Test Drivers Support353810 -Node: Declaring Custom Test Drivers356862 -Node: API for Custom Test Drivers358284 -Node: Command-line arguments for test drivers359056 -Node: Log files generation and test results recording361770 -Node: Testsuite progress output365985 -Node: Using the TAP test protocol367407 -Node: Introduction to TAP367769 -Node: Use TAP with the Automake test harness369553 -Node: Incompatibilities with other TAP parsers and drivers374976 -Node: Links and external resources on TAP376377 -Node: DejaGnu Tests377969 -Node: Install Tests380097 -Node: Rebuilding380407 -Node: Options384501 -Node: Options generalities384802 -Node: List of Automake options386583 -Ref: tar-formats393990 -Node: Miscellaneous397503 -Node: Tags397848 -Node: Suffixes401044 -Node: Include402676 -Node: Conditionals404411 -Node: Usage of Conditionals405269 -Node: Limits of Conditionals408627 -Node: Silencing Make409812 -Node: Make verbosity410168 -Ref: Make verbosity-Footnote-1411490 -Node: Tricks For Silencing Make411564 -Node: Automake Silent Rules414071 -Node: Not Enough421049 -Node: Extending421505 -Node: Third-Party Makefiles426539 -Node: Distributing433598 -Node: API Versioning434247 -Node: Upgrading436952 -Node: FAQ438997 -Node: CVS440121 -Node: maintainer-mode448557 -Node: Wildcards452732 -Node: Limitations on File Names456170 -Node: Errors with distclean458800 -Node: Flag Variables Ordering463742 -Node: Renamed Objects471751 -Node: Per-Object Flags473346 -Node: Multiple Outputs476356 -Node: Hard-Coded Install Paths488700 -Node: Debugging Make Rules493844 -Ref: Debugging Make Rules-Footnote-1495990 -Node: Reporting Bugs496168 -Node: Copying This Manual497806 -Node: GNU Free Documentation License498036 -Node: Indices523340 -Node: Macro Index523629 -Node: Variable Index529479 -Node: General Index562289 +Node: Top1083 +Node: Introduction14520 +Ref: Introduction-Footnote-115929 +Node: Autotools Introduction16088 +Node: GNU Build System17470 +Node: Use Cases20218 +Node: Basic Installation22346 +Node: Standard Targets25932 +Node: Standard Directory Variables27535 +Node: Standard Configuration Variables29392 +Node: config.site30751 +Node: VPATH Builds32177 +Node: Two-Part Install36235 +Node: Cross-Compilation38679 +Node: Renaming41645 +Node: DESTDIR42803 +Node: Preparing Distributions44985 +Node: Dependency Tracking47355 +Node: Nested Packages49463 +Node: Why Autotools50979 +Node: Hello World52621 +Ref: amhello Explained53043 +Node: Creating amhello53215 +Node: amhello's configure.ac Setup Explained58570 +Node: amhello's Makefile.am Setup Explained63491 +Node: Generalities67191 +Node: General Operation67885 +Node: Strictness71309 +Ref: Gnits71443 +Node: Uniform75343 +Node: Length Limitations80240 +Node: Canonicalization82551 +Node: User Variables83623 +Node: Auxiliary Programs85113 +Node: Examples89050 +Node: Complete89920 +Node: true92025 +Node: automake Invocation94516 +Ref: Invoking automake94671 +Node: configure103286 +Node: Requirements104215 +Node: Optional109453 +Node: aclocal Invocation119196 +Ref: Invoking aclocal119357 +Node: aclocal Options122395 +Node: Macro Search Path126105 +Ref: ACLOCAL_PATH130479 +Node: Extending aclocal132049 +Node: Local Macros135748 +Node: Serials139731 +Node: Future of aclocal144951 +Node: Macros147301 +Node: Public Macros147842 +Ref: Modernize AM_INIT_AUTOMAKE invocation149465 +Node: Obsolete Macros153947 +Node: Private Macros155289 +Node: Directories156739 +Node: Subdirectories158334 +Node: Conditional Subdirectories161726 +Node: SUBDIRS vs DIST_SUBDIRS163407 +Node: Subdirectories with AM_CONDITIONAL165045 +Node: Subdirectories with AC_SUBST166239 +Node: Unconfigured Subdirectories167066 +Node: Alternative170524 +Node: Subpackages172711 +Node: Programs176066 +Node: A Program177608 +Node: Program Sources178331 +Node: Linking180236 +Node: Conditional Sources183880 +Node: Conditional Programs186808 +Node: A Library188698 +Node: A Shared Library191375 +Node: Libtool Concept192379 +Node: Libtool Libraries194469 +Node: Conditional Libtool Libraries196203 +Node: Conditional Libtool Sources198660 +Node: Libtool Convenience Libraries200047 +Node: Libtool Modules203474 +Node: Libtool Flags204790 +Node: LTLIBOBJS206701 +Node: Libtool Issues207336 +Node: Error required file ltmain.sh not found207677 +Node: Objects created both with libtool and without208898 +Node: Program and Library Variables210814 +Node: Default _SOURCES222974 +Node: LIBOBJS225451 +Node: Program Variables230678 +Node: Yacc and Lex234223 +Node: Linking Multiple Yacc Parsers238439 +Node: C++ Support240252 +Node: Objective C Support241114 +Node: Objective C++ Support242070 +Node: Unified Parallel C Support243075 +Node: Assembly Support244053 +Node: Fortran 77 Support245225 +Ref: Fortran 77 Support-Footnote-1246892 +Node: Preprocessing Fortran 77247095 +Node: Compiling Fortran 77 Files247699 +Node: Mixing Fortran 77 With C and C++248311 +Ref: Mixing Fortran 77 With C and C++-Footnote-1250634 +Node: How the Linker is Chosen250942 +Node: Fortran 9x Support252481 +Node: Compiling Fortran 9x Files253509 +Node: Java Support with gcj254145 +Node: Vala Support255626 +Node: Support for Other Languages257899 +Node: Dependencies258607 +Node: EXEEXT260494 +Node: Other Objects262734 +Node: Scripts263316 +Node: Headers266175 +Node: Data267970 +Node: Sources268655 +Node: Built Sources Example271660 +Node: Other GNU Tools278832 +Node: Emacs Lisp279361 +Node: gettext281458 +Node: Libtool282146 +Node: Java282405 +Node: Python285064 +Node: Documentation290297 +Node: Texinfo290601 +Node: Man Pages297786 +Node: Install301994 +Node: Basics of Installation302689 +Node: The Two Parts of Install304219 +Node: Extending Installation305759 +Node: Staged Installs306523 +Node: Install Rules for the User307936 +Node: Clean308494 +Node: Dist310666 +Node: Basics of Distribution311170 +Node: Fine-grained Distribution Control315343 +Node: The dist Hook316270 +Node: Checking the Distribution318800 +Node: The Types of Distributions326107 +Node: Tests329260 +Node: Generalities about Testing330456 +Node: Simple Tests333396 +Node: Scripts-based Testsuites333777 +Ref: Testsuite progress on console336150 +Ref: Simple tests and color-tests338243 +Node: Testsuite Environment Overrides340365 +Node: Serial Test Harness342964 +Node: Parallel Test Harness345054 +Ref: Basics of test metadata345560 +Node: Custom Test Drivers354653 +Node: Overview of Custom Test Drivers Support354944 +Node: Declaring Custom Test Drivers357996 +Node: API for Custom Test Drivers359418 +Node: Command-line arguments for test drivers360190 +Node: Log files generation and test results recording362904 +Node: Testsuite progress output367119 +Node: Using the TAP test protocol368541 +Node: Introduction to TAP368903 +Node: Use TAP with the Automake test harness370687 +Node: Incompatibilities with other TAP parsers and drivers376110 +Node: Links and external resources on TAP377511 +Node: DejaGnu Tests379103 +Node: Install Tests381231 +Node: Rebuilding381541 +Node: Options385635 +Node: Options generalities385936 +Node: List of Automake options387717 +Ref: tar-formats395124 +Node: Miscellaneous398637 +Node: Tags398982 +Node: Suffixes402178 +Node: Include403810 +Node: Conditionals405545 +Node: Usage of Conditionals406403 +Node: Limits of Conditionals409761 +Node: Silencing Make410946 +Node: Make verbosity411302 +Ref: Make verbosity-Footnote-1412624 +Node: Tricks For Silencing Make412698 +Node: Automake Silent Rules415205 +Node: Not Enough422183 +Node: Extending422639 +Node: Third-Party Makefiles427673 +Node: Distributing434732 +Node: API Versioning435381 +Node: Upgrading438086 +Node: FAQ440131 +Node: CVS441255 +Node: maintainer-mode449691 +Node: Wildcards453866 +Node: Limitations on File Names457304 +Node: Errors with distclean459934 +Node: Flag Variables Ordering464876 +Node: Renamed Objects472885 +Node: Per-Object Flags474480 +Node: Multiple Outputs477490 +Node: Hard-Coded Install Paths489834 +Node: Debugging Make Rules494978 +Ref: Debugging Make Rules-Footnote-1497124 +Node: Reporting Bugs497302 +Node: Copying This Manual498940 +Node: GNU Free Documentation License499170 +Node: Indices524474 +Node: Macro Index524763 +Node: Variable Index530613 +Node: General Index563584  End Tag Table diff --git a/doc/automake.info-1 b/doc/automake.info-1 index 5771278bf..57b58dbbc 100644 --- a/doc/automake.info-1 +++ b/doc/automake.info-1 @@ -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. -  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 +----------------------------------- + + +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’. -  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, diff --git a/doc/automake.info-2 b/doc/automake.info-2 index 332bd6783..c195529a4 100644 --- a/doc/automake.info-2 +++ b/doc/automake.info-2 @@ -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:: + + +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::).  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) diff --git a/doc/automake.texi b/doc/automake.texi index 0a0da6168..ab4e2aeb6 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -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 diff --git a/doc/help2man b/doc/help2man index db8bedf3f..a8bea9896 100755 --- a/doc/help2man +++ b/doc/help2man @@ -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) # # # {GNU,Free} -# ({GNU,Free} ) -# - {GNU,Free} +# ({GNU,Free,} ) +# - {GNU,Free,} +# - {GNU,Free,} - # # 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) diff --git a/doc/local.mk b/doc/local.mk index 7bd1f3907..f61a7288e 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -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; } \ diff --git a/doc/stamp-vti b/doc/stamp-vti index 583ef9568..43622a919 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -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 diff --git a/doc/version.texi b/doc/version.texi index 583ef9568..43622a919 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -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 diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am index f4a0102d2..e7f6ba895 100644 --- a/lib/am/header-vars.am +++ b/lib/am/header-vars.am @@ -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 diff --git a/lib/am/lisp.am b/lib/am/lisp.am index 6029ee343..11b5e5842 100644 --- a/lib/am/lisp.am +++ b/lib/am/lisp.am @@ -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=''; \ diff --git a/lib/config.sub b/lib/config.sub index d80c5d759..d74fb6dea 100755 --- a/lib/config.sub +++ b/lib/config.sub @@ -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 <&2 diff --git a/lib/py-compile b/lib/py-compile index c45a77de2..81b122b0a 100755 --- a/lib/py-compile +++ b/lib/py-compile @@ -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 or send patches to # . -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 diff --git a/m4/amversion.m4 b/m4/amversion.m4 index e71cdaaa6..f4acbd262 100644 --- a/m4/amversion.m4 +++ b/m4/amversion.m4 @@ -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]))]) diff --git a/m4/init.m4 b/m4/init.m4 index c5807d211..b4686b140 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -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 diff --git a/m4/python.m4 b/m4/python.m4 index 56d9eb2bb..4e7de9427 100644 --- a/m4/python.m4 +++ b/m4/python.m4 @@ -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 - ]) diff --git a/maintainer/syntax-checks.mk b/maintainer/syntax-checks.mk index 56f853888..6b7ec020f 100644 --- a/maintainer/syntax-checks.mk +++ b/maintainer/syntax-checks.mk @@ -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; \ diff --git a/t/cond24.sh b/t/cond24.sh index 3868ae32e..f8f2a3077 100644 --- a/t/cond24.sh +++ b/t/cond24.sh @@ -26,7 +26,7 @@ EOF cat >Makefile.am < tparse.y << 'END' %{ -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %token EOF %% diff --git a/t/cond36.sh b/t/cond36.sh index 8cfb9d5f5..78d1e23a5 100644 --- a/t/cond36.sh +++ b/t/cond36.sh @@ -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 diff --git a/t/dist-auxdir-many-subdirs.sh b/t/dist-auxdir-many-subdirs.sh index cfbb223e8..fe53cccb5 100644 --- a/t/dist-auxdir-many-subdirs.sh +++ b/t/dist-auxdir-many-subdirs.sh @@ -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 diff --git a/t/link_override.sh b/t/link_override.sh index 81787af91..a4cd62438 100644 --- a/t/link_override.sh +++ b/t/link_override.sh @@ -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 diff --git a/t/parallel-tests-console-output.sh b/t/parallel-tests-console-output.sh index 37d80b2b2..5464d8907 100644 --- a/t/parallel-tests-console-output.sh +++ b/t/parallel-tests-console-output.sh @@ -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 diff --git a/t/python-prefix.sh b/t/python-prefix.sh index 3179d42e5..6231a571c 100755 --- a/t/python-prefix.sh +++ b/t/python-prefix.sh @@ -15,8 +15,6 @@ # along with this program. If not, see . # 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 diff --git a/t/python-vars.sh b/t/python-vars.sh index 9070c7501..c6da7e49a 100644 --- a/t/python-vars.sh +++ b/t/python-vars.sh @@ -15,7 +15,8 @@ # along with this program. If not, see . # 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 : diff --git a/t/silent-many-languages.sh b/t/silent-many-languages.sh index edb59e7c9..9361b2bf8 100644 --- a/t/silent-many-languages.sh +++ b/t/silent-many-languages.sh @@ -188,7 +188,7 @@ EOF cat > foo6.y <<'EOF' %{ extern int yylex (void); -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %token EOF %% diff --git a/t/silent-yacc-headers.sh b/t/silent-yacc-headers.sh index c10fc5cc4..0582973f5 100644 --- a/t/silent-yacc-headers.sh +++ b/t/silent-yacc-headers.sh @@ -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; } %} diff --git a/t/silent-yacc.sh b/t/silent-yacc.sh index d11fc2ab2..3254d4014 100644 --- a/t/silent-yacc.sh +++ b/t/silent-yacc.sh @@ -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; } %} diff --git a/t/subobj11a.sh b/t/subobj11a.sh index e9f980acb..f9c494d57 100644 --- a/t/subobj11a.sh +++ b/t/subobj11a.sh @@ -15,7 +15,7 @@ # along with this program. If not, see . # 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 diff --git a/t/subobj11b.sh b/t/subobj11b.sh index ee63680a8..d3500a9a6 100644 --- a/t/subobj11b.sh +++ b/t/subobj11b.sh @@ -15,7 +15,7 @@ # along with this program. If not, see . # 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 diff --git a/t/subpkg-yacc.sh b/t/subpkg-yacc.sh index eac56cb1f..9e31c5151 100644 --- a/t/subpkg-yacc.sh +++ b/t/subpkg-yacc.sh @@ -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' {}; diff --git a/t/suffix10.tap b/t/suffix10.tap index 2258120e7..d233c6c21 100644 --- a/t/suffix10.tap +++ b/t/suffix10.tap @@ -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' {};" \ diff --git a/t/test-extensions-empty.sh b/t/test-extensions-empty.sh index 915bf5c9b..d9d3cd1df 100755 --- a/t/test-extensions-empty.sh +++ b/t/test-extensions-empty.sh @@ -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: diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh index cfbaa1957..d50157099 100644 --- a/t/yacc-basic.sh +++ b/t/yacc-basic.sh @@ -42,7 +42,7 @@ cat > parse.y << 'END' #include #include int yylex () { return getchar (); } -void yyerror (char *s) {} +void yyerror (const char *s) {} %} %% a : 'a' { exit(0); }; diff --git a/t/yacc-bison-skeleton.sh b/t/yacc-bison-skeleton.sh index 60e85dd85..6069489da 100644 --- a/t/yacc-bison-skeleton.sh +++ b/t/yacc-bison-skeleton.sh @@ -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' diff --git a/t/yacc-clean-cxx.sh b/t/yacc-clean-cxx.sh index fe2795894..811d46939 100644 --- a/t/yacc-clean-cxx.sh +++ b/t/yacc-clean-cxx.sh @@ -70,7 +70,7 @@ cat > sub1/parsefoo.yxx << 'END' #include // "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' { }; diff --git a/t/yacc-clean.sh b/t/yacc-clean.sh index 9ea13a704..c248e5c89 100644 --- a/t/yacc-clean.sh +++ b/t/yacc-clean.sh @@ -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' { }; diff --git a/t/yacc-cxx.sh b/t/yacc-cxx.sh index 0e163eb44..b9dcd458b 100644 --- a/t/yacc-cxx.sh +++ b/t/yacc-cxx.sh @@ -48,7 +48,7 @@ cat > parse1.yy << 'END' #include // "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); }; diff --git a/t/yacc-d-basic.sh b/t/yacc-d-basic.sh index 66c11063e..b468d5532 100644 --- a/t/yacc-d-basic.sh +++ b/t/yacc-d-basic.sh @@ -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' {}; diff --git a/t/yacc-d-vpath.sh b/t/yacc-d-vpath.sh index e0fb951f2..86ae07b0c 100644 --- a/t/yacc-d-vpath.sh +++ b/t/yacc-d-vpath.sh @@ -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 %% diff --git a/t/yacc-deleted-headers.sh b/t/yacc-deleted-headers.sh index 766caac5c..5b661d1e5 100644 --- a/t/yacc-deleted-headers.sh +++ b/t/yacc-deleted-headers.sh @@ -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' {}; diff --git a/t/yacc-depend.sh b/t/yacc-depend.sh index 27c704b3d..dc82a316a 100644 --- a/t/yacc-depend.sh +++ b/t/yacc-depend.sh @@ -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 %% diff --git a/t/yacc-depend2.sh b/t/yacc-depend2.sh index ce730f42b..c2b1b9be5 100644 --- a/t/yacc-depend2.sh +++ b/t/yacc-depend2.sh @@ -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 %% diff --git a/t/yacc-dist-nobuild-subdir.sh b/t/yacc-dist-nobuild-subdir.sh index c918c3996..8b15d2c2a 100644 --- a/t/yacc-dist-nobuild-subdir.sh +++ b/t/yacc-dist-nobuild-subdir.sh @@ -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' {}; diff --git a/t/yacc-dist-nobuild.sh b/t/yacc-dist-nobuild.sh index 5e1a2a70a..f4d3fbcb2 100644 --- a/t/yacc-dist-nobuild.sh +++ b/t/yacc-dist-nobuild.sh @@ -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' {}; diff --git a/t/yacc-dry.sh b/t/yacc-dry.sh index c9c1aa2e0..43e1422a6 100644 --- a/t/yacc-dry.sh +++ b/t/yacc-dry.sh @@ -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' {}; diff --git a/t/yacc-line.sh b/t/yacc-line.sh index 10e8a8cd4..ef48d83c5 100644 --- a/t/yacc-line.sh +++ b/t/yacc-line.sh @@ -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' {}; diff --git a/t/yacc-misc.sh b/t/yacc-misc.sh index 2371a099f..9dc8f9dfd 100644 --- a/t/yacc-misc.sh +++ b/t/yacc-misc.sh @@ -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' {}; diff --git a/t/yacc-mix-c-cxx.sh b/t/yacc-mix-c-cxx.sh index ad9bf9523..45dffa0d2 100644 --- a/t/yacc-mix-c-cxx.sh +++ b/t/yacc-mix-c-cxx.sh @@ -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 #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 int yylex (void) { return 0; } -void yyerror (const char *s) { return; } +void yyerror (const char *s) {} %} %% x : 'x' {}; diff --git a/t/yacc-nodist.sh b/t/yacc-nodist.sh index 075e07743..3b523e888 100644 --- a/t/yacc-nodist.sh +++ b/t/yacc-nodist.sh @@ -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' {}"; \ diff --git a/t/yacc-pr204.sh b/t/yacc-pr204.sh index 9606f7b3d..e07f5e5c9 100644 --- a/t/yacc-pr204.sh +++ b/t/yacc-pr204.sh @@ -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' {}; diff --git a/t/yacc-subdir.sh b/t/yacc-subdir.sh index 5f3862187..879b433c6 100644 --- a/t/yacc-subdir.sh +++ b/t/yacc-subdir.sh @@ -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' {}; diff --git a/t/yacc-vpath.sh b/t/yacc-vpath.sh index f9bb719da..5481d9646 100644 --- a/t/yacc-vpath.sh +++ b/t/yacc-vpath.sh @@ -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' {}; diff --git a/t/yflags-cmdline-override.sh b/t/yflags-cmdline-override.sh index eaee47849..63d31fbfa 100644 --- a/t/yflags-cmdline-override.sh +++ b/t/yflags-cmdline-override.sh @@ -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; } %} %% diff --git a/t/yflags-force-override.sh b/t/yflags-force-override.sh index 2d5cb55e1..1346c1259 100644 --- a/t/yflags-force-override.sh +++ b/t/yflags-force-override.sh @@ -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; } %} %% -- 2.34.1