pgsql: meson: allow disabling building/installation of static libraries

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: meson: allow disabling building/installation of static libraries
Date: 2026-02-23 15:51:38
Message-ID: E1vuYDi-000qV4-00@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

meson: allow disabling building/installation of static libraries.

We now support the common meson option -Ddefault_library, with values
'both' (the default), 'shared' (install only shared libraries), and
'static' (install only static libraries). The 'static' choice doesn't
actually work, since psql and other programs insist on linking to the
shared version of libpq, but it's there pro-forma. It could be built
out if we really wanted, but since we have never supported the
equivalent in the autoconf build system, there doesn't appear to be an
urgent need.

With an eye to re-supporting AIX, the internal implementation
distinguishes whether to install libpgport.a and other static-only
libraries from whether to build/install the static variant of
libraries that we can build both ways. This detail isn't exposed as a
meson option, though it could be if there's demand.

The Cirrus CI task SanityCheck now uses -Ddefault_library=shared to
save a little bit of build time (and to test this option).

Author: Peter Eisentraut <peter(at)eisentraut(dot)org>
Reviewed-by: Andres Freund <andres(at)anarazel(dot)de>
Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Discussion: https://postgr.es/m/e8aa97db-872b-4087-b073-f296baae948d@eisentraut.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/78727dcba32ed374eb2e92df976649bff56e2056

Modified Files
--------------
.cirrus.tasks.yml | 1 +
doc/src/sgml/installation.sgml | 11 +++++++++++
meson.build | 27 +++++++++++++++++++++++++++
src/common/meson.build | 1 +
src/fe_utils/meson.build | 4 +++-
src/interfaces/ecpg/compatlib/meson.build | 4 ++++
src/interfaces/ecpg/ecpglib/meson.build | 4 ++++
src/interfaces/ecpg/pgtypeslib/meson.build | 4 ++++
src/interfaces/libpq-oauth/meson.build | 4 ++++
src/interfaces/libpq/meson.build | 4 ++++
src/port/meson.build | 1 +
11 files changed, 64 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2026-02-23 16:13:29 Re: PGPROC alignment (was Re: pgsql: Separate RecoveryConflictReasons from procsignals)
Previous Message Nathan Bossart 2026-02-23 15:26:45 pgsql: Make use of pg_popcount() in more places.