On Thu, Oct 20, 2022 at 04:43:06PM +0000, Joseph Myers wrote: > On Thu, 20 Oct 2022, Martin Liška wrote: > > > > Also, but not strictly part of the release issue: > > > > > > (d) Builds with missing or old Sphinx should work regardless of whether > > > such files are in the source directory - but if they aren't in the source > > > directory, the effect of missing or old Sphinx (detected at configure > > > time) should be to disable building and installing documentation. > > > > All right Joseph, is it something you're willing to help me once we start > > using Sphinx? Apparently, there will be many consequent steps after we > > switch. > > Sure, but most of the conditionals are *already* present, just need > updating as part of the Sphinx transition. E.g. gcc/Makefile.in has > BUILD_INFO and GENERATED_MANPAGES conditionals based on configure tests > for whether relevant tools are present and new enough; the rules for > $(DESTDIR)$(infodir)/%.info quietly allow the info files not to be > present, so installing also works without the info files or tools to build > them, and the rules for installing man pages similarly ignore errors; and > there are srcinfo and srcman rules, enabled based on @GENINSRC@, to copy > those built files to the source directory, which are what's used when > --enable-generated-files-in-srcdir is used as part of building a release > tarball. > > The main thing I've suggested that I think may actually be new is an error > for trying to build a release tarball without new-enough Sphinx (I think > the current rules would quietly not copy info / man pages to the source > directory if build tools were missing - but having those tools missing > when building a release tarball is much less likely than not having > new-enough Sphinx).
But perhaps that test should go to maintainer-scripts/gcc_release. Can be either of the form of checking if Sphinx is new enough, or checking of make actually built the documentation before creating the tarballs. Jakub