public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/marxin/heads/sphinx-v2)] Support html targets.
@ 2021-06-25  7:55 Martin Liska
  0 siblings, 0 replies; only message in thread
From: Martin Liska @ 2021-06-25  7:55 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:9d20171f65e499783d18a180f6717a8dad91ac8f

commit 9d20171f65e499783d18a180f6717a8dad91ac8f
Author: Martin Liska <mliska@suse.cz>
Date:   Fri Jun 25 09:53:11 2021 +0200

    Support html targets.

Diff:
---
 gcc/Makefile.in          | 117 +++++++----------------------------------------
 gcc/fortran/Make-lang.in |  39 ++++------------
 gcc/go/Make-lang.in      |  21 ++-------
 3 files changed, 28 insertions(+), 149 deletions(-)

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 3a71f3ce291..e236ba6605e 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -113,14 +113,6 @@ target_objdir := $(toplevel_builddir)/$(target_subdir)
 # Directory where sources are, from where we are.
 VPATH = @srcdir@
 
-# We define a vpath for the sources of the .texi files here because they
-# are split between multiple directories and we would rather use one implicit
-# pattern rule for everything.
-# This vpath could be extended within the Make-lang fragments.
-
-vpath %.texi $(gcc_docdir)
-vpath %.texi $(gcc_docdir)/include
-
 # --------
 # UNSORTED
 # --------
@@ -320,11 +312,6 @@ install_sh = $(SHELL) $(srcdir)/../install-sh
 INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
 MAKEINFO = @MAKEINFO@
 MAKEINFOFLAGS = --no-split
-TEXI2DVI = texi2dvi
-TEXI2PDF = texi2pdf
-TEXI2HTML = $(MAKEINFO) --html
-TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
-POD2MAN = pod2man --center="GNU" --release="gcc-$(version)" --date=$(shell sed 's/\(....\)\(..\)\(..\)/\1-\2-\3/' <$(DATESTAMP))
 # Some versions of `touch' (such as the version on Solaris 2.8)
 # do not correctly set the timestamp due to buggy versions of `utime'
 # in the kernel.  So, we use `echo' instead.
@@ -3272,76 +3259,6 @@ info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo
 srcinfo: $(INFOFILES)
 	-cp -p $^ $(srcdir)/doc
 
-TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi		\
-	 gcc-common.texi gcc-vers.texi
-
-TEXI_GCC_FILES = gcc.texi gcc-common.texi gcc-vers.texi frontends.texi	\
-	 standards.texi invoke.texi extend.texi md.texi objc.texi	\
-	 gcov.texi trouble.texi bugreport.texi service.texi		\
-	 contribute.texi compat.texi funding.texi gnu.texi gpl_v3.texi	\
-	 fdl.texi contrib.texi cppenv.texi cppopts.texi avr-mmcu.texi	\
-	 implement-c.texi implement-cxx.texi gcov-tool.texi gcov-dump.texi \
-	 lto-dump.texi
-
-# we explicitly use $(srcdir)/doc/tm.texi here to avoid confusion with
-# the generated tm.texi; the latter might have a more recent timestamp,
-# but we don't want to rebuild the info files unless the contents of
-# the *.texi files have changed.
-TEXI_GCCINT_FILES = gccint.texi gcc-common.texi gcc-vers.texi		\
-	 contribute.texi makefile.texi configterms.texi options.texi	\
-	 portability.texi interface.texi passes.texi rtl.texi md.texi	\
-	 $(srcdir)/doc/tm.texi hostconfig.texi fragments.texi	\
-	 configfiles.texi collect2.texi headerdirs.texi funding.texi	\
-	 gnu.texi gpl_v3.texi fdl.texi contrib.texi languages.texi	\
-	 sourcebuild.texi gty.texi libgcc.texi cfg.texi tree-ssa.texi	\
-	 loop.texi generic.texi gimple.texi plugins.texi optinfo.texi   \
-	 match-and-simplify.texi analyzer.texi ux.texi poly-int.texi
-
-TEXI_GCCINSTALL_FILES = install.texi fdl.texi		\
-	 gcc-common.texi gcc-vers.texi
-
-TEXI_CPPINT_FILES = cppinternals.texi gcc-common.texi gcc-vers.texi
-
-# gcc-vers.texi is generated from the version files.
-gcc-vers.texi: $(BASEVER) $(DEVPHASE)
-	(echo "@set version-GCC $(BASEVER_c)"; \
-	 if [ "$(DEVPHASE_c)" = "experimental" ]; \
-	 then echo "@set DEVELOPMENT"; \
-	 else echo "@clear DEVELOPMENT"; \
-	 fi) > $@T
-	$(build_file_translate) echo @set srcdir `echo $(abs_srcdir) | sed -e 's|\\([@{}]\\)|@\\1|g'` >> $@T
-	if [ -n "$(PKGVERSION)" ]; then \
-	  echo "@set VERSION_PACKAGE $(PKGVERSION)" >> $@T; \
-	fi
-	echo "@set BUGURL $(BUGURL_TEXI)" >> $@T; \
-	mv -f $@T $@
-
-
-doc/cpp.dvi: $(TEXI_CPP_FILES)
-doc/gcc.dvi: $(TEXI_GCC_FILES)
-doc/gccint.dvi: $(TEXI_GCCINT_FILES)
-doc/cppinternals.dvi: $(TEXI_CPPINT_FILES)
-
-doc/cpp.pdf: $(TEXI_CPP_FILES)
-doc/gcc.pdf: $(TEXI_GCC_FILES)
-doc/gccint.pdf: $(TEXI_GCCINT_FILES)
-doc/cppinternals.pdf: $(TEXI_CPPINT_FILES)
-
-$(build_htmldir)/cpp/index.html: $(TEXI_CPP_FILES)
-$(build_htmldir)/gcc/index.html: $(TEXI_GCC_FILES)
-$(build_htmldir)/gccint/index.html: $(TEXI_GCCINT_FILES)
-$(build_htmldir)/cppinternals/index.html: $(TEXI_CPPINT_FILES)
-
-dvi:: doc/gcc.dvi doc/gccint.dvi doc/gccinstall.dvi doc/cpp.dvi \
-      doc/cppinternals.dvi lang.dvi
-
-doc/%.dvi: %.texi
-	$(TEXI2DVI) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
-
-# Duplicate entry to handle renaming of gccinstall.dvi
-doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
-	$(TEXI2DVI) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
-
 PDFFILES = doc/gcc/pdf/latex/gcc.pdf doc/gccint/pdf/latex/gccint.pdf doc/install/pdf/latex/install.pdf \
 	   doc/cpp/pdf/latex/cpp.pdf doc/cppinternals/pdf/latex/cppinternals.pdf
 
