User:Sardisson/Building with mozilla-central

From Camino Wiki
< User:Sardisson
Revision as of 16:52, 30 October 2009 by Sardisson (talk | contribs) (→‎To do: add an item i thought was already listed :P)
Jump to navigation Jump to search

To start building Camino against Gecko 1.9.n, n>0, a number of basic build-config changes will be required.

Checkout and mozconfig

To get started, first pull mozilla-central (or mozilla-1.9.x) from Hg.

For mozilla-central that means: hg clone http://hg.mozilla.org/mozilla-central/ mozilla-central

Then pull mozilla/camino and mozilla/extensions/typeaheadfind from cvs into the Hg checkout (at the moment you can skip the typeaheadfind part of this step, because we are disabling typeaheadfind in confvars.sh since it doesn't build).

N.B. If you are building mozilla-central, you will need to adjust your .mozconfig to use gcc-4.2, Mac OS X 10.5 sdk, and a target of Mac OS X 10.5, the defaults on that branch. You should also add ac_add_options --disable-crashreporter to disable building the toolkit crash reporter, which doesn't build in the "10.6, gcc-4.2, 10.5sdk, 10.5 target" configuration; Bug 491774.

Build-config changes in mozilla/camino

  1. In camino/confvars.sh, comment out the MOZ_EXTENSIONS_DEFAULT=" typeaheadfind" line.
  2. In camino/build.mk, remove "embedding/config" from the "tier_app_dirs" rule
  3. Add a new file, camino/app-config.mk that looks like this but replaces all instances of SUITE with MACBROWSER
  4. In camino/Makefile.in
    1. Remove "flashblock", "pinstripe", and "striptease" from the "DIRS" variable.
      This disables flashblock, which will have to be disabled until it is made to use the new toolkit chrome manifests, and pinstripe, which will largely be obsolete but which will need to be adapted to do the new-style toolkit chrome override stuff for the app-license stuff.
      striptease's build will need fixing, or we'll need to switch installer/Makefile.in back to strip and lose Mac OS X crash reports (Firefox recently reverted their uber-strip in order to get useful OS crash reports and shark traces, so I think we want to fix striptease).
    2. Remove the following lines from the "libs::" rule:
      $(RSYNC_ALL) $(srcdir)/embed-replacements/ embed-replacements.tmp
      cd embed-replacements.tmp && \
       $(ZIP) -r0DX ../../dist/Embed/chrome/embed.jar *
      This disables embed-replacements, which will have to be reworked for the new toolkit jar structure, or turned into new-style toolkit chrome overrides along with the app-license stuff in pinstripe.

The above changes should allow you to make it into the xcodebuild phase of the Camino build; at this point, real errors should start appearing!

To do

  1. In camino/confvars.sh
    XXXtodo: See if we can set the app name to Camino
    XXXtodo: What other changes from hendy's confvars.sh are required to get the right Gecko build (e.g., MOZ_PLACES)
  2. mozconfig
    1. export MOZ_DEBUG_SYMBOLS for NSS (Bug 468701)
    2. ac_add_options --disable-crashreporter (we don't need it, and it doesn't build on 10.6 in certain configs, anyway)
    3. Figure out what other extraneous parts of toolkit/ we can leave out (e.g., alerts, updater)