Produce a clean failure in configure when dtrace is selected but cannot be

found.  Besides stopping those early who have no dtrace installed
whatsoever, this will also alert those who have dtrace in /usr/sbin, which
might not be in the path, which would produce confusing failures much later
in the build process.

Add documentation about pointing configure to find dtrace.
This commit is contained in:
Peter Eisentraut 2006-08-17 17:25:43 +00:00
parent 92c651f8b3
commit bb764e94ce
3 changed files with 43 additions and 2 deletions

5
configure vendored
View File

@ -2004,6 +2004,11 @@ fi
test -n "$DTRACE" && break
done
if test -z "$DTRACE"; then
{ { echo "$as_me:$LINENO: error: dtrace not found" >&5
echo "$as_me: error: dtrace not found" >&2;}
{ (exit 1); exit 1; }; }
fi
;;
no)

View File

@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
dnl $PostgreSQL: pgsql/configure.in,v 1.471 2006/08/04 15:16:14 tgl Exp $
dnl $PostgreSQL: pgsql/configure.in,v 1.472 2006/08/17 17:25:43 petere Exp $
dnl
dnl Developers, please strive to achieve this order:
dnl
@ -213,6 +213,9 @@ PGAC_ARG_BOOL(enable, dtrace, no,
[AC_DEFINE([ENABLE_DTRACE], 1,
[Define to 1 to enable DTrace support. (--enable-dtrace)])
AC_CHECK_PROGS(DTRACE, dtrace)
if test -z "$DTRACE"; then
AC_MSG_ERROR([dtrace not found])
fi
AC_SUBST(DTRACEFLAGS)])
AC_SUBST(enable_dtrace)

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.259 2006/07/24 16:32:44 petere Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.260 2006/08/17 17:25:43 petere Exp $ -->
<chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]>
@ -1011,10 +1011,24 @@ su - postgres
<term><option>--enable-dtrace</option></term>
<listitem>
<para>
<indexterm>
<primary>DTrace</primary>
</indexterm>
Compiles with support for the dynamic tracing tool DTrace.
Operating system support for DTrace is currently only
available in Solaris.
</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 the path. Additional command-line
options for the <command>dtrace</command> program can be
specified in the environment variable
<envar>DTRACEFLAGS</envar>.
</para>
</listitem>
</varlistentry>
@ -1113,6 +1127,25 @@ su - postgres
</listitem>
</varlistentry>
<varlistentry>
<term><option>DTRACE=<replaceable>/path/to/dtrace</></option></term>
<listitem>
<para>
Specifies the location of the <command>dtrace</command> program.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>DTRACEFLAGS=<replaceable>FLAGS</></option></term>
<listitem>
<para>
<replaceable>FLAGS</> is the a list of flags to pass to the
<command>dtrace</command> program.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>JADE</option></term>
<listitem>