v9-0005-meson-Add-LLVM-bitcode-emissions-for-contrib-libr.patch
text/x-patch
Filename: v9-0005-meson-Add-LLVM-bitcode-emissions-for-contrib-libr.patch
Type: text/x-patch
Part: 4
Message:
Re: meson vs. llvm bitcode files
Patch
Format: format-patch
Series: patch v9-0005
Subject: meson: Add LLVM bitcode emissions for contrib libraries
| File | + | − |
|---|---|---|
| contrib/bloom/meson.build | 5 | 0 |
| contrib/bool_plperl/meson.build | 9 | 0 |
| contrib/btree_gin/meson.build | 5 | 0 |
| contrib/btree_gist/meson.build | 5 | 0 |
| contrib/citext/meson.build | 5 | 0 |
| contrib/cube/meson.build | 13 | 0 |
| contrib/dict_int/meson.build | 5 | 0 |
| contrib/dict_xsyn/meson.build | 5 | 0 |
| contrib/earthdistance/meson.build | 6 | 0 |
| contrib/fuzzystrmatch/meson.build | 9 | 0 |
| contrib/hstore/meson.build | 7 | 0 |
| contrib/hstore_plperl/meson.build | 10 | 0 |
| contrib/hstore_plpython/meson.build | 12 | 0 |
| contrib/intarray/meson.build | 5 | 0 |
| contrib/isn/meson.build | 5 | 0 |
| contrib/jsonb_plperl/meson.build | 8 | 0 |
| contrib/jsonb_plpython/meson.build | 10 | 0 |
| contrib/lo/meson.build | 5 | 0 |
| contrib/ltree/meson.build | 10 | 0 |
| contrib/ltree_plpython/meson.build | 11 | 0 |
| contrib/pg_buffercache/meson.build | 5 | 0 |
| contrib/pgcrypto/meson.build | 4 | 0 |
| contrib/pg_freespacemap/meson.build | 5 | 0 |
| contrib/pg_logicalinspect/meson.build | 5 | 0 |
| contrib/pg_surgery/meson.build | 4 | 0 |
| contrib/pg_trgm/meson.build | 5 | 0 |
| contrib/seg/meson.build | 12 | 0 |
| contrib/spi/meson.build | 20 | 0 |
| contrib/sslinfo/meson.build | 5 | 0 |
| contrib/tablefunc/meson.build | 5 | 0 |
| contrib/tcn/meson.build | 5 | 0 |
| contrib/tsm_system_rows/meson.build | 5 | 0 |
| contrib/tsm_system_time/meson.build | 5 | 0 |
| contrib/unaccent/meson.build | 5 | 0 |
| contrib/uuid-ossp/meson.build | 5 | 0 |
| contrib/xml2/meson.build | 5 | 0 |
| meson.build | 1 | 0 |
| src/interfaces/libpq/meson.build | 3 | 0 |
| src/pl/plperl/meson.build | 1 | 0 |
| src/pl/plpython/meson.build | 1 | 0 |
From 8acdecc0a88fc5b080b67191c1252314622ba657 Mon Sep 17 00:00:00 2001
From: Nazir Bilal Yavuz <byavuz81@gmail.com>
Date: Wed, 12 Mar 2025 10:49:18 +0300
Subject: [PATCH v9 5/6] meson: Add LLVM bitcode emissions for contrib
libraries
The libraries which the bitcode files will be generated in are selected
manually.
Author: Andres Freund <andres@anarazel.de>
Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
Author: Diego Fronza <diego.fronza@percona.com>
Reviewed-by: Diego Fronza <diego.fronza@percona.com>
Discussion: https://postgr.es/m/206b001d-1884-4081-bd02-bed5c92f02ba%40eisentraut.org
---
contrib/bloom/meson.build | 5 +++++
contrib/bool_plperl/meson.build | 9 +++++++++
contrib/btree_gin/meson.build | 5 +++++
contrib/btree_gist/meson.build | 5 +++++
contrib/citext/meson.build | 5 +++++
contrib/cube/meson.build | 13 +++++++++++++
contrib/dict_int/meson.build | 5 +++++
contrib/dict_xsyn/meson.build | 5 +++++
contrib/earthdistance/meson.build | 6 ++++++
contrib/fuzzystrmatch/meson.build | 9 +++++++++
contrib/hstore/meson.build | 7 +++++++
contrib/hstore_plperl/meson.build | 10 ++++++++++
contrib/hstore_plpython/meson.build | 12 ++++++++++++
contrib/intarray/meson.build | 5 +++++
contrib/isn/meson.build | 5 +++++
contrib/jsonb_plperl/meson.build | 8 ++++++++
contrib/jsonb_plpython/meson.build | 10 ++++++++++
contrib/lo/meson.build | 5 +++++
contrib/ltree/meson.build | 10 ++++++++++
contrib/ltree_plpython/meson.build | 11 +++++++++++
contrib/pg_buffercache/meson.build | 5 +++++
contrib/pg_freespacemap/meson.build | 5 +++++
contrib/pg_logicalinspect/meson.build | 5 +++++
contrib/pg_surgery/meson.build | 4 ++++
contrib/pg_trgm/meson.build | 5 +++++
contrib/pgcrypto/meson.build | 4 ++++
contrib/seg/meson.build | 12 ++++++++++++
contrib/spi/meson.build | 20 ++++++++++++++++++++
contrib/sslinfo/meson.build | 5 +++++
contrib/tablefunc/meson.build | 5 +++++
contrib/tcn/meson.build | 5 +++++
contrib/tsm_system_rows/meson.build | 5 +++++
contrib/tsm_system_time/meson.build | 5 +++++
contrib/unaccent/meson.build | 5 +++++
contrib/uuid-ossp/meson.build | 5 +++++
contrib/xml2/meson.build | 5 +++++
meson.build | 1 +
src/interfaces/libpq/meson.build | 3 +++
src/pl/plperl/meson.build | 1 +
src/pl/plpython/meson.build | 1 +
40 files changed, 256 insertions(+)
diff --git a/contrib/bloom/meson.build b/contrib/bloom/meson.build
index fa4f4ea796b..780bb494d54 100644
--- a/contrib/bloom/meson.build
+++ b/contrib/bloom/meson.build
@@ -28,6 +28,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': bloom,
+ 'srcfiles': bloom_sources,
+}
+
tests += {
'name': 'bloom',
'sd': meson.current_source_dir(),
diff --git a/contrib/bool_plperl/meson.build b/contrib/bool_plperl/meson.build
index d19abf0dd6d..cd1ab595ee9 100644
--- a/contrib/bool_plperl/meson.build
+++ b/contrib/bool_plperl/meson.build
@@ -37,6 +37,15 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': bool_plperl,
+ 'srcfiles': bool_plperl_sources,
+ 'additional_flags': [
+ '-I@0@'.format(plperl_dir),
+ perl_ccflags
+ ]
+}
+
tests += {
'name': 'bool_plperl',
'sd': meson.current_source_dir(),
diff --git a/contrib/btree_gin/meson.build b/contrib/btree_gin/meson.build
index 039cfc52c86..4406f9f998d 100644
--- a/contrib/btree_gin/meson.build
+++ b/contrib/btree_gin/meson.build
@@ -26,6 +26,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': btree_gin,
+ 'srcfiles': btree_gin_sources,
+}
+
tests += {
'name': 'btree_gin',
'sd': meson.current_source_dir(),
diff --git a/contrib/btree_gist/meson.build b/contrib/btree_gist/meson.build
index 2b1a5463289..9fae0eb7289 100644
--- a/contrib/btree_gist/meson.build
+++ b/contrib/btree_gist/meson.build
@@ -55,6 +55,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': btree_gist,
+ 'srcfiles': btree_gist_sources,
+}
+
tests += {
'name': 'btree_gist',
'sd': meson.current_source_dir(),
diff --git a/contrib/citext/meson.build b/contrib/citext/meson.build
index 1cc49fc999f..fc29fc843f5 100644
--- a/contrib/citext/meson.build
+++ b/contrib/citext/meson.build
@@ -30,6 +30,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': citext,
+ 'srcfiles': citext_sources,
+}
+
tests += {
'name': 'citext',
'sd': meson.current_source_dir(),
diff --git a/contrib/cube/meson.build b/contrib/cube/meson.build
index 6526091c688..694f6335c3c 100644
--- a/contrib/cube/meson.build
+++ b/contrib/cube/meson.build
@@ -3,6 +3,7 @@
cube_sources = files(
'cube.c',
)
+bc_cube_sources = cube_sources
cube_scan = custom_target('cubescan',
input: 'cubescan.l',
@@ -11,6 +12,7 @@ cube_scan = custom_target('cubescan',
)
generated_sources += cube_scan
cube_sources += cube_scan
+bc_cube_gen_sources = [{'srcfiles': [cube_scan]}]
cube_parse = custom_target('cubeparse',
input: 'cubeparse.y',
@@ -18,6 +20,7 @@ cube_parse = custom_target('cubeparse',
)
generated_sources += cube_parse.to_list()
cube_sources += cube_parse
+bc_cube_gen_sources += {'srcfiles': [cube_parse[0]]}
if host_system == 'windows'
cube_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
@@ -48,6 +51,16 @@ install_headers(
install_dir: dir_include_extension / 'cube',
)
+cube_dir = meson.current_source_dir()
+bitcode_modules += {
+ 'target': cube,
+ 'srcfiles': bc_cube_sources,
+ 'gen_sources': bc_cube_gen_sources,
+ 'additional_flags': [
+ '-I@0@'.format(cube_dir),
+ ]
+}
+
tests += {
'name': 'cube',
'sd': meson.current_source_dir(),
diff --git a/contrib/dict_int/meson.build b/contrib/dict_int/meson.build
index 938647f45fd..98203012edc 100644
--- a/contrib/dict_int/meson.build
+++ b/contrib/dict_int/meson.build
@@ -22,6 +22,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': dict_int,
+ 'srcfiles': dict_int_sources,
+}
+
tests += {
'name': 'dict_int',
'sd': meson.current_source_dir(),
diff --git a/contrib/dict_xsyn/meson.build b/contrib/dict_xsyn/meson.build
index 1485e9e9797..c908920152b 100644
--- a/contrib/dict_xsyn/meson.build
+++ b/contrib/dict_xsyn/meson.build
@@ -29,6 +29,11 @@ install_data(
}
)
+bitcode_modules += {
+ 'target': dict_xsyn,
+ 'srcfiles': dict_xsyn_sources,
+}
+
tests += {
'name': 'dict_xsyn',
'sd': meson.current_source_dir(),
diff --git a/contrib/earthdistance/meson.build b/contrib/earthdistance/meson.build
index 41fb5065afa..de47c4a4f42 100644
--- a/contrib/earthdistance/meson.build
+++ b/contrib/earthdistance/meson.build
@@ -24,6 +24,12 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': earthdistance,
+ 'srcfiles': earthdistance_sources,
+}
+
+
tests += {
'name': 'earthdistance',
'sd': meson.current_source_dir(),
diff --git a/contrib/fuzzystrmatch/meson.build b/contrib/fuzzystrmatch/meson.build
index e21a4e2e62b..554ba4ebd76 100644
--- a/contrib/fuzzystrmatch/meson.build
+++ b/contrib/fuzzystrmatch/meson.build
@@ -5,6 +5,7 @@ fuzzystrmatch_sources = files(
'dmetaphone.c',
'fuzzystrmatch.c',
)
+bc_fuzzystrmatch_sources = fuzzystrmatch_sources
daitch_mokotoff_h = custom_target('daitch_mokotoff',
input: 'daitch_mokotoff_header.pl',
@@ -35,6 +36,14 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': fuzzystrmatch,
+ 'srcfiles': bc_fuzzystrmatch_sources,
+ 'additional_flags': [
+ '-I@0@'.format(meson.current_build_dir())
+ ]
+}
+
tests += {
'name': 'fuzzystrmatch',
'sd': meson.current_source_dir(),
diff --git a/contrib/hstore/meson.build b/contrib/hstore/meson.build
index 6175abc708e..a08a27b0d53 100644
--- a/contrib/hstore/meson.build
+++ b/contrib/hstore/meson.build
@@ -43,6 +43,13 @@ install_headers(
install_dir: dir_include_extension / 'hstore',
)
+# some libraries include "hstore/hstore.h" instead of "hstore.h"
+hstore_dir_up = join_paths(meson.current_source_dir(), '..')
+bitcode_modules += {
+ 'target': hstore,
+ 'srcfiles': hstore_sources,
+}
+
tests += {
'name': 'hstore',
'sd': meson.current_source_dir(),
diff --git a/contrib/hstore_plperl/meson.build b/contrib/hstore_plperl/meson.build
index 705dbe69a46..1c9d2f57f2a 100644
--- a/contrib/hstore_plperl/meson.build
+++ b/contrib/hstore_plperl/meson.build
@@ -37,6 +37,16 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': hstore_plperl,
+ 'srcfiles': hstore_plperl_sources,
+ 'additional_flags': [
+ '-I@0@'.format(hstore_dir_up),
+ '-I@0@'.format(plperl_dir),
+ perl_ccflags,
+ ]
+}
+
tests += {
'name': 'hstore_plperl',
'sd': meson.current_source_dir(),
diff --git a/contrib/hstore_plpython/meson.build b/contrib/hstore_plpython/meson.build
index 555811b25b9..9e3add53cb9 100644
--- a/contrib/hstore_plpython/meson.build
+++ b/contrib/hstore_plpython/meson.build
@@ -30,6 +30,18 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': hstore_plpython,
+ 'srcfiles': hstore_plpython_sources,
+ 'additional_flags': [
+ '-I@0@'.format(hstore_dir_up),
+ '-DPLPYTHON_LIBNAME="plpython3"',
+ '-I@0@'.format(python3_inc_dir),
+ '-I@0@'.format(plpython_dir),
+ perl_ccflags,
+ ]
+}
+
hstore_plpython_regress = [
'hstore_plpython'
]
diff --git a/contrib/intarray/meson.build b/contrib/intarray/meson.build
index e49ff77f167..24ba3110371 100644
--- a/contrib/intarray/meson.build
+++ b/contrib/intarray/meson.build
@@ -33,6 +33,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': intarray,
+ 'srcfiles': intarray_sources,
+}
+
tests += {
'name': 'intarray',
'sd': meson.current_source_dir(),
diff --git a/contrib/isn/meson.build b/contrib/isn/meson.build
index cecd70043c8..ddfe24eaaab 100644
--- a/contrib/isn/meson.build
+++ b/contrib/isn/meson.build
@@ -30,6 +30,11 @@ install_headers(
install_dir: dir_include_extension / 'isn',
)
+bitcode_modules += {
+ 'target': isn,
+ 'srcfiles': isn_sources,
+}
+
tests += {
'name': 'isn',
'sd': meson.current_source_dir(),
diff --git a/contrib/jsonb_plperl/meson.build b/contrib/jsonb_plperl/meson.build
index 8bfabee5455..8ce0b6bd0bb 100644
--- a/contrib/jsonb_plperl/meson.build
+++ b/contrib/jsonb_plperl/meson.build
@@ -37,6 +37,14 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': jsonb_plperl,
+ 'srcfiles': jsonb_plperl_sources,
+ 'additional_flags': [
+ '-I@0@'.format(plperl_dir),
+ perl_ccflags,
+ ]
+}
tests += {
'name': 'jsonb_plperl',
diff --git a/contrib/jsonb_plpython/meson.build b/contrib/jsonb_plpython/meson.build
index 71299707418..f8bc355b070 100644
--- a/contrib/jsonb_plpython/meson.build
+++ b/contrib/jsonb_plpython/meson.build
@@ -30,6 +30,16 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': jsonb_plpython,
+ 'srcfiles': jsonb_plpython_sources,
+ 'additional_flags': [
+ '-DPLPYTHON_LIBNAME="plpython3"',
+ '-I@0@'.format(python3_inc_dir),
+ '-I@0@'.format(plpython_dir),
+ ]
+}
+
jsonb_plpython_regress = [
'jsonb_plpython'
]
diff --git a/contrib/lo/meson.build b/contrib/lo/meson.build
index e43eb9b2d28..1e6fbed6695 100644
--- a/contrib/lo/meson.build
+++ b/contrib/lo/meson.build
@@ -24,6 +24,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': lo,
+ 'srcfiles': lo_sources,
+}
+
tests += {
'name': 'lo',
'sd': meson.current_source_dir(),
diff --git a/contrib/ltree/meson.build b/contrib/ltree/meson.build
index f78521bfe55..539e1ed32a3 100644
--- a/contrib/ltree/meson.build
+++ b/contrib/ltree/meson.build
@@ -41,6 +41,16 @@ install_headers(
install_dir: dir_include_extension / 'ltree',
)
+ltree_dir = meson.current_source_dir()
+ltree_dir_up = join_paths(ltree_dir, '..')
+bitcode_modules += {
+ 'target': ltree,
+ 'srcfiles': ltree_sources,
+ 'additional_flags': [
+ '-I@0@'.format(ltree_dir)
+ ]
+}
+
tests += {
'name': 'ltree',
'sd': meson.current_source_dir(),
diff --git a/contrib/ltree_plpython/meson.build b/contrib/ltree_plpython/meson.build
index b72ee5a780a..7cbb884ece1 100644
--- a/contrib/ltree_plpython/meson.build
+++ b/contrib/ltree_plpython/meson.build
@@ -30,6 +30,17 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': ltree_plpython,
+ 'srcfiles': ltree_plpython_sources,
+ 'additional_flags': [
+ '-I@0@'.format(ltree_dir_up),
+ '-DPLPYTHON_LIBNAME="plpython3"',
+ '-I@0@'.format(python3_inc_dir),
+ '-I@0@'.format(plpython_dir),
+ ]
+}
+
ltree_plpython_regress = [
'ltree_plpython'
]
diff --git a/contrib/pg_buffercache/meson.build b/contrib/pg_buffercache/meson.build
index e681205abb2..3435221e90d 100644
--- a/contrib/pg_buffercache/meson.build
+++ b/contrib/pg_buffercache/meson.build
@@ -29,6 +29,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': pg_buffercache,
+ 'srcfiles': pg_buffercache_sources,
+}
+
tests += {
'name': 'pg_buffercache',
'sd': meson.current_source_dir(),
diff --git a/contrib/pg_freespacemap/meson.build b/contrib/pg_freespacemap/meson.build
index 67b46c77ff3..673bd6ff2a4 100644
--- a/contrib/pg_freespacemap/meson.build
+++ b/contrib/pg_freespacemap/meson.build
@@ -25,6 +25,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': pg_freespacemap,
+ 'srcfiles': pg_freespacemap_sources,
+}
+
tests += {
'name': 'pg_freespacemap',
'sd': meson.current_source_dir(),
diff --git a/contrib/pg_logicalinspect/meson.build b/contrib/pg_logicalinspect/meson.build
index 3e284986e3b..7ce9b2cafc2 100644
--- a/contrib/pg_logicalinspect/meson.build
+++ b/contrib/pg_logicalinspect/meson.build
@@ -22,6 +22,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': pg_logicalinspect,
+ 'srcfiles': pg_logicalinspect_sources,
+}
+
tests += {
'name': 'pg_logicalinspect',
'sd': meson.current_source_dir(),
diff --git a/contrib/pg_surgery/meson.build b/contrib/pg_surgery/meson.build
index 88e16dcc1b2..cabba37ed66 100644
--- a/contrib/pg_surgery/meson.build
+++ b/contrib/pg_surgery/meson.build
@@ -22,6 +22,10 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': pg_surgery,
+ 'srcfiles': pg_surgery_sources,
+}
tests += {
'name': 'pg_surgery',
diff --git a/contrib/pg_trgm/meson.build b/contrib/pg_trgm/meson.build
index 3cc299d5eaa..16dbfc2cde3 100644
--- a/contrib/pg_trgm/meson.build
+++ b/contrib/pg_trgm/meson.build
@@ -32,6 +32,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': pg_trgm,
+ 'srcfiles': pg_trgm_sources,
+}
+
tests += {
'name': 'pg_trgm',
'sd': meson.current_source_dir(),
diff --git a/contrib/pgcrypto/meson.build b/contrib/pgcrypto/meson.build
index c9c48f16f90..2ad535ddd5a 100644
--- a/contrib/pgcrypto/meson.build
+++ b/contrib/pgcrypto/meson.build
@@ -100,6 +100,10 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': pgcrypto,
+ 'srcfiles': pgcrypto_sources,
+}
tests += {
'name': 'pgcrypto',
diff --git a/contrib/seg/meson.build b/contrib/seg/meson.build
index fa3de266bb5..f8f5f1db8ec 100644
--- a/contrib/seg/meson.build
+++ b/contrib/seg/meson.build
@@ -3,6 +3,7 @@
seg_sources = files(
'seg.c',
)
+bc_seg_sources = seg_sources
seg_scan = custom_target('segscan',
input: 'segscan.l',
@@ -11,6 +12,7 @@ seg_scan = custom_target('segscan',
)
generated_sources += seg_scan
seg_sources += seg_scan
+bc_seg_gen_sources = [{'srcfiles': [seg_scan]}]
seg_parse = custom_target('segparse',
input: 'segparse.y',
@@ -18,6 +20,7 @@ seg_parse = custom_target('segparse',
)
generated_sources += seg_parse.to_list()
seg_sources += seg_parse
+bc_seg_gen_sources += {'srcfiles': [seg_parse[0]]}
if host_system == 'windows'
seg_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
@@ -47,6 +50,15 @@ install_headers(
install_dir: dir_include_extension / 'seg',
)
+bitcode_modules += {
+ 'target': seg,
+ 'srcfiles': bc_seg_sources,
+ 'gen_sources': bc_seg_gen_sources,
+ 'additional_flags': [
+ '-I@0@'.format(meson.current_source_dir()),
+ ]
+}
+
tests += {
'name': 'seg',
'sd': meson.current_source_dir(),
diff --git a/contrib/spi/meson.build b/contrib/spi/meson.build
index 4a9a2bef0a5..e695ec6c487 100644
--- a/contrib/spi/meson.build
+++ b/contrib/spi/meson.build
@@ -24,6 +24,11 @@ install_data('autoinc.example',
kwargs: contrib_doc_args,
)
+bitcode_modules += {
+ 'target': autoinc,
+ 'srcfiles': autoinc_sources,
+}
+
insert_username_sources = files(
'insert_username.c',
@@ -51,6 +56,11 @@ install_data('insert_username.example',
kwargs: contrib_doc_args,
)
+bitcode_modules += {
+ 'target': insert_username,
+ 'srcfiles': insert_username_sources,
+}
+
moddatetime_sources = files(
'moddatetime.c',
@@ -78,6 +88,11 @@ install_data('moddatetime.example',
kwargs: contrib_doc_args,
)
+bitcode_modules += {
+ 'target': moddatetime,
+ 'srcfiles': moddatetime_sources,
+}
+
# this is needed for the regression tests;
# comment out if you want a quieter refint package for other uses
@@ -108,6 +123,11 @@ install_data('refint.example',
kwargs: contrib_doc_args,
)
+bitcode_modules += {
+ 'target': refint,
+ 'srcfiles': refint_sources,
+}
+
tests += {
'name': 'spi',
'sd': meson.current_source_dir(),
diff --git a/contrib/sslinfo/meson.build b/contrib/sslinfo/meson.build
index 6e9cb96430a..a5445c13a2b 100644
--- a/contrib/sslinfo/meson.build
+++ b/contrib/sslinfo/meson.build
@@ -29,3 +29,8 @@ install_data(
'sslinfo.control',
kwargs: contrib_data_args,
)
+
+bitcode_modules += {
+ 'target': sslinfo,
+ 'srcfiles': sslinfo_sources,
+}
diff --git a/contrib/tablefunc/meson.build b/contrib/tablefunc/meson.build
index 1bebb926229..c1e5335e0ae 100644
--- a/contrib/tablefunc/meson.build
+++ b/contrib/tablefunc/meson.build
@@ -22,6 +22,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': tablefunc,
+ 'srcfiles': tablefunc_sources,
+}
+
tests += {
'name': 'tablefunc',
'sd': meson.current_source_dir(),
diff --git a/contrib/tcn/meson.build b/contrib/tcn/meson.build
index f7a9b9a505f..049ffc3f135 100644
--- a/contrib/tcn/meson.build
+++ b/contrib/tcn/meson.build
@@ -22,6 +22,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': tcn,
+ 'srcfiles': tcn_sources,
+}
+
tests += {
'name': 'tcn',
'sd': meson.current_source_dir(),
diff --git a/contrib/tsm_system_rows/meson.build b/contrib/tsm_system_rows/meson.build
index 19f6f5f6bf5..5bac8299ec7 100644
--- a/contrib/tsm_system_rows/meson.build
+++ b/contrib/tsm_system_rows/meson.build
@@ -22,6 +22,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': tsm_system_rows,
+ 'srcfiles': tsm_system_rows_sources,
+}
+
tests += {
'name': 'tsm_system_rows',
'sd': meson.current_source_dir(),
diff --git a/contrib/tsm_system_time/meson.build b/contrib/tsm_system_time/meson.build
index c5404b266ab..02ae53bbb9f 100644
--- a/contrib/tsm_system_time/meson.build
+++ b/contrib/tsm_system_time/meson.build
@@ -22,6 +22,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': tsm_system_time,
+ 'srcfiles': tsm_system_time_sources,
+}
+
tests += {
'name': 'tsm_system_time',
'sd': meson.current_source_dir(),
diff --git a/contrib/unaccent/meson.build b/contrib/unaccent/meson.build
index 7f582fc04a7..022e1514da4 100644
--- a/contrib/unaccent/meson.build
+++ b/contrib/unaccent/meson.build
@@ -28,6 +28,11 @@ install_data(
install_dir: dir_data / 'tsearch_data'
)
+bitcode_modules += {
+ 'target': unaccent,
+ 'srcfiles': unaccent_sources,
+}
+
# XXX: Implement downlo
tests += {
'name': 'unaccent',
diff --git a/contrib/uuid-ossp/meson.build b/contrib/uuid-ossp/meson.build
index b074900dd16..1d806bdb164 100644
--- a/contrib/uuid-ossp/meson.build
+++ b/contrib/uuid-ossp/meson.build
@@ -29,6 +29,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': uuid_ossp,
+ 'srcfiles': uuid_ossp_sources,
+}
+
tests += {
'name': 'uuid-ossp',
'sd': meson.current_source_dir(),
diff --git a/contrib/xml2/meson.build b/contrib/xml2/meson.build
index faae5e5e428..6e81ea6ad72 100644
--- a/contrib/xml2/meson.build
+++ b/contrib/xml2/meson.build
@@ -32,6 +32,11 @@ install_data(
kwargs: contrib_data_args,
)
+bitcode_modules += {
+ 'target': xml2,
+ 'srcfiles': xml2_sources,
+}
+
tests += {
'name': 'xml2',
'sd': meson.current_source_dir(),
diff --git a/meson.build b/meson.build
index 3c2b689625d..5dfdc614cd7 100644
--- a/meson.build
+++ b/meson.build
@@ -1353,6 +1353,7 @@ if not pyopt.disabled()
else
python3_dep = python3_inst.dependency(embed: true, required: pyopt)
endif
+ python3_inc_dir = python3_inst.get_variable('INCLUDEPY')
# Remove this check after we depend on Meson >= 1.1.0
if not cc.check_header('Python.h', dependencies: python3_dep, required: pyopt, include_directories: postgres_inc)
python3_dep = not_found_dep
diff --git a/src/interfaces/libpq/meson.build b/src/interfaces/libpq/meson.build
index c5ecd9c3a87..21b2a83c667 100644
--- a/src/interfaces/libpq/meson.build
+++ b/src/interfaces/libpq/meson.build
@@ -49,6 +49,9 @@ libpq_c_args = ['-DSO_MAJOR_VERSION=5']
# The OAuth implementation differs depending on the type of library being built.
libpq_so_c_args = ['-DUSE_DYNAMIC_OAUTH']
+# libpq-fe.h is needed to generate bitcode for some extensions
+libpq_dir = meson.current_source_dir()
+
# Not using both_libraries() here as
# 1) resource files should only be in the shared library
# 2) we want the .pc file to include a dependency to {pgport,common}_static for
diff --git a/src/pl/plperl/meson.build b/src/pl/plperl/meson.build
index f3a9350b77c..f6e268fe026 100644
--- a/src/pl/plperl/meson.build
+++ b/src/pl/plperl/meson.build
@@ -37,6 +37,7 @@ foreach n : ['SPI', 'Util']
plperl_sources += xs_c
endforeach
+plperl_dir = meson.current_source_dir()
plperl_inc = include_directories('.')
if host_system == 'windows'
diff --git a/src/pl/plpython/meson.build b/src/pl/plpython/meson.build
index ef8aba56539..0e8ea5beda0 100644
--- a/src/pl/plpython/meson.build
+++ b/src/pl/plpython/meson.build
@@ -29,6 +29,7 @@ plpython_sources += custom_target('spiexceptions.h',
# FIXME: need to duplicate import library ugliness?
plpython_inc = include_directories('.')
+plpython_dir = meson.current_source_dir()
if host_system == 'windows'
plpython_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
--
2.47.3