Confirmed users, Bureaucrats and Sysops emeriti
722
edits
GavinSharp (talk | contribs) (autoconf was fixed in bug 450948, not sure why these other options are here) |
GavinSharp (talk | contribs) (refactor) |
||
| Line 1: | Line 1: | ||
==Building Fennec and Xulrunner== | ==Building Fennec and Xulrunner== | ||
If you want to cross-compile Fennec and Xulrunner for ARM devices, you should first [[Mobile/Build/cs2007q3|set up scratchbox]]. | |||
===Pulling the code from hg=== | |||
<pre> | <pre> | ||
hg clone http://hg.mozilla.org/mozilla-central | hg clone http://hg.mozilla.org/mozilla-central | ||
| Line 8: | Line 9: | ||
</pre> | </pre> | ||
===Creating a mozconfig=== | |||
Here's an example mozconfig for building in scratchbox. The LDFLAGS, with-arm-kuser, and disable-tests options should be removed if you're building outside of scratchbox (for x86). | |||
<pre> | <pre> | ||
# cs2007q3 gcc 4.2 is busted, we think, and doesn't | # cs2007q3 gcc 4.2 is busted, we think, and doesn't | ||
# look in the expected places. --dougt. | # look in the expected places. --dougt. | ||
| Line 41: | Line 42: | ||
</pre> | </pre> | ||
===libIDL=== | |||
libIDL is required. | |||
*I think the [[Mobile/Build/cs2007q3|latest scratchbox instructions]] include a step to obtain libIDL, so building it yourself shouldn't be necessary. If that's wrong, there are instructions for building libIDL in scratchbox [https://wiki.mozilla.org/index.php?title=Mobile/Build/Maemo_Build_Instructions&oldid=117369#Building_libIDL here]. If you follow those steps you must also set the PKG_CONFIG_PATH environment variable. [[User:GavinSharp|GavinSharp]] | |||
===Start the build=== | |||
<pre> | <pre> | ||
make -f client.mk build | make -f client.mk build | ||
</pre> | </pre> | ||
== Running Fennec on Maemo == | |||
If you did the above in a [[ | If you did the above in a [[Mobile/Build/cs2007q3|Maemo Scratchbox]] for the CHINOOK_ARMEL target, you can run the build on the N800/N810 device. | ||
Create a Fennec tarball: | Create a Fennec tarball: | ||
| Line 72: | Line 73: | ||
==Building Fennec with the Gecko SDK== | ==Building Fennec with the Gecko SDK== | ||
===Download SDK=== | |||
First download the appropriate Gecko SDK from [ftp://ftp.mozilla.org/pub/xulrunner/nightly/latest-trunk/] | First download the appropriate Gecko SDK from [ftp://ftp.mozilla.org/pub/xulrunner/nightly/latest-trunk/] | ||
===Get the source=== | |||
Follow the steps from [[#Pulling the code from hg]] | |||
===Creating a mozconfig=== | |||
<pre> | <pre> | ||
# Options for client.mk. | # Options for client.mk. | ||
mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile" | mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile" | ||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-fennec | mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-fennec | ||
ac_add_options --enable-application=mobile | ac_add_options --enable-application=mobile | ||
ac_add_options --with-libxul-sdk=<path to the SDK you downloaded and extracted> | ac_add_options --with-libxul-sdk=<path to the SDK you downloaded and extracted> | ||
</pre> | </pre> | ||
Note: if you are building for x86 ubuntu, you might want to add "ac_add_options --disable-dbus" to your mozconfig, or obtain the necessary dbus libraries. | |||
===Build=== | |||
<pre> | <pre> | ||
make -f client.mk build | make -f client.mk build | ||
</pre> | </pre> | ||