public inbox for [email protected]
help / color / mirror / Atom feedFrom: Kohei Harikae (Fujitsu) <[email protected]>
To: 'Vladlen Popolitov' <[email protected]>
Cc: 'Andres Freund' <[email protected]>
Cc: '[email protected]' <[email protected]>
Subject: RE: Windows meson build
Date: Mon, 6 Jan 2025 09:57:58 +0000
Message-ID: <TYVPR01MB11330F81D078A203D5DFFA9CEE4102@TYVPR01MB11330.jpnprd01.prod.outlook.com> (raw)
In-Reply-To: <[email protected]>
References: <TYVPR01MB113306AB19264E89AD360A40EE4522@TYVPR01MB11330.jpnprd01.prod.outlook.com>
<gjqvs4lcv5mpl7io2dzm2jantxenavljs5437kjlhjk4lmxzep@ahia6adaioc2>
<TYVPR01MB11330FC4B949E05FE6A0F437CE4052@TYVPR01MB11330.jpnprd01.prod.outlook.com>
<[email protected]>
<TYVPR01MB1133078C93F9FE432CA466573E40E2@TYVPR01MB11330.jpnprd01.prod.outlook.com>
<[email protected]>
<[email protected]>
Hi,
> I think in the phrase:
> "add the directory where the .pc file resides to PKG_CONFIG_PATH."
> better to add wording, that PKG_CONFIG_PATH is the list of directories
> separated by PATH separator ( ; in Windows, : in POSIX). Otherwise the
> reader has to search additional information about this variable in
> meson documentation.
Thank you for your advice.
I added the description of PATH separator based on your advice.
> I think, it is better to add the other options how to configure external
> libraries, if they do not have .pc file:
> add meson options defined by PostgreSQL for its configuration (gettext
> library example)
>
> -Dextra_include_dirs=c:\postgres\gettext\x64-windows\include,c:\otherlibs\include
> -Dextra_lib_dirs=c:\postgres\gettext\x64-windows\lib,c:\otherlibs\lib
>
> extra_include_dirs and extra_lib_dirs are options defined by PostgreSQL.
> This options are
> comma separated lists of directories, if every value does not contain
> comma itself.
- 0001 icu
- 0002 libxml
- 0003 libxslt
- 0004 lz4
- 0005 tcl
- 0006 zlib
- 0007 zstd
These libraries could not be built by setting extra_include_dirs and extra_lib_dirs.
These libraries may not have .pc file created.
For example, if I use msc (Visual Studio) to build zLib, zlib.pc is not created.
Could you tell me which libraries can use this option?
Regards,
Kohei Harikae
Attachments:
[application/octet-stream] installation-meson.patch (2.9K, 2-installation-meson.patch)
download | inline diff:
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index ebdb5b3bc2d..cecf02fa5e5 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -2463,12 +2463,7 @@ ninja install
<listitem>
<para>
Build with support for GSSAPI authentication. MIT Kerberos is required
- to be installed for GSSAPI. On many systems, the GSSAPI system (a part
- of the MIT Kerberos installation) is not installed in a location
- that is searched by default (e.g., <filename>/usr/include</filename>,
- <filename>/usr/lib</filename>). In
- those cases, PostgreSQL will query <command>pkg-config</command> to
- detect the required compiler and linker options. Defaults to auto.
+ to be installed for GSSAPI. Defaults to auto.
<filename>meson configure</filename> will check for the required
header files and libraries to make sure that your GSSAPI installation
is sufficient before proceeding.
@@ -2589,12 +2584,6 @@ ninja install
Build with libxml2, enabling SQL/XML support. Defaults to
auto. Libxml2 version 2.6.23 or later is required for this feature.
</para>
-
- <para>
- To use a libxml2 installation that is in an unusual location, you
- can set <command>pkg-config</command>-related environment
- variables (see its documentation).
- </para>
</listitem>
</varlistentry>
@@ -3174,6 +3163,45 @@ ninja install
&targets-meson;
</sect2>
+ <sect2 id="use-unusual-location-libraries-meson">
+ <title>Steps to use libraries installed in an unusual location</title>
+
+ <para>
+ PostgreSQL will query pkg-config to detect the required compiler and linker options.
+ To use modules installed in an unusual location, set pkg-config-related
+ environment variables (see its documentation). For example, if you want to add
+ the library to the PostgreSQL build, add the directory where the .pc file resides
+ to PKG_CONFIG_PATH.
+
+ Sample procedures to include libraries for PostgreSQL build are as follows:
+ </para>
+
+ <procedure>
+ <step id="sample-build-library">
+ <title>Building and Installation library</title>
+ <para>
+ Check the path where the .pc file (e.g.libxml-2.0.pc) is created.
+ </para>
+ </step>
+ <step id="sample-add-PKG_CONFIG_PATH">
+ <title>Add path to .pc directory to PKG_CONFIG_PATH</title>
+ <para>
+ PKG_CONFIG_PATH is the list of directories separated by PATH separator
+ ( ; in Windows, : in Unix).
+ </para>
+ </step>
+ <step id="sample-build-meson">
+ <title>Building and Installation PostgreSQL with Meson</title>
+ <para>
+<screen>
+<userinput>meson setup build</userinput>
+</screen>
+ </para>
+ </step>
+ </procedure>
+
+ </sect2>
+
</sect1>
<sect1 id="install-post">
view thread (5+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: RE: Windows meson build
In-Reply-To: <TYVPR01MB11330F81D078A203D5DFFA9CEE4102@TYVPR01MB11330.jpnprd01.prod.outlook.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox