On 22.06.22 15:45, Tom Lane wrote:
Peter Eisentraut <peter.eisentr...@enterprisedb.com> writes:
macOS has traditionally used extension .dylib for shared libraries (used
at build time) and .so for dynamically loaded modules (used by
dlopen()).  This complicates the build system a bit.  Also, Meson uses
.dylib for both, so it would be worth unifying this in order to be able
to get equal build output.

There doesn't appear to be any reason to use any particular extension
for dlopened modules, since dlopen() will accept anything and PostgreSQL
is well-factored to be able to deal with any extension.  Other software
packages that I have handy appear to be about 50/50 split on which
extension they use for their plugins.  So it seems possible to change
this safely.

Doesn't this amount to a fundamental ABI break for extensions?
Yesterday they had to ship foo.so, today they have to ship foo.dylib.

Extensions generally only load the module files using the extension-free base name. And if they do specify the extension, they should use the provided DLSUFFIX variable and not hardcode it. So I don't see how this would be a problem.


Reply via email to