automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.1


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.1-418-g9dd146c
Date: Mon, 18 Jun 2012 13:48:53 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=9dd146cf9845600c65ad6a568f1404e4632d4487

The branch, ng/master has been updated
       via  9dd146cf9845600c65ad6a568f1404e4632d4487 (commit)
       via  f50cba3f2f04c4b4adb7b6843a56b4ee524f5bf9 (commit)
       via  d5459b98e06adfe74d2192a2b7421355f10e5c0d (commit)
       via  d5d55d3c5a5c2c508c02baeb6b178ede06edc913 (commit)
       via  087acd334fb70eec149dac310d7762e76a658105 (commit)
       via  6b5947b417199088a98777f88b968c118d0864a6 (commit)
       via  f470db883887eb52e14718954d3f4560073af06b (commit)
       via  17a61db37a4c8f8012e9268a3780f0a97d4f145e (commit)
       via  9a7a87ccc2dc855a393a1209cdd6c74b3bfa93e7 (commit)
       via  73683dcc78c33098d610eba7e0ee280dedd2804c (commit)
       via  630e447cbdf39d251faf9e898b39d7cf281dabe2 (commit)
       via  da3f23065c783eb8221957b2d621b8d2f799ea4e (commit)
       via  b4ee81bd6a33af7432bb600b799924fe5c014fad (commit)
       via  ac3768c8f1b8ad983d90286b911995ccf55a96fa (commit)
       via  227a0280f85f1076fbb1e3d18fe55a3f575b85db (commit)
       via  096f9bd32762d4474937cb527c4eb7c461f8f8aa (commit)
       via  9bfff0390f08a43a58fa9356e9b8b4a20a0901c4 (commit)
       via  53252c283d5ab1e6e7727db65e3d99eb0316cd57 (commit)
       via  adb47904c1b5a3b8e1fc90f380860283f2b8ee01 (commit)
       via  18ac3c804523f2a8047b45aa4199b67f16cbfdb6 (commit)
       via  d0c8bf0400c6f63a34b0f04b29a6d2a0c2e70469 (commit)
       via  f351807567c390b0fe42631a92c809a4da5cfa01 (commit)
       via  04734ed11539ea07419db3a8dc955e1426d03fe5 (commit)
       via  0081e8e3cc8c676f0688c40d27a5e860d0157e35 (commit)
       via  918fa07a699fcd07d64ee344e517dd839a68dd6f (commit)
       via  ed0f01904b332f0c64f26797eaeb82e5847cc963 (commit)
       via  a0c7b6a3c28aec6673b7c2f489dd3dfc676605ad (commit)
       via  5148089bd2a5d5c800c787199d18a2791a310864 (commit)
       via  3e7a254b18e2ccb856988ac7a5ec4881043368b0 (commit)
       via  505e69d37ce486d8c933a6784ed5ee6f93b929e3 (commit)
       via  50f804d3b62076bf238106ebf7ff3df1ab2489b1 (commit)
      from  11a44231a057b6dbc15d3fe83f0b652176442241 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9dd146cf9845600c65ad6a568f1404e4632d4487
Merge: f50cba3 d5459b9
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jun 18 15:37:26 2012 +0200

    Merge branch 'ng/texinfo-work' into ng/master
    
    * ng/texinfo-work: (29 commits)
      [ng] texi: drop support for '.txi' and '.texinfo' suffixes
      [ng] coverage: texinfo silent rules with a subdir texinfo file
      [ng] tests: rename silent8.sh -> silent-texi.sh
      [ng] texi: remove some crufty code to support obsolete environment
      [ng] texi: move more code from automake to Makefile
      [ng] texi: "de-prettify" makeinfo command line
      [ng] automake: merge handle_texinfo_source() -> handle_texinfo_helper()
      [ng] texi: simplify handle_texinfo_source by assuming '.info' suffix ...
      [ng] texi: move some more knowledge from automake to texi-spec.am
      [ng] texi: in texi-spec.am, assume suffix for info files is always '.info'
      [ng] automake: remove two unused variables from '&handle_texinfo_source'
      [ng] coverage: texinfo input files using @include directives
      [ng] texi: always look for mdate-sh in the build-aux directory ...
      [ng] refactor: more proper name for a subroutine in automake
      [ng] texi: drop a useless transform when processing texinfos.am
      [ng] texi: adjust names of vars used for silent rules support
      [ng] texi: drop transforms when reading texibuild.am
      [ng] texi: reorganize '.am' fragments even more
      [ng] texi: reorganize '.am' fragments a bit
      [ng] texi: reduce code duplication in output Makefile
      [ng] texi: refactoring in texibuild.am
      [ng] texi: reduce code duplication in texibuild.am
      [ng] texi: read 'texibuild' rules more verbatim
      [ng] texi: be sure to only emit generic pattern rules once
      [ng] texi: drop support for suffix-less info files
      [ng] texi: more target-specific variables use in '.info' build rules
      [ng] texi: reimplement '.info' build using target-specific variables
      [ng] texi: tweak rules for HTML generation to spawn only one shell
      [ng] texi: simplify by always assuming generic rules
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit f50cba3f2f04c4b4adb7b6843a56b4ee524f5bf9
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jun 18 11:33:00 2012 +0200

    [bg] silent: simplify by taking advantage of GNU make semantics
    
    In particular, taking advantage of the fact that, in GNU make, command
    line override of variables is propagated to recursive make invocations.
    
    This change offers us a small but nice size reduction bot in Automake's
    code and in the generated Makefiles.  It also improves the API to define
    custom silent "tags", by turning it from:
    
        pkg_verbose = $(pkg_verbose_$(V))
        pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_V))
        pkg_verbose_0 = @echo PKG-GEN $@;
    
    to the slightly clearer:
    
        pkg_verbose = $(pkg_verbose/$(V))
        pkg_verbose/1 =
        pkg_verbose/0 = @echo PKG-GEN $@;
    
    * NG-NEWS: Update.
    * doc/automake-ng.texi (Automake Silent Rules): Update w.r.t. the
    API for user-defined silent rules.
    * automake.in: Simplify, by removing the indirections involving
    $(AM_DEFAULT_VERBOSITY); some other changes and simplifications.
    (verbose_private_var): Delete, its calls from &define_verbose_var
    deleted (and those were its only calls).
    * lib/am/header-vars.am: Define '$(V)' to 0 if it's not already
    defined.
    * m4/silent.m4: Initialize and AC_SUBST the variable 'V' directly,
    instead of of the indirect 'AM_DEFAULT_VERBOSITY'.  Do not set nor
    AC_SUBST the variable 'AM_BACKSLASH', it's not used anymore (and
    hasn't been since out overhauling and simplification of the compile
    rules).
    * GNUmakefile: Simplify a little.
    * t/silent6.sh, t/silent-configsite.sh: Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit d5459b98e06adfe74d2192a2b7421355f10e5c0d
Author: Stefano Lattarini <address@hidden>
Date:   Sun Jun 17 11:50:55 2012 +0200

    [ng] texi: drop support for '.txi' and '.texinfo' suffixes
    
    The former was only needed to cater to 8+3 file systems (for which
    we have dropped support anyway), and the latter was hardly used in
    practice, it's extra "eye-candy" not worth complicating the code.
    We now only accept and handle files with a '.texi' suffix.
    
    * NG-NEWS: Update.
    * automake.in (handle_texinfo_helper): Drop support for '.txi'
    and '.texinfo' suffixes.
    (scan_texinfo_files): Likewise.
    * lib/am/texibuild.am: Simplify accordingly, assuming '.texi'
    as the only valid suffix for Texinfo input files.
    * t/txinfo-rules-once.sh: Resurrect this test, and enhance it
    a little, also merging in the suitably adapted contents of ...
    * t/txinfo9.sh: ... this test, now deleted.
    * t/txinfo6.sh: Remove as obsolete.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit d5d55d3c5a5c2c508c02baeb6b178ede06edc913
