Preliminaries
-------------

In order to build Platypus on UNIX you'll need the following tools:

1.	GNU g++ version 3 or higher

Windows may either use MINGW (http://www.mingw.org/) or, preferably,
Microsoft's Visual Studio .NET 2003.


Architectural constraints
-------------------------

Because of the multi-threaded code used Platypus currently only
supports the following platforms and operating systems:


 		| stand-alone | fork       | constraits
-------------------------------------------------	
Windows	| st/mt       | no support | x86 arch only
-------------------------------------------------
UNIX    | st/mt       | st/mt      | x86-32 and x86-64 only


Building Platypus on UNIX
-------------------------

To build Platypus you'll need smodels-2.28. Get it from 
http://www.tcs.hut.fi/Software/smodels/

1. 	Settting up smodels-2.28 to run with Platypus
	
	1. 	cd into the Platypus src dir
	2. 	unpack smodels-2.28. This should yield
		a directory named smodels-2.28
	3.	cd into smodels-2.28
	4.	type
		
		cat ../patches/smodels-2.28.patch | patch -p1 --dry-run
		
		at the prompt. The patch program should list the
		files it will patch. If everthing worked ok continue
		to step 5.
	5.	Do the actual patching. Type at the prompt
		
		cat ../patches/smodels-2.28.patch | patch -p1
	6.	Rename smodels-2.28 to smodels
	
2.	Create the configuration file "Local.mak"
	by running 
	
	sh configure.sh
	
	This should yiels a file named Local.mak. Edit
	this file to suit your configuration if necessary.
	
3.	To build Platypus issue 

	make optimize
	
	at the prompt. That's it. Platypus should then build.
	When the built is complete retrieve the platypus 
	executable from the "bin"-directory.
	
	
Building Platypus on Windows
----------------------------

Basically you'll need to do the same things as on UNIX w.r.t. smodels 
source code patching. If you have Microsoft's Visual Studio .NET 2003 you 
can simply use the supplied solution file to build Platypus. With MINGW the 
UNIX instructions apply.
