Archives

Windows developement environment, final part

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 is available on the wiki.

Share:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • E-mail this story to a friend!
  • Reddit
  • FriendFeed
  • RSS

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">