Author: Stefano Lattarini <address@hidden>
Date:   Sun Jun 17 10:48:41 2012 +0200

    [ng] coverage: texinfo silent rules with a subdir texinfo file
    
    * t/silent-texi.sh: Enhance.  Fix a minor bug while we are it (it
    could potentially have caused false negatives).
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 087acd334fb70eec149dac310d7762e76a658105
Author: Stefano Lattarini <address@hidden>
Date:   Sun Jun 17 10:39:40 2012 +0200

    [ng] tests: rename silent8.sh -> silent-texi.sh
    
    * t/silent8.sh: Rename ...
    * t/silent-texi.sh: ... like this.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 6b5947b417199088a98777f88b968c118d0864a6
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 23:18:13 2012 +0200

    [ng] texi: remove some crufty code to support obsolete environment
    
    * lib/am/texi-vers.am (%STAMPVTI%): We don't really care anymore about
    older systems whose 'mv' program can't move across file systems, nor do
    we care about past problems of GNU mv in the AmigaDOS environment.  So
    simplify the code accordingly.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit f470db883887eb52e14718954d3f4560073af06b
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 22:58:06 2012 +0200

    [ng] texi: move more code from automake to Makefile
    
    The previous changes left us with this low-hanging fruit to pick.
    
    * automake.in (handle_texinfo_helper): Since the $makeinfoflags contents
    are now static, we don't need to define that variable anymore, nor to
    pass the '%MAKEINFOFLAGS%' transform to 'texi-spec.am', nor ...
    * lib/am/texi-spec.am: ... to use that transform here to define the target
    specific variable '$(am__makeflags)'; we can just ...
    * lib/am/texibuild.am: .. inline the static content in the appropriate
    rules here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 17a61db37a4c8f8012e9268a3780f0a97d4f145e
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 22:43:50 2012 +0200

    [ng] texi: "de-prettify" makeinfo command line
    
    This will make some future changes easier.  And anyway, it's usually not
    worth to add code complexity to have a slightly pretty output from make;
    people who want pretty output should be using "make V=0" anyway ;-)
    
    * automake.in (handle_texinfo_helper): Make definition of $makeinfoflags
    less pretty but more easy.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 9a7a87ccc2dc855a393a1209cdd6c74b3bfa93e7
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 21:20:32 2012 +0200

    [ng] automake: merge handle_texinfo_source() -> handle_texinfo_helper()
    
    The former subroutine has been so reduced in scope and size that it is
    just easier to merge it with the bigger one.
    
    * automake.in (handle_texinfo_source): Delete, has been merged ...
    (handle_texinfo_helper): ... in here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 73683dcc78c33098d610eba7e0ee280dedd2804c
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 21:09:23 2012 +0200

    [ng] texi: simplify handle_texinfo_source by assuming '.info' suffix ...
    
    ... for the output info files.
    
    * automake.in (handle_texinfo_source): Here, in particular removing
    the local variable '$dsfx'.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 630e447cbdf39d251faf9e898b39d7cf281dabe2
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 20:52:27 2012 +0200

    [ng] texi: move some more knowledge from automake to texi-spec.am
    
    * automake.in (handle_texinfo_source): Do not define '$dipfx',
    nor use it for the transform '%DEST_INFO_PREFIX%'.
    * lib/am/texi-spec.am: Adjust the prefix of the output info file
    by adding '$(srcdir)' to it if the '?INSRC?' transform is true.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit da3f23065c783eb8221957b2d621b8d2f799ea4e
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 20:56:37 2012 +0200

    [ng] texi: in texi-spec.am, assume suffix for info files is always '.info'
    
    This has been the case since an earlier patch.
    
    * lib/am/texi-spec.am: Simply use '.info' instead of '%DEST_SUFFIX%'.
    * automake.in (handle_texinfo_source): Drop the now-useless transform
    '%DEST_SUFFIX%' for texi-spec.am
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit b4ee81bd6a33af7432bb600b799924fe5c014fad
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 20:42:45 2012 +0200

    [ng] automake: remove two unused variables from '&handle_texinfo_source'
    
    * automake.in (handle_texinfo_source): Remove '$spfx' and '$ssfx'.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit ac3768c8f1b8ad983d90286b911995ccf55a96fa
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 20:31:48 2012 +0200

    [ng] coverage: texinfo input files using @include directives
    
    Both in-tree and VPATH builds, and both top-level and subdir input.
    
    * t/txinfo-include.sh: New test.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 227a0280f85f1076fbb1e3d18fe55a3f575b85db
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 12:15:42 2012 +0200

    [ng] texi: always look for mdate-sh in the build-aux directory ...
    
    ... rather than in the current directory if the path of the build-aux
    directory had been determined automatically and not explicitly specified
    through an AC_CONFIG_AUX_DIR invocation.  This rid us of an ugly
    inconsistency wart that was only present for historical reasons.
    
    * automake.in (handle_texinfo_helper): Do not look for the required file
    'mdate-sh' in the current directory if $config_aux_dir_set_in_configure_ac
    is false; unconditionally look for it in the build-aux directory.
    * lib/am/texi-vers.am: Simplify accordingly, getting rid of the (now
    undefined by automake) transform %MDDIR%.
    * t/mdate4.sh: Remove as obsolete.
    * t/vtexi.sh: Remove an hairy and obsolescent grepping check, to avoid
    spurious failures.
    * t/reqd.sh: Adjust not to check for multiple installations of mdate-sh;
    these don't take place anymore.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 096f9bd32762d4474937cb527c4eb7c461f8f8aa
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 12:01:58 2012 +0200

    [ng] refactor: more proper name for a subroutine in automake
    
    After the past heavy changes, a subroutine's name has got out-of-sync
    with its purpose.
    
    * automake.in (output_texinfo_build_rules): Rename ...
    * (handle_texinfo_source): ... like this.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 9bfff0390f08a43a58fa9356e9b8b4a20a0901c4
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 11:56:57 2012 +0200

    [ng] texi: drop a useless transform when processing texinfos.am
    
    * automake.in (handle_texinfos): Drop now-useless transform %TEXIQUIET%.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 53252c283d5ab1e6e7727db65e3d99eb0316cd57
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 11:11:28 2012 +0200

    [ng] texi: adjust names of vars used for silent rules support
    
    * lib/am/texibuild.am, automake.in (define_verbose_texinfo): Modify
    so that the variables $(AV_texinfo) and $(AM_texidevnull) get renamed
    with the much clearer and more proper names $(AM_TEXI_QUIETOPTS) and
    $(AM_TEXI_DEVNULL_REDIRECT).
    * t/silent8.sh: Enhance.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit adb47904c1b5a3b8e1fc90f380860283f2b8ee01
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 10:48:22 2012 +0200

    [ng] texi: drop transforms when reading texibuild.am
    
    They are not really needed anymore (being now completely static),
    and just inlining them is simpler and clearer.
    
    * lib/am/texibuild.am: Inline transforms ('%TEXIQUIET%',
    '%TEXIDEVNULL%', '%AM_V_MAKEINFO%', '%AM_V_DVIPS%', and
    '%TEXI-SUFFIXES%').
    * automake.in (handle_texinfo): Simplify accordingly.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 18ac3c804523f2a8047b45aa4199b67f16cbfdb6
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 11:35:47 2012 +0200

    [ng] texi: reorganize '.am' fragments even more
    
    * lib/am/texinfos.am (TEXI2DVI, TEXI2PDF, DVIPS, MAKEINFOHTML,
    AM_MAKEINFOHTMLFLAGS): Move these variables' definitions ...
    * lib/am/texibuild.am: ... in here, since their only uses are
    here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit d0c8bf0400c6f63a34b0f04b29a6d2a0c2e70469
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 11:16:46 2012 +0200

    [ng] texi: reorganize '.am' fragments a bit
    
    * lib/am/texinfos.am (%.ps: %.dvi): Move ...
    * lib/am/texibuild.am: ... here, which is a more appropriate place
    for such a rule.
    * automake.in (handle_texinfo): Drop '%AM_V_DVIPS%' when processing
    'texinfos.am'; instead, use it when processing 'texibuild.am'.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit f351807567c390b0fe42631a92c809a4da5cfa01
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 10:30:07 2012 +0200

    [ng] texi: reduce code duplication in output Makefile
    
    No semantic change is intended.
    
    * lib/am/texibuild.am: Use a make-runtime $(foreach) loop to define the
    conversion rules for all the accepted Texinfo suffixes ('.txi', '.texi',
    '.texinfo'), with the help of ...
    (am__texi_rules_for_suffix): ... this new internal make function.
    * automake.in (handle_texinfo): Adjust.
    * t/txinfo6.sh: Adjust and extend.
    * t/txinfo-rules-once.sh: Remove as obsolete.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 04734ed11539ea07419db3a8dc955e1426d03fe5
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 09:39:59 2012 +0200

    [ng] texi: refactoring in texibuild.am
    
    This is only to simplify future changes; no semantic change is
    intended.
    
    * lib/am/texibuild.am
    (am__texibuild_info): New internal make function.
    (%.info: %.%TEXI-SUFFIX%): Use it for the recipe.
    (am__texibuild_html): New internal make function.
    (%.html: %.%TEXI-SUFFIX%): Use it for the recipe.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 0081e8e3cc8c676f0688c40d27a5e860d0157e35
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 08:59:38 2012 +0200

    [ng] texi: reduce code duplication in texibuild.am
    
    No semantic change is intended.
    
    * lib/am/texibuild.am (am__texibuild_dvi_or_pdf): New internal
    make function.
    (%.dvi: %.%TEXI-SUFFIX%): Use it for the recipe.
    (%.pdf: %.%TEXI-SUFFIX%): Likewise.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 918fa07a699fcd07d64ee344e517dd839a68dd6f
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jun 16 08:49:25 2012 +0200

    [ng] texi: read 'texibuild' rules more verbatim
    
    No semantic change is intended.
    
    * automake.in (handle_texinfo): Process 'texibuild.am' with
    '&process_file' rather than with '&file_contents'.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit ed0f01904b332f0c64f26797eaeb82e5847cc963
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jun 15 23:29:28 2012 +0200

    [ng] texi: be sure to only emit generic pattern rules once
    
    * lib/am/texibuild.am: Only hold generic pattern rules now, the
    stuff specific to single '.texi' files moved out ...
    * lib/am/texi-spec.am: ... to this new file.
    * Makefile.am (dist_am_DATA): Add it.
    * automake.in (output_texinfo_build_rules): Process 'texi-spec.am'
    rather than 'texbuild.am', and adjust transforms accordingly.
    (handle_texinfo): Process 'texibuild.am', once for each valid Texinfo
    extension (.texi, .txi, .texinfo).
    * t/txinfo-rules-once.sh: New test.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit a0c7b6a3c28aec6673b7c2f489dd3dfc676605ad
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jun 15 22:52:36 2012 +0200

    [ng] texi: drop support for suffix-less info files
    
    Such support is seldom used, and will get in the way of future, useful
    refactorings.  We can still re-introduce it at a later time, after the
    dust is settled, if there are users' requests in this direction.
    
    * automake.in (scan_texinfo_file): Error out if a input '.texi' file
    specifies an output (in the '@setfilename' directive) that doesn't have
    a '.info' extension.
    (output_texinfo_build_rules): Simplify, by assuming generated info
    files ought to have the '.info' extension.
    * lib/am/texibuild.am: Likewise.
    * NG-NEWS: Update
    * t/txinfo3.sh: Remove as obsolete.
    * t/txinfo-unrecognized-extension-2.sh: New test.
    * t/primary-prefix-valid-couples.sh: Adjust to avoid spurious failures.
    * t/txinfo17.sh: Likewise.
    * t/txinfo20.sh: Likewise.
    * t/vtexi2.sh: Likewise.
    * t/mdate2.sh: Likewise.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 5148089bd2a5d5c800c787199d18a2791a310864
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jun 15 22:17:32 2012 +0200

    [ng] texi: more target-specific variables use in '.info' build rules
    
    * lib/am/texibuild.am: Rewrite '.info' targets' recipes and dependencies
    to use the target-specific variable 'am__makeinfoflags', set from the
    '%MAKEINFOFLAGS%' transform.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 3e7a254b18e2ccb856988ac7a5ec4881043368b0
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jun 15 21:48:54 2012 +0200

    [ng] texi: reimplement '.info' build using target-specific variables
    
    This refactoring will be useful in later changes.
    
    * lib/am/texibuild.am (%DEST_SUFFIX%: %%SOURCE_SUFFIX%): Rewrite recipe
    to use the target-specific variable 'am__info_insrc', which expands to
    "yes" when the '?INSRC?' transform is true, and to the empty string
    otherwise.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 505e69d37ce486d8c933a6784ed5ee6f93b929e3
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jun 15 19:52:34 2012 +0200

    [ng] texi: tweak rules for HTML generation to spawn only one shell
    
    * lib/am/texibuild.am: Rewrite the recipe for .texi -> .html conversion
    to use only one shell invocation, mostly for consistency with the other
    recipes (e.g., .texi -> .pdf).  This also offers a micro-optimization.
    And while we are at it, throw in few other micro-optimizations, and fix
    botched indentation.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 50f804d3b62076bf238106ebf7ff3df1ab2489b1
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jun 15 19:19:37 2012 +0200

    [ng] texi: simplify by always assuming generic rules
    
    They are assured to work with GNU make even when the '.texi' source
    lies in a subdirectory, because in that case also the corresponding
    output files ('.pdf', '.ps', '.dvi' and '.html') lies in the same
    subdirectory.
    
    * automake.in (output_texinfo_build_rules): Don't define the Boolean
    '$generic' anymore.  Related simplifications.  Drop the 'SOURCE' and
    'GENERIC' transforms when processing the 'texibuild.am' file.  Remove
    obsolete comments.
    * lib/am/texibuild.am: Adjust by always assuming that '?GENERIC?'
    is true.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 GNUmakefile                                        |    3 +-
 Makefile.am                                        |    1 +
 NG-NEWS                                            |   32 +++-
 automake.in                                        |  157 +++----------------
 doc/automake-ng.texi                               |    6 +-
 lib/am/header-vars.am                              |    6 +
 lib/am/{footer.am => texi-spec.am}                 |   18 ++-
 lib/am/texi-vers.am                                |   14 +-
 lib/am/texibuild.am                                |  104 +++++++------
 lib/am/texinfos.am                                 |   19 ---
 m4/silent.m4                                       |   12 +-
 t/mdate2.sh                                        |    2 +-
 t/mdate4.sh                                        |   46 ------
 t/primary-prefix-valid-couples.sh                  |    2 +-
 t/reqd.sh                                          |   10 +-
 t/silent-configsite.sh                             |    4 +-
 t/silent-texi.sh                                   |   85 ++++++++++
 t/silent6.sh                                       |    6 +-
 t/silent8.sh                                       |   62 --------
 t/txinfo-include.sh                                |  164 ++++++++++++++++++++
 t/{txinfo9.sh => txinfo-rules-once.sh}             |   32 ++--
 ...-cond.sh => txinfo-unrecognized-extension-2.sh} |   34 ++---
 t/txinfo17.sh                                      |    4 +-
 t/txinfo20.sh                                      |   22 ++--
 t/txinfo3.sh                                       |   72 ---------
 t/txinfo6.sh                                       |   33 ----
 t/vtexi.sh                                         |    6 -
 t/vtexi2.sh                                        |    2 +-
 28 files changed, 440 insertions(+), 518 deletions(-)
 copy lib/am/{footer.am => texi-spec.am} (61%)
 delete mode 100755 t/mdate4.sh
 create mode 100755 t/silent-texi.sh
 delete mode 100755 t/silent8.sh
 create mode 100755 t/txinfo-include.sh
 rename t/{txinfo9.sh => txinfo-rules-once.sh} (50%)
 copy t/{instdir-cond.sh => txinfo-unrecognized-extension-2.sh} (60%)
 delete mode 100755 t/txinfo3.sh
 delete mode 100755 t/txinfo6.sh

