Re: meson documentation build open issues

From: Andres Freund <andres(at)anarazel(dot)de>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: Christoph Berg <myon(at)debian(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: meson documentation build open issues
Date: 2023-11-17 18:53:06
Message-ID: 20231117185306.uwzl2fv7ncovwtzq@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2023-11-14 16:30:24 -0800, Andres Freund wrote:
> 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.

I pushed the first two commits (the selinux stuff) and worked a bit more on
the subsequent ones.

- As requested, I've renamed the 'doc-html' and 'doc-man' targets to just 'html'
and 'man'. Which then seems to also necessitates renaming the existing
install-doc-{html,man}. I'm not so sure about this change, likely because I
use autocomplete to remember the spelling of ninja (or make) targets, which
is easier with [install-]doc-{html,man} than with [install-]{html,man}.

- I added a commit to change what 'docs' builds, undoing that part of
969509c3f2e. I also moved the 'all' target in doc/src/sgml/Makefile up to
the 'html' target to make things less confusing there, as discussed in the
thread referenced in the commit message.

Because of the 'html' target, Tom can still just build html easily.

- I renamed 'meson-targets.txt' to 'targets-meson.txt' and renamed other files
to match. One reason is that meson tries to prevent conflict between its
internal targets by prefixing them with 'meson-', and the old names
conflicted with that rule. If we ever wanted to add something similar for
make, the new naming also seems better.

- I added documentation for some developer targets (reformat-dat-files,
expand-dat-files, update-unicode)

I didn't move 'world' in the docs, as it doesn't quite seem right in the "code
targets" section?

I attached the pkglibdir thing again, even though I don't plan to push it or
really review it further. Thought it might still be interesting for Christoph.

Greetings,

Andres Freund

Attachment Content-Type Size
v3-0001-meson-docs-Add-html-man-targets-rename-install-do.patch text/x-diff 1.6 KB
v3-0002-docs-Change-what-docs-meson-target-builds.patch text/x-diff 2.6 KB
v3-0003-meson-Add-world-target.patch text/x-diff 772 bytes
v3-0004-meson-Document-build-targets-add-help-target.patch text/x-diff 9.5 KB
v3-0005-meson-Add-Dpkglibdir-option.patch text/x-diff 2.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2023-11-17 19:02:31 Change GUC hashtable to use simplehash?
Previous Message Peter Eisentraut 2023-11-17 18:45:56 Re: Allow tests to pass in OpenSSL FIPS mode