Re: [PATCH] sphinx: support Sphinx in lib*/Makefile.am.
Hello, On Thu, 10 Nov 2022, Martin Liška wrote: > This is a patch which adds support for Sphinx in lib*/Makefile.am where > I wrongly modified Makefile.in that are generated. > > One thing that's missing is that the generated Makefile.in does not > contain 'install-info-am' target and thus the created info files > are not installed with 'make install'. Does anybody know? The whole generation/processing of '*info*' targets (and dvi,pdf,ps,html targets) is triggered by the presence of a 'TEXINFO' primary (here in the 'info_TEXINFO' variable), which you removed. As the sphinx result is not appropriate for either TEXINFO or MANS primaries (the only ones in automake related specifically to documentation), you probably want to include them in the DATA primary. For backward compatibility you might want to add your own {un,}install-info-am targets depending on {un,}install-data-am then, though I'm not sure why one would need one. I currently don't quite see how you make the Sphinx results be installed at all, AFAICS there's no mention of them in any of the automake variables. You have to list something somewhere (as said, probably in DATA) to enable automake to generate the usual set of Makefile targets. (beware: I'm not an automake expert, so the above might turn out to be misleading advise :-) ) Ciao, Michael. > > Thanks, > Martin > > --- > libgomp/Makefile.am | 27 ++- > libgomp/Makefile.in | 275 +++--- > libgomp/testsuite/Makefile.in | 3 + > libitm/Makefile.am| 26 ++- > libitm/Makefile.in| 278 ++ > libitm/testsuite/Makefile.in | 3 + > libquadmath/Makefile.am | 37 ++-- > libquadmath/Makefile.in | 307 +++--- > 8 files changed, 208 insertions(+), 748 deletions(-) > > diff --git a/libgomp/Makefile.am b/libgomp/Makefile.am > index 428f7a9dab5..ab5e86b0f98 100644 > --- a/libgomp/Makefile.am > +++ b/libgomp/Makefile.am > @@ -11,6 +11,8 @@ config_path = @config_path@ > search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) > $(top_srcdir) \ > $(top_srcdir)/../include > +abs_doc_builddir = @abs_top_builddir@/doc > + > fincludedir = > $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude > libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include > @@ -100,18 +102,6 @@ fortran.o: libgomp_f.h > env.lo: libgomp_f.h > env.o: libgomp_f.h > - > -# Automake Documentation: > -# If your package has Texinfo files in many directories, you can use the > -# variable TEXINFO_TEX to tell Automake where to find the canonical > -# `texinfo.tex' for your package. The value of this variable should be > -# the relative path from the current `Makefile.am' to `texinfo.tex'. > -TEXINFO_TEX = ../gcc/doc/include/texinfo.tex > - > -# Defines info, dvi, pdf and html targets > -MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include > -info_TEXINFOS = libgomp.texi > - > # AM_CONDITIONAL on configure option --generated-files-in-srcdir > if GENINSRC > STAMP_GENINSRC = stamp-geninsrc > @@ -127,7 +117,7 @@ STAMP_BUILD_INFO = > endif > -all-local: $(STAMP_GENINSRC) > +all-local: $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) > stamp-geninsrc: libgomp.info > cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info > @@ -135,8 +125,15 @@ stamp-geninsrc: libgomp.info > libgomp.info: $(STAMP_BUILD_INFO) > -stamp-build-info: libgomp.texi > - $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o > libgomp.info $(srcdir)/libgomp.texi > +RST_FILES:=$(shell find $(srcdir) -name *.rst) > +SPHINX_CONFIG_FILES:=$(srcdir)/doc/conf.py $(srcdir)/../doc/baseconf.py > +SPHINX_FILES:=$(RST_FILES) $(SPHINX_CONFIG_FILES) > + > +stamp-build-info: $(SPHINX_FILES) > + + if [ x$(HAS_SPHINX_BUILD) = xhas-sphinx-build ]; then \ > + make -C $(srcdir)/../doc info SOURCEDIR=$(abs_srcdir)/doc > BUILDDIR=$(abs_doc_builddir)/info SPHINXBUILD=$(SPHINX_BUILD); \ > + cp ./doc/info/texinfo/libgomp.info libgomp.info; \ > + else true; fi > @touch $@ > diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in > index 814ccd13dc0..4d0f2184e95 100644 > --- a/libgomp/Makefile.in > +++ b/libgomp/Makefile.in > @@ -177,7 +177,7 @@ am__uninstall_files_from_dir = { \ > || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ > $(am__cd) "$$dir" && rm -f $$files; }; \ >} > -am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \ > +am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \ > "$(DESTDIR)$(fincludedir)" "$(DESTDIR)$(libsubincludedir)" \ > "$(DESTDIR)$(toolexeclibdir)" > LTLIBRARIES = $(toolexeclib_LTLIBRARIES) > @@ -269,16 +269,9 @@ am__v_FCLD_0 = @echo " FCLD" $@; > am__v_FCLD_1 = > SOURCES = $(libgomp_plugin_gcn_la_SOURCES) \ > $(libgomp_plugin_nvptx_la_SOURCES) $(libgomp_la_SOURCES) > -AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) > -am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAU
[PATCH] sphinx: support Sphinx in lib*/Makefile.am.
Hi. This is a patch which adds support for Sphinx in lib*/Makefile.am where I wrongly modified Makefile.in that are generated. One thing that's missing is that the generated Makefile.in does not contain 'install-info-am' target and thus the created info files are not installed with 'make install'. Does anybody know? Thanks, Martin --- libgomp/Makefile.am | 27 ++- libgomp/Makefile.in | 275 +++--- libgomp/testsuite/Makefile.in | 3 + libitm/Makefile.am| 26 ++- libitm/Makefile.in| 278 ++ libitm/testsuite/Makefile.in | 3 + libquadmath/Makefile.am | 37 ++-- libquadmath/Makefile.in | 307 +++--- 8 files changed, 208 insertions(+), 748 deletions(-) diff --git a/libgomp/Makefile.am b/libgomp/Makefile.am index 428f7a9dab5..ab5e86b0f98 100644 --- a/libgomp/Makefile.am +++ b/libgomp/Makefile.am @@ -11,6 +11,8 @@ config_path = @config_path@ search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) \ $(top_srcdir)/../include +abs_doc_builddir = @abs_top_builddir@/doc + fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include @@ -100,18 +102,6 @@ fortran.o: libgomp_f.h env.lo: libgomp_f.h env.o: libgomp_f.h - -# Automake Documentation: -# If your package has Texinfo files in many directories, you can use the -# variable TEXINFO_TEX to tell Automake where to find the canonical -# `texinfo.tex' for your package. The value of this variable should be -# the relative path from the current `Makefile.am' to `texinfo.tex'. -TEXINFO_TEX = ../gcc/doc/include/texinfo.tex - -# Defines info, dvi, pdf and html targets -MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include -info_TEXINFOS = libgomp.texi - # AM_CONDITIONAL on configure option --generated-files-in-srcdir if GENINSRC STAMP_GENINSRC = stamp-geninsrc @@ -127,7 +117,7 @@ STAMP_BUILD_INFO = endif -all-local: $(STAMP_GENINSRC) +all-local: $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) stamp-geninsrc: libgomp.info cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info @@ -135,8 +125,15 @@ stamp-geninsrc: libgomp.info libgomp.info: $(STAMP_BUILD_INFO) -stamp-build-info: libgomp.texi - $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi +RST_FILES:=$(shell find $(srcdir) -name *.rst) +SPHINX_CONFIG_FILES:=$(srcdir)/doc/conf.py $(srcdir)/../doc/baseconf.py +SPHINX_FILES:=$(RST_FILES) $(SPHINX_CONFIG_FILES) + +stamp-build-info: $(SPHINX_FILES) + + if [ x$(HAS_SPHINX_BUILD) = xhas-sphinx-build ]; then \ + make -C $(srcdir)/../doc info SOURCEDIR=$(abs_srcdir)/doc BUILDDIR=$(abs_doc_builddir)/info SPHINXBUILD=$(SPHINX_BUILD); \ + cp ./doc/info/texinfo/libgomp.info libgomp.info; \ + else true; fi @touch $@ diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in index 814ccd13dc0..4d0f2184e95 100644 --- a/libgomp/Makefile.in +++ b/libgomp/Makefile.in @@ -177,7 +177,7 @@ am__uninstall_files_from_dir = { \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } -am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \ +am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \ "$(DESTDIR)$(fincludedir)" "$(DESTDIR)$(libsubincludedir)" \ "$(DESTDIR)$(toolexeclibdir)" LTLIBRARIES = $(toolexeclib_LTLIBRARIES) @@ -269,16 +269,9 @@ am__v_FCLD_0 = @echo " FCLD" $@; am__v_FCLD_1 = SOURCES = $(libgomp_plugin_gcn_la_SOURCES) \ $(libgomp_plugin_nvptx_la_SOURCES) $(libgomp_la_SOURCES) -AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) -am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) -am__v_DVIPS_0 = @echo " DVIPS " $@; -am__v_DVIPS_1 = -INFO_DEPS = doc/info/texinfo/libgomp.info -PDFS = doc/pdf/latex/libgomp.pdf -HTMLS = doc/html/html/index.html RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive html-recursive info-recursive \ - install-data-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ @@ -332,6 +325,7 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONFIGURE_SPHINX_BUILD = @CONFIGURE_SPHINX_BUILD@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPU_COUNT = @CPU_COUNT@ @@ -350,6 +344,7 @@ FC = @FC@ FCFLAGS = @FCFLAGS@ FGREP = @FGREP@ GREP = @GREP@ +HAS_SPHINX_BUILD = @HAS_SPHINX_BUILD@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -365,6 +360,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ +MAKEINFO = @