Re: Exporting float_to_shortest_decimal_buf(n) with Postgres 17 on Windows

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Vladlen Popolitov <v.popolitov@postgrespro.ru>, Michael Paquier <michael@paquier.xyz>
Cc: Andrew Kane <andrew@ankane.org>, Nathan Bossart <nathandbossart@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org
Date: 2024-12-23T11:05:27Z
Lists: pgsql-hackers
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': [


-- 
Heikki Linnakangas
Neon (https://neon.tech)




Commits

  1. meson: Export all libcommon functions in Windows builds