Skip to content

Commit

Permalink
html: Set CONTENTS_OUTPUT_LOCATION=inline if makeinfo supports it
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
ArsenArsen committed Mar 21, 2023
1 parent e54b01a commit 0395e13
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 4 deletions.
6 changes: 5 additions & 1 deletion gcc/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -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@

Expand Down Expand Up @@ -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)
Expand Down
35 changes: 33 additions & 2 deletions gcc/configure
Original file line number Diff line number Diff line change
Expand Up @@ -810,6 +810,7 @@ PYTHON
BISON
FLEX
GENERATED_MANPAGES
MAKEINFO_TOC_INLINE_FLAG
BUILD_INFO
MAKEINFO
have_mktemp_command
Expand Down Expand Up @@ -8795,6 +8796,36 @@ else
fi


# 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
# behaviour of @{summary,}contents placement.
MAKEINFO_TOC_INLINE_FLAG=
if test x"$MAKEINFO" != x; then :

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CONTENTS_OUTPUT_LOCATION support in $MAKEINFO" >&5
$as_echo_n "checking for CONTENTS_OUTPUT_LOCATION support in $MAKEINFO... " >&6; }
if ${gcc_cv_texi_add_toc_inline_flags+:} false; then :
$as_echo_n "(cached) " >&6
else

# 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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_texi_add_toc_inline_flags" >&5
$as_echo "$gcc_cv_texi_add_toc_inline_flags" >&6; }
if test x"$gcc_cv_texi_add_toc_inline_flags" = xyes; then
MAKEINFO_TOC_INLINE_FLAG='-c CONTENTS_OUTPUT_LOCATION=inline'
fi

fi


# Is pod2man recent enough to regenerate manpages?
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent Pod::Man" >&5
$as_echo_n "checking for recent Pod::Man... " >&6; }
Expand Down Expand Up @@ -19792,7 +19823,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 19795 "configure"
#line 19826 "configure"
#include "confdefs.h"

#if HAVE_DLFCN_H
Expand Down Expand Up @@ -19898,7 +19929,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 19901 "configure"
#line 19932 "configure"
#include "confdefs.h"

#if HAVE_DLFCN_H
Expand Down
21 changes: 21 additions & 0 deletions gcc/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion maintainer-scripts/update_web_docs_git
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ for file in $MANUALS; do
elif [ "$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
Expand Down

0 comments on commit 0395e13

Please sign in to comment.