# Subversion repository

The following applies for the entire the Courier mail server source code distribution, and sub-modules (the Courier IMAP server, sqwebmail, maildrop).

In order to build from the Subversion repository, you must have the following additional software installed:

1. `autoconf`.
2. `automake`.
3. `libtool`
4. `gettext`
5. `gmake`, of course.
6. sysconftool - this is an extra autoconf macro used by the Courier mail server's `configure.in` script (not needed, of course, to build `sysconftool` itself).
7. The following tools that convert Docbook XML to HTML and man page documentation: various Docbook DTDS, the "docbook-utils" tools, the "sgml-common/xml-common" package, which are conveniently aggregated in Red Hat's docbook-tools directory; Docbook XSL stylesheets; XHTML 1.0 XSL stylesheets; HTML 4.01 stylesheets; the Gnome XSLT library, and the current version of the tidy tool. NOTE: Most systems already include packages for all of these tools. It's rather unfeasible to try to assemble this entire toolkit yourself, find these packages and install them.

These additional dependencies are only required if building from Subversion, and not the packaged tarballs.

Subversion trunks:

- `https://courier.svn.sourceforge.net/svnroot/courier/trunk/courier/` - Entire Courier server

- `https://courier.svn.sourceforge.net/svnroot/courier/trunk/imap/` - The Courier-IMAP server

- `https://courier.svn.sourceforge.net/svnroot/courier/trunk/sqwebmail/` - The SqWebMail mail server

- `https://courier.svn.sourceforge.net/svnroot/courier/trunk/maildrop/` - maildrop

- `https://courier.svn.sourceforge.net/svnroot/courier/trunk/sox/` - The Socks 5 proxy server

- `https://courier.svn.sourceforge.net/svnroot/courier/trunk/sysconftool/` - Sysconftool

- `https://courier.svn.sourceforge.net/svnroot/courier/trunk/cone/` - Cone mail client

Run "`svn co` URL" to check out each package. Subversion 1.6 is required, the repository uses relative externals link in order to load modules that are shared between the different packages.

NOTE: Automatically-generated `configure` and `Makefile`, `libtool`, and `sysconftool` scripts are NOT stored in the repository, and you must build them yourself. Fortunately, it's very easy to do this. Simply run the following command after checking out any one of these modules:

        sh autobloat

The `autobloat` script automatically runs `automake`, `autoconf`, `libtool`, `sysconftool`, from the current directory.

NOTE: The "courier" module is the entire mail server. The other modules extract selected portions, with a different top-level makefile that builds a standalone package. You only need to obtain the `courier` module, to get the source code for the Courier mail server. See Introduction for more information.