Re: meson documentation build open issues

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>, Andres Freund <andres@anarazel.de>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-04-07T14:39:56Z
Lists: pgsql-hackers
On 2023-04-06 Th 05:11, Peter Eisentraut wrote:
> On 05.04.23 16:45, Andres Freund wrote:
>>> I think it's still an issue that "make docs" builds html and man but 
>>> "ninja
>>> docs" only builds html.  For some reason the wiki page actually 
>>> claims that
>>> ninja docs builds both, but this does not happen for me.
>>
>> It used to, but Tom insisted that it should not. I'm afraid that it's 
>> not
>> quite possible to emulate make here. 'make docs' at the toplevel 
>> builds both
>> HTML and manpages. But 'make -C doc/src/sgml', only builds HTML.
>
> Ok, not a topic for this thread then.
>
>>>> 5. There doesn't appear to be an equivalent of "make world" and "make
>>>> install-world" that includes documentation builds.
>>>
>>> This has been addressed with the additional meson auto options.  But it
>>> seems that these options only control building, not installing, so 
>>> there is
>>> no "install-world" aspect yet.
>>
>> I'm not following - install-world install docs if the docs feature is
>> available, and not if not?
>
> I had expected that if meson setup enables the 'docs' feature, then 
> meson compile will build the documentation, which happens, and meson 
> install will install it, which does not happen.
>
>
>

"meson compile" doesn't seem to build the docs by default ( see 
<https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=crake&dt=2023-04-06%2018%3A17%3A04&stg=build>), 
and I'd rather it didn't, building the docs is a separate and optional 
step for the buildfarm.


cheers


andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com

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