summaryrefslogtreecommitdiff
path: root/lib/am/texibuild.am
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-06-20 14:25:19 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-06-20 14:59:56 +0200
commitaa9036d432c0c8a671800ceb172303cd9a933e31 (patch)
tree88b49d1860b50bbac0957dca79e7a256d2ce72af /lib/am/texibuild.am
parent6d02bf85a2b851f7519d96dafaa6e9b1f1588bad (diff)
parent9c22243af8307cd11923b3373314a5c7723d7c6d (diff)
downloadautomake-aa9036d432c0c8a671800ceb172303cd9a933e31.tar.gz
Merge branch 'master' into ng/master
* master: maintcheck: guard against obsolete $required entries tests: drop requirement 'makeinfo-html'; 'makeinfo' is enough tests: drop requirement 'texi2dvi-o'; 'texi2dvi' is enough texi: require Texinfo >= 4.9, related enhancements docs: it's not true that DISTCHECK_CONFIGURE_FLAGS is maintainer-reserved + Extra non-trivial edits: * t/silent-texi.sh ($required): Simply use 'makeinfo and 'texi2dvi', instead of (respectively) 'makeinfo-html' and 'texi2dvi-o'. * t/texinfo21b.sh: Fix a minor typo in heading comments. ($required): Simply use 'makeinfo instead of 'makeinfo-html' * lib/am/texibuild.am: Merge the changes done in the master branch to the ".texi -> .dvi" and ".texi -> .pdf" recipes into the definition of the '$(am__texibuild_dvi_or_pdf)' make function, as well as into ... (%.dvi: %.texi), (%.pdf: %.texi): ... calls to that function into these pattern rules. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'lib/am/texibuild.am')
-rw-r--r--lib/am/texibuild.am24
1 files changed, 15 insertions, 9 deletions
diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am
index fcd40cff7..144154ad6 100644
--- a/lib/am/texibuild.am
+++ b/lib/am/texibuild.am
@@ -27,13 +27,19 @@ define am__texibuild_dvi_or_pdf
## 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)
+
+## texi2dvi and texi2pdf don't silence everything with -q, redirect
+## to /dev/null instead. We still want -q (%TEXIQUIET%) because it
+## turns on batch mode.
+## Use '--build-dir' so that TeX and Texinfo auxiliary files and build
+## by-products are left in there, instead of cluttering the current
+## directory (see automake bug#11146). Use a different build-dir for
+## each file (as well as distinct build-dirs for PDF and DVI files) to
+## avoid hitting a Texinfo bug that could cause a low-probability racy
+## failure when doing parallel builds; see:
+## http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html
+ $2 $(AM_V_TEXI_QUIETOPTS) --build-dir=$3 \
+ -o $@ $< $(AM_V_TEXI_DEVNULL_REDIRECT)
endef
define am__texibuild_info
@@ -100,9 +106,9 @@ endef
%.info: %.texi
$(call am__texibuild_info,$(am__info_insrc))
%.dvi: %.texi
- $(call am__texibuild_dvi_or_pdf,$(AM_V_TEXI2DVI),$(TEXI2DVI))
+ $(call am__texibuild_dvi_or_pdf,$(AM_V_TEXI2DVI),$(TEXI2DVI),$(@:.dvi=.t2d))
%.pdf: %.texi
- $(call am__texibuild_dvi_or_pdf,$(AM_V_TEXI2PDF),$(TEXI2PDF))
+ $(call am__texibuild_dvi_or_pdf,$(AM_V_TEXI2PDF),$(TEXI2PDF),$(@:.pdf=.t2p))
%.html: %.texi
$(call am__texibuild_html)