Firefox/Tegra/Build Notes: Difference between revisions
Line 30: | Line 30: | ||
= Set up a mozconfig = | = Set up a mozconfig = | ||
The mozilla build system uses a mozconfig file to avoid having to pass many options to configure on the command line. | The mozilla build system uses a mozconfig file to avoid having to pass many options to configure on the command line. Here's a sample mozconfig that I use for building: | ||
ac_add_options --enable-application=browser | |||
# Either --enable-debug or --enable-optimize should be specified; | |||
# --enable-debugger-info-mobules ensures that debugging symbols are available | |||
# even with an optimized build. | |||
#ac_add_options --enable-debug | |||
ac_add_options --enable-optimize | |||
ac_add_options --enable-debugger-info-modules | |||
ac_add_options --enable-libxul | |||
# Note that you need to give both CFLAGS and CXXFLAGS | |||
CFLAGS="-QRarch6 -QRfpe-" | |||
CXXFLAGS="-QRarch6 -QRfpe-" | |||
# No need to build the tests for now | |||
ac_add_options --disable-tests | |||
# Disable some things that aren't necessary right now; | |||
# these might or might not actually work should they be needed. | |||
ac_add_options --disable-javaxpcom | |||
ac_add_options --disable-accessibility | |||
ac_add_options --disable-printing | |||
ac_add_options --disable-oji | |||
ac_add_options --disable-plugins | |||
ac_add_options --disable-vista-sdk-requirements | |||
ac_add_options --disable-updater | |||
ac_add_options --disable-installer | |||
ac_add_options --disable-xpinstall | |||
ac_add_options --enable-image-decoders="png gif jpeg" | |||
ac_add_options --disable-dbm | |||
ac_add_options --disable-spellcheck | |||
ac_add_options --disable-windows-mobile-components | |||
CROSS_COMPILE=1 | |||
MIDL=/c/Program\ Files/Microsoft\ Visual\ Studio\ 9/VC/ce/bin/x86_arm/midl.exe | |||
ac_add_options --target=arm-wince | |||
ac_add_options --enable-win32-target=WINCE | |||
ac_add_options --enable-default-toolkit=cairo-windows | |||
ac_add_options --with-wince-sdk="c:/program files/windows ce tools/wce500/standardsdk_500" |
Revision as of 01:52, 12 February 2009
This is a work in progress, based largely on the Windows Mobile Build Instructions.
Initial Setup
- Follow the instructions in Windows Build Prerequisites, installing at a minimum:
- the mozilla-build environment
- Visual Studio 2008 (2005 ought to work, but this guide has been written with 2008 in mind), with Smart Device support
- To reduce pain, grab an updated Mercurial from http://mercurial.berkwood.com/ -- install it in C:\mozilla-build\hg (overwriting the hg install that's there).
- Install the Windows CE 5.00 Standard SDK. If you have a SDK provided by a Windows CE 6 device manufacturer, it ought to work as well; this has only been tested with the CE 5.00 SDK.
Downloading the Source
I tend to use 'c:\proj' as the root for most of my work; replace that path as appropriate for your usage. I would suggest a path without spaces, though.
Mozilla uses the Mercurial version control system. For more detailed information, see this page.
In 'C:\mozilla-build', there will be a few batch files -- fire up start-msvc9.bat to obtain a console window with paths set up for building. All commands are assumed to be executed within such a window.
Note: the MSYS environment that drives the build uses Unix-style forward slashes for path separators. Drive letters are also treated as directories, so "C:\proj" becomes "/c/proj". Note that MSYS will automatically translate "/c/proj" into "C:\proj" from the command line; this sometimes causes problems when trying ot pass arguments that start with "/" to programs. To get around this, use "//" -- for example, "dumpbin //exports". Or, use the - form of arguments if supported.
- First, create some directories:
- mkdir /c/proj
- cd /c/proj
- Then check out the current source tree; this will grab a copy of the source in a directory called mozilla-central in /c/proj:
Set up a mozconfig
The mozilla build system uses a mozconfig file to avoid having to pass many options to configure on the command line. Here's a sample mozconfig that I use for building:
ac_add_options --enable-application=browser # Either --enable-debug or --enable-optimize should be specified; # --enable-debugger-info-mobules ensures that debugging symbols are available # even with an optimized build. #ac_add_options --enable-debug ac_add_options --enable-optimize ac_add_options --enable-debugger-info-modules ac_add_options --enable-libxul # Note that you need to give both CFLAGS and CXXFLAGS CFLAGS="-QRarch6 -QRfpe-" CXXFLAGS="-QRarch6 -QRfpe-" # No need to build the tests for now ac_add_options --disable-tests # Disable some things that aren't necessary right now; # these might or might not actually work should they be needed. ac_add_options --disable-javaxpcom ac_add_options --disable-accessibility ac_add_options --disable-printing ac_add_options --disable-oji ac_add_options --disable-plugins ac_add_options --disable-vista-sdk-requirements ac_add_options --disable-updater ac_add_options --disable-installer ac_add_options --disable-xpinstall ac_add_options --enable-image-decoders="png gif jpeg" ac_add_options --disable-dbm ac_add_options --disable-spellcheck ac_add_options --disable-windows-mobile-components CROSS_COMPILE=1 MIDL=/c/Program\ Files/Microsoft\ Visual\ Studio\ 9/VC/ce/bin/x86_arm/midl.exe ac_add_options --target=arm-wince ac_add_options --enable-win32-target=WINCE ac_add_options --enable-default-toolkit=cairo-windows ac_add_options --with-wince-sdk="c:/program files/windows ce tools/wce500/standardsdk_500"