Browse Source

Bug 1620789 Part 1
Merge branch 'staging'

Ian Neal 3 years ago
parent
commit
2fb648e8c9
1 changed files with 130 additions and 4 deletions
  1. 130 4
      src/dev/index.en.html

+ 130 - 4
src/dev/index.en.html

@@ -22,6 +22,11 @@ If you want to help, you can find some resources here.
 
 <ul class="toc">
 <li><a href="#development">Code Development</a></li>
+  <ul>
+    <li><a href="#prerequisites">Build Prerequisites
+    <li><a href="#source">Get the Source Code</a></li>
+    <li><a href="#building">Building SeaMonkey</a></li>
+  </ul>
 <li><a href="#l10n">Localization</a></li>
 <li><a href="#testing">Testing</a></li>
 <li><a href="#marketing">Marketing And Other Contributions</a></li>
@@ -43,10 +48,8 @@ Even though we are independent from
 <a href="http://www.mozilla.org/">Mozilla</a>, as we're based on the same
 framework as Firefox, most of the
 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide">mozilla.org developer pages</a>
-also apply to SeaMonkey, there's also content there that explains
-<a href="https://developer.mozilla.org/En/Developer_Guide/Source_Code/Getting_comm-central">how
-to get the comm-central source code</a>, which includes the current SeaMonkey
-development code.
+also apply to SeaMonkey. You will need to read the <a href="#source">source
+code</a> section for information on how to download all the relevant code.
 </p>
 
 <p>
@@ -75,6 +78,129 @@ tree status</a> 24 hours a day.
 </p>
 -->
 
+<h3 id="prerequisites">Build Prerequisites</h3>
+<p>
+You will need to complete the relevant instructions for preparing your OS for
+building SeaMonkey.
+</p>
+<ul>
+<li>Windows Build Prerequisites</li>
+<li>Linux Build Prerequisites</li>
+The following packages are required:<br>
+autoconf-2.13, python-2.7.18, nasm-2.15.x, rustc-1.47.0 (or 1.38.0 for 2.57), unzip-6.0 and zip-3.0<br><br>
+The following development packages are required:<br>
+alsa-lib, dbus-glib, GConf2, gtk+-2.24.x, gtk+-3.24.x, libXt, pulseaudio-libs and yasm-1.3.0<br><br>
+<li>macOS Build Prerequisites</li>
+</ul>
+
+<h3 id="source">Getting the Source Code</h3>
+<p>There are currently three branches being worked on:</p>
+<ul>
+<li><a href="#stable">2.53.x</a></li>
+<li><a href="#future">2.57</a></li>
+<li><a href="#central">Central</a></li>
+</ul>
+<h4 id="stable">2.53.x Branch</h4>
+<p>
+2.53.x is considered to be the stable branch, Betas and Releases come from
+here. Anything that lands on this branch, either has to be a stability/security
+fix or a backport from one of the other branches. Any new features need to have
+landed on the other two branches.
+</p>
+<p>
+The latest version of the released code can be downloaded using the following
+commands:
+</p>
+<pre><code>
+   git clone https://gitlab.com/seamonkey-project/seamonkey-2.53-mozilla.git mozilla-253<br>
+   cd mozilla-253<br>
+   git clone https://gitlab.com/seamonkey-project/seamonkey-2.53-comm.git comm
+   cd extensions<br>
+   hg clone https://hg.mozilla.org/chatzilla irc<br>
+   hg clone https://hg.mozilla.org/dom-inspector inspector<br>
+</code></pre>
+
+<h4 id="future">2.57 Branch</h4>
+<p>
+2.57 is potentially the next major release. Any new features need to land on
+this branch and not break building or running of SeaMonkey.
+</p>
+<p>
+The latest version of the code from this branch can be downloaded using the
+following commands:
+</p>
+<pre><code>
+   hg clone https://hg.mozilla.org/releases/mozilla-esr60/ mozilla-esr60<br>
+   cd mozilla-esr60<br>
+   hg clone https://hg.mozilla.org/releases/comm-esr60/ comm<br>
+   cd extensions<br>
+   hg clone https://hg.mozilla.org/chatzilla irc<br>
+   hg clone https://hg.mozilla.org/dom-inspector inspector<br>
+</code></pre>
+
+<h4 id="central">Central Branch</h4>
+<p>
+Central is the very latest code. There is frequent build bustage here from
+linked code but we try to keep it building. Work is ongoing to have the built
+code running but needs lots of work. Any new features need to land on this
+branch and not break building.
+</p>
+<p>
+The latest version of the code for the central branch can be downloaded using
+the following commands:
+</p>
+<pre><code>
+   hg clone https://hg.mozilla.org/mozilla-central/ mozilla-central<br>
+   cd mozilla-central<br>
+   hg clone https://hg.mozilla.org/comm-central/ comm<br>
+   cd extensions<br>
+   hg clone https://hg.mozilla.org/chatzilla irc<br>
+   hg clone https://hg.mozilla.org/dom-inspector inspector<br>
+</code></pre>
+
+<h3 id="building">Building SeaMonkey</h3>
+<p>
+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).
+</p>
+<pre><code>
+export CC=clang<br>
+export CXX=clang++<br>
+ac_add_options --enable-application=comm/suite<br>
+ac_add_options --enable-calendar<br>
+ac_add_options --enable-irc<br>
+ac_add_options --enable-dominspector<br>
+mk_add_options MOZ_OBJDIR=/path/to/objdir-sm253<br>
+ac_add_options --enable-optimize<br>
+ac_add_options --enable-js-shell<br>
+ac_add_options --enable-elf-hack<br>
+ac_add_options --disable-debug-symbols<br>
+ac_add_options --disable-tests<br>
+<br>
+# Disable checking that add-ons are signed by the trusted root<br>
+MOZ_ADDON_SIGNING=0<br>
+# Disable enforcing that add-ons are signed by the trusted root<br>
+MOZ_REQUIRE_SIGNING=0<br>
+<br>
+# Package js shell<br>
+export MOZ_PACKAGE_JSSHELL=1<br>
+</code></pre>
+<p>
+On the Linux platform you can also make use of ccache by adding to your
+.mozconfig file:
+</p>
+<pre><code>
+# Use ccache<br>
+ac_add_options --with-ccache=/usr/bin/ccache<br>
+</code></pre>
+<p>
+The build can then be started by typing the following command in the root of
+your source code:
+</p>
+<pre><code>
+./mach build<br>
+</code></pre>
+
 <h2 id="l10n">Localization</h2>
 
 <p>