************************************************** 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.