diff --git a/GNUmakefile b/GNUmakefile
index a6ba2f9..d814dfe 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -35,8 +35,7 @@ endif
 # To allow bootstrapping also in an unconfigured tree.
 srcdir ?= .
 am__cd ?= CDPATH=. && unset CDPATH && cd
-AM_DEFAULT_VERBOSITY ?= 0
-V ?= $(AM_DEFAULT_VERBOSITY)
+V ?= 0
 
 ifeq ($(V),0)
   AM_V_BOOTSTRAP = @echo "  BOOTSTRAP";
diff --git a/Makefile.am b/Makefile.am
index f6f9cb2..532a5fd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -225,6 +225,7 @@ dist_am_DATA = \
   lib/am/subdirs.am \
   lib/am/tags.am \
   lib/am/texi-vers.am \
+  lib/am/texi-spec.am \
   lib/am/texibuild.am \
   lib/am/texinfos.am \
   lib/am/vala.am \
diff --git a/NG-NEWS b/NG-NEWS
index 16d0074..0e42863 100644
--- a/NG-NEWS
+++ b/NG-NEWS
@@ -25,18 +25,23 @@ Automatic dependency tracking support
 Silent rules
 ============
 
-* The silent-rules support unconditionally assumes that nested variables
-  expansion are supported.  Accordingly, the AC_SUBST'd variables '@AM_V@'
-  and'@AM_DEFAULT_V@' have been removed, so that instead of using
-  something like:
+* The silent rules support has been simplified to take advantage
+  of more GNU make features.  Among other things, the AC_SUBST'd
+  variables '@AM_V@' and'@AM_DEFAULT_V@' have been removed.  Now,
+  when defining uses custom silent rules, you should do something
+  like:
 
-    pkg_verbose = $(address@hidden@)
-    pkg_verbose_ = $(address@hidden@)
+      # Modern correct way.
+      pkg_verbose = $(pkg_verbose/$(V))
+      pkg_verbose/0 = @echo PKG-GEN $@;
+      pkg_verbose/1 =
 
-  you should simply use:
+  while the old idiom would have been something like:
 
-    pkg_verbose = $(pkg_verbose_$(V))
-    pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_VERBOSITY))
+      # Old obsolete way, won't work anymore.
+      pkg_verbose = $(address@hidden@)
+      pkg_verbose_ = $(address@hidden@)
+      pkg_verbose_0 = @echo PKG-GEN $@;
 
 
 Warnings and diagnostic
@@ -222,6 +227,15 @@ Distribution
 Obsolete Features Removed
 =========================
 
+* Extension-less info files are not supported anymore.
+
+* The only accepted suffix for input Texinfo files is now '.texi';
+  the once-accepted values '.txi' and '.texinfo' are not handled
+  anymore, and their use will trigger an error.
+
+Obsolete Features Removed
+=========================
+
 * Support for the long-deprecated name 'configure.in' for the Autoconf
   input file (instead of the modern 'configure.ac') has been deprecated.
 
diff --git a/automake.in b/automake.in
index c3a9848..63de027 100644
--- a/automake.in
+++ b/automake.in
@@ -1119,15 +1119,6 @@ sub verbose_var ($)
     return 'AM_V_' . $name;
 }
 
