Mobile/Build/Fennec: Difference between revisions

From MozillaWiki
< Mobile‎ | Build
Jump to navigation Jump to search
Line 57: Line 57:
If you did the above in a [[Maemo_Build_Instructions|Maemo Scratchbox]] for the CHINOOK_ARMEL target, you can run the build on the N800/N810 device.
If you did the above in a [[Maemo_Build_Instructions|Maemo Scratchbox]] for the CHINOOK_ARMEL target, you can run the build on the N800/N810 device.


Create xulrunner and Fennec tarballs:
Create a Fennec tarball:


<code><pre>
<code><pre>
cd ../mobilebase
cd ../mobilebase/mobile/
cd xulrunner
make package
cd ../mobile
make package
make package
</pre></code>
</pre></code>


You'll now have tarballs like  xulrunner-1.9.1a1pre.en-US.linux-arm.tar.bz2 and fennec-0.3.en-US.linux-arm.tar.bz2 (respectively, under mobilebase/xulrunner/dist and mobilebase/fennec/dist). Copy these to your device (you'll probably want to run bunzip2 on them first, since Maemo doesn't include it).
You'll now have a tarball in mobilebase/mobile/dist/ named fennec-0.3.en-US.linux-arm.tar.bz2. Copy it to your device (you'll probably want to run bunzip2 on it first, since Maemo doesn't include it).


Extract and launch from a command line (X Terminal) on the device:
Extract and launch from a command line (X Terminal) on the device:


<code><pre>
<code><pre>
$ tar xf xulrunner-1.9.1a1pre.en-US.linux-arm.tar
$ tar xf fennec-0.3.en-US.linux-arm.tar  
$ tar xf fennec-0.3.en-US.linux-arm.tar
$ cd fennec
$ cd xulrunner
$ ./fennec
$ ./xulrunner ../fennec/application.ini
</pre></code>
</pre></code>



Revision as of 00:51, 22 June 2008

Building Fennec and Xulrunner

pull the code from hg

hg clone http://hg.mozilla.org/mozilla-central
cd mozilla-central
hg clone http://hg.mozilla.org/mobile-browser mobile

Your mozconfig should look like this:

# Options for client.mk.
mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mobilebase

# Global options
#ac_add_options --enable-debug
#ac_add_options --disable-optimize
#ac_add_options --enable-logging
#ac_cv_visibility_pragma=no

#ac_add_options --enable-timeline
ac_add_options --disable-dbus

# 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=autoconf213

make sure you have libIDL:

If building for Maemo in Scratchbox, follow the instructions from the Maemo Build page, and remember to set your PKG_CONFIG_PATH environment variable.


then build:

make -f client.mk build

Running Fennec on Maemo

If you did the above in a Maemo Scratchbox for the CHINOOK_ARMEL target, you can run the build on the N800/N810 device.

Create a Fennec tarball:

cd ../mobilebase/mobile/
make package

You'll now have a tarball in mobilebase/mobile/dist/ named fennec-0.3.en-US.linux-arm.tar.bz2. Copy it to your device (you'll probably want to run bunzip2 on it first, since Maemo doesn't include it).

Extract and launch from a command line (X Terminal) on the device:

$ tar xf fennec-0.3.en-US.linux-arm.tar 
$ cd fennec
$ ./fennec

Building Fennec with the Gecko SDK

First download the appropriate Gecko SDK from [1]


Then pull Mozilla (for the build system) Fennec from hg

hg clone http://hg.mozilla.org/mozilla-central
cd mozilla-central
hg clone http://hg.mozilla.org/mobile-browser mobile


Your mozconfig should look like this:

# Options for client.mk.
mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-fennec


ac_add_options  --enable-application=mobile
ac_add_options  --with-libxul-sdk=<path to the SDK you downloaded and extracted>

Note: if you are building for x86 ubuntu, you will want to add "ac_add_options --disable-dbus" to your mozconfig


And finally, build

make -f client.mk build