Building Haiku on BeOS

# Getting the source

Note: All commands must be executed in the Terminal.

Go to the parent directory for Haiku's repository (ex. /home/develop) and enter:

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

This will checkout the source into a new subdirectory called "haiku". Members of Haiku should login with their BerliOS account to get commit access:

    svn checkout svn+ssh://developername@svn.berlios.de/svnroot/repos/haiku/haiku/trunk haiku

After the initial checkout (also in case not the entire tree was checked out successfully) you can fetch source code updates with the following command in your repository's root folder:

    svn update

# Installing the cross-compiler

Download the Haiku cross-compiler and extract it to /boot (for example by setting the Destination in Expander to just /boot). Then you need to configure your tree to use this cross compiler. Go to the root folder of your checked out Haiku repository and invoke the configure script with the --cross-tools-prefix option like this:

    configure --cross-tools-prefix /boot/apps/haiku/cross-tools/bin/i586-pc-haiku-

Be careful to include all of the string up to and including the last dash, as all the cross compiler tools have this prefix (they are for example called i586-pc-haiku-ar). You need to specify this prefix everytime you run configure.

# Building the source

You can now start the build process with:

    jam

Note: this will just build any target that is found in the tree. This is usually not that useful, as many parts might not build and are not required. So optionally, a target can be specified by adding a target name. For example, jam app_server will only build the `app_server` target. Normally though you will want to build an image or installation using the commands below. Add the -a option to rebuild the whole source or only the specified target in case jam didn't notice source changes.

# Building an image

You can build a Haiku image with:

    jam haiku-image

This will place a file named haiku.image into the generated/ folder.

To build an image for testing in VMWare:

    jam haiku-vmware-image

This will place a file named haiku.vmdk into the generated/ folder.

Instead of building an image, you may install Haiku on a mounted partition using:

    HAIKU_INSTALL_DIR=/target_folder jam install-haiku