In part 1, we installed the build tools. In part 2, we built Qt and the PostgreSQL libraries from source. In this part, let’s see how to use these to finally build the Manitou-Mail user interface.

The starting point is the set of sources as fetched from the SF.net subversion repository. The latest version can be checked out with for example, Tortoise SVN, as shown in this screenshot:

Source checkout with Tortoise

Source checkout with Tortoise

The difference between a source tarball and sources from the repository is mostly that the configure script and Makefile.in inside each directory are present in the tarball but not in the repository: these files are to be generated by autoconf and automake.

Here are the steps from the checkout of the source to getting the executable file:

1 - Make sure that Qt binaries are in the path: export PATH=/c/Qt/4.5.2/bin:$PATH

2 - Generate configure script and Makefile.in files:

aclocal
autoheader
autoconf
automake -a -c

3 - Configure: ./configure --with-pgsql-includes=/usr/local/pgsql/include --with-pgsql-libs=/usr/local/pgsql/lib

4 - Compile: make

The compilation produces the final executable, manitou.exe, in the src/ directory. While it’s possible to run make install at this point as we would do in an Unix environment, personally I don’t use it. This is because I just want to package the executable along with libraries inside an installer that is targeted at Windows systems that generally don’t have MSYS with its Unix-like filiesystem layout.

To package the Manitou-Mail interface for Windows along with the required Qt, PostgreSQL and MingW libraries into a self-contained installer program, I currently use NSIS. The current [NSIS script] (/wiki/doku.php/nsis_script) is available on the wiki.