Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o40fj-0002eM-JR for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Jun 2022 13:45:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1o40fi-00067T-6O for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Jun 2022 13:45:30 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o40fh-00067K-Qz for pgsql-hackers@lists.postgresql.org; Wed, 22 Jun 2022 13:45:29 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o40fa-0007uZ-Ld for pgsql-hackers@postgresql.org; Wed, 22 Jun 2022 13:45:28 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 25MDjK5H3336875; Wed, 22 Jun 2022 09:45:20 -0400 From: Tom Lane To: Peter Eisentraut cc: pgsql-hackers Subject: Re: Unify DLSUFFIX on Darwin In-reply-to: References: Comments: In-reply-to Peter Eisentraut message dated "Wed, 22 Jun 2022 13:12:21 +0200" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <3336873.1655905520.1@sss.pgh.pa.us> Date: Wed, 22 Jun 2022 09:45:20 -0400 Message-ID: <3336874.1655905520@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Peter Eisentraut 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. I'm not against the idea if we can avoid widespread extension breakage, but that part seems like a problem. regards, tom lane