Build XulRunner 1.9 on Linux

Q: Why do we ever need to build XULRunner?

A: There is no official build of XULRunner for Linux x86-64. We have to build it ourself.

 

Prerequisites

You need some libraries to build XULRunner. If you are using Ubuntu, execute:

> sudo apt-get build-dep firefox

> sudo apt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13 yasm

 

Prerequisites for other Linux distributives and OSes.

Getting the source

To clone Mozilla 1.9.1 repository, execute:

> mkdir 191src

> hg clone http://hg.mozilla.org/releases/mozilla-1.9.1/ 191src

> cd 191src

You may find links to other Mozilla versions here.

 

Then you need to select a dotversion to build:

> hg tags

It prints a long list of tags:

...

FIREFOX_3_5_17_RELEASE         27311:d5eeb3c15214

...

 

Let's select the most recent release. In this case it is FIREFOX_3_5_17_RELEASE with revision number 27311.

Update to it:

> hg update 27311

 

Creation of configuration file

Now you need to create '.mozconfig' file inside 191src folder with the following content:

##########################################################

ac_add_options --enable-application=xulrunner

ac_add_options --disable-debug

ac_add_options --disable-tests

# the following line is needed for Ubuntu/Debian only

ac_add_options --disable-crashreporter

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../xulrunner_build191

 

#java

ac_add_options --with-java-include-path=/usr/lib/jvm/java-6-sun/include

ac_add_options --with-java-bin-path=/usr/lib/jvm/java-6-sun/bin

##########################################################

These options are tested under Ubuntu 10.10 x86-32 with Sun Java 6 installed. You may need to specify other options for other systems.

 

Building

From 191src execute:

> make -f client.mk build

 

Separating binaries

> cd ..

> cp -L -r ./xulrunner_build191/dist/bin/* xulrunner-1.9.1

 

That's it! Now you have XULRunner binaries inside xulrunner-1.9.1 folder.

 

Useful stuff

Register xulrunner for user:

> ./xulrunner --register-user

 

Register xulrunner for system:

> sudo ./xulrunner --register-global

 

Information about xulrunner registred for user lies here:

/home/user_name/.gre.d/1.9.conf

 

Information about xulrunner registred globally lies here:

/etc/gre.d/1.9.conf

 

View Firefox/XULRunner build options:

about:buildconfig