From 66bef54a05110ba0820dd1f81f558dd464c36503 Mon Sep 17 00:00:00 2001
From: Andres Freund <andres@anarazel.de>
Date: Mon, 26 Sep 2022 15:48:19 -0700
Subject: [PATCH v17 13/23] fixup! meson: Add PGXS compatibility

---
 meson.build     |  5 +++++
 src/meson.build | 13 +++----------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/meson.build b/meson.build
index 774a8c2e05f..6f580222e90 100644
--- a/meson.build
+++ b/meson.build
@@ -1770,6 +1770,11 @@ if cc.get_id() == 'msvc'
   ldflags_mod += '/NOIMPLIB'
 endif
 
+if host_system == 'sunos'
+  solaris_export_dynamic = cc.has_link_argument('-Wl,-E')
+else
+  solaris_export_dynamic = false
+endif
 
 
 ###############################################################
diff --git a/src/meson.build b/src/meson.build
index ef022c59615..8aa91940cec 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -76,7 +76,8 @@ pgxs_kv = {
   'CC': var_cc,
   'CPP': var_cpp,
   'GCC': cc.get_argument_syntax() == 'gcc' ? 'yes' : 'no',
-  'with_gnu_ld': (cc.get_linker_id() in ['ld.bfd', 'ld.gold', 'ld.lld', 'ld.mold'] ? 'yes' : 'no'),
+
+  'SOLARIS_EXPORT_DYNAMIC': solaris_export_dynamic ? 'yes' : 'no',
 
   'CFLAGS': var_cflags,
   'CPPFLAGS': var_cppflags,
@@ -84,8 +85,7 @@ pgxs_kv = {
   'CFLAGS_SL': var_cflags_sl,
   'CFLAGS_SL_MODULE': ' '.join(cflags_mod),
   'CXXFLAGS_SL_MODULE': ' '.join(cxxflags_mod),
-  'CFLAGS_SSE42': ' '.join(cflags_crc),
-  'CFLAGS_ARMV8_CRC32C': ' '.join(cflags_crc),
+  'CFLAGS_CRC': ' '.join(cflags_crc),
 
   'CFLAGS_UNROLL_LOOPS': ' '.join(unroll_loops_cflags),
   'CFLAGS_VECTORIZE': ' '.join(vectorize_cflags),
@@ -118,11 +118,6 @@ else
   }
 endif
 
-# FIXME: figure out which platforms we still need the linker "directly" -
-# can't be many?
-
-ld_program = find_program(cc.get_linker_id(), native: true, required: false)
-
 pgxs_bins = {
   'BISON': bison,
   'FLEX': flex,
@@ -134,7 +129,6 @@ pgxs_bins = {
   'TAR': tar,
   'ZSTD': program_zstd,
   'DTRACE': dtrace,
-  'LD': ld_program,
   'install_bin': install_sh,
 }
 
@@ -143,7 +137,6 @@ pgxs_empty = [
   'ICU_CFLAGS', # needs to be added, included by public server headers
 
   # probably need most of these?
-  'RANLIB',
   'LN_S',
   'AR',
   'AWK',
-- 
2.37.3.542.gdd3f6c4cae

