Build Instructions

The oss.linn.co.uk source code can be built on Linux, OSX and Windows operating systems using the  SCons build system. The build system uses the  Mono .Net Framework on all platforms to compile C# files. Windows users can build the source code with SCons or with Visual Studio 2008, solution and project files are provided in the SVN repository for this purpose. KinskyPDA can be built for the Pocket PC on Windows using Visual Studio 2008 or with Scons after the .Net Compact Framework has been installed.

Please report any defects in the build process by raising a new ticket

Build environment setup on Windows

SVN ( download)

Install SlikSVN using the latest stable Windows installer. This installs the SVN client tools needed to access the oss.linn.co.uk repository. The SlikSVN tools do not require the apache modules required for administering a SVN source repository. Test that SVN is installed correctly by opening a new command prompt and entering command:

svn --version

Mono SDK ( download)

Install the Mono Framework using the latest stable Windows installer. Add the Mono bin directory to your PATH environment variable. Test that Mono is installed correctly by opening a new command prompt and entering command:

gmcs --version

Python ( download)

Install Python using the latest stable Windows installer. Add the Python install directory to your PATH environment variable (If you had an older version of python installed, make sure you remove it from your PATH variable). Test that Python is installed correctly by opening a new command prompt and entering command:

python --version

SCons ( download)

Install SCons using the latest stable Windows installer. SCons scripts are installed to your Python Scripts directory. Add this directory to your PATH environment variable. Test that SCons is installed correctly by opening a new command prompt and entering command:

scons --version

NSIS ( download)

Install NSIS using the latest stable Windows installer. Add this directory to your PATH environment variable. Test that NSIS is installed correctly by opening a new command prompt and entering command:

nsis

NSIS Simple Firewall Plugin ( download)

Unzip and copy the SimpleFC.dll plugin dll to the installed NSIS plugin directory.

NSIS Internet Client Plugin ( download)

Unzip and copy the inetc.dll plugin dll to the installed NSIS plugin directory.

Building on Windows for the Pocket PC

The Compact Framework libraries can be installed with Visual Studio Professional. If you are not building with Visual Studio the Compact Framework can be installed as part of the Windows SDK for Windows Server 2008 ( download). A complete description of what is needed to build for the Compact Framework without Visual Studio installed can be found  here

Setup Environment Variables

Create the environment variable CF_Library and set its value to point to the installed Compact Framework libraries. These libraries by default are installed at \Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE.

Building with Visual Studio

There is a bug in the Visual Studio build process that results in building becoming progressively slower for each build. The bug exists in the Platform Verification Task that is a post-build validation step run as a target of the MSBuild process. An explanation and fix for this bug can be found at this ( blog)

Build environment setup on a Mac

1. Install  MacPorts

MacPorts is a package manager that offers various Linux packages for installation on OSX. After installation test by opening a new command prompt and entering command:

port help

2. Install the required packages using the port command

sudo port install nsis
sudo port install mono
sudo port install scons 

3. NSIS Simple Firewall Plugin ( download)

Unzip and copy the SimpleFC.dll plugin dll to the installed NSIS plugin directory.

4. NSIS Internet Client Plugin ( download)

Unzip and copy the inetc.dll plugin dll to the installed NSIS plugin directory.

Build environment setup on Debian Linux

1. Install required packages using the Debian APT tool

sudo apt-get install mono-gmcs
sudo apt-get install mono-2.0-devel
sudo apt-get install libmono-winforms2.0-cil
sudo apt-get install openjdk-6-jre-headless needed for java runtime
sudo apt-get install openjdk-6-jdk
sudo apt-get install subversion
sudo apt-get install scons
sudo apt-get install nsis

2. NSIS Simple Firewall Plugin ( download)

Unzip and copy the SimpleFC.dll plugin dll to the NSIS plugin directory.

3. NSIS Internet Client Plugin ( download)

Unzip and copy the inetc.dll plugin dll to the installed NSIS plugin directory.

Checking out the latest source with SVN

Checkout the latest version of the code with the following SVN command:

svn checkout http://oss.linn.co.uk/repos/Main oss

This will create a new folder oss in your present working directory with the Main branch of the oss.linn.co.uk source code checked out.

Building with SCons using Python build scripts

Python build scripts have been created that build various libraries and executables using SCons.

To build the Upnp libraries enter the command:

python buildLibUpnpCil.py variant=trace

To build Kinsky omitting the installers enter the command:

python buildKinskyDesktop.py variant=trace

To build KinskyPDA including installers

python buildKinskyPDA.py variant=trace hardware=Hardware/PocketPC