176
edits
No edit summary |
No edit summary |
||
Line 25: | Line 25: | ||
For those who don't have proper setup or recommended OS to install the provided Xen images -- or for those who want to understand the odds of setting up a cross-platform development environment for the mozilla codebase -- the following are three step-by-step guides focussing on building the Electrolysis projects (e10s) under three different platforms, namely linux, maemo and win32.<br> | For those who don't have proper setup or recommended OS to install the provided Xen images -- or for those who want to understand the odds of setting up a cross-platform development environment for the mozilla codebase -- the following are three step-by-step guides focussing on building the Electrolysis projects (e10s) under three different platforms, namely linux, maemo and win32.<br> | ||
== Important considerations when using scratchbox == | == Important considerations when using scratchbox == | ||
If you are interested in building electrolysis specifically for only one of the abovementionned platforms, then you can just go right to the proper section hereunder and follow the steps from there. However, if you intend to build for the maemo platform (using scratchbox) along with any (or both) of the other platforms, then, you might want to start setting up your maemo environment first and be sure to put the Mozilla sources somewhere under the /scratchbox directory. Preferably, something like : | If you are interested in building electrolysis specifically for only one of the abovementionned platforms, then you can just go right to the proper section hereunder and follow the steps from there. However, if you intend to build for the maemo platform (using scratchbox) along with any (or both) of the other platforms, then, you might want to start setting up your maemo environment first and be sure to put the Mozilla sources somewhere under the /scratchbox directory. Preferably, something like : | ||
<pre> | <pre>/scratchbox/users/<your_username>/home/<your_username>/mozilla/e10s | ||
/scratchbox/users/ | </pre> | ||
</pre> | In fact, because Scratchbox performs "chroot" on the /scratchbox directory at startup, all other system directories outside of /scratchbox, including home/, will become unreacheable for all scratchbox sessions. This chroot operation is essential for seamless cross-compilation and in fact, comes in very handy. | ||
In fact, because Scratchbox performs "chroot" on the /scratchbox directory at startup, all other system directories outside of /scratchbox, including home/, will become unreacheable for all scratchbox sessions. This chroot operation is essential for seamless cross-compilation and in fact, comes in very handy. | |||
This way, you'll be able to use this one and only codebase for all of your maemo, linux and win32 platform builds. Of course, to make your cross-platform environment even more seamless, a very good idea is to create symbolic links that map to your /scratchbox/... working dirs, as follows: | |||
<pre>cd /home/<your_username> | |||
ln -s /scratchbox/users/<your_username>/home/<your_username>/mozilla mozilla | |||
</pre> | |||
== Building e10s under linux<br> == | == Building e10s under linux<br> == | ||
Line 50: | Line 47: | ||
=== Mozconfig === | === Mozconfig === | ||
For general information on how to create mozconfig files, [https://developer.mozilla.org/en/Configuring_Build_Options read this]. | |||
Alternatively, here are two examples of mozconfig that you can use directly :<br> | |||
<pre> | |||
#DEBUG build under linux<br> | |||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdirs/DEBUG_LINUX_X86 | |||
mk_add_options MOZ_BUILD_PROJECTS="browser"<br> | |||
ac_add_app_options browser --enable-application=browser | |||
ac_add_options --disable-optimize | |||
ac_add_options --enable-debug | |||
ac_add_options --enable-debugger-info-modules | |||
ac_add_options --disable-tests | |||
ac_add_options --disable-crashreporter | |||
</pre> | |||
<pre> | |||
#RELEASE build under linux<br> | |||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdirs/RELEASE_LINUX_X86 | |||
mk_add_options MOZ_BUILD_PROJECTS="browser" | |||
ac_add_app_options browser --enable-application=browser | |||
ac_add_options --enable-optimize | |||
ac_add_options --disable-debug | |||
ac_add_options --disable-tests | |||
</pre> | |||
=== Pulling the electrolysis project === | === Pulling the electrolysis project === |
edits