**************************************************
STATIC BUILDING
**************************************************
Written by Xordan - Latest Update (01/05/2006).
It's possible to compile static versions of PS. This means that there are no external libs/plugins to worry about.
Everything static is compiled into the application. This guide will be brief, and
won't cover things in too much detail, only the commands needed when building. This document assumes you've already
had experience in compiling PS before.

Note that one difference between static and dynamic compiles is that you only need to export
the environment variables for configuring the next project. You don't need to save them in your .bashrc or
export every time you want to run the app. It still might be useful to put them in your .bashrc so you don't have to
re-export every time you reconfigure... but it's up to you. Another advantage is that you can recompile say CS while
running a static app compiled with it, allowing you to work with it while a recompile is undergoing.

NOTES on dates:
If you want to use PS client to connect to Laanx you need its 14/04/06 code, CS and CEL from the 
6th of April.
If you want to use latest PS client for testing or developing purposes use CS and CEL from the 
1st of May.
You can find the tarball of PS, CS and CEL here: http://planeshift.sourceforge.net/sources/ since
anonymous CVS access is not working yet.

A) Download and Build Cal3D library
-----------------------------------

		/home/andrew/development$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cal3d login
		(just hit enter for password)
		/home/andrew/development$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cal3d co -D "2006-04-06 00:00:00 UTC" cal3d 

		/home/andrew/development/cal3d$ ./autogen.sh
		/home/andrew/development/cal3d$ ./configure --prefix=/home/andrew/development/cal3d --enable-static=yes --enable-shared=no
		/home/andrew/development/cal3d$ make        
		/home/andrew/development/cal3d$ make install  

Because we did not install cal3d we need to make sure other things can find it. This is done using the LD_LIBRARY_PATH: 
        
        export LD_LIBRARY_PATH=/home/andrew/development/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH
		
Note: If you do 'make install' as the root user, the cal3d lib will be installed system wide, and you won't need that last export.
		
B) Download and Build Crystal Space (CS)
----------------------------------------
        
		/home/andrew/development$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crystal login
		(just hit enter for password)
		/home/andrew/development$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crystal co -D "2006-04-06 00:00:00 UTC" CS        
        
                
		/home/andrew/development/CS$  ./configure --enable-debug --without-python --with-libcal3d=/home/andrew/development/cal3d 
		/home/andrew/development/CS$ jam -aq libs staticplugins cs-config


If you prefer to compile one step at the time do:

		/home/andrew/development/CS$  ./configure --enable-debug --without-python --with-libcal3d=/home/andrew/development/cal3d 
		/home/andrew/development/CS$ jam -a libs       
		/home/andrew/development/CS$ jam -a staticplugins
		/home/andrew/development/CS$ jam -a cs-config 

       
We should export the CRYSTAL environment variable so cel and planeshift know where it is.
                
        export CRYSTAL=/home/andrew/development/CS
		
C) Download and Build Crystal Entity Layer (CEL)
------------------------------------------------

We need to export these vars so PlaneShift can find cel. May as well do it now.
                
        export CEL=/home/andrew/development/cel
        export CSCONFPATH=/home/andrew/development/cel
		
        /home/andrew/development$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cel login
        (just hit enter for password)
        /home/andrew/development$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cel co -D "2006-04-06 00:00:00 UTC" cel        
        
        /home/andrew/development/cel$  ./configure --enable-debug --without-python
		/home/andrew/development/cel$ jam -aq libs staticplugins cel-config

D) Download and Build Planeshift (PS)
-------------------------------------

To get the latest cvs of PlaneShift;

		/home/andrew/development$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/planeshift login
		( just hit enter for password )
		/home/andrew/development$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/planeshift co planeshift        

        /home/andrew/development/planeshift$  ./autogen.sh          
        /home/andrew/development/planeshift$  ./configure --enable-debug  --with-libcal3d=/home/andrew/development/cal3d
		/home/andrew/development/planeshift$ jam -aq client_static server_static
		
This should have created static versions of psclient, pssetup, updater, psserver, and psnpcclient.

You can also compile these seperately;
		
		/home/andrew/development/planeshift$ jam -aq psclient_static
		/home/andrew/development/planeshift$ jam -aq pssetup_static
		/home/andrew/development/planeshift$ jam -aq updater_static
		/home/andrew/development/planeshift$ jam -aq psserver_static
		/home/andrew/development/planeshift$ jam -aq psnpcclient_static
		
That concludes this build guide.
