-<!-- $Id: installation.xml,v 1.8 2001-11-08 12:36:15 adam Exp $ -->
+<!-- $Id: installation.xml,v 1.12 2002-08-17 07:55:51 adam Exp $ -->
<chapter id="installation"><title>Compilation and Installation</title>
<sect1><title>Introduction</title>
<listitem><para>HP/UX</para></listitem>
<listitem><para>SunOS/Solaris</para></listitem>
<listitem><para>DEC Unix</para></listitem>
- <listitem><para>OpenBSD/FreeBSD</para></listitem>
+ <listitem><para>BSDs: FreeBSD, OpenBSD, NetBSD, MAC OSX
+ </para></listitem>
<listitem><para>Linux</para></listitem>
<listitem><para>IBM AIX</para></listitem>
<listitem><para>Data General DG/UX (with some CFLAGS tinkering)
let us know about it. If you run into difficulties, we will try to help
if we can, and if you solve the problems, we would be happy to include
your fixes in the next release. So far, we have mostly avoided
- #ifdefs for individual platforms, and we'd like to keep it that
- way as far as it makes sense.
+ <literal>#ifdefs</literal> for individual platforms, and we'd
+ like to keep it that way as far as it makes sense.
</para>
<para>
bug-fixes, as well as general discussion. Subscribe by sending mail to
<ulink url="mailto:yaz-request@indexdata.dk">
yaz-request@indexdata.dk
- </ulink>.
+ </ulink> or fill-in the form
+ <ulink url="http://www.indexdata.dk/mailman/listinfo/yazlist">
+ here</ulink>.
General questions and problems can be directed at
<ulink url="mailto:yaz-help@indexdata.dk">
yaz-help@indexdata.dk
<para>
Note that if your system doesn't have a native ANSI C compiler, you may
have to acquire one separately. We recommend
- <ulink url="http://gcc.gnu.org">GCC</ulink>.
+ <ulink url="http://gcc.gnu.org/">GCC</ulink>.
</para>
<para>
For UNIX, the GNU tools
<ulink url="http://www.gnu.org/software/autoconf/">Autoconf</ulink>,
<ulink url="http://www.gnu.org/software/automake/">Automake</ulink> and
<ulink url="http://www.gnu.org/software/libtool/">Libtool</ulink>
- is used to generate Makefiles and configure &yaz; for the system.
+ are used to generate Makefiles and configure &yaz; for the system.
You do <emphasis>not</emphasis> these tools unless you're using the
CVS version of &yaz;.
Generally it should be sufficient to run configure without options,
<varlistentry><term><literal>--with-openssl</literal></term>
<listitem><para>&yaz; will be linked with the OpenSSL libraries and
an SSL COMSTACK will be provided. Note that SSL support is still
- exterimental.
+ experimental.
</para></listitem>
</varlistentry>
<varlistentry><term><literal>--enable-shared</literal></term>
</para></listitem>
</varlistentry>
<varlistentry><term><literal>--disable-shared</literal></term>
- <listitem><para>The make process will be not create
+ <listitem><para>The make process will not create
static libraries (<filename>.a</filename>).
By default, static libraries are created -
equivalent to <literal>--enable-static</literal>.
<varlistentry><term><filename>lib/libyazthread.la</filename></term>
<listitem><para>
- When threading is supported/enabled by configure this GNU libtool
+ When threading is supported/enabled by configure this Libtool
library is created. It includes functions that allows &yaz;
to use threads.
</para></listitem></varlistentry>
</para></listitem></varlistentry>
<varlistentry><term><filename>yaz-config</filename></term>
- <listitem><para>A Bourne-shell script, generate by configure, that
+ <listitem><para>A Bourne-shell script, generated by configure, that
specifies how external applications should compile - and link with
&yaz;.
</para></listitem></varlistentry>
A simple shell implemented on top of the
<link linkend="zoom">ZOOM</link> functions.
The shell is a command line application that allows you to enter
- simple commands perform to perform ZOOM operations.
+ simple commands to perform ZOOM operations.
</para></listitem></varlistentry>
<varlistentry><term><filename>zoom/zoomtst1</filename>,
</para>
<para>
- If you wish to install &yaz; in system directories such as
+ If you wish to install &yaz; in system directories
<filename>/usr/local/bin</filename>,
- <filename>/usr/local/lib</filename> you can type:
+ <filename>/usr/local/lib</filename> .. etc, you can type:
</para>
<screen>
</para>
<para>
- If you wish to perform an un-installation of &yaz; use:
+ If you wish to perform an un-installation of &yaz;, use:
</para>
<screen>
require you to pass more options to your linker/compiler.
</para>
<para>
- The <filename>yaz-config</filename> script accepts the options
- that makes the <filename>yaz-config</filename> script print
+ The <filename>yaz-config</filename> script accepts command line
+ options that makes the <filename>yaz-config</filename> script print
options that you should use in your make process.
The most important ones are:
<literal>--cflags</literal>, <literal>--libs</literal>
</para>
<para>
A small and complete <literal>Makefile</literal> for a C
- application consisting of one source file
- <filename>myprog.c</filename> may look like this:
+ application consisting of one source file,
+ <filename>myprog.c</filename>, may look like this:
<screen>
YAZCONFIG=/usr/local/bin/yaz-config
CFLAGS=`$(YAZCONFIG) --cflags`
</screen>
</para>
<para>
- The CFLAGS string will consists of an option that will set the
- include path to the <emphasis>parent</emphasis> directory
+ The CFLAGS variable consists of a C compiler directive that will set
+ the include path to the <emphasis>parent</emphasis> directory
of <filename>yaz</filename>. That is, if &yaz; header files were
installed in <filename>/usr/local/include/yaz</filename>,
then include path is set to <filename>/usr/local/include</filename>.
Libtool acrhive(s) for &yaz; rather than the ordinary ones.
</para>
<para>
- Applications that wish to use the threaded version of &yaz;
- should specify <literal>threads</literal> after the
- other options. When <literal>threads</literal> is given
+ For applications using the threaded version of &yaz;,
+ specify <literal>threads</literal> after the
+ other options. When <literal>threads</literal> is given,
more flags and linker flags will be printed by
<filename>yaz-config</filename>. If our previous example was
using threads, you'd have to modify the lines that set
LIBS=`$(YAZCONFIG) --libs threads`
</screen>
There is no need specify POSIX thread libraries in your Makefile.
- The <literal>LIBS</literal> includes that as well.
+ The <literal>LIBS</literal> variable includes that as well.
</para>
</sect2>
</sect1>
is located. Customize the installation by editing the
<filename>makefile</filename> file (for example by using notepad).
- The following summarises the most important settings in that file:
+ The following summarizes the most important settings in that file:
<variablelist>
<varlistentry><term><literal>DEBUG</literal></term>
<para>
Some people are confused by the fact that we use the nmake
tool to build &yaz;. They think they have to do that too - in order
- to make WIN32 applications using &yaz;. The good news is that
- you don't have to. You can use the integrated environement of
- Visual Studio if desired.
+ to make their WIN32 applications work with &yaz;. The good news is that
+ you don't have to. You can use the integrated environment of
+ Visual Studio if desired for your own application.
</para>
<para>
When setting up a project or Makefile you have to set the following: