SeaMonkey:hg-based build

From MozillaWiki
Revision as of 18:08, 9 June 2008 by KaiRo (talk | contribs)
Jump to navigation Jump to search

Based on the SeaMonkey/1.9.1_Repository_Options, I figured out how to build with the "option A" listed there, for now with the source that is not part of mozilla-central pulled from the old cvs repository.

building SeaMonkey

  • pull mozilla-central into mozilla/
  • pull from CVS: suite/
  • pull from CVS: mailnews/
  • pull from CVS: extensions/[irc|typeaheadfind|venkman|wallet|xml-rpc] - symlink them into mozilla/extensions
  • pull from CVS: directory/ - symlink into mozilla/
  • mozconfig: --enable-application=../suite
  • mozconfig: mk_add_options MOZ_OBJDIR=/path/to/objdir/mozilla (note the "mozilla" at the end!)
  • suite/build.mk: prefix mailnews/ and suite/ with ..
  • suite/makefiles.sh: prefix all suite/ directories in add_makefiles with "../"
  • mailnews/makefiles.sh: prefix all mailnews/ directories in add_makefiles with "../"
  • suite/confvars.sh: add the following line before MOZ_APP_VERSION (line 47) (without indentation):
   SEAMONKEY_VERSION=`cat $topsrcdir/../suite/config/version.txt`
  • suite/app-config.mk: create this file, containing the following lines (without indentation):
   MOZ_SUITE = 1
   SEAMONKEY_VERSION = $(MOZ_APP_VERSION)
   DEFINES += -DMOZ_SUITE=1
  • mozilla/toolkit/toolkit-makefiles.sh: move mailnews block at line 913 to suite/makefiles.sh line 38
  • cd mailnews/; sed -i 's/^DEPTH.*\.\.$/&\/mozilla/g' `find . -name Makefile.in`
  • cd suite/; sed -i 's/^DEPTH.*\.\.$/&\/mozilla/g' `find . -name Makefile.in`
  • suite/debugQA/locales/Makefile.in: after inclusion of config.mk, add the following two lines (without indentation):
   # HACK: make the locale expansion not insert the mozilla/ subdir for en-US
   EXPAND_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/../$(1)/en-US,$(topsrcdir)/../l10n/$(AB_CD)/$(subst /locales,,$(1)))
  • suite/locales/Makefile.in: same hack as for suite/debugQA/locales/Makefile.in, and add another line:
   EXPAND_LOCALE_SRCDIR_PLATFORM = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/$(1)/en-US,$(topsrcdir)/../l10n/$(AB_CD)/$(subst /locales,,$(1)))
  • still suite/locales/Makefile.in: change line 163 to use that additional expansion macro
  • suite/build/Makefile.in: in the LOCAL_INCLUDES starting in line 74, add a ../ between $(topsrcdir)/ and suite/

build using

export MOZCONFIG=/path/to/mozconfig
cd mozilla
gmake -f client.mk build

for tests

  • mailnews/imap/test/Makefile.in: in the LOCAL_INCLUDES line 74, add a ../ between $(topsrcdir)/ and mailnews/
  • mailnews/base/test/unit/head_mailbase.js: prefix "mailnews" directory with a "../"
  • mailnews/db/msgdb/test/unit/head_maildb.js: prefix "mailnews" directory with a "../"
  • mailnews/db/msgdb/test/unit/test_maildb.js: prefix "mailnews" directory with a "../"
  • mailnews/news/test/unit/head_server_setup.js: prefix "mailnews" directory with a "../"
  • mailnews/news/test/unit/test_server.js: prefix "mailnews" directory with a "../" in line 104
  • mailnews/local/test/unit/head_maillocal.js: prefix "mailnews" directory with a "../"
  • mailnews/compose/test/unit/head_compose.js: prefix "mailnews" directory with a "../"
  • mailnews/compose/test/unit/test_sendMailMessage.js: prefix "mailnews" directory with a "../" in line 20
  • mailnews/compose/test/unit/test_nsMsgCompose1.js: prefix "mailnews" directory with a "../" in lines 7,49,54
  • mailnews/addrbook/test/unit/head_addrbook.js: prefix "mailnews" directory with a "../"
  • mailnews/addrbook/test/unit/test_cardForEmail.js: prefix "mailnews" directory with a "../" in line 13
  • mailnews/addrbook/test/unit/test_mailList1.js: prefix "mailnews" directory with a "../" in line 35
  • mailnews/addrbook/test/unit/test_nsIAbCard.js: prefix "mailnews" directory with a "../" in line 14
  • mailnews/extensions/bayesian-spam-filter/test/unit/head_bayes.js: prefix "mailnews" directory with a "../"
  • mailnews/extensions/bayesian-spam-filter/test/unit/test_bug228675.js: prefix "mailnews" directory with a "../" in lines 41,155

additional changes to build Thunderbird

  • pull from CVS: mail/
  • mozconfig: --enable-application=../mail
  • mozconfig: mk_add_options MOZ_OBJDIR=/path/to/objdir/mozilla (again, note the "mozilla" at the end!)
  • cd mail/; sed -i 's/^DEPTH.*\.\.$/&\/mozilla/g' `find . -name Makefile.in`
  • mail/build.mk: prefix mailnews/ and mail/ with ..
  • mail/makefiles.sh: add removed mailnews block from mozilla/toolkit/toolkit-makefiles.sh line 913 at line 38
  • mail/makefiles.sh: prefix all mail/ directories in add_makefiles with "../"
  • mail/confvars.sh: add the following line before MOZ_APP_VERSION (line 55) (without indentation):
   THUNDERBIRD_VERSION=`cat $topsrcdir/../mail/config/version.txt`
  • mail/app-config.mk: create this file, containing the following lines (without indentation):
   MOZ_THUNDERBIRD = 1
   THUNDERBIRD_VERSION = $(MOZ_APP_VERSION)
   DEFINES += -DMOZ_THUNDERBIRD=1
  • mail/locales/Makefile.in: after inclusion of config.mk, add the following two lines (without indentation):
   # HACK: make the locale expansion not insert the mozilla/ subdir for en-US
   EXPAND_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/../$(1)/en-US,$(topsrcdir)/../l10n/$(AB_CD)/$(subst /locales,,$(1)))
   EXPAND_LOCALE_SRCDIR_PLATFORM = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/$(1)/en-US,$(topsrcdir)/../l10n/$(AB_CD)/$(subst /locales,,$(1)))
  • still mail/locales/Makefile.in: change line 132 to use the latter expansion macro; prefix "mailnews" in line 104 with "../"
  • mail/base/jar.mn: replace /mailnews/ with /../mailnews/ (right-hand side)
  • mail/components/compose/jar.mn: replace /mailnews/ with /../mailnews/ (right-hand side)
  • mail/components/preferences/jar.mn: replace /mailnews/ with /../mailnews/ (right-hand side)
  • mail/components/addrbook/jar.mn: replace /mailnews/ with /../mailnews/ (right-hand side)
  • mail/extensions/smime/jar.mn: replace /mailnews/ with /../mailnews/ (right-hand side)
  • mail/app/Makefile.in: insert ../ between $(topsrcdir)/ and mail/ in line 52