-# verbose_private_var (NAME)
-# --------------------------
-# The naming policy for the private variables for silent rules.
-sub verbose_private_var ($)
-{
-    my ($name) = @_;
-    return 'am__v_' . $name;
-}
-
 # define_verbose_var (NAME, VAL-IF-SILENT, [VAL-IF-VERBOSE])
 # ----------------------------------------------------------
 # For  silent rules, setup VAR and dispatcher, to expand to
@@ -1138,19 +1129,13 @@ sub define_verbose_var ($$;$)
     my ($name, $silent_val, $verbose_val) = @_;
     $verbose_val = '' unless defined $verbose_val;
     my $var = verbose_var ($name);
-    my $pvar = verbose_private_var ($name);
-    my $silent_var = $pvar . '_0';
-    my $verbose_var = $pvar . '_1';
-    define_variable ($var, INTERNAL,
-                     '$(' . $pvar . '_$(V))');
-    define_variable ($pvar . '_', INTERNAL,
-                     '$(' . $pvar . '_$(AM_DEFAULT_VERBOSITY))');
-    Automake::Variable::define ($silent_var, VAR_AUTOMAKE, '', TRUE,
+    define_variable ($var, INTERNAL, "\$($var/\$V)");
+    Automake::Variable::define ("$var/0", VAR_AUTOMAKE, '', TRUE,
                                 $silent_val, '', INTERNAL)
-      if (! vardef ($silent_var, TRUE));
-    Automake::Variable::define ($verbose_var, VAR_AUTOMAKE, '', TRUE,
+      if (! vardef ("$var/0", TRUE));
+    Automake::Variable::define ("$var/1", VAR_AUTOMAKE, '', TRUE,
                                 $verbose_val, '', INTERNAL)
-      if (! vardef ($verbose_var, TRUE));
+      if (! vardef ("$var/1", TRUE));
 }
 
 # Above should not be needed in the general automake code.
@@ -1197,8 +1182,8 @@ sub define_verbose_texinfo ()
     {
       define_verbose_tagvar($tag);
     }
-  define_verbose_var('texinfo', '-q');
-  define_verbose_var('texidevnull', '> /dev/null');
+  define_verbose_var('TEXI_QUIETOPTS', '-q');
+  define_verbose_var('TEXI_DEVNULL_REDIRECT', '> /dev/null');
 }
 
 # define_verbose_libtool
@@ -2796,7 +2781,7 @@ sub scan_texinfo_file ($)
          next if $outfile;
 
          $outfile = $1;
-         if ($outfile =~ /\.([^.]+)$/ && $1 ne 'info')
+         if ($outfile !~ /\.info$/)
            {
              error ("$filename:$.",
                     "output '$outfile' has unrecognized extension");
@@ -2835,86 +2820,11 @@ sub scan_texinfo_file ($)
     }
 
   my $infobase = basename ($filename);
-  $infobase =~ s/\.te?xi(nfo)?$//;
+  $infobase =~ s/\.texi$//;
   return ($outfile, $vfile,
          map { "$infobase.$_" } (sort keys %clean_suffixes));
 }
 
-
-# @CLEAN_FILES
-# output_texinfo_build_rules ($SOURCE, $DEST, $INSRC, @DEPENDENCIES)
-# ------------------------------------------------------------------
-# SOURCE - the source Texinfo file
-# DEST - the destination Info file
-# INSRC - whether DEST should be built in the source tree
-# DEPENDENCIES - known dependencies
-sub output_texinfo_build_rules ($$$@)
-{
-  my ($source, $dest, $insrc, @deps) = @_;
-
-  # Split 'a.texi' into 'a' and '.texi'.
-  my ($spfx, $ssfx) = ($source =~ /^(.*?)(\.[^.]*)?$/);
-  my ($dpfx, $dsfx) = ($dest =~ /^(.*?)(\.[^.]*)?$/);
-
-  $ssfx ||= "";
-  $dsfx ||= "";
-
-  # We can output two kinds of rules: the "generic" rules use pattern
-  # rules and are appropriate when $source and $dest do not lie in a
-  # sub-directory; the "specific" rules are needed in the other case.
-  #
-  # The former are output only once (this is not really apparent here,
-  # but just remember that some logic deeper in Automake will not
-  # output the same rule twice); while the later need to be output for
-  # each Texinfo source.
-  my $generic;
-  my $makeinfoflags;
-  my $sdir = dirname $source;
-  if ($sdir eq '.' && dirname ($dest) eq '.')
-    {
-      $generic = 1;
-      $makeinfoflags = '-I $(srcdir)';
-    }
-  else
-    {
-      $generic = 0;
-      $makeinfoflags = "-I $sdir -I \$(srcdir)/$sdir";
-    }
-
-  # A directory can contain two kinds of info files: some built in the
-  # source tree, and some built in the build tree.  The rules are
-  # different in each case.  However we cannot output two different
-  # set of generic rules.  Because in-source builds are more usual, we
-  # use generic rules in this case and fall back to "specific" rules
-  # for build-dir builds.  (It should not be a problem to invert this
-  # if needed.)
-  $generic = 0 unless $insrc;
-
-  my $dipfx = ($insrc ? '$(srcdir)/' : '') . $dpfx;
-
-  $output_rules .= file_contents ('texibuild',
-                                 new Automake::Location,
-                                  AM_V_MAKEINFO    => verbose_flag('MAKEINFO'),
-                                  AM_V_TEXI2DVI    => verbose_flag('TEXI2DVI'),
-                                  AM_V_TEXI2PDF    => verbose_flag('TEXI2PDF'),
-                                 DEPS             => "@deps",
-                                 DEST_PREFIX      => $dpfx,
-                                 DEST_INFO_PREFIX => $dipfx,
-                                 DEST_SUFFIX      => $dsfx,
-                                 GENERIC          => $generic,
-                                 INSRC            => $insrc,
-                                 MAKEINFOFLAGS    => $makeinfoflags,
-                                 SOURCE           => ($generic
-                                                      ? '$<' : $source),
-                                 SOURCE_REAL      => $source,
-                                 SOURCE_SUFFIX    => $ssfx,
-                                  TEXIQUIET        => verbose_flag('texinfo'),
-                                  TEXIDEVNULL      => 
verbose_flag('texidevnull'),
-                                 );
-  return ("$dpfx.dvi", "$dpfx.pdf", "$dpfx.ps", "$dpfx.html");
-}
-
-
 # ($MOSTLYCLEAN, $TEXICLEAN, $MAINTCLEAN)
 # handle_texinfo_helper ($info_texinfos)
 # --------------------------------------
@@ -2940,7 +2850,7 @@ sub handle_texinfo_helper ($)
       ($info_texinfos->value_as_list_recursive (inner_expand => 1))
     {
       my $infobase = $texi;
-      $infobase =~ s/\.(txi|texinfo|texi)$//;
+      $infobase =~ s/\.texi$//;
 
       if ($infobase eq $texi)
        {
@@ -3060,7 +2970,7 @@ sub handle_texinfo_helper ($)
       # off for .info files that appear to be cleaned; this is
       # for backward compatibility with package such as Texinfo,
       # which do things like
-      #   info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
+      #   info_TEXINFOS = texinfo.texi info-stnd.texi info.texi
       #   DISTCLEANFILES = texinfo texinfo-* info*.info*
       #   # Do not create info files for distribution.
       #   dist-info:
@@ -3082,11 +2992,17 @@ sub handle_texinfo_helper ($)
          push_dist_common ('$(' . $canonical . '_TEXINFOS)');
        }
 
-      my @cfiles = output_texinfo_build_rules ($texi, $out_file,
-                                               $insrc, @texi_deps);
-      push (@texi_cleans, @cfiles);
+      (my $dpfx = $out_file) =~ s/\.info$//;
+      $output_rules .= file_contents ('texi-spec',
+                                      new Automake::Location,
+                                      DEPS             => "@texi_deps",
+                                      DEST_PREFIX      => $dpfx,
+                                      INSRC            => $insrc,
+                                      SOURCE_REAL      => $texi,
+                                      );
 
-      push (@info_deps_list, $out_file);
+      push @texi_cleans, "$dpfx.dvi", "$dpfx.pdf", "$dpfx.ps", "$dpfx.html";
+      push @info_deps_list, $out_file;
 
       # If a vers*.texi file is needed, emit the rule.
       if ($vtexi)
@@ -3102,34 +3018,14 @@ sub handle_texinfo_helper ($)
          my $vti = ($done ? $done : 'vti');
          ++$done;
 
-         # This is ugly, but it is our historical practice.
-         if ($config_aux_dir_set_in_configure_ac)
-           {
-             require_conf_file_with_macro (TRUE, 'info_TEXINFOS', FOREIGN,
-                                           'mdate-sh');
-           }
-         else
-           {
-             require_file_with_macro (TRUE, 'info_TEXINFOS',
-                                      FOREIGN, 'mdate-sh');
-           }
-
-         my $conf_dir;
-         if ($config_aux_dir_set_in_configure_ac)
-           {
-             $conf_dir = '$(am__config_aux_dir)/';
-           }
-         else
-           {
-             $conf_dir = '$(srcdir)/';
-           }
+          require_conf_file_with_macro (TRUE, 'info_TEXINFOS',
+                                        FOREIGN, 'mdate-sh');
          $output_rules .= file_contents ('texi-vers',
                                          new Automake::Location,
                                          TEXI     => $texi,
                                          VTI      => $vti,
                                          STAMPVTI => "${soutdir}stamp-$vti",
-                                         VTEXI    => "$soutdir$vtexi",
-                                         MDDIR    => $conf_dir);
+                                         VTEXI    => "$soutdir$vtexi");
        }
     }
 
