From cc7abd053ff45899ed03adfd551d01eb23b33a50 Mon Sep 17 00:00:00 2001
From: Harrison Booth <harrisontbooth@gmail.com>
Date: Tue, 13 Oct 2026 19:54:34 -0500
Subject: [PATCH v16 5/6] meson: Exclude Windows resources from contrib bitcode

Save the C-source lists before adding Windows resources, which are
not valid inputs to fs.parent() during bitcode generation.

Author: Harrison Booth <harrisontbooth@gmail.com>
Discussion: https://postgr.es/m/206b001d-1884-4081-bd02-bed5c92f02ba%40eisentraut.org
---
 contrib/citext/meson.build   | 5 ++++-
 contrib/hstore/meson.build   | 5 ++++-
 contrib/intarray/meson.build | 5 ++++-
 contrib/ltree/meson.build    | 5 ++++-
 contrib/pg_trgm/meson.build  | 5 ++++-
 5 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/contrib/citext/meson.build b/contrib/citext/meson.build
index fc29fc843f5..d915ea29649 100644
--- a/contrib/citext/meson.build
+++ b/contrib/citext/meson.build
@@ -4,6 +4,9 @@ citext_sources = files(
   'citext.c',
 )
 
+# Keep Windows resource inputs out of bitcode generation.
+citext_bitcode_sources = citext_sources
+
 if host_system == 'windows'
   citext_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
     '--NAME', 'citext',
@@ -32,7 +35,7 @@ install_data(
 
 bitcode_modules += {
   'target': citext,
-  'srcfiles': citext_sources,
+  'srcfiles': citext_bitcode_sources,
 }
 
 tests += {
diff --git a/contrib/hstore/meson.build b/contrib/hstore/meson.build
index 37a23bca0e3..c1e6a7fdcbb 100644
--- a/contrib/hstore/meson.build
+++ b/contrib/hstore/meson.build
@@ -12,6 +12,9 @@ hstore_sources = files(
   'hstore_subs.c',
 )
 
+# Keep Windows resource inputs out of bitcode generation.
+hstore_bitcode_sources = hstore_sources
+
 if host_system == 'windows'
   hstore_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
     '--NAME', 'hstore',
@@ -45,7 +48,7 @@ install_headers(
 
 bitcode_modules += {
   'target': hstore,
-  'srcfiles': hstore_sources,
+  'srcfiles': hstore_bitcode_sources,
 }
 
 tests += {
diff --git a/contrib/intarray/meson.build b/contrib/intarray/meson.build
index 24ba3110371..9784ffbb350 100644
--- a/contrib/intarray/meson.build
+++ b/contrib/intarray/meson.build
@@ -10,6 +10,9 @@ intarray_sources = files(
   '_intbig_gist.c',
 )
 
+# Keep Windows resource inputs out of bitcode generation.
+intarray_bitcode_sources = intarray_sources
+
 if host_system == 'windows'
   intarray_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
     '--NAME', '_int',
@@ -35,7 +38,7 @@ install_data(
 
 bitcode_modules += {
   'target': intarray,
-  'srcfiles': intarray_sources,
+  'srcfiles': intarray_bitcode_sources,
 }
 
 tests += {
diff --git a/contrib/ltree/meson.build b/contrib/ltree/meson.build
index b02a133ec58..52b1b643e72 100644
--- a/contrib/ltree/meson.build
+++ b/contrib/ltree/meson.build
@@ -15,6 +15,9 @@ ltree_sources = files(
 # .. so that includes of ltree/ltree.h work
 ltree_inc = include_directories('.', '../')
 
+# Keep Windows resource inputs out of bitcode generation.
+ltree_bitcode_sources = ltree_sources
+
 if host_system == 'windows'
   ltree_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
     '--NAME', 'ltree',
@@ -44,7 +47,7 @@ install_headers(
 ltree_dir = meson.current_source_dir()
 bitcode_modules += {
   'target': ltree,
-  'srcfiles': ltree_sources,
+  'srcfiles': ltree_bitcode_sources,
   'additional_flags': [
     '-I@0@'.format(ltree_dir)
   ]
diff --git a/contrib/pg_trgm/meson.build b/contrib/pg_trgm/meson.build
index 31b79db7c57..eb5ed46dea8 100644
--- a/contrib/pg_trgm/meson.build
+++ b/contrib/pg_trgm/meson.build
@@ -7,6 +7,9 @@ pg_trgm_sources = files(
   'trgm_regexp.c',
 )
 
+# Keep Windows resource inputs out of bitcode generation.
+pg_trgm_bitcode_sources = pg_trgm_sources
+
 if host_system == 'windows'
   pg_trgm_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
     '--NAME', 'pg_trgm',
@@ -34,7 +37,7 @@ install_data(
 
 bitcode_modules += {
   'target': pg_trgm,
-  'srcfiles': pg_trgm_sources,
+  'srcfiles': pg_trgm_bitcode_sources,
 }
 
 tests += {
-- 
2.47.3

