On 07.11.23 17:08, Andres Freund wrote:
make world
make check-world
make install-world

that encompasses everything.

Now with meson to handle the documentation one needs to remember a variety of 
additional targets.  (There is a risk that once this gets more widespread, more 
people will submit broken documentation.)
install-world with meson also installs docs.

Ok, I didn't know about ninja install-world. That works for me. Maybe a "world" target would also be good.

I played around with this a bit and noticed some files missing or in the wrong place. See two attached patches (plus e9f075f9a1 already committed).
From 543e669f78b65c5ec8a07dcad34c60c6f32439e7 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Wed, 8 Nov 2023 12:00:02 +0100
Subject: [PATCH 1/2] meson: Fix doc installation path computation

This applies the logic from 8f6858064b also to the doc installation
directory.
---
 meson.build | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 88a9d9051f..6c0faa9490 100644
--- a/meson.build
+++ b/meson.build
@@ -511,7 +511,10 @@ endif
 dir_man = get_option('mandir')
 
 # FIXME: These used to be separately configurable - worth adding?
-dir_doc = get_option('datadir') / 'doc' / 'postgresql'
+dir_doc = get_option('datadir') / 'doc'
+if not (dir_prefix_contains_pg or dir_doc.contains('pgsql') or 
dir_doc.contains('postgres'))
+  dir_doc = dir_doc / pkg
+endif
 dir_doc_html = dir_doc / 'html'
 
 dir_locale = get_option('localedir')
-- 
2.42.0

From e7067f3de85bee6bf3621d5fe902078ba1bcabe6 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Wed, 8 Nov 2023 12:00:40 +0100
Subject: [PATCH 2/2] meson: Install missing example files

Install the example files from contrib/spi/, to make makefiles.
---
 contrib/meson.build     |  5 +++++
 contrib/spi/meson.build | 17 +++++++++++++++++
 meson.build             |  1 +
 3 files changed, 23 insertions(+)

diff --git a/contrib/meson.build b/contrib/meson.build
index 84d4e18561..c0b267c632 100644
--- a/contrib/meson.build
+++ b/contrib/meson.build
@@ -7,6 +7,11 @@ contrib_data_args = {
   'install_dir': contrib_data_dir,
 }
 
+contrib_doc_dir = dir_doc_extension
+contrib_doc_args = {
+  'install_dir': contrib_doc_dir,
+}
+
 subdir('adminpack')
 subdir('amcheck')
 subdir('auth_delay')
diff --git a/contrib/spi/meson.build b/contrib/spi/meson.build
index a80e2c8ce4..b551eda4a7 100644
--- a/contrib/spi/meson.build
+++ b/contrib/spi/meson.build
@@ -20,6 +20,10 @@ install_data('autoinc.control', 'autoinc--1.0.sql',
   kwargs: contrib_data_args,
 )
 
+install_data('autoinc.example',
+  kwargs: contrib_doc_args,
+)
+
 
 insert_username_sources = files(
   'insert_username.c',
@@ -43,6 +47,10 @@ install_data(
   kwargs: contrib_data_args,
 )
 
+install_data('insert_username.example',
+  kwargs: contrib_doc_args,
+)
+
 
 moddatetime_sources = files(
   'moddatetime.c',
@@ -66,6 +74,11 @@ install_data(
   kwargs: contrib_data_args,
 )
 
+install_data('moddatetime.example',
+  kwargs: contrib_doc_args,
+)
+
+
 # this is needed for the regression tests;
 # comment out if you want a quieter refint package for other uses
 refint_cflags = ['-DREFINT_VERBOSE']
@@ -90,3 +103,7 @@ contrib_targets += refint
 install_data('refint.control', 'refint--1.0.sql',
   kwargs: contrib_data_args,
 )
+
+install_data('refint.example',
+  kwargs: contrib_doc_args,
+)
diff --git a/meson.build b/meson.build
index 6c0faa9490..47c8fcdc53 100644
--- a/meson.build
+++ b/meson.build
@@ -526,6 +526,7 @@ dir_include_internal = dir_include_pkg / 'internal'
 dir_include_server = dir_include_pkg / 'server'
 dir_include_extension = dir_include_server / 'extension'
 dir_data_extension = dir_data / 'extension'
+dir_doc_extension = dir_doc / 'extension'
 
 
 
-- 
2.42.0

Reply via email to