Home Explore Blog CI



postgresql

25th chunk of `doc/src/sgml/installation.sgml`
bd12b51e8d099b04c5d9d3f5e2efc6b96b9b4dbc53ef40670000000100000fa2
 <term><envar>LDFLAGS</envar></term>
       <listitem>
        <para>
         options to use when linking either executables or shared libraries
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-envvars-ldflags-ex">
       <term><envar>LDFLAGS_EX</envar></term>
       <listitem>
        <para>
         additional options for linking executables only
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-envvars-ldflags-sl">
       <term><envar>LDFLAGS_SL</envar></term>
       <listitem>
        <para>
         additional options for linking shared libraries only
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-envvars-llvm-config">
       <term><envar>LLVM_CONFIG</envar></term>
       <listitem>
        <para>
         <command>llvm-config</command> program used to locate the
         <productname>LLVM</productname> installation
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-envvars-msgfmt">
       <term><envar>MSGFMT</envar></term>
       <listitem>
        <para>
         <command>msgfmt</command> program for native language support
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-envvars-perl">
       <term><envar>PERL</envar></term>
       <listitem>
        <para>
         Perl interpreter program.  This will be used to determine the
         dependencies for building PL/Perl.  The default is
         <command>perl</command>.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-envvars-python">
       <term><envar>PYTHON</envar></term>
       <listitem>
        <para>
         Python interpreter program.  This will be used to determine the
         dependencies for building PL/Python.  If this is not set, the
         following are probed in this order:
         <literal>python3 python</literal>.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-envvars-tclsh">
       <term><envar>TCLSH</envar></term>
       <listitem>
        <para>
         Tcl interpreter program.  This will be used to
         determine the dependencies for building PL/Tcl.
         If this is not set, the following are probed in this
         order: <literal>tclsh tcl tclsh8.6 tclsh86 tclsh8.5 tclsh85
         tclsh8.4 tclsh84</literal>.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-envvars-xml2-config">
       <term><envar>XML2_CONFIG</envar></term>
       <listitem>
        <para>
         <command>xml2-config</command> program used to locate the
         libxml2 installation
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </para>

    <para>
     Sometimes it is useful to add compiler flags after-the-fact to the set
     that were chosen by <filename>configure</filename>.  An important example is
     that <application>gcc</application>'s <option>-Werror</option> option cannot be included
     in the <envar>CFLAGS</envar> passed to <filename>configure</filename>, because
     it will break many of <filename>configure</filename>'s built-in tests.  To add
     such flags, include them in the <envar>COPT</envar> environment variable
     while running <filename>make</filename>.  The contents of <envar>COPT</envar>
     are added to the <envar>CFLAGS</envar>, <envar>CXXFLAGS</envar>, and <envar>LDFLAGS</envar>
     options set up by <filename>configure</filename>.  For example, you could do
<screen>
<userinput>make COPT='-Werror'</userinput>
</screen>
     or
<screen>
<userinput>export COPT='-Werror'</userinput>
<userinput>make</userinput>
</screen>
    </para>

    <note>
     <para>
      If using GCC, it is best to build with an optimization level of
      at least <option>-O1</option>, because using no optimization
      (<option>-O0</option>) disables some important compiler warnings

Title: Environment Variables and Compiler Flags
Summary
This section describes additional environment variables that can be used to customize the build process, including options for linking, compiler flags, and interpreter programs, as well as how to add custom compiler flags after running the configure script using the COPT environment variable.