Antonr/FennecQtBuild

From MozillaWiki
Jump to: navigation, search

Fennec Qt 4.5

So far mozilla-central compiles successfully with Qt 4.5 !

Code checkouting from hg

You might want to install mercurial for source code checkout.

sudo apt-get install mercurial
hg clone http://hg.mozilla.org/mozilla-central
cd mozilla-central
hg clone http://hg.mozilla.org/mobile-browser mobile

Installation prerequisites

Please install following packages if you haven't done it yet:

sudo apt-get install libqt4-dev autoconf2.13 g++ libdbus-glib-1-dev libasound2-dev libidl-dev libxft2-dev

Qt 4.5 is now available:
- from debian experimental repository,
- download binaries from http://www.qtsoftware.com/downloads/sdk-linux-x11-32bit-cpp
- build Qt from source code http://www.qtsoftware.com/downloads/linux-x11-cpp

Creating a mozconfig

# Options for client.mk.
mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-central-mobile-qt-obj
mk_add_options MOZ_MAKE_FLAGS=-j4

ac_add_options --enable-application=browser

ac_add_options --enable-default-toolkit=cairo-qt
ac_add_options --enable-debug="-g3"
ac_add_options --disable-optimize
ac_add_options --enable-logging
ac_add_options --enable-tests
ac_add_options --enable-debugger-info-modules
ac_add_options --enable-logrefcnt

ac_add_options --disable-installer
ac_add_options --disable-crashreporter
ac_add_options --disable-javaxpcom
ac_add_options --disable-printing
ac_add_options --disable-embedding-tests
ac_add_options --disable-elf-dynstr-gc

# XULRunner options
ac_add_app_options xulrunner --enable-application=xulrunner
ac_add_app_options xulrunner --disable-javaxpcom

# Enabling --with-arm-kuser implies Linux on ARM and enables kernel
# optimizations for that platform
ac_add_app_options xulrunner --with-arm-kuser

# mobile options
ac_add_app_options mobile --enable-application=mobile
ac_add_app_options mobile --with-libxul-sdk=../xulrunner/dist

# configure will be automatically generated using the 'autoconf-2.13'
# command.  If autoconf-2.13 isn't the right name for your system, as
# is the case on OS X using MacPorts, use the real command name as
# demonstrated below.
mk_add_options AUTOCONF=autoconf2.13

Custom Qt build

If you like to have certain Qt version/build to be used, include following line into mozconfig

ac_add_options --with-qtdir="/usr/local/Trollteh/<CERTAIN_QT_BUILD>"

and set env variables:

export PATH=/usr/local/Trolltech/<CERTAIN_QT_BUILD>/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/Trolltech/<CERTAIN_QT_BUILD>/lib/
export PKG_CONFIG_PATH=/usr/local/Trolltech/<CERTAIN_QT_BUILD>/lib/pkgconfig/

Build it

make -f client.mk build_all