2007-01-30 22:53:23 +03:00
|
|
|
Building on a non-BeOS platform
|
|
|
|
===============================
|
|
|
|
|
|
|
|
We currently support these non-BeOS platforms:
|
|
|
|
* Linux
|
|
|
|
* FreeBSD
|
2007-05-21 18:43:00 +04:00
|
|
|
* Mac OS X Intel (gcc 4 builds only)
|
2007-01-30 22:53:23 +03:00
|
|
|
|
|
|
|
To build Haiku on a non-BeOS platform you must first check out and build the
|
2007-02-18 14:46:25 +03:00
|
|
|
cross-compiler. The easiest method for doing so is to check it out in the
|
|
|
|
parent directory of your Haiku repository:
|
2007-01-30 22:53:23 +03:00
|
|
|
|
|
|
|
svn checkout svn://svn.berlios.de/haiku/buildtools/trunk buildtools
|
|
|
|
|
|
|
|
You should now have a 'buildtools' folder that contains folders named
|
2007-03-09 17:07:27 +03:00
|
|
|
'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)
|
|
|
|
|
|
|
|
Whether they are installed can be tested for instance by running them in the
|
|
|
|
shell with the "--version" parameter.
|
2007-01-30 22:53:23 +03:00
|
|
|
|
2007-05-21 18:43:00 +04:00
|
|
|
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
|
|
|
|
|
2007-01-30 22:53:23 +03:00
|
|
|
|
|
|
|
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/
|
|
|
|
|
2007-02-22 20:23:06 +03:00
|
|
|
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.
|
2007-01-30 22:53:23 +03:00
|
|
|
|
2007-02-22 20:23:06 +03:00
|
|
|
Instructions on how to build Haiku can be found in the section Building in the
|
|
|
|
'ReadMe' document.
|