Heikki Linnakangas писал(а) 2024-12-23 14:05:
On 23/12/2024 12:32, Vladlen Popolitov wrote:
I found the reason of this bug and the fix for it.
Cool!
Fortunatelly meson has option to force put all object files to
library - add dependency with the flag link_whole .
I made the one-line patch and it fixes this issue.
- 'dependencies': opts['dependencies'] + [ssl],
+ 'dependencies': opts['dependencies'] + [ssl] +
[declare_dependency( link_whole : cflag_libs)],
I'm no meson expert and don't have a Windows system to test on, but
this seems like a weird place to add the option. Could you do this
instead:
diff --git a/src/common/meson.build b/src/common/meson.build
index 538e0f43d55..76a7f68fe30 100644
--- a/src/common/meson.build
+++ b/src/common/meson.build
@@ -184,6 +184,7 @@ foreach name, opts : pgcommon_variants
lib = static_library('libpgcommon@0@'.format(name),
link_with: cflag_libs,
+ link_whole: cflag_libs,
c_pch: pch_c_h,
kwargs: opts + {
'include_directories': [
Yes, it is also working option. I applied it and tested in the current
master under Windows,
it works.
Attached patch changes this line in meson.build
link_with: cflag_libs,
+ link_whole: cflag_libs,
c_pch: pch_c_h,
--
Best regards,
Vladlen Popolitov.
From 06a1fe0c0d81974ebccbd2f031df62154bd1c29d Mon Sep 17 00:00:00 2001
From: Vladlen Popolitov <v.popoli...@postgrespro.ru>
Date: Mon, 23 Dec 2024 15:09:13 +0300
Subject: [PATCH v2] Fix meson.build to prevent missed obj files in lib under
Windows
---
src/common/meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/common/meson.build b/src/common/meson.build
index 538e0f43d5..76a7f68fe3 100644
--- a/src/common/meson.build
+++ b/src/common/meson.build
@@ -184,6 +184,7 @@ foreach name, opts : pgcommon_variants
lib = static_library('libpgcommon@0@'.format(name),
link_with: cflag_libs,
+ link_whole: cflag_libs,
c_pch: pch_c_h,
kwargs: opts + {
'include_directories': [
--
2.39.5 (Apple Git-154)