packages can use to configure their build.
E.g.,
$ pg-config --libdir
/usr/local/pgsql/lib
`pg-config --configure' stores the configure command line.
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.17 2000/07/21 00:44:11 petere Exp $
+# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.18 2000/08/26 13:08:14 petere Exp $
#
#----------------------------------------------------------------------------
pg_upgrade.sgml \
pgaccess-ref.sgml \
pgadmin-ref.sgml \
+ pg-config-ref.sgml \
pgctl-ref.sgml \
pgtclsh.sgml \
pgtksh.sgml \
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/allfiles.sgml,v 1.20 2000/07/14 15:27:14 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/allfiles.sgml,v 1.21 2000/08/26 13:08:15 petere Exp $
Postgres documentation
Complete list of usable sgml source files in this directory.
-->
<!entity ipcclean system "ipcclean.sgml">
<!entity pgAccess system "pgaccess-ref.sgml">
<!entity pgAdmin system "pgadmin-ref.sgml">
+<!entity pgConfig system "pg-config-ref.sgml">
<!entity pgCtl system "pgctl-ref.sgml">
<!entity pgDump system "pg_dump.sgml">
<!entity pgDumpall system "pg_dumpall.sgml">
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/commands.sgml,v 1.27 2000/07/14 15:27:14 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/commands.sgml,v 1.28 2000/08/26 13:08:15 petere Exp $
Postgres documentation
-->
&ecpgRef;
&pgAccess;
&pgAdmin;
+ &pgConfig;
&pgCtl;
&pgDump;
&pgDumpall;
--- /dev/null
+<!-- $Header -->
+
+<refentry id="app-pg-config">
+ <refmeta>
+ <refentrytitle id="app-pg-config-title">pg-config</>
+ <refmiscinfo>Application</>
+ </refmeta>
+
+ <refnamediv>
+ <refname>pg-config</>
+ <refpurpose>Provides information about the installed version of <productname>PostgreSQL</></>
+ </refnamediv>
+
+ <refsynopsisdiv>
+<synopsis>
+pg-config --bindir | --includedir | --libdir | --configure | --version
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</>
+ <para>
+ The <application>pg-config</> stores and provides configuration parameters
+ of the currently installed version of <productname>PostgreSQL</>. It is
+ intended, for example, to be used by software packages that want to interface
+ to <productname>PostgreSQL</> in order to find the respective header files
+ and libraries.
+ </para>
+
+ <para>
+ To use <application>pg-config</>, supply one or more of the following options:
+ <variablelist>
+ <varlistentry>
+ <term>--bindir</>
+ <listitem>
+ <para>
+ Print the location of user executables. Use this, for example, to find
+ the <application>psql</> program. This is normally also the location
+ where the <filename>pg-config</> program resides.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--includedir</>
+ <listitem>
+ <para>
+ Print the location of C and C++ header files.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--libdir</>
+ <listitem>
+ <para>
+ Print the location of object code libraries.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--configure</>
+ <listitem>
+ <para>
+ Print the options that were given to the <filename>configure</>
+ script when <productname>PostgreSQL</> was configured for building.
+ This can be used to reproduce the identical configuration, or
+ to find out with what options a binary package was built. (Note
+ however that binary packages often contain vendor-specific custom
+ patches.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--version</>
+ <listitem>
+ <para>
+ Print the version of <productname>PostgreSQL</> and exit.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ If more than one option (except for <option>--version</>) is given, the
+ information is printed in that order, one item per line.
+ </para>
+ </refsect1>
+</refentry>
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.29 2000/07/19 16:29:53 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.30 2000/08/26 13:08:15 petere Exp $
#
#-------------------------------------------------------------------------
include ../Makefile.global
DIRS := initdb initlocation ipcclean pg_ctl pg_dump pg_id \
- pg_passwd psql scripts
+ pg_passwd psql scripts pg-config
ifdef MULTIBYTE
DIRS += pg_encoding
--- /dev/null
+# $Header: /cvsroot/pgsql/src/bin/pg-config/Attic/Makefile,v 1.1 2000/08/26 13:08:16 petere Exp $
+
+subdir = src/bin/pg-config
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+all: pg-config
+
+pg-config: pg-config.sh $(top_builddir)/config.status $(top_builddir)/src/Makefile.global Makefile
+ configure=`sed -n '7s,^# [^ ]*configure *,,p' $(top_builddir)/config.status` && \
+ sed -e 's,@bindir@,$(bindir),g' \
+ -e 's,@includedir@,$(includedir),g' \
+ -e 's,@libdir@,$(libdir),g' \
+ -e "s,@configure@,$$configure,g" \
+ -e 's,@version@,$(VERSION),g' \
+
+install: all installdirs
+ $(INSTALL_SCRIPT) pg-config $(bindir)/pg-config
+
+installdirs:
+ $(mkinstalldirs) $(bindir)
+
+uninstall:
+ rm -f $(bindir)/pg-config
+
+clean distclean maintainer-clean:
+ rm -f pg-config
--- /dev/null
+#! /bin/sh
+
+# This shell script saves various pieces of information about the
+# installed version of PostgreSQL. Packages that interface to
+# PostgreSQL can use it to configure their build.
+#
+# Public domain
+
+# $Header: /cvsroot/pgsql/src/bin/pg-config/Attic/pg-config.sh,v 1.1 2000/08/26 13:08:16 petere Exp $
+
+me=`basename $0`
+
+# stored configuration values
+val_bindir='@bindir@'
+val_includedir='@includedir@'
+val_libdir='@libdir@'
+val_configure='@configure@'
+val_version='@version@'
+
+help="\
+$me provides information about the installed version of PostgreSQL.
+
+Usage: $me --bindir | --includedir | --libdir | --configure | --version
+
+Operation modes:
+ --bindir show location of user executables
+ --includedir show location of C header files
+ --libdir show location of object code libraries
+ --configure show options given to \`configure' script when
+ PostgreSQL was built
+ --version show PostgreSQL version and exit
+
+
+advice="\
+Try \`$me --help' for more information."
+
+if test $# -eq 0 ; then
+ echo "$me: argument required"
+ echo "$advice"
+ exit 1
+fi
+
+show=
+
+for opt
+do
+ case $opt in
+ --bindir) show="$show \$val_bindir";;
+ --includedir) show="$show \$val_includedir";;
+ --libdir) show="$show \$val_libdir";;
+ --configure) show="$show \$val_configure";;
+
+ --version) echo "PostgreSQL $val_version"
+ exit 0;;
+ --help|-\?) echo "$help"
+ exit 0;;
+ *) echo "$me: invalid argument: $opt"
+ echo "$advice"
+ exit 1;;
+ esac
+done
+
+for thing in $show
+do
+ eval "echo $thing"
+done
+
+# end of pg-config