macos exported symbols list not used for loadable modules

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-06-03T07:47:49Z
Lists: pgsql-hackers

Attachments

On macOS, when building with the make system, the exported symbols list 
(SHLIB_EXPORTS) is ignored.  I don't think that is intentional.  It was 
probably just forgotten, since that combination has never actually been 
used until now (for libpq-oauth).

(Alternatively: Am I missing something?  Is this combination not useful? 
  Was it not supported in older versions at some point?  I couldn't 
think of anything.)

The meson build system handles this correctly.

I suggest that we fix this.  I attach patch 0001 with a minimal fix, 
patch 0002 is a bit more refactoring to make the code match the layout 
for other platforms.

Commits

  1. Use exported symbols list on macOS for loadable modules as well