ef9641e111
a supported build platform. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43020 a95241bf-73f2-0310-859d-f6bbb57e9c96
86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
Building on a non-Haiku platform
|
|
================================
|
|
|
|
We currently support these non-Haiku platforms:
|
|
* Linux
|
|
* FreeBSD
|
|
* Mac OS X Intel (gcc 4 builds only)
|
|
|
|
To build Haiku on a platform other than Haiku, 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 http://svn.haiku-os.org/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
|
|
* yasm (http://www.tortall.net/projects/yasm/wiki/Download)
|
|
|
|
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
|
|
* cdrtools (for mkisofs used to create the bootable CD-ROM image)
|
|
|
|
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
|
|
-- or --
|
|
./jam0 -sBINDIR=$HOME/bin 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.
|