Installing Lazarus on Haiku

From Free Pascal wiki
Jump to navigationJump to search

Installing from sources

Work in progress...

Building Qt under Haiku

Instructions are available there : http://qt-haiku.ru/index.php?option=com_content&view=article&id=53&Itemid=67

Building Qt is not required. You can just download lastest binaries at http://www.qt-haiku.ru/index.php?option=com_rokdownloads&view=folder&Itemid=60 and uncompress them to /boot/.

In order to compile the Qt4 binding below, you should get the development package.

Building Qt4 binding for Free Pascal under Haiku

Download the source from http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html. The current binding is "V2.5 (Qt 4.5.X, compatible till Qt 4.8.X)". Choose the entry "Library source" under Linux X11.

Haiku is now supported by default.

On previous versions (at least 2.1), it was necessary to edit some files before compiling the package under Haiku :

In Qt4Pas.pro, change the supported version according to the version of Qt you have downloaded (It also works with Qt 4.8.0).
Then, add ":!Haiku" at line 50 inside Qt4Pas.pro :
 unix:!embedded:!mac:!haiku:PLATFORM = BINUX

Finally, run :

qmake
make
make install

You should have libQt4Pas.so in /boot/common/lib/. The last step is to add a link to this library in /boot/develop/abi/c86/gcc4/lib.

More information about this binding is available here : Qt4 binding

Building Lazarus under Haiku

Required tools

fpc 2.4.0 for Haiku is not suitable to build Lazarus. Some bugs were fixed while porting Lazarus to Haiku.

The 2.4 fix branch or trunk should compile Lazarus.

Current official version (2.4.2) is able to compile Lazarus. Binaries for Haiku are available at : http://freepascal.org/down/i386/haiku.var.

Getting sources

As usual :

svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

Compiling Lazarus

Once you have a good enough compiler and the source tree, just run at the root of the source tree

Make sure gcc 4 is the default compiler under Haiku using :

setgcc gcc4

then :

make LCL_PLATFORM=qt