v1-0001-meson-Add-_static-and-_shared-suffixes-to-the-lib.patch
text/x-patch
Filename: v1-0001-meson-Add-_static-and-_shared-suffixes-to-the-lib.patch
Type: text/x-patch
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v1-0001
Subject: meson: Add _static and _shared suffixes to the library names
| File | + | − |
|---|---|---|
| src/backend/bootstrap/meson.build | 1 | 1 |
| src/backend/meson.build | 1 | 1 |
| src/backend/nodes/meson.build | 1 | 1 |
| src/backend/parser/meson.build | 1 | 1 |
| src/backend/replication/meson.build | 1 | 1 |
| src/backend/utils/activity/meson.build | 1 | 1 |
| src/backend/utils/adt/meson.build | 1 | 1 |
| src/backend/utils/misc/meson.build | 1 | 1 |
| src/bin/pg_basebackup/meson.build | 1 | 1 |
| src/bin/pg_dump/meson.build | 1 | 1 |
| src/bin/scripts/meson.build | 1 | 1 |
| src/common/meson.build | 3 | 3 |
| src/fe_utils/meson.build | 1 | 1 |
| src/interfaces/ecpg/compatlib/meson.build | 2 | 2 |
| src/interfaces/ecpg/ecpglib/meson.build | 2 | 2 |
| src/interfaces/ecpg/pgtypeslib/meson.build | 2 | 2 |
| src/interfaces/libpq/meson.build | 2 | 2 |
| src/interfaces/libpq-oauth/meson.build | 1 | 1 |
| src/port/meson.build | 2 | 2 |
From 3e177cb280d0e643f6cce785d6048c5e2dd11d5c Mon Sep 17 00:00:00 2001
From: Nazir Bilal Yavuz <byavuz81@gmail.com>
Date: Tue, 12 Aug 2025 17:53:50 +0300
Subject: [PATCH v1] meson: Add _static and _shared suffixes to the library
names
Otherwise static and shared libraries overwrite each other's debug file.
Suggested-by: Andres Freund <andres@anarazel.de>
Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
---
src/backend/bootstrap/meson.build | 2 +-
src/backend/meson.build | 2 +-
src/backend/nodes/meson.build | 2 +-
src/backend/parser/meson.build | 2 +-
src/backend/replication/meson.build | 2 +-
src/backend/utils/activity/meson.build | 2 +-
src/backend/utils/adt/meson.build | 2 +-
src/backend/utils/misc/meson.build | 2 +-
src/common/meson.build | 6 +++---
src/port/meson.build | 4 ++--
src/fe_utils/meson.build | 2 +-
src/bin/pg_basebackup/meson.build | 2 +-
src/bin/pg_dump/meson.build | 2 +-
src/bin/scripts/meson.build | 2 +-
src/interfaces/libpq/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 | 2 +-
19 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/src/backend/bootstrap/meson.build b/src/backend/bootstrap/meson.build
index 29726c1ab4f..4264d09113c 100644
--- a/src/backend/bootstrap/meson.build
+++ b/src/backend/bootstrap/meson.build
@@ -21,7 +21,7 @@ bootparse = custom_target('bootparse',
generated_sources += bootparse.to_list()
boot_parser_sources += bootparse
-boot_parser = static_library('boot_parser',
+boot_parser = static_library('boot_parser_static',
boot_parser_sources,
dependencies: [backend_code],
include_directories: include_directories('.'),
diff --git a/src/backend/meson.build b/src/backend/meson.build
index b831a541652..e6e2f93179c 100644
--- a/src/backend/meson.build
+++ b/src/backend/meson.build
@@ -62,7 +62,7 @@ backend_link_depends = []
# Can't name the static library 'postgres', because msbuild ends up with a
# conflict for the .pdb file otherwise.
-postgres_lib = static_library('postgres_lib',
+postgres_lib = static_library('postgres_lib_static',
backend_sources + timezone_sources + generated_backend_sources,
link_whole: backend_link_with,
dependencies: backend_build_deps,
diff --git a/src/backend/nodes/meson.build b/src/backend/nodes/meson.build
index 9a1c1b7b987..1ee286ea17b 100644
--- a/src/backend/nodes/meson.build
+++ b/src/backend/nodes/meson.build
@@ -23,7 +23,7 @@ nodefunc_sources = files(
'outfuncs.c',
'readfuncs.c',
)
-nodefuncs = static_library('nodefuncs',
+nodefuncs = static_library('nodefuncs_static',
nodefunc_sources,
dependencies: [backend_code],
include_directories: include_directories('../../include/nodes'),
diff --git a/src/backend/parser/meson.build b/src/backend/parser/meson.build
index 874aa749aa6..f5c07ff8dcf 100644
--- a/src/backend/parser/meson.build
+++ b/src/backend/parser/meson.build
@@ -42,7 +42,7 @@ backend_parser = custom_target('gram',
generated_sources += backend_parser.to_list()
parser_sources += backend_parser
-parser = static_library('parser',
+parser = static_library('parser_static',
parser_sources,
dependencies: [backend_code],
include_directories: include_directories('.'),
diff --git a/src/backend/replication/meson.build b/src/backend/replication/meson.build
index b0601498865..ad278e78e3b 100644
--- a/src/backend/replication/meson.build
+++ b/src/backend/replication/meson.build
@@ -42,7 +42,7 @@ syncrep_gram = custom_target('syncrep_gram',
generated_sources += syncrep_gram.to_list()
repl_parser_sources += syncrep_gram
-repl_parser = static_library('repl_parser',
+repl_parser = static_library('repl_parser_static',
repl_parser_sources,
dependencies: [backend_code],
include_directories: include_directories('.'),
diff --git a/src/backend/utils/activity/meson.build b/src/backend/utils/activity/meson.build
index d8e56b49c24..1bb0320a0b2 100644
--- a/src/backend/utils/activity/meson.build
+++ b/src/backend/utils/activity/meson.build
@@ -27,7 +27,7 @@ waitevent_sources = files(
'wait_event_funcs.c',
)
-wait_event = static_library('wait_event_names',
+wait_event = static_library('wait_event_names_static',
waitevent_sources,
dependencies: [backend_code],
include_directories: include_directories('../../../include/utils'),
diff --git a/src/backend/utils/adt/meson.build b/src/backend/utils/adt/meson.build
index ed9bbd7b926..238ce24a7f8 100644
--- a/src/backend/utils/adt/meson.build
+++ b/src/backend/utils/adt/meson.build
@@ -130,7 +130,7 @@ jsonpath_gram = custom_target('jsonpath_parse',
generated_sources += jsonpath_gram.to_list()
# so we don't need to add . as an include dir for the whole backend
-backend_link_with += static_library('jsonpath',
+backend_link_with += static_library('jsonpath_static',
jsonpath_scan, jsonpath_gram,
dependencies: [backend_code],
include_directories: include_directories('.'),
diff --git a/src/backend/utils/misc/meson.build b/src/backend/utils/misc/meson.build
index 9e389a00d05..af01d4852a8 100644
--- a/src/backend/utils/misc/meson.build
+++ b/src/backend/utils/misc/meson.build
@@ -27,7 +27,7 @@ guc_scan = custom_target('guc_scan',
generated_sources += guc_scan
# so we don't need to add . as an include dir for the whole backend
-backend_link_with += static_library('guc-file',
+backend_link_with += static_library('guc-file_static',
guc_scan,
dependencies: [backend_code],
include_directories: include_directories('.'),
diff --git a/src/common/meson.build b/src/common/meson.build
index 1540ba67cca..7ce71bbf934 100644
--- a/src/common/meson.build
+++ b/src/common/meson.build
@@ -167,7 +167,7 @@ foreach name, opts : pgcommon_variants
continue
endif
c_args = opts.get('c_args', []) + common_cflags[cflagname]
- cflag_libs += static_library('libpgcommon@0@_@1@'.format(name, cflagname),
+ cflag_libs += static_library('libpgcommon@0@_@1@_static'.format(name, cflagname),
c_pch: pch_c_h,
kwargs: opts + {
'include_directories': [
@@ -182,7 +182,7 @@ foreach name, opts : pgcommon_variants
)
endforeach
- lib = static_library('libpgcommon@0@'.format(name),
+ lib = static_library('libpgcommon@0@_static'.format(name),
link_with: cflag_libs,
link_whole: cflag_libs,
c_pch: pch_c_h,
@@ -201,7 +201,7 @@ common_srv = pgcommon['_srv']
common_shlib = pgcommon['_shlib']
common_static = pgcommon['']
-common_excluded_shlib = static_library('libpgcommon_excluded_shlib',
+common_excluded_shlib = static_library('libpgcommon_excluded_shlib_static',
sources: common_sources_excluded_shlib,
dependencies: [frontend_common_code],
build_by_default: false,
diff --git a/src/port/meson.build b/src/port/meson.build
index fc7b059fee5..382e6d3078a 100644
--- a/src/port/meson.build
+++ b/src/port/meson.build
@@ -175,7 +175,7 @@ foreach name, opts : pgport_variants
continue
endif
c_args = opts.get('c_args', []) + pgport_cflags[cflagname]
- cflag_libs += static_library('libpgport@0@_@1@'.format(name, cflagname),
+ cflag_libs += static_library('libpgport@0@_@1@_static'.format(name, cflagname),
sources,
c_pch: pch_c_h,
kwargs: opts + {
@@ -186,7 +186,7 @@ foreach name, opts : pgport_variants
)
endforeach
- lib = static_library('libpgport@0@'.format(name),
+ lib = static_library('libpgport@0@_static'.format(name),
pgport_sources,
link_with: cflag_libs,
link_whole: cflag_libs,
diff --git a/src/fe_utils/meson.build b/src/fe_utils/meson.build
index 5a9ddb73463..999dc469896 100644
--- a/src/fe_utils/meson.build
+++ b/src/fe_utils/meson.build
@@ -28,7 +28,7 @@ psqlscan = custom_target('psqlscan',
generated_sources += psqlscan
fe_utils_sources += psqlscan
-fe_utils = static_library('libpgfeutils',
+fe_utils = static_library('libpgfeutils_static',
fe_utils_sources,
c_pch: pch_postgres_fe_h,
include_directories: [postgres_inc, libpq_inc],
diff --git a/src/bin/pg_basebackup/meson.build b/src/bin/pg_basebackup/meson.build
index 3a7fc10eab0..8cd2186ad2f 100644
--- a/src/bin/pg_basebackup/meson.build
+++ b/src/bin/pg_basebackup/meson.build
@@ -8,7 +8,7 @@ common_sources = files(
)
pg_basebackup_deps = [frontend_code, libpq, lz4, zlib, zstd]
-pg_basebackup_common = static_library('libpg_basebackup_common',
+pg_basebackup_common = static_library('libpg_basebackup_common_static',
common_sources,
dependencies: pg_basebackup_deps,
kwargs: internal_lib_args,
diff --git a/src/bin/pg_dump/meson.build b/src/bin/pg_dump/meson.build
index a2233b0a1b4..c58fd370f21 100644
--- a/src/bin/pg_dump/meson.build
+++ b/src/bin/pg_dump/meson.build
@@ -19,7 +19,7 @@ pg_dump_common_sources = files(
'pg_backup_utils.c',
)
-pg_dump_common = static_library('libpgdump_common',
+pg_dump_common = static_library('libpgdump_common_static',
pg_dump_common_sources,
c_pch: pch_postgres_fe_h,
dependencies: [frontend_code, libpq, lz4, zlib, zstd],
diff --git a/src/bin/scripts/meson.build b/src/bin/scripts/meson.build
index 80df7c33257..ff5b815baff 100644
--- a/src/bin/scripts/meson.build
+++ b/src/bin/scripts/meson.build
@@ -1,6 +1,6 @@
# Copyright (c) 2022-2025, PostgreSQL Global Development Group
-scripts_common = static_library('libscripts_common',
+scripts_common = static_library('libscripts_common_static',
files('common.c'),
dependencies: [frontend_code, libpq],
kwargs: internal_lib_args,
diff --git a/src/interfaces/libpq/meson.build b/src/interfaces/libpq/meson.build
index a74e885b169..52e157b48e8 100644
--- a/src/interfaces/libpq/meson.build
+++ b/src/interfaces/libpq/meson.build
@@ -57,7 +57,7 @@ libpq_so_c_args = ['-DUSE_DYNAMIC_OAUTH']
# We could try to avoid building the source files twice, but it probably adds
# more complexity than its worth (reusing object files requires also linking
# to the library on windows or breaks precompiled headers).
-libpq_st = static_library('libpq',
+libpq_st = static_library('libpq_static',
libpq_sources,
include_directories: [libpq_inc],
c_args: libpq_c_args,
@@ -66,7 +66,7 @@ libpq_st = static_library('libpq',
kwargs: default_lib_args,
)
-libpq_so = shared_library('libpq',
+libpq_so = shared_library('libpq_shared',
libpq_sources + libpq_so_sources,
include_directories: [libpq_inc, postgres_inc],
c_args: libpq_c_args + libpq_so_c_args,
diff --git a/src/interfaces/ecpg/compatlib/meson.build b/src/interfaces/ecpg/compatlib/meson.build
index 56e0a21651b..4e5ad5e3f5b 100644
--- a/src/interfaces/ecpg/compatlib/meson.build
+++ b/src/interfaces/ecpg/compatlib/meson.build
@@ -16,7 +16,7 @@ if host_system == 'windows'
endif
# see src/interfaces/libpq/meson.build
-ecpg_compat_st = static_library('libecpg_compat',
+ecpg_compat_st = static_library('libecpg_compat_static',
ecpg_compat_sources,
include_directories: ecpg_compat_inc,
c_args: ecpg_compat_c_args,
@@ -26,7 +26,7 @@ ecpg_compat_st = static_library('libecpg_compat',
)
ecpg_targets += ecpg_compat_st
-ecpg_compat_so = shared_library('libecpg_compat',
+ecpg_compat_so = shared_library('libecpg_compat_shared',
ecpg_compat_sources + ecpg_compat_so_sources,
include_directories: ecpg_compat_inc,
c_args: ecpg_compat_c_args,
diff --git a/src/interfaces/ecpg/ecpglib/meson.build b/src/interfaces/ecpg/ecpglib/meson.build
index 8f478c6a73e..df0aebe2d1c 100644
--- a/src/interfaces/ecpg/ecpglib/meson.build
+++ b/src/interfaces/ecpg/ecpglib/meson.build
@@ -25,7 +25,7 @@ if host_system == 'windows'
endif
# see src/interfaces/libpq/meson.build
-ecpglib_st = static_library('libecpg',
+ecpglib_st = static_library('libecpg_static',
ecpglib_sources,
include_directories: ecpglib_inc,
c_args: ecpglib_c_args,
@@ -36,7 +36,7 @@ ecpglib_st = static_library('libecpg',
)
ecpg_targets += ecpglib_st
-ecpglib_so = shared_library('libecpg',
+ecpglib_so = shared_library('libecpg_shared',
ecpglib_sources + ecpglib_so_sources,
include_directories: ecpglib_inc,
c_args: ecpglib_c_args,
diff --git a/src/interfaces/ecpg/pgtypeslib/meson.build b/src/interfaces/ecpg/pgtypeslib/meson.build
index 02301ec9acb..7b660932526 100644
--- a/src/interfaces/ecpg/pgtypeslib/meson.build
+++ b/src/interfaces/ecpg/pgtypeslib/meson.build
@@ -21,7 +21,7 @@ if host_system == 'windows'
endif
# see src/interfaces/libpq/meson.build
-ecpg_pgtypes_st = static_library('libpgtypes',
+ecpg_pgtypes_st = static_library('libpgtypes_static',
ecpg_pgtypes_sources,
include_directories: ecpg_pgtypes_inc,
c_args: ecpg_pgtypes_c_args,
@@ -31,7 +31,7 @@ ecpg_pgtypes_st = static_library('libpgtypes',
)
ecpg_targets += ecpg_pgtypes_st
-ecpg_pgtypes_so = shared_library('libpgtypes',
+ecpg_pgtypes_so = shared_library('libpgtypes_shared',
ecpg_pgtypes_sources + ecpg_pgtypes_so_sources,
include_directories: ecpg_pgtypes_inc,
c_args: ecpg_pgtypes_c_args,
diff --git a/src/interfaces/libpq-oauth/meson.build b/src/interfaces/libpq-oauth/meson.build
index df064c59a40..0b986b4355b 100644
--- a/src/interfaces/libpq-oauth/meson.build
+++ b/src/interfaces/libpq-oauth/meson.build
@@ -21,7 +21,7 @@ export_file = custom_target('libpq-oauth.exports',
# port needs to be in include path due to pthread-win32.h
libpq_oauth_inc = include_directories('.', '../libpq', '../../port')
-libpq_oauth_st = static_library('libpq-oauth',
+libpq_oauth_st = static_library('libpq-oauth_static',
libpq_oauth_sources,
include_directories: [libpq_oauth_inc, postgres_inc],
c_pch: pch_postgres_fe_h,
--
2.50.1