There are a number of different possible compile-time options for
Deadwood.  It can be compiled as follows:

* CentOS 5, no IPV6

* CentOS 5, IPV6

* Windows XP, no IPV6

The default compile gives no IPv6

To compile Deadwood with IPv6 support, add '-DIPV6' to the compile-time
flags, e.g. 'cd src/ ; export FLAGS='-O3 -DIPV6'; make'

The reason why one may wish IPv6 is to use Deadwood on an IPv6 network.

---

List of compile flags Deadwood has:

IPV6 (-DIPV6): Adds IPv6 support to Deadwood

STRICT_RFC2671_COMPLIANCE (-DSTRICT_RFC2671_COMPLIANCE): Normally, Deadwood
	handles EDNS (RFC2671) packets by acting like the packet was an
	ordinary RFC1035 DNS request.  This flag conforms to section 5.3 of
	RFC2671 by having Deadwood instead reply to ENDS packets with a
	"not implemented" error.

MINGW (use the correct Makefile): Used to replace *NIX sockets with Windows 
	sockets and make other changes to make the program a native Windows 
	service.  This	flag should not be invoked by the end-user compiling 
	Deadwood; instead use the 'Makefile.mingw' file: 
	make -f Makefile.mingw342

__CYGWIN__ (no flag to set; Cygwin sets this): It may also be possible to 
	compile this program using Cygwin, an environment that fully
	emulates a *NIX development environment in Windows.

RG64: If this is set, Deadwood will use the 64-bit instead of the default
	32-bit version of Radio Gatun for generating random numbers (used 
	to generate random query ID and source port to make spoofing more 
	difficult)

Note: The following compile-time flags will only be of interest to developers
	debugging Deadwood

VALGRIND_NOERRORS (-DVALGRIND_NOERRORS): Normally, Deadwood uses the contents
	of uninitialized memory as an entropy source for the random number
	generator.  This compile-time flag disables that behavior so that
	Valgrind (a debugging tool for C programs) does not complain about	
	program behavior affected by uninitizlized data.

XTRA_STUFF (-DXTRA_STUFF): Add some routines that allow the printing of
	debug information to standard output.  

OTHER_STUFF (-DOTHER_STUFF): Add some routines that aren't actually used 
	by Deadwood

HASH_DEBUG (-DHASH_DEBUG): Add information used by the 
	dwood2rc_n_hash_magic_number SQA regression

HAVE_MAIN (-DHAVE_MAIN): DwCompress.c, DwHash.c, DwMararc.c, and
	DwRadioGatun.c all have main() routines that can be enabled with
	this compile-time flag.  This is mainly used for debugging.
	DwRadioGatun.c, when compiled with 
	'gcc -g -DHAVE_MAIN -o RadioGatun DwRadioGatun.c' makes a program
	that will output on standard output the RadioGatun[32] sum of the
	first argument given to the program.  We use this in the SQA test
	(sqa_rg32) to ensure that DwRadioGatun.c makes a RadioGatun[32]
	implementation that passes all official RadioGatun[32] test vectors.

BENCHMARK: DwRadioGatun.c has this to determine how fast Radio Gatun generates
	random numbers on a given system.  I discovered that, on 32-bit 
	systems, the 64-bit version of Radio Gatun is faster (albeit using 
	more code)

HSCK (-DHSCK): Adds some routines to ensure that DwHash.c is correctly
	creating a doubly linked list hash and queue.  Used with the
	debug-only Makefile.hsck make file.

INFLIGHT_VERBOSE (-DINFLIGHT_VERBOSE): Used by the dwood2rc_n_max_inflights 
	SQA test to ensure multiple inflight merging works

MARARC_C: Used internally by DwMararc.c to ensure that it sees some data
	in DwMararc.h that other program files should not see.  Not used
	as a compile-time flag.  We do things this way so a new dwood3rc
	parameter can be added by only modifying one file (however, we 
	still need to modify DwMararc.c to give said parameter a default
	value)

NO_INET_PTON: Deadwood uses inet_pton() to convert human-readable IP
	addresses like "10.1.2.3" in to binary IPs.  If a given system
	doesn't have inet_pton() (Windows doesn't), this creates
	a inet_pton() using inet_addr() to convert the actual IP (since
	Windows does have inet_addr() )

