Mobile/e10s: Difference between revisions
< Mobile
Jump to navigation
Jump to search
No edit summary |
|||
Line 39: | Line 39: | ||
== How to build == | == How to build == | ||
=== Setting up scratchbox (for Maemo devices only) === | |||
=== Getting the source === | |||
Get mozilla and mobile projects off mercurial: | |||
<pre> | |||
hg clone http://hg.mozilla.org/projects/electrolysis | |||
cd electrolysis | |||
hg clone http://hg.mozilla.org/users/pavlov_mozilla.com/mobile-e10s mobile | |||
</pre> | |||
Right now, for Fennec we need additional platform patches on top of electrolysis branch. You will need mq for this. | |||
<pre> | |||
cd .hg | |||
hg clone http://hg.mozilla.org/users/dougt_mozilla.com/e10s-patches/ patches | |||
</pre> | |||
::<b>NOTE</b>: when getting a new patch queue, don't forget to <pre>hg qpop -a</pre> before you do so! | |||
::<b>NOTE for contributors:</b> If you push to the patches queue, please don't modify the status file. | |||
=== Building for Maemo devices === | |||
Create your .mozconfig in your electrolysis directory. Your .mozconfig should look something like this: | |||
<pre> | |||
# For improved compile speeds, all optional. | |||
export CCACHE_HARDLINK=1 | |||
export CC="ccache gcc" | |||
export CXX="ccache g++" | |||
mk_add_options MOZ_MAKE_FLAGS=-j3 | |||
# Make an optimized debug build. | |||
export MOZ_DEBUG_SYMBOLS=1 | |||
ac_add_options --enable-optimize | |||
ac_add_options --disable-debug | |||
ac_add_options --enable-debugger-info-modules=yes | |||
# important mobile options | |||
mk_add_options MOZ_OBJDIR=mobilebase-qt-@CONFIG_GUESS@ | |||
ac_add_options --enable-application=mobile | |||
ac_add_options --with-arm-kuser | |||
# important qt options | |||
ac_add_options --enable-default-toolkit=cairo-qt | |||
ac_add_options --disable-crashreporter | |||
ac_add_options --with-maemo-version=5 | |||
# e10s | |||
ac_add_options --enable-ipc | |||
</pre> | |||
:: Pro tip: if you are building for desktop and device, take the environment variable MOZCONFIG to your advantage. Put your device mozconfig in your scratchbox home directory. Then, in your scratchbox session: | |||
:: <pre>[scratchbox $] echo export MOZCONFIG=$HOME/.mozconfig >> .bash_profile</pre> | |||
Finally, run: <pre>make -f client.mk</pre> | |||
== How to run == | == How to run == |
Revision as of 17:02, 29 March 2010
Tasks
- Main E10s Meta bug:
- not ben or doug
- session history does not work (https://bugzilla.mozilla.org/show_bug.cgi?id=516728, https://bugzilla.mozilla.org/show_bug.cgi?id=516746)
- iframe panning does not work. (punt until layers)
- places do not work (places)
- ssl cert dialogs (jason)
- canvas issues (joedrew!!!)
- callback happens just before paint (old tiles are shown and then repainted)
- garbage when drawing only part of the tile
- panning needs to be faster
- leaking? performance seems to get worse over time, quickly. (bsmedberg)
- we need to provide data here...
- fast-scaling (https://bugzilla.mozilla.org/show_bug.cgi?id=552142)
- js alerts (https://bugzilla.mozilla.org/show_bug.cgi?id=516749, https://bugzilla.mozilla.org/show_bug.cgi?id=548847)
- geolocation notification and use (https://bugzilla.mozilla.org/show_bug.cgi?id=552822)
- downloads (https://bugzilla.mozilla.org/show_bug.cgi?id=552825)
orientation (https://bugzilla.mozilla.org/show_bug.cgi?id=552826)- login manager (https://bugzilla.mozilla.org/show_bug.cgi?id=552827)
- autocomplete (https://bugzilla.mozilla.org/show_bug.cgi?id=552828)
- system alerts (https://bugzilla.mozilla.org/show_bug.cgi?id=552770)
- unowned tasks
- Intermittent scrolling problem with autocomplete widget (?)
- ben
- scroll syncing does not work (ben)
- zooming to an element does not work (ben)
- highlighting elements on mousedown (ben)
- checkerboarding happens a lot (ben)
- select boxes (ben)
- url bar shifted up on new page (https://bugzilla.mozilla.org/show_bug.cgi?id=552971)
- dougt
- offline mode / autodialer doesn't work. (https://bugzilla.mozilla.org/show_bug.cgi?id=552829)
- about:fennec does not work (https://bugzilla.mozilla.org/show_bug.cgi?id=552832)
How to build
Setting up scratchbox (for Maemo devices only)
Getting the source
Get mozilla and mobile projects off mercurial:
hg clone http://hg.mozilla.org/projects/electrolysis cd electrolysis hg clone http://hg.mozilla.org/users/pavlov_mozilla.com/mobile-e10s mobile
Right now, for Fennec we need additional platform patches on top of electrolysis branch. You will need mq for this.
cd .hg hg clone http://hg.mozilla.org/users/dougt_mozilla.com/e10s-patches/ patches
- NOTE: when getting a new patch queue, don't forget to
hg qpop -a
before you do so!
- NOTE: when getting a new patch queue, don't forget to
- NOTE for contributors: If you push to the patches queue, please don't modify the status file.
Building for Maemo devices
Create your .mozconfig in your electrolysis directory. Your .mozconfig should look something like this:
# For improved compile speeds, all optional. export CCACHE_HARDLINK=1 export CC="ccache gcc" export CXX="ccache g++" mk_add_options MOZ_MAKE_FLAGS=-j3 # Make an optimized debug build. export MOZ_DEBUG_SYMBOLS=1 ac_add_options --enable-optimize ac_add_options --disable-debug ac_add_options --enable-debugger-info-modules=yes # important mobile options mk_add_options MOZ_OBJDIR=mobilebase-qt-@CONFIG_GUESS@ ac_add_options --enable-application=mobile ac_add_options --with-arm-kuser # important qt options ac_add_options --enable-default-toolkit=cairo-qt ac_add_options --disable-crashreporter ac_add_options --with-maemo-version=5 # e10s ac_add_options --enable-ipc
- Pro tip: if you are building for desktop and device, take the environment variable MOZCONFIG to your advantage. Put your device mozconfig in your scratchbox home directory. Then, in your scratchbox session:
[scratchbox $] echo export MOZCONFIG=$HOME/.mozconfig >> .bash_profile
Finally, run:
make -f client.mk
How to run
Create an executable script fennectrolysis in your $PATH as
#!/bin/bash objdir=[$OBJDIR]/mobile/ export LD_LIBRARY_PATH="$objdir/dist/bin/xulrunner:/usr/lib/debug/lib:/usr/lib/debug/usr/lib" cd $objdir/dist/bin && exec "$@" ./xulrunner/xulrunner-bin application.ini
replacing [$OBJDIR]
with your fennec objdir.