@@ -3213,6 +3109,7 @@ sub handle_texinfo ()
   if ($info_texinfos)
     {
       define_verbose_texinfo;
+      $output_verbatim .= preprocess_file ("$libdir/am/texibuild.am");
       ($mostlyclean, $clean, $maintclean) = handle_texinfo_helper 
($info_texinfos);
       chomp $mostlyclean;
       chomp $clean;
@@ -3221,12 +3118,10 @@ sub handle_texinfo ()
 
   $output_rules .=  file_contents ('texinfos',
                                   new Automake::Location,
-                                   AM_V_DVIPS    => verbose_flag('DVIPS'),
                                   MOSTLYCLEAN   => $mostlyclean,
                                   TEXICLEAN     => $clean,
                                   MAINTCLEAN    => $maintclean,
-                                  'LOCAL-TEXIS' => !!$info_texinfos,
-                                   TEXIQUIET     => verbose_flag('texinfo'));
+                                  'LOCAL-TEXIS' => !!$info_texinfos);
 }
 
 
diff --git a/doc/automake-ng.texi b/doc/automake-ng.texi
index d013210..23749b5 100644
--- a/doc/automake-ng.texi
+++ b/doc/automake-ng.texi
@@ -10783,9 +10783,9 @@ The following snippet shows how you would define your 
own equivalent of
 @code{AM_V_GEN}:
 
 @example
-pkg_verbose = $(pkg_verbose_$(V))
-pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_VERBOSITY))
-pkg_verbose_0 = @@echo PKG-GEN $@@;
+pkg_verbose = $(pkg_verbose/$(V))
+pkg_verbose/1 =
+pkg_verbose/0 = @@echo PKG-GEN $@@;
 
 foo: foo.in
         $(pkg_verbose)cp $(srcdir)/foo.in $@@
diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
index c4f14d0..636713b 100644
--- a/lib/am/header-vars.am
+++ b/lib/am/header-vars.am
@@ -60,6 +60,12 @@ ifdef SUBDIRS
   endif
 endif
 
+# Be verbose by deafault.  Yes, we really want $(V) to be overridable
+# from the environment, both for simplicity and for consistency with
+# mainline Automake.
+# FIXME: maybe normalize/sanitize $(V)?
+V ?= 0
+
 am__mkdir = test -d $1 || $(MKDIR_P) $1
 
 # In a recipe, ensure the given directory exists, creating it if
diff --git a/lib/am/footer.am b/lib/am/texi-spec.am
similarity index 61%
copy from lib/am/footer.am
copy to lib/am/texi-spec.am
index 3a758f5..0587a6d 100644
--- a/lib/am/footer.am
+++ b/lib/am/texi-spec.am
@@ -1,5 +1,5 @@
 ## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1994-2012 Free Software Foundation, Inc.
+## Copyright (C) 2012 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
@@ -14,9 +14,15 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# For better compatibility with mainline Automake.
-$(if $(SUFFIXES),$(eval .SUFFIXES: $$(SUFFIXES)))
+if %?INSRC%
+INFO_DEPS += $(srcdir)/%DEST_PREFIX%.info
+$(srcdir)/%DEST_PREFIX%.info: %SOURCE_REAL% %DEPS%
+$(srcdir)/%DEST_PREFIX%.info: am__info_insrc=yes
+else !%?INSRC%
+INFO_DEPS += %DEST_PREFIX%.info
+%DEST_PREFIX%.info: %SOURCE_REAL% %DEPS%
+endif !%?INSRC%
 
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+%DEST_PREFIX%.dvi: %SOURCE_REAL% %DEPS%
+%DEST_PREFIX%.pdf: %SOURCE_REAL% %DEPS%
+%DEST_PREFIX%.html: %SOURCE_REAL% %DEPS%
diff --git a/lib/am/texi-vers.am b/lib/am/texi-vers.am
index 78c107d..2e6a147 100644
--- a/lib/am/texi-vers.am
+++ b/lib/am/texi-vers.am
@@ -28,18 +28,16 @@ am__dist_common += %VTEXI% %STAMPVTI%
 ## in this file.)
 %STAMPVTI%: %TEXI% $(top_srcdir)/configure
        @$(am__ensure_target_dir_exists)
-       @(set `$(SHELL) %MDDIR%mdate-sh $<`; \
+       @(set `$(SHELL) $(am__config_aux_dir)/mdate-sh $<`; \
        echo "@set UPDATED $$1 $$2 $$3"; \
        echo "@set UPDATED-MONTH $$2 $$3"; \
        echo "@set EDITION $(VERSION)"; \
        echo "@set VERSION $(VERSION)") > %VTI%.tmp
-## Use cp and rm here because some older "mv"s can't move across
-## filesystems.  Furthermore, GNU "mv" in the AmigaDOS environment
-## can't handle this.
-       @cmp -s %VTI%.tmp %VTEXI% \
-         || (echo "Updating %VTEXI%"; \
-             cp %VTI%.tmp %VTEXI%)
-       address@hidden -f %VTI%.tmp
+       @if cmp -s %VTI%.tmp %VTEXI%; then \
+         rm -f %VTI%.tmp; \
+       else \
+         echo "Updating %VTEXI%" && mv -f %VTI%.tmp %VTEXI%; \
+       fi;
        @cp %VTEXI% $@
 
 mostlyclean-am: mostlyclean-%VTI%
diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am
index 735b2d8..fd6a4b6 100644
--- a/lib/am/texibuild.am
+++ b/lib/am/texibuild.am
@@ -14,8 +14,30 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-%%DEST_SUFFIX%: %%SOURCE_SUFFIX%
-?!INSRC?       @$(am__ensure_target_dir_exists)
+TEXI2DVI = texi2dvi
+TEXI2PDF = $(TEXI2DVI) --pdf --batch
+DVIPS = dvips
+MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS ?= $(AM_MAKEINFOFLAGS)
+
+define am__texibuild_dvi_or_pdf
+       $1$(am__ensure_target_dir_exists) && \
+       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+## Must set MAKEINFO like this so that version.texi will be found even
+## if it is in srcdir.
+       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
+                             -I $(@D) -I $(srcdir)/$(@D)' \
+## texi2dvi and texi2pdf don't silence everything with -q, redirect to
+## /dev/null instead.
+## We still want -q ($(AM_V_TEXI_QUIETOPTS)) because it turns on batch
+## mode.  Use '--clean' to avoid leaving auxiliary files behind cluttering
+## the build directory (see automake bug#11146).  We should start using
+## '--tidy' when we can assume Texinf 4.9 or later.
+       $2 $(AM_V_TEXI_QUIETOPTS) --clean -o $@ $< $(AM_V_TEXI_DEVNULL_REDIRECT)
+endef
+
+define am__texibuild_info
+       $(if $1,,@$(am__ensure_target_dir_exists))
 ## Back up the info files before running makeinfo. This is the cheapest
 ## way to ensure that
 ## 1) If the texinfo file shrinks (or if you start using --no-split),
@@ -24,8 +46,8 @@
 ## 2) If the texinfo file has some minor mistakes which cause makeinfo
 ##    to fail, the info files are not removed.  (They are needed by the
 ##    developer while he writes documentation.)
-       %AM_V_MAKEINFO%restore=: && backupdir=.am$$$$ && \
-?INSRC?        am__cwd=`pwd` && $(am__cd) $(srcdir) && \
+       $(AM_V_MAKEINFO)restore=: && backupdir=.am$$$$ && \
+       $(if $1,am__cwd=`pwd` && $(am__cd) $(srcdir) &&) \
        rm -rf $$backupdir && mkdir $$backupdir && \
 ## If makeinfo is not installed we must not backup the files so
 ## 'missing' can do its job and touch $@ if it exists.
@@ -34,61 +56,34 @@
            if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
          done; \
        else :; fi && \
-?INSRC?        cd "$$am__cwd"; \
-       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) %MAKEINFOFLAGS% -o 
$@ $<; \
+       $(if $(am__info_insrc),cd "$$am__cwd" &&) \
+       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
+                      -I $(@D) -I $(srcdir)/$(@D) -o $@ $<; \
        then \
          rc=0; \
-?INSRC?          $(am__cd) $(srcdir); \
+         $(if $(am__info_insrc),$(am__cd) $(srcdir);) \
        else \
          rc=$$?; \
 ## Beware that backup info files might come from a subdirectory.