@@ -3370,24 +3287,25 @@ HTMLS_INSTALL=$(build_htmldir)/cpp $(build_htmldir)/gcc \
        $(build_htmldir)/cppinternals
 
 # List the html file targets.
-HTMLS_BUILD=$(build_htmldir)/cpp/index.html $(build_htmldir)/gcc/index.html \
-       $(build_htmldir)/gccinstall/index.html $(build_htmldir)/gccint/index.html \
-       $(build_htmldir)/cppinternals/index.html lang.html
+HTMLS = doc/gcc/html/html/index.html doc/gccint/html/html/index.html doc/install/html/html/index.html \
+	doc/cpp/html/html/index.html doc/cppinternals/html/html/index.html
+
+html:: $(HTMLS)
+
+doc/gcc/html/html/index.html: $(SPHINX_FILES)
+	+ make -C $(srcdir)/../doc html SOURCEDIR=$(srcdir)/doc/gcc BUILDDIR=$(objdir)/doc/gcc/html
+
+doc/gccint/html/html/index.html: $(SPHINX_FILES)
+	+ make -C $(srcdir)/../doc html SOURCEDIR=$(srcdir)/doc/gccint BUILDDIR=$(objdir)/doc/gccint/html
 
-html:: $(HTMLS_BUILD)
+doc/install/html/html/index.html: $(SPHINX_FILES)
+	+ make -C $(srcdir)/../doc html SOURCEDIR=$(srcdir)/doc/install BUILDDIR=$(objdir)/doc/install/html
 
