On 12.11.24 17:52, Peter Eisentraut wrote:
So the most straightforward way to "make it work like it used to" would
be to change src/bin/pgevent/meson.build to use shared_module() instead
of shared_library().
I developed the attached patch for this.
I haven't tested it locally, but I checked in the CI logs that the build
commands for pgevent don't change with this. CI doesn't test meson
install, it seems, so can't actually tell whether this changes the
installation directory successfully, but I think it should work.
Someone with Windows handy please give this a test.
From 064013af8020112b5ee96538e9bf928c623b74e0 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Wed, 13 Nov 2024 09:49:25 +0100
Subject: [PATCH] meson: Build pgevent as shared_module rather than
shared_library
This matches the behavior of the makefiles and the old MSVC build
system. The main effect is that the build result gets installed into
pkglibdir rather than bindir. The documentation says to locate the
library in pkglibdir, so this makes the code match the documentation
again.
Reported-by: Ryohei Takahashi (Fujitsu) <r.takahash...@fujitsu.com>
Discussion:
https://www.postgresql.org/message-id/flat/TY3PR01MB118912125614599641CA881B782522%40TY3PR01MB11891.jpnprd01.prod.outlook.com
ci-os-only: windows
---
src/bin/pgevent/meson.build | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/bin/pgevent/meson.build b/src/bin/pgevent/meson.build
index 5c2d296fef9..f7422438664 100644
--- a/src/bin/pgevent/meson.build
+++ b/src/bin/pgevent/meson.build
@@ -21,13 +21,11 @@ if cc.get_id() == 'msvc'
pgevent_link_args += '/ignore:4104'
endif
-pgevent = shared_library('pgevent',
+pgevent = shared_module('pgevent',
pgevent_sources,
dependencies: [frontend_code],
link_args: pgevent_link_args,
vs_module_defs: 'pgevent.def',
- kwargs: default_lib_args + {
- 'name_prefix': '',
- },
+ kwargs: default_mod_args,
)
bin_targets += pgevent
--
2.47.0