0003-meson-Install-all-server-headers.patch

text/plain

Filename: 0003-meson-Install-all-server-headers.patch
Type: text/plain
Part: 2
Message: Re: [RFC] building postgres with meson -v8

Patch

Format: format-patch
Series: patch 0003
Subject: meson: Install all server headers
File+
contrib/cube/meson.build 5 0
contrib/hstore/meson.build 5 0
contrib/isn/meson.build 5 0
contrib/ltree/meson.build 5 0
contrib/seg/meson.build 5 0
meson.build 1 0
src/include/meson.build 62 2
src/include/utils/meson.build 9 3
src/pl/plperl/meson.build 7 0
src/pl/plpython/meson.build 17 0
From ecb38fbf49cec66ec4eb77cb4fba0fac0df1241f Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Wed, 4 May 2022 12:22:02 +0200
Subject: [PATCH 3/3] meson: Install all server headers

---
 contrib/cube/meson.build      |  5 +++
 contrib/hstore/meson.build    |  5 +++
 contrib/isn/meson.build       |  5 +++
 contrib/ltree/meson.build     |  5 +++
 contrib/seg/meson.build       |  5 +++
 meson.build                   |  1 +
 src/include/meson.build       | 64 +++++++++++++++++++++++++++++++++--
 src/include/utils/meson.build | 12 +++++--
 src/pl/plperl/meson.build     |  7 ++++
 src/pl/plpython/meson.build   | 17 ++++++++++
 10 files changed, 121 insertions(+), 5 deletions(-)

diff --git a/contrib/cube/meson.build b/contrib/cube/meson.build
index cb6ebf481b..e15a56f257 100644
--- a/contrib/cube/meson.build
+++ b/contrib/cube/meson.build
@@ -31,6 +31,11 @@ install_data(
   kwargs: contrib_data_args,
 )
 
