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 v2.7.3 Windows 32 bit - SCons doesn't yet support later versions or 64bit. 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.

zip ( download)

Install the complete package (minus sources). Add this directory to your PATH environment variable. Test that zip is installed correctly by opening a new command prompt and entering command:

zip 

bsdtar ( http://downloads.sourceforge.net/gnuwin32/libarchive-2.4.12-1-setup.exe)

Install the complete package (minus sources). Add this directory to your PATH environment variable (it will already be there if you installed it to the default location as this is the same as zip above). Test that bsdtar is installed correctly by opening a new command prompt and entering command:

bsdtar 

xsltproc ( ftp://ftp.zlatkovic.com/libxml/)

Download the latest versions of the following packages: libxml2, iconv, libxslt, zlib. Extract each of the packages and add the contents of each bin folder to a single directory on your hard drive. Add this directory to your PATH environment variable. Test that xsltproc is installed correctly by opening a new command prompt and entering command:

xsltproc  

Doxygen ( http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc)

Download and install the latest version of doxygen for windows. Ensure this directory has been added to your PATH environment variable (the current version of the installer should do this for you). Test that doxygen is installed correctly by opening a new command prompt and entering command:

doxygen  

msbuild (part of the .NET framework -  download)

Install .NET framework 4.0.xxxxx. Add the following directory to your PATH environment variable: C:\Windows\Microsoft.NET\Framework\v4.0.xxxxx Test that msbuild is installed correctly by opening a new command prompt and entering command:

msbuild /help

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
(xsltproc - not a mac port?)
sudo port install doxygen

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.

If you want to build Kinsky for iOS you will also needl:

5. Install XCode 4

6. Install MonoTouch 6

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
sudo apt-get install xsltproc
sudo apt-get install doxygen

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/Public

This will create a new folder Public in your present working directory with the 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=release codesign=false

To build Kinsky for Windows including installers without code signing

python buildKinskyDesktopWpf.py variant=release codesign=false

To build Kinsky for Mac including installers

python buildKinskyDesktopCocoa.py variant=release codesign=false

To build Kinsky for Linux including installers without code signing

python buildKinskyDesktopWinForms.py hardware=Linux variant=release codesign=false

To build Kinsky for PDA including installers without code signing

python buildKinskyPDA.py variant=release codesign=false

To build Kinsky for iOS including installers without code signing

python buildKinskyTouch.py variant=release codesign=false