Installation on Windows


Notes


Getting dependencies

  1. Get the following binary (and dev, if compiling) packages from GTK:

    • GLib
    • GTK+
    • Pango
    • ATK
    • cairo
    • zlib
    • win_iconv
    • gettext
    • libpng
    • libjpeg
    • libtiff

    This list will get shorter soon, but for now we use all of them to avoid problems.

    Download:

  2. Get OpenSSL

    Go to Shining Light Productions, and download the latest OpenSSL installer (the 7 MB file, not the redistributable or light version). Install it into a temporary folder on your desktop, for example. Choose to install binaries into that folder, too. You will need the bin, exp, include and lib subfolders in the next step. After 3), you can safely uninstall OpenSSL.

  3. Extract all GTK files and copy the OpenSSL files to a suitable place, such as a folder in your Documents:

    • XP: C:\Documents and Settings\<user>\My Documents\deps
    • Vista: C:\Users\<user>\Documents\deps

    After all, you should only have the bin, etc, include, lib, manifest, share and src folders in deps. The file hierarchy of the archives is proper except one: in zlib123-dll.zip copy zlib1.dll into bin instead of the root where it resides originally.

  4. PATH

    Set up your PATH environmental variable to include the bin subfolder of your dependency folder (with GTK+ and other libraries; deps from now).


Compiling the source

VS Trial

  1. Download and install the VS Trial

    • 32 bit: 'standard' install is okay
    • 64 bit: make sure to install as 'complete'
  2. Open the Visual Studio solution (freakschat.sln), and compile for your taste.

VS Express + Windows SDK

  1. Download and install the SDK

    • 32 bit: 'standard' install is okay
    • 64 bit: make sure to install as 'complete'

    Make sure to install the SDK before installing VS Express, otherwise you may face problems with IntelliSense.

  2. Download and install VS Express (SQL Server is not needed to build freakschat)

  3. Open the Visual Studio solution (freakschat.sln), and compile for your taste.

Please note that this WILL be the procedure to build freakschat. However, the solution file that comes with freakschat is not too usable at the moment. Till it gets finished, you can try to make it on your own. The bundled sln file might be a good skeleton, and saves you a few steps. The tutorial follows.


Creating a VS solution

  1. VS Project

    Create a new console application. Name it freakschat. Uncheck precompiled headers. In the solution's source folder (freakschat\freakschat) create three folders: common, fe-gtk, pixmaps. Copy the .c and .h files from the freakschat source into these, and then add them to your project. Also add vs-config.h, vs-dirent.h and vs-quirks.h to the root of your solution (where freakschat.sln resides, 2 levels higher than the other .c and .h files in their subfolders).

  2. Includes

    In VS, in the project properties page, under Configuration Properties / C/C++ / General / Additional Include Directories, enter:

    • deps\lib\gtk-2.0\include
    • deps\lib\glib-2.0\include
    • deps\include\pango-1.0
    • deps\include\libpng12
    • deps\include\gtk-2.0
    • deps\include\glib-2.0
    • deps\include\gail-1.0
    • deps\include\cairo
    • deps\include\atk-1.0
    • deps\include
  3. Under C/C++ / Preprocessor / Preprocessor Definitions, enter 'WIN32'.

  4. Under C/C++ / Advanced / Compile As, set to 'Compile As C Code (/TC)'.

  5. In Linker / General / Additional Library Directories enter 'deps\lib'.

  6. In Linker / Input / Additional Dependencies, enter:

    • gtk-win32-2.0.lib
    • atk-1.0.lib
    • gio-2.0.lib
    • gobject-2.0.lib
    • gdk_pixbuf-2.0.lib
    • gdk-win32-2.0.lib
    • pangowin32-1.0.lib
    • gdi32.lib
    • pangocairo-1.0.lib
    • pango-1.0.lib
    • cairo.lib
    • gmodule-2.0.lib
    • glib-2.0.lib
    • intl.lib
    • libeay32.lib
    • ssleay32.lib
    • ws2_32.lib
    • winmm.lib
  7. In Linker / System / SubSystem, set to 'Windows (/SUBSYSTEM:WINDOWS)'.

  8. F6 (Build).


Compiling PO files

  1. Download the GetText Win32 binaries and its dependencies, more precisely:

    • gettext-0.14.4-bin.zip
    • gettext-0.14.4-dep.zip
  2. Extract

    • libexpat.dll
    • libgettextlib.dll
    • libgettextsrc.dll
    • libiconv2.dll
    • libintl3.dll
    • msgfmt.exe

    to freakschat/po

  3. Run share/misc/compile-po.bat

The resulting files will be placed in po/locale.