Getting and Building the Haiku Source Code
svn checkout https://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 that 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
Further reading
Please read "Version Control with Subversion" for a detailed introduction.
FixFi

