Home Explore Blog CI



postgresql

37th chunk of `doc/src/sgml/installation.sgml`
0675cf300a8cbe5bc70c2f601c6bfdaaacc21da262e76b2f0000000100000fa3
 C linker.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="configure-extra-include-dirs-meson">
      <term><option>-Dextra_include_dirs=<replaceable>DIRECTORIES</replaceable></option></term>
      <listitem>
       <para>
        <replaceable>DIRECTORIES</replaceable> is a comma-separated list of
        directories that will be added to the list the compiler searches for
        header files. If you have optional packages (such as GNU
        <application>Readline</application>) installed in a non-standard
        location, you have to use this option and probably also the
        corresponding <option>-Dextra_lib_dirs</option> option.
       </para>

       <para>
        Example: <literal>-Dextra_include_dirs=/opt/gnu/include,/usr/sup/include</literal>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="configure-extra-lib-dirs-meson">
      <term><option>-Dextra_lib_dirs=<replaceable>DIRECTORIES</replaceable></option></term>
      <listitem>
       <para>
        <replaceable>DIRECTORIES</replaceable> is a comma-separated list of
        directories to search for libraries. You will probably have to use
        this option (and the corresponding
        <option>-Dextra_include_dirs</option> option) if you have packages
        installed in non-standard locations.
       </para>
       <para>
        Example: <literal>-Dextra_lib_dirs=/opt/gnu/lib,/usr/sup/lib</literal>.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="configure-system-tzdata-meson">
      <term><option>-Dsystem_tzdata=<replaceable>DIRECTORY</replaceable></option>
      <indexterm>
       <primary>time zone data</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        <productname>PostgreSQL</productname> includes its own time zone
        database, which it requires for date and time operations.  This time
        zone database is in fact compatible with the IANA time zone database
        provided by many operating systems such as FreeBSD, Linux, and
        Solaris, so it would be redundant to install it again.  When this
        option is used, the system-supplied time zone database in
        <replaceable>DIRECTORY</replaceable> is used instead of the one
        included in the PostgreSQL source distribution.
        <replaceable>DIRECTORY</replaceable> must be specified as an absolute
        path.  <filename>/usr/share/zoneinfo</filename> is a likely directory
        on some operating systems.  Note that the installation routine will
        not detect mismatching or erroneous time zone data.  If you use this
        option, you are advised to run the regression tests to verify that the
        time zone data you have pointed to works correctly with
        <productname>PostgreSQL</productname>.
       </para>

       <indexterm><primary>cross compilation</primary></indexterm>

       <para>
        This option is mainly aimed at binary package distributors who know
        their target operating system well.  The main advantage of using this
        option is that the PostgreSQL package won't need to be upgraded
        whenever any of the many local daylight-saving time rules change.
        Another advantage is that PostgreSQL can be cross-compiled more
        straightforwardly if the time zone database files do not need to be
        built during the installation.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="configure-extra-version-meson">
      <term><option>-Dextra_version=<replaceable>STRING</replaceable></option></term>
      <listitem>
       <para>
        Append <replaceable>STRING</replaceable> to the PostgreSQL version
        number.  You can use this, for example, to mark binaries built from
        unreleased <productname>Git</productname> snapshots or containing
        custom patches with an extra version string, such as a <command>git
        describe</command> identifier or a distribution

Title: Additional Meson Configuration Options for PostgreSQL
Summary
This section describes various Meson options for customizing the PostgreSQL build process, including settings for extra include and library directories, system time zone data, and appending custom version strings, allowing for greater flexibility and control over the build configuration.