From 4bfbbeb679c09c28813d4545bb1f764c3041d475 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 23 Feb 2026 10:37:38 +0100 Subject: [PATCH] meson: Refactor libpq targets variables Some of the knowledge of the libpq targets was spread around between the top-level meson.build and src/interfaces/libpq*. This change organizes it more like other targets by having a libpq_targets variable that different subdirectories can add to. Discussion: https://www.postgresql.org/message-id/flat/e8aa97db-872b-4087-b073-f296baae948d%40eisentraut.org --- meson.build | 12 +++--------- src/interfaces/libpq-oauth/meson.build | 2 ++ src/interfaces/libpq/meson.build | 2 ++ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/meson.build b/meson.build index 46642ae3f04..ebfb85e93e5 100644 --- a/meson.build +++ b/meson.build @@ -3121,6 +3121,7 @@ add_project_link_arguments(ldflags, language: ['c', 'cpp']) # list of targets for various alias targets backend_targets = [] bin_targets = [] +libpq_targets = [] pl_targets = [] contrib_targets = [] testprep_targets = [] @@ -3547,20 +3548,13 @@ endif installed_targets = [ backend_targets, bin_targets, - libpq_st, + libpq_targets, pl_targets, contrib_targets, nls_mo_targets, ecpg_targets, ] -if oauth_flow_supported - installed_targets += [ - libpq_oauth_so, - libpq_oauth_st, - ] -endif - # all targets that require building code all_built = [ installed_targets, @@ -3897,7 +3891,7 @@ add_test_setup('running', ############################################################### alias_target('backend', backend_targets) -alias_target('bin', bin_targets + [libpq_st]) +alias_target('bin', bin_targets + libpq_targets) alias_target('pl', pl_targets) alias_target('contrib', contrib_targets) alias_target('testprep', testprep_targets) diff --git a/src/interfaces/libpq-oauth/meson.build b/src/interfaces/libpq-oauth/meson.build index d8a0c04095a..e573d36f20e 100644 --- a/src/interfaces/libpq-oauth/meson.build +++ b/src/interfaces/libpq-oauth/meson.build @@ -32,6 +32,7 @@ libpq_oauth_st = static_library('libpq-oauth', ], kwargs: default_lib_args, ) +libpq_targets += libpq_oauth_st # This is an internal module; we don't want an SONAME and therefore do not set # SO_MAJOR_VERSION. @@ -47,6 +48,7 @@ libpq_oauth_so = shared_module(libpq_oauth_name, link_args: export_fmt.format(export_file.full_path()), kwargs: default_lib_args, ) +libpq_targets += libpq_oauth_so libpq_oauth_test_deps = [] diff --git a/src/interfaces/libpq/meson.build b/src/interfaces/libpq/meson.build index c5ecd9c3a87..0b8dd3e1f5e 100644 --- a/src/interfaces/libpq/meson.build +++ b/src/interfaces/libpq/meson.build @@ -65,6 +65,7 @@ libpq_st = static_library('libpq', dependencies: [frontend_stlib_code, libpq_deps], kwargs: default_lib_args, ) +libpq_targets += libpq_st libpq_so = shared_library('libpq', libpq_sources + libpq_so_sources, @@ -79,6 +80,7 @@ libpq_so = shared_library('libpq', link_args: export_fmt.format(export_file.full_path()), kwargs: default_lib_args, ) +libpq_targets += libpq_so libpq = declare_dependency( link_with: [libpq_so],