This page explains how to compile Globulation 2 on windows using mingw.
Note: Globulation 2 does not compile with mingw gcc versions 3.2.3, 2.95.3-8 and 3.4.2. But don't worry, gcc version 3.3.1 works and is included in glob2_required_libs_mingw.tar.bz2.
Setting up mingw
| (Warning! For the first 3 steps, all install directories must be the exact same. Do not use spaces or capitals for the installation directory. For this guide, we will use the default c:\mingw) | 
- Next, download and install MSYS-1.0.10.exe in the same directory as MinGW (c:\mingw). At the end of the installation, it will ask you if you want to continue with the post-install. Select yes, and yes again when it ask if you have mingw installed. When it ask you to indicate the directory where it is installed, type in c:/mingw  (yes, with a forward slash as the program prefers it that way).
 
- And lastly, download and install msysDTK-1.0.1.exe in the same directory as mingw and msys (c:\mingw)
 
Compiling Prerequisites
- Double click the MSYS icon that has been placed on your desktop during MSYS's installation.
 
- Go in the directory where you put the glob2_required_libs_mingw.tar.bz2 (for example cd ~) and untar the libraries like this :
 
| tar jxf glob2_required_libs_mingw.tar.bz2 -C / | 
- Download boost c++ precompiled libraries :
 
- Manually install boost c++ with the following commands:
 
| tar zxf boost-1.33.1-mingw-bin.tar.gz | 
 
| mv boost/include/boost-1_33_1/boost /usr/include && mv boost/lib/* /usr/lib | 
- To allow the important command "make" to run, use the following command:
 
| mv /usr/bin/mingw32-make.exe /usr/bin/make.exe | 
Compiling Globulation 2
Compiling from released source code
- Download and extract the release to c:\mingw\home\XXX\ (where XXX is the username), then run:
 
| mv glob2-0.8.18 glob2_release | 
- Download Globulation 2 from cvs (as anonymous for example):
 
| export CVS_RSH="ssh" && cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/glob2 co glob2 | 
 
- In order for compiling to work properly, run the following commands:
 
| cp /usr/bin/SDL.dll /usr/bin/libvorbis-0.dll /usr/bin/libogg-0.dll /usr/bin/libvorbisenc-2.dll /usr/bin/libfreetype-6.dll . | 
 
| cp ../glob2_cvs/bootstrap . | 
 
| cp ../glob2_cvs/libgag/src/win32_dirent.h ./libgag/src/ | 
 
| cp ../glob2_cvs/libgag/src/win32_dirent.cpp ./libgag/src/ | 
- Open glob2_release/configure.in and find:
 
| CPPFLAGS="$CPPFLAGS $SDL_CFLAGS" | 
 
- and replace with:
 
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS -I/usr/include/freetype2" LDFLAGS="$LDFLAGS `sdl-config --libs` -lSDL_ttf" | 
- Now to start compiling globulation 2. Don't worry about the warnings. If something is wrong, it will grind to a halt and it will let you know why:
 
| ./bootstrap && ./configure && make | 
- To make the executable smaller in size, run the following command:
 
Compiling from CVS
- Download Globulation 2 from cvs (as anonymous for example):
 
| export CVS_RSH="ssh" && cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/glob2 co glob2 | 
- Before compiling glob2, run these commands:
 
| cp /usr/bin/SDL.dll /usr/bin/libvorbis-0.dll /usr/bin/libogg-0.dll /usr/bin/libvorbisenc-2.dll /usr/bin/libfreetype-6.dll . | 
- Open configure.in and find:
 
| CPPFLAGS="$CPPFLAGS $SDL_CFLAGS" | 
 
- and replace with:
 
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS -I/usr/include/freetype2" LDFLAGS="$LDFLAGS `sdl-config --libs` -lSDL_ttf" | 
- Now to start compiling globulation 2. Don't worry about the warnings. If something is wrong, it will grind to a halt and it will let you know why:
 
| ./bootstrap && ./configure && make | 
- To make the executable smaller in size, run the following command:
 
- Finally, to get the data, maps, and campaigns needed to play the game, run the following commands:
 
Testing Globulation 2 on windows
- Download glob2_windows_runtime.tar.bz2
 
- 
| tar jxf glob2_windows_runtime.tar.bz2 | 
 
- Copy the folders data/, maps/, and campaigns/ to glob2_runtime/
 
- Copy glob2.exe which is in the src directory (glob2/src/) to glob2_runtime/
 
- Run glob2.exe from the glob2_runtime directory and play :)