How to built Aesop:

For the simpliest way, ust type:

	./configure
	make

Configure can take 6 options:

	--enable-ipv6 		To build with IPv6 support.
	--enable-libaesop	To build libaesop (need gcc).
	--enable-debug		To built with debug support.
and
	
	--disable-ipv6  	To build without IPv6 support (default).
	--disable-libaesop	To build without libaesop (default).
	--disable-debug 	To built without debug support (default).

The configure script will detect most dependencies. If you feel that a
dependency is incorrectly detected you can always edit the src/sysdeps.h
and src/Rules.make files.

If you want more control on some default behaviour of Aesop, you should edit
the src/defaults.h file. One important thing to change here is the constant
RANDOM_SEED_FILE. This is the default random seed file which will be used
if the -r option is not given. It is VERY IMPORTANT that you change this, if
the default is not appropriate for your system.

If you also want to built libaesop then you must do (after having configure
with --enable-libaesop):

	make libaesop



Aesop has been succesfully built on:

	| OS		| ARCH	     | Compiler
	----------------------------------------
	AIX-4.3.3	 PowerPC      gcc
	FreeBSD-4.4      x86          gcc
	FreeBSD-4.4      Alpha        gcc
	IRIX-6.5.14      MIPS         gcc
	IRIX-6.5.14      MIPS         MIPSPro
	Linux-2.4	 x86	      gcc
	Linux-2.4	 ia64	      gcc
	MacOS-X		 PowerPC      gcc
	NetBSD-1.5	 x86	      gcc
	NetBSD-1.5.1	 Alpha	      gcc
	OpenBSD-2.8	 x86	      gcc
	Solaris-2.6	 Sparc	      gcc
	Solaris-8	 x86	      gcc
	Tru64 5.1	 Alpha	      Compaq Tru64 C Compiler
	QNX-6.00	 x86	      gcc


Notes for FreeBSD/Alpha:

Gcc might complain about -O2 causing known compiler bugs. Remove
that option from src/Rules.make.

Notes for Solaris-2.6:

IPv6 Support will not work. Further some warnings will show up during
compilation because of some different prototypes of some functions. To
get rid of the some of the errors change 'typedef int socklen_t' to
'typedef size_t socklen_t' in src/shared/general.h.

Notes for MacOS-X:

MacOS-X is a strange issue. It ships with a compiler based on gcc. But
it doesnt support the gcc extensions anymore. To make aesop compile
you ll have to change the conninit structure definition in 
src/aesopd/connection.h and src/aesoptunnel/connection.h to this:

#pragma pack(1)
typedef struct _conninit {
   uint32_t     magic;          /* Magic Number: "AESO" in network order */
   uint8_t      targetip[16];   /* Network Order */
   uint16_t     targetport;     /* Network Order */
   uint16_t     control;        /* Control codes for proxy in network order */
   uint16_t     data;
 } conninit;
#pragma pack(0)

You ll also have to change the following line in src/CRYPTO/Makefile:

	$(LIB) rs $@ $?

to:
	
	$(LIB) r $@ $?
	ranlib $@
