Building Titanium From Source

(NOTE: These Programming Guides only pertain to Titanium Desktop 1.1 or earlier.)

Requirements

OS X

  • OS X 10.5 or 10.6
  • XCode 3
  • pkgconfig — install via ports: sudo ports install git pkgconfig
  • or homebrew - brew install git

Windows

Extra steps for Windows

  • Register Platform SDK 2003 with Visual Studio: Start > Programs > Microsoft Platform SDK for Windows Server 2003 R2 > Visual Studio Registration > Register PSDK Directories with Visual Studio
  • Add the following to your PATH environment variable: C:Python25;C:Python25Scripts

Linux

Ubuntu / Debian (at the time of the 1.2.0.RC3 SDK, an up-to-date Natty 11.04 is recommended. It is not known if 11.04 will be supported in the 1.2.0 GA release, most likely only 10.10 will be.)

  • `sudo apt-get install build-essential ruby rubygems libzip-ruby1.9.1 scons libxml2-dev libgtk2.0-dev python-dev ruby-dev libdbus-glib-1-dev libnotify-dev libgstreamer0.10-dev libxss-dev libcurl4-openssl-dev git-core libsoup2.4-1 libsoup2.4-dev libsoup-gnome2.4-dev libicu-dev libgnutls-dev libjpeg8-dev libcurl4-openssl-dev libenchant-dev'

In addition, the follow are needed to compile webkit gtk+ 1.4.2, libgcrypt and libgnutls

  • 'sudo apt-get install bison flex gperf libjpeg8-dev libgail-dev libxt-dev libsqlite3-dev libxslt1-dev libgstreamer-plugins-base0.10-dev libgpgme11-dev`

Fedora (NOT up to date for 1.2.0, see Ubuntu / Debian)

  • sudo yum install gcc gcc-c++ git-core python-devel ruby-devel scons gtk2-devel gstreamer-devel libnotify-devel libXScrnSaver-devel libcurl-devel

Get the code
$ git clone git://github.com/appcelerator/titanium_desktop
$ cd titanium_desktop
$ git submodule update --init
$ cd kroll
$ git checkout master
$ cd ..

Keeping up to date

When keeping up to date, it is important to pull both titanium_desktop and kroll:

$ git pull
$ cd kroll
$ git pull
$ cd ..

Building and running

Titanium SDK

If you want to install the Titanium SDK, it's a good idea to first remove any previous SDK installations. To remove only the SDK from a Titanium install directory simply remove [install directory]/sdks/[version] and not the entire install directory.

To build and install the SDK run:

$ scons debug=1 sdkinstaller run=1

Unit test suite
$ scons debug=1 drillbit run=1

Testapp
$ scons debug=1 testapp run=1

Building distribution packages
$ scons debug=1 dist