DOCUMENTATION
-------------
For full details, please read:

               http://doc.powerdns.com/built-in-recursor.html

COMPILING
---------

$ ./configure
$ make or gmake

The only dependency is Boost, http://boost.org/
You only need to download it, there is no need to compile.

On most modern UNIX distributions, you can simply install 'boost' or
'boost-dev' or 'boost-devel'. If you don't have that option, or don't want
to use it, try:

1) head to http://sourceforge.net/project/showfiles.php?group_id=7586 and
download the latest boost tar.bz2 or tar.gz, perhaps from:
http://downloads.sourceforge.net/project/boost/boost/1.39.0/boost_1_39_0.tar.bz2?use_mirror=ovh
(use the first link if this one doesn't work)

2) untar it:

$ tar xjf boost_1_39_0.tar.bz2

3) Compile the PowerDNS recursor using:

$ CXXFLAGS=-I./boost_1_39_0/ ./configure
$ CXXFLAGS=-I./boost_1_39_0/ make clean 
$ CXXFLAGS=-I./boost_1_39_0/ make all
(the 'clean' is needed to have make pick up the new boost)

4) Run ./pdns_recursor and you should be set!

5) (g)make install

(use gmake on many BSD variant and Solaris, regular make on Linux)

OPTIONAL LUA SCRIPTING
----------------------
To benefit from Lua scripting, as described on
http://doc.powerdns.com/recursor-scripting.html please compile like this:

$ LUA=1 (g)make
or even

$ LUA=1 LUA_CPPFLAGS_CONFIG=-I/usr/local/include/lua5.1 LUA_LIBS_CONFIG=-llua5.1\
	(g)make

Use the _CONFIG settings to point out to PowerDNS where your Lua
installation resides. PowerDNS supports both Lua 5.0 and 5.1.

PLATFORM SPECIFIC NOTES
-----------------------
When compiling on Solaris 8, use:
$ CPPFLAGS=-DSOLARIS8 ... gmake 

where ... stands for any possible CXXFLAGS or PROFILEFLAGS, see below.

PERFORMANCE
-----------
When on Intel/AMD, by ALL means use a 64-bit binary (not just a 64-bit
kernel). This speeds up most things by at least a factor 2.

For the utmost in performance, compile like this:

   $ PROFILEFLAGS=-fprofile-generate make

Then run the program for a bit, in as much of a real-life setting as you
have available. Then run:

   $ rec_control quit-nicely
   bye nicely

Then do:

   $ PROFILEFLAGS=-fprofile-use make binclean all

The resulting binary is up to 20% faster in our tests.

Do run with g++ 4.4.1 if you can, it is the best.

RUNNING ON A DIFFERENT MACHINE
------------------------------
To prevent hassles with g++/c++ dependencies, you can build like this:
   $ STATIC=semi make all

PROBLEMS
--------
If you have problems linking, try removing the GCC_SKIP_LOCKING line from
config.h
