First of all let me thank the Haiku community for providing great support, esp, Matt Maddia (Manager of BeZilla project)
To give you some idea about BeZilla, it is the browser (equivalent to firefox, or Bon Echo, as the newer version is called) that runs on Haiku. Let me tell you at the outset that, this is an exact port of Bon Echo, but for many patches introduced by the BeZilla community. So, if you are interested to contribute to this project, your starting point should be http://dev.osdrawer.net/projects/bezilla
For any person who is eager to get started with the project, your first and foremost aim is to get hold of the source code.
So, to simplify the things, let me put the processes in steps :
1) Get the source code from http://bezilla.beuser.de/builds/mozilla-1.8-branch-cvs-2009-07-07b.7za
2) Extract it to a folder, say /boot/home/bezilla, and rename it to haiku-fork. So, now your working directory is /boot/home/bezilla/haiku-fork.
3) Next you need to install the compiling tools, which could be automated by using this script TinnyTim.sh [Source : http://ports.haiku-files.org/svn/haikuports/trunk/www-client/mozilla-firefox/TinnyTim.sh]. To install the tools, copy the script to /boot/home/bezilla/haiku-fork/mozilla folder and run the script (sh TinnyTim.sh).
4) Once you finish installing it, now cd to /boot/home/bezilla/haiku-fork, and enter the following commands to export few environment variables:
export AC213='/boot/common/bin/autoconf-2.13 -m /boot/common/autoconf-2.13/share/autoconf' cd mozilla ; $AC213 cd nsprpub ; $AC213 ; cd ../ cd directory/c-sdk ; $AC213 ; cd ../../../
5) Once this is done, copy a .mozconfig file to your home directory from supporting-files/mozilla-configs/
Open the /boot/home/.mozconfig file and :
- Make sure the text from the install_deps.sh script is mentioned.
- Edit “mk_add_options MOZ_OBJDIR=…” (to point to the build output directory – here let it be, /boot/home/bezilla/build)
- Uncomment the desired “GCC Specific Optimiztions” string
(You will have you file like this : /boot/home/.mozconfig).
[A sample file is available at : http://mercurial.osdrawer.net/bezilla/file/39b9da484405/supporting-files/mozilla-configs/browser.mozconfig,]. This is the file wherein you can edit the output folder of your bezilla build. Here, let us keep the output folder as /boot/home/bezilla/build.
6) Now, you are all set to make your first build of BeZillaBrowser. Move to /boot/home/bezilla/haiku-fork/mozilla. From there run the command :
make -f client.mk build
7) Yae.. now you need to wait for a really really long time (atleast one or one and half hours for the whole build to complete).
8) Once it is complete, there are few more things to do. You need to re-arrange the *.so files, and remove few unwanted files as well as rename few other files. Since this is a tricky part, I have made an automated shell script which will do the job for you. Also, if you find anything messing up in between, do read the shell script and the comments that I’ve give along with each of those.
9) You need to run this script from MOZ_OBJDIR (in our case, this is /boot/home/bezilla/build). Once you finish this step, all the required changes would have been made.
10) Now to test your newly build BeZillaBrowser, cd to your /boot/home/bezilla/build/new-dir/BeZillaBrowser directory. From there run the BeZillaBrowser by typing : “./BeZillaBrowser” (without quotes)
11) There you go. Now to start contributing to BeZilla project in Haiku, the best point to start off is http://osdrawer.net/projects/bezilla. I would strongly suggest that you discuss anything about your interest in IRC (#haiku – at irc.freenode.net). Also, now, there is a working mercurial repository at http://mercurial.osdrawer.net/bezilla.
[Ref : 1. mmadia’s irc conversations and package help file – I’ve archived it in haiku.pastebin.com]
[Ref : 2. http://ports.haiku-files.org/wiki/www-client/mozilla-firefox/126.96.36.199pre/1 – I’ve tried to make the same article but with few modifications]
[Ref : 3. http://osdrawer.net/projects/bezilla]
[If you find any problems with building bezillabrowser, pls do reply back to this, as also in the IRC or mailing list.]