[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.1-418-g9dd146c,
Stefano Lattarini <=