-?INSRC?          $(am__cd) $(srcdir) && \
+         $(if $(am__info_insrc),$(am__cd) $(srcdir) &&) \
          $$restore $$backupdir/* $(@D); \
        fi; \
        rm -rf $$backupdir; exit $$rc
+endef
 
-INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX%
-
-?GENERIC?%.dvi: %%SOURCE_SUFFIX%
-?!GENERIC?%DEST_PREFIX%.dvi: %SOURCE% %DEPS%
-       %AM_V_TEXI2DVI%$(am__ensure_target_dir_exists) && \
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-## Must set MAKEINFO like this so that version.texi will be found even
-## if it is in srcdir (-I $(srcdir) is set in %MAKEINFOFLAGS%).
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) 
%MAKEINFOFLAGS%' \
-## texi2dvi doesn't silence everything with -q, redirect to /dev/null instead.
-## We still want -q (%TEXIQUIET%) because it turns on batch mode.
-## Use '--clean' to avoid leaving auxiliary files behind cluttering the build
-## directory (see automake bug#11146).  We should start using '--tidy' when we
-## can assume Texinf 4.9 or later.
-       $(TEXI2DVI) %TEXIQUIET% --clean -o $@ $< %TEXIDEVNULL%
-
-?GENERIC?%.pdf: %%SOURCE_SUFFIX%
-?!GENERIC?%DEST_PREFIX%.pdf: %SOURCE% %DEPS%
-       %AM_V_TEXI2PDF%$(am__ensure_target_dir_exists) && \
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-## Must set MAKEINFO like this so that version.texi will be found even
-## if it is in srcdir (-I $(srcdir) is set in %MAKEINFOFLAGS%).
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) 
%MAKEINFOFLAGS%' \
-## texi2pdf doesn't silence everything with -q, redirect to /dev/null instead.
-## We still want -q (%TEXIQUIET%) because it turns on batch mode.
-## Use '--clean' to avoid leaving auxiliary files behind cluttering the build
-## directory (see automake bug#11146).  We should start using '--tidy' when we
-## can assume Texinf 4.9 or later.
-       $(TEXI2PDF) %TEXIQUIET% --clean -o $@ $< %TEXIDEVNULL%
-
-?GENERIC?%.html: %%SOURCE_SUFFIX%
-?!GENERIC?%DEST_PREFIX%.html: %SOURCE% %DEPS%
-       %SILENT%$(am__ensure_target_dir_exists)
+define am__texibuild_html
+       $(AM_V_MAKEINFO)$(am__ensure_target_dir_exists) \
 ## When --split (the default) is used, makeinfo will output a
 ## directory.  However it will not update the time stamp of a
 ## previously existing directory, and when the names of the nodes
 ## in the manual change, it may leave unused pages.  Our fix
 ## is to build under a temporary name, and replace the target on
 ## success.
-       %AM_V_MAKEINFO%rm -rf $(@:.html=.htp)
-       %SILENT%if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \
-                                  %MAKEINFOFLAGS% -o $(@:.html=.htp) $<; \
+         && { test ! -d $(@:.html=.htp) || rm -rf $(@:.html=.htp); } \
+         || exit 1; \
+       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \
+                           -I $(@D) -I $(srcdir)/$(@D) \
+                           -o $(@:.html=.htp) $<; \
        then \
          rm -rf $@; \
 ## Work around a bug in Texinfo 4.1 (-o foo.html outputs files in foo/
@@ -100,11 +95,18 @@ INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX%
            rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
          exit 1; \
        fi
+endef
+
+%.info: %.texi
+       $(call am__texibuild_info,$(am__info_insrc))
+%.dvi: %.texi
+       $(call am__texibuild_dvi_or_pdf,$(AM_V_TEXI2DVI),$(TEXI2DVI))
+%.pdf: %.texi
+       $(call am__texibuild_dvi_or_pdf,$(AM_V_TEXI2PDF),$(TEXI2PDF))
+%.html: %.texi
+       $(call am__texibuild_html)
 
-## If we are using the generic rules, we need separate dependencies.
-%DEST_INFO_PREFIX%%DEST_SUFFIX%: %SOURCE_REAL% %DEPS%
-if %?GENERIC%
-%DEST_PREFIX%.dvi: %SOURCE_REAL% %DEPS%
-%DEST_PREFIX%.pdf: %SOURCE_REAL% %DEPS%
-%DEST_PREFIX%.html: %SOURCE_REAL% %DEPS%
-endif %?GENERIC%
+## The way to make PostScript, for those who want it.
+%.ps: %.dvi
+       
$(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       $(DVIPS) $(AM_V_TEXI_QUIETOPTS) -o $@ $<
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index fc3981a..867174b 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -18,30 +18,11 @@
 ## FIXME: this should probably be moved to header-vars.am ...
 am__create_installdir = $(if $(and $1,$^),$(MKDIR_P) '$(DESTDIR)$1',@:)
 
-## ----------- ##
-## Variables.  ##
-## ----------- ##
-
-if %?LOCAL-TEXIS%
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-endif %?LOCAL-TEXIS%
-
 
 ## ---------- ##
 ## Building.  ##
 ## ---------- ##
 
-## The way to make PostScript, for those who want it.
-if %?LOCAL-TEXIS%
-DVIPS = dvips
-%.ps: %.dvi
-       
%AM_V_DVIPS%TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       $(DVIPS) %TEXIQUIET% -o $@ $<
-endif %?LOCAL-TEXIS%
-
 .PHONY: dvi dvi-am html html-am info info-am pdf pdf-am ps ps-am
 if %?SUBDIRS%
 RECURSIVE_TARGETS += dvi-recursive html-recursive info-recursive
diff --git a/m4/silent.m4 b/m4/silent.m4
index 3929793..7f4d4b4 100644
--- a/m4/silent.m4
+++ b/m4/silent.m4
@@ -21,12 +21,8 @@ AS_HELP_STRING(
   [verbose build output (undo: "make V=0")])dnl
 ])
 case $enable_silent_rules in @%:@ (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+  yes) V=0;;
+   no) V=1;;
+    *) V=m4_if([$1], [yes], [0], [1]);;
 esac
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
+AC_SUBST([V])])
diff --git a/t/mdate2.sh b/t/mdate2.sh
index 093de5e..ef08121 100755
--- a/t/mdate2.sh
+++ b/t/mdate2.sh
@@ -29,7 +29,7 @@ END
 # Required when using Texinfo.
 : > texinfo.tex
 : > mdate-sh
-echo '@setfilename textutils' > textutils.texi
+echo '@setfilename textutils.info' > textutils.texi
 
 # Use "././" to confuse Automake into thinking this is a subdir build.
 $ACLOCAL
diff --git a/t/mdate4.sh b/t/mdate4.sh
deleted file mode 100755
index ac1be3a..0000000
--- a/t/mdate4.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2012 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
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test to make sure that mdate-sh is added to the right directory.
-# Report from Kevin Dalley.
-
-. ./defs || Exit 1
-
-cat >> configure.ac << 'END'
-AC_CONFIG_FILES([sub/Makefile])
-END
-
-cat > Makefile.am << 'END'
-SUBDIRS = sub
-END
-
-mkdir sub
-
-cat > sub/Makefile.am << 'END'
-info_TEXINFOS = textutils.texi
-END
-
-cat > sub/textutils.texi << 'END'
address@hidden version.texi
address@hidden textutils.info
-END
-
-$ACLOCAL
-$AUTOMAKE -a
-ls -l sub
-test -f sub/mdate-sh
-
-:
diff --git a/t/primary-prefix-valid-couples.sh 
b/t/primary-prefix-valid-couples.sh
index 989ca4b..df21c6b 100755
--- a/t/primary-prefix-valid-couples.sh
+++ b/t/primary-prefix-valid-couples.sh
@@ -38,7 +38,7 @@ AC_DEFUN([AC_PROG_LIBTOOL],
 END
 
 # Other required files.
-echo '@setfilename foo' > foo.texi
+echo '@setfilename foo.info' > foo.texi
 : > texinfo.tex
 : > py-compile
 : > elisp-comp
diff --git a/t/reqd.sh b/t/reqd.sh
index 9e0bcc1..1ddac46 100755
--- a/t/reqd.sh
+++ b/t/reqd.sh
@@ -28,18 +28,16 @@ mkdir one
 mkdir two
 
 echo 'SUBDIRS = one two' > Makefile.am
+
 echo 'info_TEXINFOS = mumble.texi' > one/Makefile.am
-cat >one/mumble.texi <<'END'
address@hidden mumble.info
address@hidden version.texi
-END
+echo @setfilename mumble.info > one/mumble.texi
 
 cp one/Makefile.am one/mumble.texi two
 
 $ACLOCAL
 $AUTOMAKE --add-missing --copy
 
-test -f one/mdate-sh
 test -f one/texinfo.tex
-test -f two/mdate-sh
 test -f two/texinfo.tex
+
+:
diff --git a/t/silent-configsite.sh b/t/silent-configsite.sh
index d8c2b33..a31fb2a 100755
--- a/t/silent-configsite.sh
+++ b/t/silent-configsite.sh
@@ -28,9 +28,9 @@ EOF
 cat > Makefile.am <<'EOF'
 .PHONY: test-silent test-nosilent
 test-silent:
-       test x'$(AM_DEFAULT_VERBOSITY)' = x'0'
+       $(AM_V_P); test $$? -eq 1
 test-nosilent:
-       test x'$(AM_DEFAULT_VERBOSITY)' = x'1'
+       $(AM_V_P); test $$? -eq 0
 EOF
 
 unset enable_silent_rules || :
diff --git a/t/silent-texi.sh b/t/silent-texi.sh
new file mode 100755
index 0000000..2bcbe70
--- /dev/null
+++ b/t/silent-texi.sh
@@ -0,0 +1,85 @@
+#!/bin/sh
+# Copyright (C) 2009-2012 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
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check texinfo rules in silent-rules mode.
+
+required='makeinfo-html tex texi2dvi-o dvips'
+. ./defs || Exit 1
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am <<'EOF'
+info_TEXINFOS = foo.texi sub/zardoz.texi
+EOF
+
+cat > foo.texi <<'EOF'
+\input texinfo
address@hidden foo.info
address@hidden foo manual
address@hidden
+EOF
+
+mkdir sub
+cat > sub/zardoz.texi <<'EOF'
+\input texinfo
address@hidden zardoz.info
address@hidden zardoz manual
address@hidden
+EOF
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure --disable-silent-rules
+
+# Silent mode output.
+st=0
+$MAKE V=0 dvi html info ps pdf >stdout 2>stderr || st=$?
+cat stdout
+cat stderr >&2
+test $st -eq 0
+grep '^  DVIPS    foo\.ps$'         stdout
+grep '^  MAKEINFO foo\.html$'       stdout
+grep '^  MAKEINFO foo\.info$'       stdout
+grep '^  TEXI2DVI foo\.dvi$'        stdout
+grep '^  TEXI2PDF foo\.pdf$'        stdout
+grep '^  DVIPS    sub/zardoz.ps$'   stdout
+grep '^  MAKEINFO sub/zardoz.html$' stdout
+grep '^  MAKEINFO sub/zardoz.info$' stdout
+grep '^  TEXI2DVI sub/zardoz.dvi$'  stdout
+grep '^  TEXI2PDF sub/zardoz.pdf$'  stdout
+# No make recipe is displayed before being executed.
+$EGREP 'texi2(dvi|pdf)|dvips|makeinfo|(rm|mv) ' \
+  stdout stderr && Exit 1
+# No verbose output from TeX nor dvips.
+$EGREP '(zardoz|foo)\.log|3\.14|Copyright|This is|[Oo]utput ' \
+  stdout stderr && Exit 1
+
+# Verbose mode output.
+$MAKE clean || Exit 1
+$MAKE V=1 dvi html info ps pdf >output 2>&1 || { cat output; Exit 1; }
+cat output
+$EGREP '(DVIPS|MAKEINFO|TEXI2(PDF|DVI)) ' output && Exit 1
+# Verbose output from TeX.
+grep '[Oo]utput .*foo\.pdf' output
+grep '[Oo]utput .*zardoz\.pdf' output
+$FGREP 'foo.log' output
+$FGREP 'zardoz.log' output
+# Verbose output from dvips.
+$FGREP ' dvips' output
+
+:
diff --git a/t/silent6.sh b/t/silent6.sh
index 0fc3665..8d3a326 100755
--- a/t/silent6.sh
+++ b/t/silent6.sh
@@ -30,9 +30,9 @@ echo SUBDIRS = sub > Makefile.am
 
 mkdir sub
 cat > sub/Makefile.am <<'EOF'
-my_verbose = $(my_verbose_$(V))
-my_verbose_ = $(my_verbose_$(AM_DEFAULT_VERBOSITY))
-my_verbose_0 = @echo " XGEN    $@";
+my_verbose = $(my_verbose/$(V))
+my_verbose/0 = @echo " XGEN    $@";
+my_verbose/1 =
 
 all-local: foo gen-headers
 
diff --git a/t/silent8.sh b/t/silent8.sh
deleted file mode 100755
index 1254f9f..0000000
--- a/t/silent8.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2009-2012 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
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Check texinfo rules in silent-rules mode.
-
-required='makeinfo-html tex texi2dvi-o dvips'
-. ./defs || Exit 1
-
-echo AC_OUTPUT >> configure.ac
-
-cat > Makefile.am <<'EOF'
-info_TEXINFOS = foo.texi
-EOF
-
-cat > foo.texi <<'EOF'
-\input texinfo
address@hidden %**start of header
address@hidden foo.info
address@hidden foo manual
address@hidden %**end of header
address@hidden
-EOF
-
-$ACLOCAL
-$AUTOMAKE --add-missing
-$AUTOCONF
-
-./configure --disable-silent-rules
-
-# Make sure that all labels work in silent-mode.
-$MAKE V=0 dvi html info ps pdf >stdout || { cat stdout; Exit 1; }
-cat stdout
-grep 'DVIPS    foo.ps' stdout || Exit 1
-grep 'MAKEINFO foo.html' stdout || Exit 1
-grep 'MAKEINFO foo.info' stdout || Exit 1
-grep 'TEXI2DVI foo.dvi' stdout || Exit 1
-grep 'TEXI2PDF foo.pdf' stdout || Exit 1
-
-# Now make sure the labels don't appear in verbose mode.
-$MAKE clean || Exit 1
-$MAKE V=1 dvi html info ps pdf >stdout || { cat stdout; Exit 1; }
-cat stdout
-grep 'DVIPS    foo.ps' stdout && Exit 1
-grep 'MAKEINFO foo.html' stdout && Exit 1
-grep 'MAKEINFO foo.info' stdout && Exit 1
-grep 'TEXI2DVI foo.dvi' stdout && Exit 1
-grep 'TEXI2PDF foo.pdf' stdout && Exit 1
-
-:
diff --git a/t/txinfo-include.sh b/t/txinfo-include.sh
new file mode 100755
index 0000000..dd4d633
--- /dev/null
+++ b/t/txinfo-include.sh
@@ -0,0 +1,164 @@
+#! /bin/sh
+# Copyright (C) 2012 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
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Texinfo input files using @include directives.  Check both in-tree
+# and VPATH builds, and both top-level and subdir input.
+
+required='makeinfo tex texi2dvi'
+. ./defs || Exit 1
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi sub/more.texi
+main_TEXINFOS = one.texi two.texi three.texi
+sub_more_TEXINFOS = sub/one.texi sub/two.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
address@hidden main.info
address@hidden main
address@hidden
address@hidden Top
address@hidden GNU dummy.
address@hidden
+* one::   Chapter one
+* two::   Chapter two
+* three:: Chapter three
address@hidden menu
address@hidden ifnottex
address@hidden one.texi
address@hidden two.texi
address@hidden three.texi
address@hidden
+END
+
+cat > one.texi << 'END'
address@hidden one
address@hidden Chapter one
+Foo bar, baz.
+END
+
+cat > two.texi << 'END'
address@hidden two
address@hidden Chapter two
+Blah Blah Blah.
+END
+
+cat > three.texi << 'END'
address@hidden three
address@hidden Chapter two
+GNU's Not Unix.
+END
+
+mkdir sub
+
+cat > sub/more.texi << 'END'
+\input texinfo
address@hidden more.info
address@hidden main
address@hidden
address@hidden Top
address@hidden GNU more.
address@hidden
+* desc:: Description of this program
+* hist:: History of this program
address@hidden menu
address@hidden ifnottex
address@hidden one.texi
address@hidden two.texi
address@hidden
+END
+
+cat > sub/one.texi << 'END'
address@hidden desc
address@hidden Description of this program
+It does something, really.
+END
+
+cat > sub/two.texi << 'END'
address@hidden hist
address@hidden History of this program
+It was written somehow.
+END
+
+cat > exp << 'END'
+./main.info
+./sub/more.info
+END
+
+check_info_contents ()
+{
+  srcdir=${1-.}
+  $FGREP "Foo bar, baz."                        $srcdir/main.info
+  $FGREP "Blah Blah Blah."                      $srcdir/main.info
+  $FGREP "GNU's Not Unix."                      $srcdir/main.info
+  $FGREP 'It does something, really.'           $srcdir/sub/more.info
+  $FGREP 'It was written somehow.'              $srcdir/sub/more.info
+}
+
+get_info_names ()
+{
+  find ${1-.} -type f -name '*.info' | LC_ALL=C sort > got
+}
+
+check_expected ()
+{
+  cat exp
+  cat got
+  diff exp got
+}
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure
+
+$MAKE info
+get_info_names
+check_expected
+
+check_info_contents
+
+$MAKE dvi
+test -f main.dvi
+test -f sub/more.dvi
+
+$MAKE maintainer-clean
+test ! -f main.dvi
+test ! -f sub/more.dvi
+test ! -f main.info
+test ! -f sub/more.info
+
+mkdir build
+cd build
+../configure
+$MAKE all dvi
+
+get_info_names ..
+sed 's|^\./|../|' ../exp > exp
+check_expected
+
+test -f main.dvi
+test -f sub/more.dvi
+
+check_info_contents ..
+
+$MAKE distcheck
+
+:
diff --git a/t/txinfo9.sh b/t/txinfo-rules-once.sh
similarity index 50%
rename from t/txinfo9.sh
rename to t/txinfo-rules-once.sh
index eb2cbdc..c35ce9a 100755
--- a/t/txinfo9.sh
+++ b/t/txinfo-rules-once.sh
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2003-2012 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
@@ -14,28 +14,32 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Make sure we only create texinfo-related targets once.
+# Some grepping checks on Texinfo support.
 
 . ./defs || Exit 1
 
-cat > Makefile.am << 'END'
-info_TEXINFOS = maude.texi liver.txi heart.texinfo
-END
+echo AC_OUTPUT >> configure.ac
+
+$ACLOCAL
 
-echo '@setfilename maude.info' > maude.texi
-echo '@setfilename liver.info' > liver.txi
-echo '@setfilename heart.info' > heart.texinfo
 : > texinfo.tex
 
-$ACLOCAL
+echo info_TEXINFOS = main.texi other.texi sub/x.texi > Makefile.am
+mkdir sub
+echo @setfilename main.info > main.texi
+echo @setfilename other.info > other.texi
+echo @setfilename sub/x.info > sub/x.texi
 $AUTOMAKE
+$EGREP '\.(info|pdf|ps|dvi|html|texi)' Makefile.in # For debugging.
+test $(grep -c '^%\.info: %\.texi$' Makefile.in) -eq 1
+test $(grep -c '^%\.html: %\.texi$' Makefile.in) -eq 1
+test $(grep -c '^%\.dvi: %\.texi$'  Makefile.in) -eq 1
+test $(grep -c '^%\.pdf: %\.texi$'  Makefile.in) -eq 1
+test $(grep -c '^%\.ps: %\.dvi$'    Makefile.in) -eq 1
 
-# These are just examples -- basically for many targets in texinfos.am
-# we only want them to appear once.  But grepping them all would be
-# overkill.
 for t in info dist-info dvi-am install-html uninstall-pdf-am; do
-  $EGREP "(^| )$t*.:" Makefile.in # For debugging.
-  test `$EGREP -c "(^| )$t(:| *.:)" Makefile.in` -eq 1
+  $FGREP $t Makefile.in # For debugging.
+  test $(grep -c "^$t *:" Makefile.in) -eq 1
 done
 
 :
diff --git a/t/instdir-cond.sh b/t/txinfo-unrecognized-extension-2.sh
similarity index 60%
copy from t/instdir-cond.sh
copy to t/txinfo-unrecognized-extension-2.sh
index 2965ff1..aef97a9 100755
--- a/t/instdir-cond.sh
+++ b/t/txinfo-unrecognized-extension-2.sh
@@ -14,35 +14,25 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check against automake bug#10997: directories holding only
-# conditionally-installed files should not be created unconditionally.
+# Test that automake complains properly when texinfo input files
+# specify output info files with an invalid extension.
 
 . ./defs || Exit 1
 
-cat >> configure.ac << 'END'
-AM_CONDITIONAL([ENABLE_FOO], [false])
-AC_OUTPUT
-END
-
-: > foo
-: > bar
-
 cat > Makefile.am << 'END'
-pkglibexec_SCRIPTS =
-if ENABLE_FOO
-pkgdata_DATA = foo
-pkglibexec_SCRIPTS += bar
-endif
+info_TEXINFOS = foo.texi bar.texi baz.texi
 END
 
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
+echo '@setfilename foo.inf'     > foo.texi
+echo '@setfilename bar'         > bar.texi
+echo '@setfilename baz.texi'    > baz.texi
+: > texinfo.tex
 
-./configure --prefix="`pwd`/inst"
+$ACLOCAL
+AUTOMAKE_fails
 
-$MAKE install
-test ! -d inst/share/instdir-cond
-test ! -d inst/libexec/instdir-cond
+grep "foo\.texi:.* 'foo.inf'.*unrecognized extension" stderr
+grep "bar\.texi:.* 'bar'.*unrecognized extension" stderr
+grep "baz\.texi:.* 'baz.texi'.*unrecognized extension" stderr
 
 :
diff --git a/t/txinfo17.sh b/t/txinfo17.sh
index a1fc0ec..f743853 100755
--- a/t/txinfo17.sh
+++ b/t/txinfo17.sh
@@ -24,7 +24,7 @@ info_TEXINFOS = texinfo.texi
 END
 
 cat > texinfo.texi << 'END'
address@hidden texinfo
address@hidden texinfo.info
 ...
 @verbatim
 @setfilename foobar.info
@@ -36,6 +36,6 @@ $ACLOCAL
 $AUTOMAKE --add-missing
 
 grep 'foobar' Makefile.in && Exit 1
-grep 'texinfo:' Makefile.in
+grep 'texinfo\.info:' Makefile.in
 
 :
diff --git a/t/txinfo20.sh b/t/txinfo20.sh
index 5c07880..98c044e 100755
--- a/t/txinfo20.sh
+++ b/t/txinfo20.sh
@@ -29,7 +29,7 @@ mkdir sub
 
 cat > main.texi << 'END'
 \input texinfo
address@hidden main
address@hidden main.info
 @settitle main
 @node Top
 Hello walls.
@@ -46,15 +46,15 @@ $AUTOCONF
 $MAKE
 
 # Feign more info files.
-: > main-1
-: > sub/main-1
+: > main.info-1
+: > sub/main.info-1
 
 # Break main.texi.
 $sleep
 cp main.texi main.old
 cat > main.texi << 'END'
 \input texinfo
address@hidden main
address@hidden main.info
 @settitle main
 @node Top
 @unknown_macro{Hello walls.}
@@ -63,14 +63,16 @@ END
 
 # makeinfo will bail out, but we should conserve the old info files.
 $MAKE && Exit 1
-test -f main
-test -f main-1
+test -f main.info
+test -f main.info-1
 
 # Restore main.texi, and break sub/main.texi.
 cp main.texi sub/main.texi
 mv main.old main.texi
 $MAKE && Exit 1
-test -f main
-test ! -f main-1
-test -f sub/main
-test -f sub/main-1
+test -f main.info
+test ! -f main.info-1
+test -f sub/main.info
+test -f sub/main.info-1
+
+:
diff --git a/t/txinfo3.sh b/t/txinfo3.sh
deleted file mode 100755
index 7363c39..0000000
--- a/t/txinfo3.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1997-2012 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
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test to make sure .info-less @setfilename works.
-
-required='makeinfo tex texi2dvi'
-. ./defs || Exit 1
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = textutils.texi doc/automake-ng.texi
-.PHONY: echo-info-deps
-echo-info-deps:
-       echo ' ' $(INFO_DEPS) ' '
-END
-
-cat > textutils.texi <<EOF
-\input texinfo
address@hidden textutils
address@hidden main
address@hidden Top
-Hello walls.
address@hidden
-EOF
-
-mkdir doc
-cat > doc/automake-ng.texi <<EOF
-\input texinfo
address@hidden automake-ng
address@hidden automake-ng
address@hidden Top
-Blurb.
address@hidden
-EOF
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-./configure
-$MAKE distcheck
-
-$MAKE
-test -f textutils
-test -f doc/automake-ng
-test ! -f textutils.info
-test ! -f doc/automake-ng.info
-
-$MAKE distdir
-test -f $distdir/textutils
-test -f $distdir/doc/automake-ng
-
-$MAKE echo-info-deps | grep '[ /]textutils '
-$MAKE echo-info-deps | grep '[ /]doc/automake-ng '
-
-:
diff --git a/t/txinfo6.sh b/t/txinfo6.sh
deleted file mode 100755
index b13c51f..0000000
--- a/t/txinfo6.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1998-2012 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
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test to make sure '.txi' extension works.
-
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = foo.txi
-END
-
-echo '@setfilename foo.info' > foo.txi
-: > texinfo.tex
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^%\.info: %\.txi$' Makefile.in
-
-:
diff --git a/t/vtexi.sh b/t/vtexi.sh
index 9d1bc24..b3035ed 100755
--- a/t/vtexi.sh
+++ b/t/vtexi.sh
@@ -53,10 +53,4 @@ grep '^\$(srcdir)/textutils\.info:.*[ /]version\.texi *$' 
Makefile.in
 $EGREP 'stamp-vti:.*textutils\.texi( .*)?$' Makefile.in
 $EGREP 'stamp-vti:.*\$\(top_srcdir\)/configure( .*)?$' Makefile.in
 
-# Check that the path to mdate-sh is correct.  Over escaping of '$'
-# etc. once led to '\$\(srcdir\)/mdate-sh'.
-# Filter out '$(srcdir)/mdate-sh'; there should be no occurrences
-# of '.../mdate-sh' left then.
-sed 's,\$(srcdir)/mdate-sh,,g' Makefile.in | grep '/mdate-sh' && Exit 1
-
 :
diff --git a/t/vtexi2.sh b/t/vtexi2.sh
index 18f1e9e..8cde8c4 100755
--- a/t/vtexi2.sh
+++ b/t/vtexi2.sh
@@ -26,7 +26,7 @@ info_TEXINFOS = zardoz.texi
 END
 
 cat > zardoz.texi << 'END'
address@hidden zardoz
address@hidden zardoz.info
 @include version.texi
 END
 


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]