<listitem>
<para>
Enable tests using the Perl TAP tools. This requires a Perl
installation and the Perl module <literal>IPC::Run</literal>.
See <xref linkend="regress-tap"/> for more information.
</para>
</listitem>
</varlistentry>
<varlistentry id="configure-option-enable-depend">
<term><option>--enable-depend</option></term>
<listitem>
<para>
Enables automatic dependency tracking. With this option, the
makefiles are set up so that all affected object files will
be rebuilt when any header file is changed. This is useful
if you are doing development work, but is just wasted overhead
if you intend only to compile once and install. At present,
this option only works with GCC.
</para>
</listitem>
</varlistentry>
<varlistentry id="configure-option-enable-coverage">
<term><option>--enable-coverage</option></term>
<listitem>
<para>
If using GCC, all programs and libraries are compiled with
code coverage testing instrumentation. When run, they
generate files in the build directory with code coverage
metrics.
See <xref linkend="regress-coverage"/>
for more information. This option is for use only with GCC
and when doing development work.
</para>
</listitem>
</varlistentry>
<varlistentry id="configure-option-enable-profiling">
<term><option>--enable-profiling</option></term>
<listitem>
<para>
If using GCC, all programs and libraries are compiled so they
can be profiled. On backend exit, a subdirectory will be created
that contains the <filename>gmon.out</filename> file containing
profile data.
This option is for use only with GCC and when doing development work.
</para>
</listitem>
</varlistentry>
<varlistentry id="configure-option-enable-dtrace">
<term><option>--enable-dtrace</option></term>
<listitem>
<para>
<indexterm>
<primary>DTrace</primary>
</indexterm>
Compiles <productname>PostgreSQL</productname> with support for the
dynamic tracing tool DTrace.
See <xref linkend="dynamic-trace"/> for more information.
</para>
<para>
To point to the <command>dtrace</command> program, the
environment variable <envar>DTRACE</envar> can be set. This
will often be necessary because <command>dtrace</command> is
typically installed under <filename>/usr/sbin</filename>,
which might not be in your <envar>PATH</envar>.
</para>
<para>
Extra command-line options for the <command>dtrace</command> program
can be specified in the environment variable
<envar>DTRACEFLAGS</envar>. On Solaris,
to include DTrace support in a 64-bit binary, you must specify
<literal>DTRACEFLAGS="-64"</literal>. For example,
using the GCC compiler:
<screen>
./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ...
</screen>
Using Sun's compiler:
<screen>
./configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable-dtrace DTRACEFLAGS='-64' ...
</screen>
</para>
</listitem>
</varlistentry>
<varlistentry id="configure-option-enable-injection-points">
<term><option>--enable-injection-points</option></term>
<listitem>
<para>
Compiles <productname>PostgreSQL</productname> with support for
injection points in the server. Injection points allow to run
user-defined code from within the server in pre-defined code paths.
This helps in testing and in the investigation of concurrency scenarios
in a controlled fashion. This option is disabled by default. See
<xref linkend="xfunc-addin-injection-points"/>