SeaMonkey Building & Source Code

Even though we are independent from Mozilla, as we're based on the same framework as Firefox, most of the developer pages also apply to SeaMonkey. You will need to read the source code section for information on how to download all the relevant code.

For getting into contact with the SeaMonkey development community, for example if you want to help us and have questions, try the development group/list and IRC chat as listed on the community page.

The SeaMonkey project and source code is divided into several areas, we have a list of SeaMonkey project areas available that also contains people ("owners" and "peers") responsible for those.

If you have already submitted patches to Bugzilla, you might be interested in our review and flag policies that apply to such patches.

Build Prerequisites

You will need to complete the relevant instructions for preparing your OS for building SeaMonkey.

Getting the Source Code

There are currently two branches being worked on:

2.53.x repo Branches

2.53.x is considered to be the stable repo. It contains branches from which Betas and Releases are build from. Anything that lands in this repo needs to be tested in a prerelease version first. Any changes for the suite directory will land on the central branch first too. There are a few exceptions for code which will never be usable in the upstream version later but these are decided on a per case base by the build peers.

The latest version of the released code can be downloaded using the following commands:

   git clone mozilla-253
cd mozilla-253
git clone comm

Make sure you download from the latest branch here. The master version is incomplete and needs additional changes because of ongoing backports from upstream.

Central Branch

Central is the very latest code. The builds from this branch are currently not working but we try to keep it building. Work is ongoing to have the built code running in the future but needs lots of work. Any new features need to land on this branch and not break building.

The latest version of the code for the central branch can be downloaded using the following commands:

   hg clone mozilla-central
cd mozilla-central
hg clone comm

Building SeaMonkey

Once you have downloaded the source code, you can move onto building SeaMonkey. You will need to create a basic .mozconfig file in the root of your source code (e.g. in mozilla-253).

export CC=clang
export CXX=clang++
ac_add_options --enable-application=comm/suite
ac_add_options --enable-calendar
ac_add_options --enable-irc
ac_add_options --enable-dominspector
mk_add_options MOZ_OBJDIR=/path/to/objdir-sm253
ac_add_options --enable-optimize
ac_add_options --enable-js-shell
ac_add_options --enable-elf-hack
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests

# Disable checking that add-ons are signed by the trusted root
# Disable enforcing that add-ons are signed by the trusted root

# Package js shell

On the Linux platform you can also make use of ccache by adding to your .mozconfig file:

# Use ccache
ac_add_options --with-ccache=/usr/bin/ccache

The build can then be started by typing the following command in the root of your source code:

./mach build

Note DOM Inspector is only available in 2.53.x. Calendar and irc are integrated in the central builds so the relevant lines need to be removed from your .mozconfig file when building the central branch. If you want to contribute to SeaMonkey we recommend to skip building central for now.