public inbox for [email protected]  
help / color / mirror / Atom feed
From: 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