Building Thunderbird Mail
We are assuming you already know how to build the mozilla source. Alpha builds can be found on ftp.mozilla.org if you don't want to build Thunderbird yourself.
Thanks to some platform contributors, we now run on all three major platforms: windows, unix and Mach-o builds.
At this time we don't recommend using the same tree for Thunderbird and other Mozilla applications. Thunderbird replaces various mail and toolkit files in the chrome during the build process which would then leave the resulting JAR files incompatible with Mozilla Mail.
Pulling the Source
Development is currently occuring on the Mozilla trunk. In addition to a traditional mozilla build, we also pull two new directories: mozilla/toolkit and mozilla/mail. If you want to build the latest milestone instead of the trunk, the CVS tag to use is THUNDERBIRD_0_5_RELEASE. If you do not want to use CVS, you can download a source tarball for the latest 0.5 Milestone.
cvs co mozilla/client.mk
Before pulling the tree, set up your .mozconfig file to ensure several new modules are pulled. This file should be placed in your mozilla directory before pulling the Thunderbird source. Here is an example .mozconfig file which could be used to build a debug version of stand alone mail. You may wish to tailor these options to your specific needs. For instance, you may not wish to build stand alone mail with crypto.
# sh # Build configuration script # # See http://www.mozilla.org/build/unix.html for build instructions. # # # Typical Win32 build options for 'configure' (same as command-line options) ac_add_options --enable-crypto ac_add_options --disable-mathml ac_add_options --disable-installer ac_add_options --disable-activex ac_add_options --disable-activex-scripting ac_add_options --disable-tests ac_add_options --disable-oji ac_add_options --disable-necko-disk-cache # Note: remove enable-optmize and disable debug if you want a debug build ac_add_options --enable-optimize ac_add_options --disable-debug ac_add_options --disable-profilesharing ac_add_options --enable-extensions=wallet,spellcheck,xmlextras ac_add_options --enable-necko-protocols=http,file,jar,viewsource,res,data # Note: Only include icon for mac, windows and os2 ac_add_options --enable-image-decoders=icon,png,gif,jpeg,bmp export MOZ_THUNDERBIRD=1 mk_add_options MOZ_THUNDERBIRD=1 # Note: When building bits to distribute to other uses and not just a debug build, I also suggest # adding these flags. # export BUILD_OFFICIAL=1 # export MOZILLA_OFFICIAL=1 # mk_add_options BUILD_OFFICIAL=1 # mk_add_options MOZILLA_OFFICIAL=1
Now you are ready to pull the source:
cd mozilla make -f client.mk pull_all
Building the Source
Now, build the source just like you would build a seamonkey build.
make -f client.mk build_all
If your build breaks in mozilla/toolkit/components/console, during some JAR packaging, you may be running into Bug #206785 where the xul pre-processor is dying. A temporary work around is listed in the bug.
Running
When the build is complete, you should be left with dist\thunderbird\thunderbird.exe (for windows, otherwise dist\bin\thunderbird). It currently uses its own profile. Please check the Thunderbird Project page for the latest comments and suggestions about running Thunderbird.