+install_headers(
+  'cubedata.h',
+  install_dir: dir_include_extension / 'cube',
+)
+
 tests += {
   'name': 'cube',
   'sd': meson.current_source_dir(),
diff --git a/contrib/hstore/meson.build b/contrib/hstore/meson.build
index 3026fe95e8..3aed37ce8e 100644
--- a/contrib/hstore/meson.build
+++ b/contrib/hstore/meson.build
@@ -27,6 +27,11 @@ install_data(
   kwargs: contrib_data_args,
 )
 
+install_headers(
+  'hstore.h',
+  install_dir: dir_include_extension / 'hstore',
+)
+
 tests += {
   'name': 'hstore',
   'sd': meson.current_source_dir(),
diff --git a/contrib/isn/meson.build b/contrib/isn/meson.build
index 8178c1450d..508e2dfa08 100644
--- a/contrib/isn/meson.build
+++ b/contrib/isn/meson.build
@@ -15,6 +15,11 @@ install_data(
   kwargs: contrib_data_args,
 )
 
+install_headers(
+  'isn.h',
+  install_dir: dir_include_extension / 'isn',
+)
+
 tests += {
   'name': 'isn',
   'sd': meson.current_source_dir(),
diff --git a/contrib/ltree/meson.build b/contrib/ltree/meson.build
index e2ab05ddba..222c64bb35 100644
--- a/contrib/ltree/meson.build
+++ b/contrib/ltree/meson.build
@@ -26,6 +26,11 @@ install_data(
   kwargs: contrib_data_args,
 )
 
+install_headers(
+  'ltree.h',
+  install_dir: dir_include_extension / 'ltree',
+)
+
 tests += {
   'name': 'ltree',
   'sd': meson.current_source_dir(),
diff --git a/contrib/seg/meson.build b/contrib/seg/meson.build
index 21561f6651..10e9b8562b 100644
--- a/contrib/seg/meson.build
+++ b/contrib/seg/meson.build
@@ -30,6 +30,11 @@ install_data(
   kwargs: contrib_data_args,
 )
 
+install_headers(
+  'segdata.h',
+  install_dir: dir_include_extension / 'seg',
+)
+
 tests += {
   'name': 'seg',
   'sd': meson.current_source_dir(),
diff --git a/meson.build b/meson.build
index 27bc9dcd48..70951efeb4 100644
--- a/meson.build
+++ b/meson.build
@@ -297,6 +297,7 @@ dir_locale = get_option('localedir')
 dir_bitcode = dir_lib / 'bitcode'
 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'
 
 
diff --git a/src/include/meson.build b/src/include/meson.build
index 2f27d6f33e..e5ce901e9a 100644
--- a/src/include/meson.build
+++ b/src/include/meson.build
@@ -68,10 +68,23 @@ install_headers(
 
 install_headers(
   'c.h',
-  'port.h',
-  'postgres_fe.h',
+  'fmgr.h',
+  'funcapi.h',
+  'getaddrinfo.h',
+  'getopt_long.h',
+  'miscadmin.h',
   'pg_config_manual.h',
+  'pg_getopt.h',
+  'pg_trace.h',
+  'pgstat.h',
+  'pgtar.h',
+  'pgtime.h',
+  'port.h',
+  'postgres.h',
   'postgres_ext.h',
+  'postgres_fe.h',
+  'rusagestub.h',
+  'windowapi.h',
   pg_config_ext,
   pg_config_os,
   pg_config,
@@ -83,3 +96,50 @@ subdir('storage')
 subdir('catalog')
 subdir('parser')
 subdir('pch')
+
+foreach d : [
+  'access', 'bootstrap', 'commands', 'common', 'datatype',
+  'executor', 'fe_utils', 'foreign', 'jit',
+  'lib', 'libpq', 'mb', 'nodes', 'optimizer', 'parser', 'partitioning', 'postmaster',
+  'regex', 'replication', 'rewrite',
+  'statistics', 'storage', 'tcop', 'snowball', 'tsearch',
+  'utils', 'port', 'portability',
+]
+  install_subdir(d, install_dir: dir_include_server,
+                 exclude_files: ['.gitignore', 'meson.build'])
+endforeach
+
+install_subdir('catalog', install_dir: dir_include_server,
+               exclude_files: [
+                 '.gitignore',
+                 'Makefile',
+                 'duplicate_oids',
+                 'meson.build',
+                 'pg_aggregate.dat',
+                 'pg_am.dat',
+                 'pg_amop.dat',
+                 'pg_amproc.dat',
+                 'pg_authid.dat',
+                 'pg_cast.dat',
+                 'pg_class.dat',
+                 'pg_collation.dat',
+                 'pg_conversion.dat',
+                 'pg_database.dat',
+                 'pg_language.dat',
+                 'pg_namespace.dat',
+                 'pg_opclass.dat',
+                 'pg_operator.dat',
+                 'pg_opfamily.dat',
+                 'pg_proc.dat',
+                 'pg_range.dat',
+                 'pg_tablespace.dat',
+                 'pg_ts_config.dat',
+                 'pg_ts_config_map.dat',
+                 'pg_ts_dict.dat',
+                 'pg_ts_parser.dat',
+                 'pg_ts_template.dat',
+                 'pg_type.dat',
+                 'reformat_dat_file.pl',
+                 'renumber_oids.pl',
+                 'unused_oids',
+               ])
diff --git a/src/include/utils/meson.build b/src/include/utils/meson.build
index b9c959b474..6e1437f300 100644
--- a/src/include/utils/meson.build
+++ b/src/include/utils/meson.build
@@ -1,7 +1,9 @@
 errcodes = custom_target('errcodes',
   input : files('../../backend/utils/errcodes.txt'),
   output : ['errcodes.h'],
-  command : [perl, files('../../backend/utils/generate-errcodes.pl'), '@INPUT@', '@OUTPUT@']
+  command : [perl, files('../../backend/utils/generate-errcodes.pl'), '@INPUT@', '@OUTPUT@'],
+  install: true,
+  install_dir: dir_include_server/'utils',
 )
 generated_headers += errcodes
 
@@ -9,13 +11,17 @@ generated_backend_headers += custom_target('probes.d',
   input: files('../../backend/utils/probes.d'),
   output : 'probes.h',
   capture: true,
-  command : [sed, '-f', files('../../backend/utils/Gen_dummy_probes.sed'), '@INPUT@']
+  command : [sed, '-f', files('../../backend/utils/Gen_dummy_probes.sed'), '@INPUT@'],
+  install: true,
+  install_dir: dir_include_server/'utils',
 )
 
 fmgrtab_target = custom_target('fmgrtab',
   input: '../catalog/pg_proc.dat',
   output : ['fmgroids.h', 'fmgrprotos.h', 'fmgrtab.c'],
-  command: [perl, '-I', '@SOURCE_ROOT@/src/backend/catalog/', files('../../backend/utils/Gen_fmgrtab.pl'), '--include-path=@SOURCE_ROOT@/src/include', '--output=@OUTDIR@', '@INPUT@']
+  command: [perl, '-I', '@SOURCE_ROOT@/src/backend/catalog/', files('../../backend/utils/Gen_fmgrtab.pl'), '--include-path=@SOURCE_ROOT@/src/include', '--output=@OUTDIR@', '@INPUT@'],
+  install: true,
+  install_dir: [dir_include_server/'utils', dir_include_server/'utils', false],
 )
 
 generated_backend_headers += fmgrtab_target[0]
diff --git a/src/pl/plperl/meson.build b/src/pl/plperl/meson.build
index 9f0ad97936..4b14c556c2 100644
--- a/src/pl/plperl/meson.build
+++ b/src/pl/plperl/meson.build
@@ -60,6 +60,13 @@ install_data(
   install_dir: dir_data_extension,
 )
 
+install_headers(
+  'plperl.h',
+  'plperl_helpers.h',
+  'ppport.h',
+  install_dir: dir_include_server,
+)
+
 tests += {
   'name': 'plperl',
   'sd': meson.current_source_dir(),
diff --git a/src/pl/plpython/meson.build b/src/pl/plpython/meson.build
index dd5f8838e2..449654914d 100644
--- a/src/pl/plpython/meson.build
+++ b/src/pl/plpython/meson.build
@@ -44,6 +44,23 @@ install_data(
   install_dir: dir_data_extension,
 )
 
+install_headers(
+  'plpy_cursorobject.h',
+  'plpy_elog.h',
+  'plpy_exec.h',
+  'plpy_main.h',
+  'plpy_planobject.h',
+  'plpy_plpymodule.h',
+  'plpy_procedure.h',
+  'plpy_resultobject.h',
+  'plpy_spi.h',
+  'plpy_subxactobject.h',
+  'plpy_typeio.h',
+  'plpy_util.h',
+  'plpython.h',
+  install_dir: dir_include_server,
+)
+
 plpython_regress = [
   'plpython_schema',
   'plpython_populate',
-- 
2.35.1