



Building Fost
The libraries are available from our Subversion repository. It's recommended that you use a new folder for this as a number of libraries and dependencies will be required.
I.e. something like:
mkdir fost4 cd fost4
Run all of the following commands from that directory.
Note for Windows users: Where a command starts with a ./ (i.e. ./build or ./compile) then do not type the initial ./
Source code
svn co http://svn.felspar.com/public/fost-base/stable fost-base svn co http://svn.felspar.com/public/fost-internet/stable fost-internet svn co http://svn.felspar.com/public/fost-orm/stable fost-orm
On Windows you will also want:
svn co http://svn.felspar.com/public/fost-windows/stable fost-windows
Boost
svn co http://svn.felspar.com/external/Boost
Note for Linux users: Any version of Boost available as part of your Linux distribution's packaging system is not suitable for use with the Fost 4 build environment. You would need to make alterations to the Jamfiles and the build scripts. This should only be attempted by those who really understand the Boost.Build system.
Cryptographic support
Fost 4 uses OpenSSL for its cryptography functions.
svn co http://svn.felspar.com/external/OpenSSL
Note for Linux users: Fost 4 will use the version of OpenSSL for your distribution. You will need to make sure that the development package is installed. You do not need the above check out
Note for Mac users: OpenSSL is built in to the Mac OS/X and Fost 4 uses that version. You do not need the above check out
Python support
If you want to use Fost 4 from Python you will need:
svn co http://svn.felspar.com/public/fost-py/stable fost-py
You will also need to install Python. You will need the development files (which are installed by default on Windows — on Windows we have been testing against Python 2.5 distributions).
Postgres support
If you want to make use of the Postgres database driver you will need:
svn co http://svn.felspar.com/external/PostgreSQL svn co http://svn.felspar.com/public/fost-postgres/stable fost-postgres
You will also need to install Postgres and its development files.
Note for Windows users: You should install Postgres 8.3 to the default location. You will also need to choose to install all of the development files.
Building
The first task is to have a working copy of Boost. If you don't already use Boost then simply run the build script inside the Boost check out. It will fetch the correct version from the Boost repository and make and install the libraries.
It is possible to use an existing version of Boost, but the directory structure needs to be set up correctly.
cd Boost ./build cd ..
On Windows the script will fetch and build Boost 1.38.0 and on Linux/Mac it will use 1.39.0. The build system is set up in such a way that multiple versions of Boost can be used and tested against.
Note for Postgres users: In order to successfully build and test the Postgres libraries Postgres must be running on the local machine and answering on the standard TCP/IP port. There must also be a user called “Test” with password “tester” that has permission to create database objects.
Note for Windows users: Fost 4 requires Boost to be built with special compile options to properly allow exceptions to work. The default build of Boost does not use these options.
In order to build fost-windows a default installed instance of Microsoft SQL Express must be available and the user performing the build must have permission to create and drop databases and other database objects.
Building the Fost 4 libraries
You may build the libraries and run the smoke tests. Using the compile scripts as below will build the libraries and run some basic tests on them. The build will also update your check out from the Felspar Subversion repository, force a re-link of the target libraries and in some cases run more thorough tests.
cd fost-base ./compile cd .. cd fost-internet ./compile cd .. cd fost-orm ./compile cd ..
Optional components can also be built by changing into their directory and executing the compile script.
This will leave you with a dist folder where the produced files are collected.
Building the examples
Examples can be build by passing the examles option to
Note for Linux users: The build system does not set the .so path on the built programs. In order to successfully run them the LD_LIBRARY_PATH must be set. E.g.
fost-base/compile examples export LD_LIBRARY_PATH=`pwd`/dist/lib dist/bin/host support.felspar.com
Building the documentation
You will need to have Doxygen installed to do this.
cd fost-base ./compile docs
Documentation will appear in dist/usr/share/fost.
Building on Fost 4
It is simplest to continue to use the Boost.Build build system. For an example of a nascent library that uses Fost 4 take a look at Spruce at http://svn.felspar.com/public/spruce.
If you use the Fost libraries in this way then you only need to explicitly compile them if you wish to run their smoke tests.


