--- /dev/null
+=head1 NAME
+
+rrdbuild - Instructions for building RRDtool
+
+=head1 DESCRIPTION
+
+=head2 Overview
+
+If you downloaded the source of rrdtool you have to compile it. This
+document will give some information on how this is done.
+
+RRDtool relies on services of thrid part libraries. Some of these libraries
+may already be installed on your system. You have to compile copies of the other
+ones before you can build RRDtool.
+
+This document will tell you about all the necessary steps to get going.
+
+=head2 Building
+
+Lets first assume you already have all the necessary libraries
+per-installed. Note that these instructions assume that your copies of
+B<tar> and B<make> are actually B<GNU tar> and B<GNU make> respectively. It
+could be that they are installed as B<gtar> and B<gmake> on your system.
+
+ wget http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/rrdtool-1.2.1.tar.gz
+ tar zxf rrdtool-1.2.1.tar.gz
+ cd rrdtool-1.2.1
+ ./configure --prefix=/path/to/installation && make && make install
+
+Ok, this was very optimistic. This try will probably have ended with
+B<configure> complaining about several missing libraries. If you are on a
+Linux or *bsd system you may want to just install the missing bits from your
+software repository. When you do that, make sure you also get the B<-dev>
+package for each library you install. Once you have the missing bits on
+board, just re-run the last line of the instructions above.
+
+But again this may have been too optimistic, and you actually have to
+compile your own copies of the required libraries. Here is how:
+
+=over
+
+=item Building cgilib
+
+ wget http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/cgilib-0.5.tar.gz
+ tar zxf cgilib-0.5.tar.gz
+ cd cgilib-0.5
+ make CC=gcc CFLAGS="-O3 -fPIC -I."
+ mkdir -p ../lb/include
+ cp *.h ../lb/include
+ mkdir -p ../lb/lib
+ cp libcgi* ../lb/lib
+ cd ..
+
+=item Building zlib
+
+ wget http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/zlib-1.2.2.tar.gz
+ tar zxf zlib-1.2.2.tar.gz
+ cd zlib-1.2.2
+ env CFLAGS="-O3 -fPIC" ./configure --prefix=`pwd`/../lb
+ make
+ make install
+ cd ..
+
+=item Building libpng
+
+Libpng itself requires zlib to build, so we need to help a bit. If you
+already have a copy of zlib on your system (which is very likley) you can
+drop the settings of LDFLAGS and CPPFLAGS. Note that the backslash (\) at
+the end of line 4 means that line 4 and line 5 are on one line.
+
+ wget http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/libpng-1.2.8-config.tar.gz
+ tar zxvf libpng-1.2.8-config.tar.gz
+ cd libpng-1.2.8-config
+ env CPPFLAGS="-I../lb/include" LDFLAGS="-L../lb/lib" CFLAGS="-O3 -fPIC" \
+ ./configure --disable-shared --prefix=`pwd`/../lb
+ make
+ make install
+ cd ..
+
+=item Building freetype
+
+ wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/freetype-2.1.9.tar.gz
+ tar zxvf freetype-2.1.9.tar.gz
+ cd freetype-2.1.9
+ env CPPFLAGS="-I../lb/include" LDFLAGS="-L../lb/lib" CFLAGS="-O3 -fPIC" \
+ ./configure --disable-shared --prefix=`pwd`/../lb
+ make install
+ cd ..
+
+=item Building libart_lgpl
+
+ wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gz
+ cd libart_lgpl-2.3.17
+ env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=`pwd`/../lb
+ make install
+ cd ..
+
+=back
+
+Now all the dependent libraries are built and you can try again. This time
+you tell configure where it should be looking for libraries and include
+files. This is done via environment variables. Depending on the shellyou are running, the syntax for setting
+environment variables is different. Under csh/tcsh you use:
+
+ set IR=-I`pwd`/lb/include
+ setenv CPPFLAGS "$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
+ setenv LDFLAGS -L`pwd`/lb/lib
+ setenv CFLAGS -O3
+
+If you are running bash/sh/ash/ksh/zsh use this:
+
+ IR=-I`pwd`/lb/include
+ CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
+ LDFLAGS="-L`pwd`/lb/lib"
+ CFLAGS=-O3
+ export CPPFLAGS LDFLAGS CFLAGS
+
+And finally try building again:
+
+ ./configure --prefix=/path/to/installation && make && make install
+
+Now go to I</path/to/installation>B</examples> and run them to see if your
+build has been successful.
+
+=head1 AUTHOR
+
+Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
+