pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: Re: Unify DLSUFFIX on Darwin
Date: Fri, 24 Jun 2022 13:26:54 +0200
Message-ID: <f64debe0-0045-9a7b-6af8-6122cc6ce18d@enterprisedb.com> (raw)
In-Reply-To: <3336874.1655905520@sss.pgh.pa.us>
References: <bcc45f78-e3c3-8fb3-7c42-5371b48b5266@enterprisedb.com>
	<3336874.1655905520@sss.pgh.pa.us>

On 22.06.22 15:45, Tom Lane wrote:
> Peter Eisentraut <peter.eisentraut@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.





view thread (6+ messages)  latest in thread

Message-ID: <f64debe0-0045-9a7b-6af8-6122cc6ce18d@enterprisedb.com>
Permalink:  ../f64debe0-0045-9a7b-6af8-6122cc6ce18d@enterprisedb.com/
Also on:    postgresql.org/message-id/f64debe0-0045-9a7b-6af8-6122cc6ce18d@enterprisedb.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: peter.eisentraut@enterprisedb.com, tgl@sss.pgh.pa.us
  Subject: Re: Unify DLSUFFIX on Darwin
  In-Reply-To: <f64debe0-0045-9a7b-6af8-6122cc6ce18d@enterprisedb.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox