Building neon on Windows uses a single Nmake neon.mak file.  By
placing various parameters on nmake's command line, you can specify
exactly the features and behavior of the Neon libraries.  The
parameters are additive, so to add more features, add the command line
options specified in the particular section below.

All the builds described below should work with Microsoft VC++ 5 and
6.

Build neon
__________

This is the most basic version of the Neon library you can build.  It
does not require any third party libraries, but you do not get the
full capabilities of Neon.

Compile Neon with no parameters

  nmake /f neon.mak

After compiling the library, the directory contains libneon.lib,
against which you can link your program.


Build neon with WebDAV support
______________________________

To compile Neon with WebDAV support, Neon must compile and link
against a third-party XML parser, either expat, expat-lite, libxml or
libxml2.  This Windows neon.mak file is designed to compile and link
against the pre-built Expat Windows libraries version 1.95.X or newer.
This library is available for download from

  http://sourceforge.net/projects/expat/

Download the latest expat_win32bin package named

  expat_win32bin_X_YY_Z.exe

and install it on your system.  It wants to install itself into
Q:\some\dir\Expat-X.Y.ZZ.  Choose your installation location for expat
and then compile Neon with

  nmake /f neon.mak EXPAT_SRC=\path\to\Expat-X.YY.Z

NOTE: When you run your program make sure the LIBEXPAT.DLL from expat
is accessible, i.e. is in your PATH.

This should work with Microsoft VC++ 5 and 6.


Build neon with dynamically linked SSL support
______________________________________________

To build neon on Windows with SSL support you need OpenSSL already
installed on your system (I used OpenSSL 0.9.6g).  It can be
downloaded from

  http://www.openssl.org/source/openssl-0.9.6g.tar.gz

After compiling OpenSSL, now simply point make to the OpenSSL sources:

  nmake /f neon.mak OPENSSL_SRC=\path\to\openssl

NOTE: The include files for OpenSSL reside in inc32/ directory
("../openssl-0.9.6g/inc32").

NOTE: Make sure that your program is linked against libeay32.lib and
ssleay32.lib (normally in "../openssl-0.9.6g/out32dll") and that
libeay32.dll and ssleay32.dll is accessible, i.e. is in your PATH.


Build neon with statically linked OpenSSL support
_________________________________________________

If you want to statically link against OpenSSL, then add the
OPENSSL_STATIC parameter.

  nmake /f neon.mak OPENSSL_SRC=\path\to\openssl OPENSSL_STATIC=yes


Build neon with statically linked Zlib support
______________________________________________

If you want to build Neon with the capability to decompress compressed
content, then you need to compile against the Zlib library.

Currently, the Neon's neon.mak file expects to compile and link a self
compiled version of Zlib.  You need Zlib 1.1.4 or greater.  Zlib 1.1.3
and older has a serious security issue.

Here's how to compile Zlib.

  1) Get one of the Zlib source file packages in Zip format from
     http://www.gzip.org/zlib/
  2) Unzip it.
  3) Get the package
     http://www.gzip.org/zlib/contrib/zlib113-win32.zip
  4) Unzip it and copy the Makefile from this package to the Zlib
     1.1.4 or greater package.
  5) Run nmake in the Zlib 1.1.4 or greater directory.

Now add the ZLIB_SRC parameter to Neon's neon.mak pointing to your
newly compiled zlib.

  nmake /f neon.mak ZLIB_SRC=\path\to\zlib


Build neon with dynamically linked Zlib support
_______________________________________________

To build Neon with dynamically linked Zlib support, use the
instructions for the statically linked Zlib support above and add the
ZLIB_DLL parameter

  nmake /f neon.mak ZLIB_SRC=\path\to\zlib ZLIB_DLL=yes


Build neon with debugging support
_________________________________

Set the DEBUG_BUILD parameter

  nmake /f neon.mak DEBUG_BUILD=yes

It does not matter what value DEBUG_BUILD is set to, as long as it is
not set to "".

After compiling the library, the directory contains libneonD.lib,
against which you can link your program.
