[v2] html: Set CONTENTS_OUTPUT_LOCATION=inline if makeinfo supports it
Commit Message
This flag allows us to restore old (pre-6.8) behavior of the
@{summary,}content commands, so that texi2any continues to emit
summarycontents first.
maintainer-scripts/ChangeLog:
* update_web_docs_git: Set CONTENTS_OUTPUT_LOCATION=inline in
order to put @shortcontents above contents.
gcc/ChangeLog:
* configure.ac: Add check for the Texinfo 6.8
CONTENTS_OUTPUT_LOCATION customization variable and set it if
supported.
* configure: Regenerate.
* Makefile.in (MAKEINFO_TOC_INLINE_FLAG): New variable. Set by
configure.ac to -c CONTENTS_OUTPUT_LOCATION=inline if
CONTENTS_OUTPUT_LOCATION support is detected, empty otherwise.
($(build_htmldir)/%/index.html): Pass MAKEINFO_TOC_INLINE_FLAG.
---
Here's an updated version of that patch, for review. I'm sending it
separately and properly to not accidentally alienate potential
reviewers.
gcc/Makefile.in | 6 ++++-
gcc/configure | 35 ++++++++++++++++++++++++--
gcc/configure.ac | 21 ++++++++++++++++
maintainer-scripts/update_web_docs_git | 2 +-
4 files changed, 60 insertions(+), 4 deletions(-)
@@ -787,6 +787,9 @@ INSTALL_HEADERS=install-headers install-mkheaders
# Control whether Info documentation is built and installed.
BUILD_INFO = @BUILD_INFO@
+# Control flags for @contents placement in HTML output
+MAKEINFO_TOC_INLINE_FLAG = @MAKEINFO_TOC_INLINE_FLAG@
+
# Control whether manpages generated by texi2pod.pl can be rebuilt.
GENERATED_MANPAGES = @GENERATED_MANPAGES@
@@ -3461,7 +3464,8 @@ html:: $(HTMLS_BUILD)
$(build_htmldir)/%/index.html: %.texi
$(mkinstalldirs) $(@D)
rm -f $(@D)/*
- $(TEXI2HTML) -I $(abs_docdir) -I $(abs_docdir)/include -o $(@D) $<
+ $(TEXI2HTML) $(MAKEINFO_TOC_INLINE_FLAG) \
+ -I $(abs_docdir) -I $(abs_docdir)/include -o $(@D) $<
# Duplicate entry to handle renaming of gccinstall
$(build_htmldir)/gccinstall/index.html: $(TEXI_GCCINSTALL_FILES)
@@ -1242,6 +1242,27 @@ else
fi
AC_SUBST(BUILD_INFO)
+# Determine whether makeinfo supports the CONTENTS_OUTPUT_LOCATION variable.
+# If it does, we want to pass it to makeinfo in order to restore the old
+# behavior of @{summary,}contents placement.
+MAKEINFO_TOC_INLINE_FLAG=
+AS_IF([test x"$MAKEINFO" != x], [
+ AC_CACHE_CHECK([for CONTENTS_OUTPUT_LOCATION support in $MAKEINFO],
+ [gcc_cv_texi_add_toc_inline_flags], [
+ # Detect the unknown variable CONTENTS_OUTPUT_LOCATION warning
+ if "$MAKEINFO" -c CONTENTS_OUTPUT_LOCATION=inline </dev/null 2>&1 \
+ | grep CONTENTS_OUTPUT_LOCATION >/dev/null; then
+ gcc_cv_texi_add_toc_inline_flags=no
+ else
+ gcc_cv_texi_add_toc_inline_flags=yes
+ fi
+ ])
+ if test x"$gcc_cv_texi_add_toc_inline_flags" = xyes; then
+ MAKEINFO_TOC_INLINE_FLAG='-c CONTENTS_OUTPUT_LOCATION=inline'
+ fi
+])
+AC_SUBST([MAKEINFO_TOC_INLINE_FLAG])
+
# Is pod2man recent enough to regenerate manpages?
AC_MSG_CHECKING([for recent Pod::Man])
if (perl -e 'use 1.10 Pod::Man') >/dev/null 2>&1; then
@@ -169,7 +169,7 @@ for file in $MANUALS; do
if [ "$file" = "gnat_ugn" ]; then
includes="$includes -I gcc/gcc/ada -I gcc/gcc/ada/doc/gnat_ugn"
fi
- makeinfo --html --css-ref $CSS $includes -o ${file} ${filename}
+ makeinfo --html -c CONTENTS_OUTPUT_LOCATION=inline --css-ref $CSS $includes -o ${file} ${filename}
tar cf ${file}-html.tar ${file}/*.html
texi2dvi $includes -o ${file}.dvi ${filename} </dev/null >/dev/null && dvips -o ${file}.ps ${file}.dvi
texi2pdf $includes -o ${file}.pdf ${filename} </dev/null