Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
meson: macos: Correct -exported_symbols_list syntax for Sonoma compat
authorAndres Freund <andres@anarazel.de>
Sat, 30 Sep 2023 19:10:15 +0000 (12:10 -0700)
committerAndres Freund <andres@anarazel.de>
Sat, 30 Sep 2023 19:10:52 +0000 (12:10 -0700)
-exported_symbols_list=... works on Ventura and earlier, but not on
Sonoma. The easiest way to fix it is to -Wl,-exported_symbols_list,@0@ which
actually seems more appropriate anyway, it's obviously a linker argument. It
is easier to use the -Wl,, syntax than passing multiple arguments, due to the
way the export_fmt is used (a single string that's formatted), but if it turns
out to be necessary, we can go for multiple arguments as well.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/20230928222248.jw6s7yktpfsfczha@alap3.anarazel.de
Backpatch: 16-, where the meson based buildsystem was added

meson.build

index 38e4f03e6026c139c175d541b2092a1eff8e1233..9e01066ef147d225c832fbd97f57953a80730c80 100644 (file)
@@ -224,7 +224,7 @@ elif host_system == 'darwin'
   library_path_var = 'DYLD_LIBRARY_PATH'
 
   export_file_format = 'darwin'
-  export_fmt = '-exported_symbols_list=@0@'
+  export_fmt = '-Wl,-exported_symbols_list,@0@'
 
   mod_link_args_fmt = ['-bundle_loader', '@0@']
   mod_link_with_dir = 'bindir'