agora inbox for [email protected]  
help / color / mirror / Atom feed
From: Andres Freund <[email protected]>
Subject: [PATCH v2 5/7] docs: meson: Add documentation for important build targets
Date: Fri, 3 Nov 2023 14:06:25 -0700

Author:
Reviewed-by: Christoph Berg <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch:
---
 doc/src/sgml/installation.sgml | 244 +++++++++++++++++++++++++++++++++
 1 file changed, 244 insertions(+)

diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index 1bfb27fd38d..9dde19224a7 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -3200,6 +3200,250 @@ ninja install
     </variablelist>
    </sect3>
   </sect2>
+
+  <sect2 id="meson-targets">
+   <title><literal>meson</literal> Build Targets</title>
+
+   <para>
+    Individual build targets can be built using <command>ninja</command> <replaceable>target</replaceable>.
+
+    When no target is specified, everything except documentation is
+    built. Individual build products can be built using the path/filename as
+    <replaceable>target</replaceable>.
+   </para>
+
+   <sect3 id="meson-targets-code">
+    <title>Code Targets</title>
+
+    <variablelist>
+
+     <varlistentry id="meson-target-all">
+       <term><option>all</option></term>
+       <listitem>
+        <para>
+         Build everything other than documentation
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-backend">
+       <term><option>backend</option></term>
+       <listitem>
+        <para>
+         Build backend and related modules.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-bin">
+       <term><option>bin</option></term>
+       <listitem>
+        <para>
+         Build frontend binaries.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-contrib">
+       <term><option>contrib</option></term>
+       <listitem>
+        <para>
+         Build contrib modules.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-pl">
+       <term><option>pl</option></term>
+       <listitem>
+        <para>
+         Build procedual languages.
+        </para>
+       </listitem>
+     </varlistentry>
+
+    </variablelist>
+
+   </sect3>
+
+   <sect3 id="meson-targets-install">
+    <title>Install Targets</title>
+
+    <variablelist>
+
+     <varlistentry id="meson-target-install">
+       <term><option>install</option></term>
+       <listitem>
+        <para>
+         Install postgres, excluding documentation.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-install-quiet">
+       <term><option>install-quiet</option></term>
+       <listitem>
+        <para>
+         Like <xref linkend="meson-target-install"/>, but installed
+         files are not displayed.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-install-world">
+       <term><option>install-world</option></term>
+       <listitem>
+        <para>
+         Install postgres, including multi-page HTML and man page
+         documentation.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-install-docs">
+       <term><option>install-docs</option></term>
+       <listitem>
+        <para>
+         Install documentation in multi-page HTML and man page formats. See
+         also <xref linkend="meson-target-install-doc-html"/>, <xref
+         linkend="meson-target-install-doc-man"/>.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-install-doc-html">
+       <term><option>install-doc-html</option></term>
+       <listitem>
+        <para>
+         Install documentation in multi-page HTML format.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-install-doc-man">
+       <term><option>install-doc-man</option></term>
+       <listitem>
+        <para>
+         Install documentation in man page format.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-uninstall">
+       <term><option>uninstall</option></term>
+       <listitem>
+        <para>
+         Remove installed files.
+        </para>
+       </listitem>
+     </varlistentry>
+
+    </variablelist>
+   </sect3>
+
+   <sect3 id="meson-targets-docs">
+    <title>Documentation Targets</title>
+
+    <variablelist>
+
+     <varlistentry id="meson-target-docs">
+       <term><option>docs</option></term>
+       <term><option>doc-html</option></term>
+       <listitem>
+        <para>
+         Build documentation in multi-page HTML format.  Note that
+         <option>docs</option> does <emphasis>not</emphasis> include building
+         man page documentation, as man page generation seldom fails when
+         building HTML documentation succeeds.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-doc-man">
+       <term><option>doc-man</option></term>
+       <listitem>
+        <para>
+         Build documentation in man page format.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-html-single-page">
+      <term><option>doc/src/sgml/postgres.html</option></term>
+       <listitem>
+        <para>
+         Build documentation in single-page HTML format.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-pdf">
+      <term><option>doc/src/sgml/postgres-A4.pdf</option></term>
+      <term><option>doc/src/sgml/postgres-US.pdf</option></term>
+       <listitem>
+        <para>
+         Build documentation in PDF format, using A4 and U.S. letter format
+         respectively.
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-alldocs">
+       <term><option>alldocs</option></term>
+       <listitem>
+        <para>
+         Build documentation in all supported formats. Primarily useful when
+         testing larger documentation changes.
+        </para>
+       </listitem>
+     </varlistentry>
+
+    </variablelist>
+
+   </sect3>
+
+   <sect3 id="meson-targets-other">
+    <title>Other Targets</title>
+
+    <variablelist>
+
+     <varlistentry id="meson-target-clean">
+       <term><option>clean</option></term>
+       <listitem>
+        <para>
+         Remove all build products
+        </para>
+       </listitem>
+     </varlistentry>
+
+     <varlistentry id="meson-target-test">
+       <term><option>test</option></term>
+       <listitem>
+        <para>
+         Run all enabled tests (including contrib). Support for some classes
+         of tests can be enabled / disabled with <xref
+         linkend="configure-tap-tests-meson"/> and <xref
+         linkend="configure-pg-test-extra-meson"/>.
+        </para>
+       </listitem>
+     </varlistentry>
+
+
+     <varlistentry id="meson-target-world">
+       <term><option>world</option></term>
+       <listitem>
+        <para>
+         Build everything, including documentation.
+        </para>
+       </listitem>
+     </varlistentry>
+
+    </variablelist>
+
+   </sect3>
+
+  </sect2>
+
  </sect1>
 
  <sect1 id="install-post">
-- 
2.38.0


--sycnt3fdlpbfnd5p
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v2-0006-meson-Add-help-target-build-docs-from-a-common-so.patch"



view thread (3+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: [PATCH v2 5/7] docs: meson: Add documentation for important build targets
  In-Reply-To: <no-message-id-93819@localhost>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox