SeaMonkey:hg-based build
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