-$(build_htmldir)/%/index.html: %.texi
-	$(mkinstalldirs) $(@D)
-	rm -f $(@D)/*
-	$(TEXI2HTML) -I $(abs_docdir) -I $(abs_docdir)/include -o $(@D) $<
+doc/cpp/html/html/index.html: $(SPHINX_FILES)
+	+ make -C $(srcdir)/../doc html SOURCEDIR=$(srcdir)/doc/cpp BUILDDIR=$(objdir)/doc/cpp/html
 
-# Duplicate entry to handle renaming of gccinstall
-$(build_htmldir)/gccinstall/index.html: $(TEXI_GCCINSTALL_FILES)
-	$(mkinstalldirs) $(@D)
-	echo rm -f $(@D)/*
-	SOURCEDIR=$(abs_docdir) \
-	DESTDIR=$(@D) \
-	$(SHELL) $(srcdir)/doc/install.texi2html
+doc/cppinternals/html/html/index.html: $(SPHINX_FILES)
+	+ make -C $(srcdir)/../doc html SOURCEDIR=$(srcdir)/doc/cppinternals BUILDDIR=$(objdir)/doc/cppinternals/html
 
 MANFILES = doc/gcc/man/man/gcc.1 doc/cpp/man/man/cpp.1 \
 	   doc/gcc/man/man/gfdl.7 doc/gcc/man/man/gpl.7 \
@@ -3528,7 +3446,6 @@ distclean: clean lang.distclean
 	-cd testsuite && rm -f *.out *.gcov *$(coverageexts)
 	-rm -rf ${QMTEST_DIR} stamp-qmtest
 	-rm -f .gdbinit configargs.h
-	-rm -f gcov.pod
 # Delete po/*.gmo only if we are not building in the source directory.
 	-if [ ! -f po/exgettext ]; then rm -f po/*.gmo; fi
 	-rmdir ada cp f java objc intl po testsuite plugin 2>/dev/null
@@ -3793,7 +3710,7 @@ install-pdf: $(PDFFILES) lang.install-pdf
 
 html__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 
-install-html: $(HTMLS_BUILD) lang.install-html
+install-html: $(HTMLS) lang.install-html
 	@$(NORMAL_INSTALL)
 	test -z "$(htmldir)" || $(mkinstalldirs) "$(DESTDIR)$(htmldir)"
 	@list='$(HTMLS_INSTALL)'; for p in $$list; do \
diff --git a/gcc/fortran/Make-lang.in b/gcc/fortran/Make-lang.in
index fb7e9a1a91f..1435deccb75 100644
--- a/gcc/fortran/Make-lang.in
+++ b/gcc/fortran/Make-lang.in
@@ -117,16 +117,15 @@ fortran.tags: force
 	etags --include TAGS.sub --include ../TAGS.sub
 
 fortran.info: doc/fortran/info/texinfo/gfortran.info doc/gfc-internals/info/texinfo/gfc-internals.info
-fortran.dvi: doc/gfortran.dvi doc/gfc-internals.dvi
 
 doc/fortran/info/texinfo/gfortran.info: $(SPHINX_FILES)
 	+ if [ x$(SPHINX_BUILD) = xsphinx-build ]; then \
 	  make -C $(srcdir)/../doc info SOURCEDIR=$(srcdir)/fortran/doc/gfortran BUILDDIR=$(objdir)/doc/fortran/info; \
 	else true; fi
 
-F95_HTMLFILES = $(build_htmldir)/gfortran
+F95_HTMLFILES = doc/fortran/html/html/index.html
 
-fortran.html: $(F95_HTMLFILES)/index.html
+fortran.html: $(F95_HTMLFILES) doc/gfc-internals/html/html/index.html
 
 fortran.install-html: $(F95_HTMLFILES)
 	@$(NORMAL_INSTALL)
@@ -162,7 +161,7 @@ fortran.install-pdf: $(F95_PDFFILES)
 F95_MANFILES = doc/fortran/man/man/gfortran.1
 
 doc/fortran/man/man/gfortran.1: $(SPHINX_FILES)
-	+ make -C $(srcdir)/../doc man SOURCEDIR=$(srcdir)/fortran/doc/gfortran BUILDDIR=$(objdir)/doc/fortran/info
+	+ make -C $(srcdir)/../doc man SOURCEDIR=$(srcdir)/fortran/doc/gfortran BUILDDIR=$(objdir)/doc/fortran/man
 
 fortran.man: $(F95_MANFILES)
 
@@ -183,38 +182,13 @@ check_gfortran_parallelize = 10000
 # No fortran-specific selftests
 selftest-fortran:
 
-# GFORTRAN documentation.
-GFORTRAN_TEXI = \
-  $(srcdir)/fortran/gfortran.texi \
-  $(srcdir)/fortran/intrinsic.texi \
-  $(srcdir)/fortran/invoke.texi \
-  $(srcdir)/doc/include/fdl.texi \
-  $(srcdir)/doc/include/gpl_v3.texi \
-  $(srcdir)/doc/include/funding.texi \
-  $(srcdir)/doc/include/gcc-common.texi \
-  gcc-vers.texi
-
 doc/fortran/pdf/latex/gfortran.pdf: $(SPHINX_FILES)
 	+ make -C $(srcdir)/../doc latexpdf SOURCEDIR=$(srcdir)/fortran/doc/gfortran BUILDDIR=$(objdir)/doc/fortran/pdf
 
-$(build_htmldir)/gfortran/index.html: $(GFORTRAN_TEXI)
-	$(mkinstalldirs) $(@D)
-	rm -f $(@D)/*
-	$(TEXI2HTML) -I $(gcc_docdir)/include -I $(srcdir)/fortran -o $(@D) $<
-
-.INTERMEDIATE: gfortran.pod
-
-gfortran.pod: $(GFORTRAN_TEXI)
-	-$(TEXI2POD) -DBUGURL="$(BUGURL_TEXI)" \
-	  < $(srcdir)/fortran/invoke.texi > $@
+doc/fortran/html/html/index.html: $(SPHINX_FILES)
+	+ make -C $(srcdir)/../doc html SOURCEDIR=$(srcdir)/fortran/doc/gfortran BUILDDIR=$(objdir)/doc/fortran/html
 
 # GFORTRAN internals documentation.
-GFC_INTERNALS_TEXI = \
-  $(srcdir)/fortran/gfc-internals.texi \
-  $(srcdir)/doc/include/fdl.texi \
-  $(srcdir)/doc/include/gcc-common.texi \
-  gcc-vers.texi
-
 doc/gfc-internals/info/texinfo/gfc-internals.info: $(SPHINX_FILES)
 	+ if [ x$(SPHINX_BUILD) = xsphinx-build ]; then \
 	  make -C $(srcdir)/../doc info SOURCEDIR=$(srcdir)/fortran/doc/gfc-internals BUILDDIR=$(objdir)/doc/gfc-internals/info; \
@@ -223,6 +197,9 @@ doc/gfc-internals/info/texinfo/gfc-internals.info: $(SPHINX_FILES)
 doc/gfc-internals/pdf/latex/gfc-internals.pdf: $(SPHINX_FILES)
 	+ make -C $(srcdir)/../doc latexpdf SOURCEDIR=$(srcdir)/fortran/doc/gfc-internals BUILDDIR=$(objdir)/doc/gfc-internals/pdf
 
+doc/gfc-internals/html/html/index.html: $(SPHINX_FILES)
+	+ make -C $(srcdir)/../doc html SOURCEDIR=$(srcdir)/fortran/doc/gfc-internals BUILDDIR=$(objdir)/doc/gfc-internals/html
+
 # Create or recreate the gfortran private include file directory.
 install-finclude-dir: installdirs
 	$(mkinstalldirs) -m 0755 $(DESTDIR)$(libsubdir)/finclude
diff --git a/gcc/go/Make-lang.in b/gcc/go/Make-lang.in
index fc58ff68b5f..e9a3aef9959 100644
--- a/gcc/go/Make-lang.in
+++ b/gcc/go/Make-lang.in
@@ -88,13 +88,6 @@ go1$(exeext): $(GO_OBJS) attribs.o $(BACKEND) $(LIBDEPS) $(go.prev)
 
 # Documentation.
 
-GO_TEXI_FILES = \
-	go/gccgo.texi \
-	$(gcc_docdir)/include/fdl.texi \
-	$(gcc_docdir)/include/gpl_v3.texi \
-	$(gcc_docdir)/include/gcc-common.texi \
-	gcc-vers.texi
-
 doc/gccgo/info/texinfo/gccgo.info: $(SPHINX_FILES)
 	+ if [ x$(SPHINX_BUILD) = xsphinx-build ]; then \
 	  make -C $(srcdir)/../doc info SOURCEDIR=$(srcdir)/go/doc/ BUILDDIR=$(objdir)/doc/gccgo/info; \
@@ -103,16 +96,8 @@ doc/gccgo/info/texinfo/gccgo.info: $(SPHINX_FILES)
 doc/gccgo/pdf/latex/gccgo.pdf: $(SPHINX_FILES)
 	+ make -C $(srcdir)/../doc latexpdf SOURCEDIR=$(srcdir)/go/doc/ BUILDDIR=$(objdir)/doc/gccgo/pdf
 
-$(build_htmldir)/go/index.html: $(GO_TEXI_FILES)
-	$(mkinstalldirs) $(@D)
-	rm -f $(@D)/*
-	$(TEXI2HTML) -I $(gcc_docdir) -I $(gcc_docdir)/include \
-		-I $(srcdir)/go -o $(@D) $<
-
-.INTERMEDIATE: gccgo.pod
-
-gccgo.pod: go/gccgo.texi
-	-$(TEXI2POD) -D gccgo < $< > $@
+doc/gccgo/html/html/index.html: $(SPHINX_FILES)
+	+ make -C $(srcdir)/../doc html SOURCEDIR=$(srcdir)/go/doc/ BUILDDIR=$(objdir)/doc/gccgo/html
 
 # Build hooks.
 
@@ -124,7 +109,7 @@ go.info: doc/gccgo/info/texinfo/gccgo.info
 
 go.pdf: doc/gccgo/pdf/latex/gccgo.pdf
 
-go.html: $(build_htmldir)/go/index.html
+go.html: doc/gccgo/html/html/index.html
 
 go.srcinfo: doc/gccgo/info/texinfo/gccgo.info
 	-cp -p $^ $(srcdir)/doc


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-25  7:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-25  7:55 [gcc(refs/users/marxin/heads/sphinx-v2)] Support html targets Martin Liska

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).