=========================
Building and Installation
=========================

I'm afraid I haven't got round to creating a fancy autoconf build and
installation script yet, but that shouldn't be too much of a handycap since
this is still a pretty small application.

The provided Makefile has rules pre-defined for Linux, Solaris, OSX and CygWin
platforms. If you're trying to build on some other Unix system then the default
rules might work for you, I honestly haven't tried. Reports of success or
failure on all platforms would be most welcome.

To build the default version of HTTPTunnel simply go into the src directory and
run 'make'. If this succeeds you should be left with an executable called
'httptunnel' in the same directory. Note that the default version of HTTPTunnel
built this way does NOT include SSL support.

To build a version of HTTPTunnel that includes SSL support go into the src
directory and run 'make SSL=YES'. Note that if the openSSL libraries on your
system are installed in a location other than where the provided Makefile
expects you will have to edit the relevant lines in the Makefile. For example;
on Solaris you would edit the SSLINCLUDES and SSLLIBS macros from these lines
in the Makefile:

# Solaris specific
ifeq ($(findstring SunOS,$(OS)),SunOS)
PLATFORMNAME=	SOLARIS
ifeq ($(SSL),YES)
SSLINCLUDES=	-I/usr/local/ssl/include/openssl -I/usr/local/ssl/include
SSLLIBS=			-L/usr/local/ssl/lib -lssl -lcrypto -ldl
endif
PLATFORMLIBS=	$(SSLLIBS) -lsocket -lnsl -lrt
endif

Provided the SSL enabled build completes successfully, in addition to the
HTTPTunnel executable you should also find an SSL public key file (SSLKey.pem)
and an SSL certificate file (SSLCert.pem) have been created for you. These
files are only required if you wish to run your own SSL enabled HTTPTunnel
tunnel server. If you do wish to run your own server you will therefore need to
edit your HTTPTunnel configuration file to make use of these certificate and
key files when creating SSL enabled tunnels. See the README file for more
details.


================
Tested Platforms
================

HTTPTunnel has been developed and tested using the following platforms &
systems:

A quad opteron 1800 box running Debian Linux with a 2.6 kernel and NPTL
threading support.

A virtual machine running Solaris 10.

A PowerPC and Intel Mac running OSX 10.4.X.

An Intel PC running Windows XP with CygWin installed.


============
Dependencies
============

Porting to other Unix platforms should be pretty simple. The only dependencies
are on the pthreads library, sockets support, and optionally the openSSL
library.

