User:MarkFinkle/BuildNotes

From MozillaWiki
Jump to: navigation, search

General Notes about building Mozilla and Fennec

Flat Chrome

Building with flat chrome means we won't use JAR files to hold the XUL, JS and CSS chrome files. This makes it easy to edit the files on device and re-run to see changes right away. Helpful for bug fixing and performance testing.

This is a MOZCONFIG setting. It only needs to be added to the mobile project.

  • Add chrome format line to mobile app
    • ac_add_app_options mobile --enable-chrome-format=flat

Official Branding

Build Fennec with the full Firefox images and strings, just like the release version.

This is a MOZCONFIG setting. It only needs to be added to the mobile project.

  • Add branding line to mobile app
    • ac_add_app_options mobile --enable-official-branding

This might change if we start building Fennec without XULRunner, in which case we would just use the global setting.

  • Add branding line
    • ac_add_options --enable-official-branding

Install Location

Fennec uses debian packages to install on Maemo. We can set the desired install location for Fennec using some MOZCONFIG settings:

  • Add global options
    • ac_add_options --prefix=/opt/mozilla
    • ac_add_options --libdir=/opt/mozilla

where /opt/mozilla is the location on the device

Shared vs Static Libraries

Brad has a patch that allows Fennec to be built in new ways. We can build without XULRunner (like desktop Firefox) or we could build with many small libraries. We might also be able to build completely static someday (all libraries in the fennec binary).

These different configurations require MOZCONFIG changes:

  • No separate XULRunner:
    • Remove the --with-libxul-sdk line
    • Remove the MOZ_BUILD_PROJECTS line

to launch use: ./run-mozilla.sh ./fennec

  • Many small libraries:
    • Add the --disable-libxul line