Re: meson documentation build open issues

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Christoph Berg <myon@debian.org>, Andrew Dunstan <andrew@dunslane.net>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-11-15T00:30:24Z
Lists: pgsql-hackers
Hi,

On 2023-11-14 16:22:31 -0800, Andres Freund wrote:
> > v2-0004-meson-Add-world-target.patch
> > 
> > AFAICT, this world target doesn't include the man target.  (Again, this
> > would all work better if we added "man" to "docs".)
> 
> I agree with that sentiment - I only moved to the current arrangement after
> Tom argued forcefully against building both.

Another message in this thread made me realize that I actually hadn't
implemented it at all - it was Tom in 969509c3f2e

    In HEAD, also document how to build docs using Meson, and adjust
    "ninja docs" to just build the HTML docs, for consistency with the
    default behavior of doc/src/sgml/Makefile.


I think that change was just ill-advised, given that the top-level make target
actually *does* build both html and man:

> The situation in the make world is weird:
> "make docs" in the toplevel builds both, because it's defined as
> 
> docs:
> 	$(MAKE) -C doc all

Notwithstanding this:

> Buf if you "make -C doc/src/sgml" (or are in doc/src/sgml), we only build
> html, as the default target is explicitly just html:

As the obvious thing for people that really just want to build html with ninja
would be to just use the doc-html (to-be-renamed to "html") target.

Greetings,

Andres Freund



Commits

  1. docs: meson: Change what 'docs' target builds

  2. meson: Add 'world' target

  3. meson: Document build targets, add 'help' target

  4. meson: docs: Add {html,man} targets, rename install-doc-*

  5. docs: Document --with-selinux/-Dselinux options centrally

  6. meson: Change default of 'selinux' feature option to auto

  7. meson: Fix doc installation path computation

  8. meson: Install missing example files

  9. meson: docs: Install all manpages, not just ones in man1

  10. meson: docs: Allow configuring simple/website style

  11. docs: html: load stylesheet via custom.css.source

  12. docs: html: copy images to output as part of xslt build

  13. meson: docs: Preparatory cleanups

  14. docs: Remove support for 'htmlhelp' format

  15. meson: add install-{docs,doc-html,doc-man} targets

  16. meson: add install-{quiet, world} targets

  17. meson: make install_test_files more generic, rename to install_files

  18. meson: rename html_help target to htmlhelp