Building on a non-BeOS platform
===============================

We currently support these non-BeOS platforms:
 * Linux
 * FreeBSD
 * Mac OS X Intel (gcc 4 builds only)

To build Haiku on a non-BeOS platform you must first check out and build the
cross-compiler. The easiest method for doing so is to check it out in the
parent directory of your Haiku repository:

  svn checkout svn://svn.berlios.de/haiku/buildtools/trunk buildtools

You should now have a 'buildtools' folder that contains folders named
'binutils', 'gcc', and 'jam' among others.

Several other tools are required to build these build tools or are used by
Haiku's build system itself:
 * gcc and the binutils (as, ld, etc., required by gcc)
 * make (GNU make)
 * bison
 * flex and lex (usually a mini shell script invoking flex)
 * makeinfo (part of texinfo, needed for building gcc 4 only)
 * autoheader (part of autoconf, needed for building gcc)
 * gawk

Whether they are installed can be tested for instance by running them in the
shell with the "--version" parameter.

On Mac OS X a case-sensitive file system is required for the Haiku tree
(Disk Utility can be used to create a case-sensitive disk image of at least
3GB size), and the following darwin ports need to be installed:
 * expat
 * gawk
 * gettext
 * libiconv
 * gnuregex


Building Jam
============

Change to the buildtools folder and we will start to build 'jam' which is a
requirement for building Haiku. Run the following commands to generate and
install the tool:

  cd  buildtools/jam  
  make
  sudo ./jam0 install


Building binutils
=================

The binutils used by Haiku will be automatically generated according to the
initial configuration of the Haiku source and placed in the
'generated/cross-tools' directory of Haiku. Before generating the tools you
must consider the version required, there are essentially two choices:

  * 2.95: Creates BeOS compatible binaries
  * 4.x: Incompatible with BeOS, but theoretically more efficient binaries

Unless there is a pressing need, choose 2.95 as the latter option can cause
frequent build issues. The commands for configuration are,

GCC 2.95
--------

  cd haiku 
  ./configure --build-cross-tools ../buildtools/

GCC 4.x
-------

  cd haiku
  ./configure --build-cross-tools-gcc4 x86 ../buildtools/

The process can take quite some time, but when it finishes the build system is
fully configured and you are ready to compile your first Haiku image.

Instructions on how to build Haiku can be found in the section Building in the
'ReadMe' document.