Free and Open Source real time strategy game with a new take on micro-management

Mingw compilation

From Globulation2

Revision as of 09:16, 15 April 2007 by K776 (talk | contribs)
Jump to: navigation, search

This page explains how to compile Globulation 2 on windows using mingw.


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 :
wget http://viral.media.mit.edu/releases/boost-1.33.1-mingw-bin.tar.gz
  • 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
  • Download latest gcc libraries :
wget http://downloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz
wget http://downloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz
  • Manually install gcc with the following commands:
tar zxf gcc-core-3.4.5-20060117-1.tar.gz -C /
tar zxf gcc-g++-3.4.5-20060117-1.tar.gz -C /
  • 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.xx glob2_release
  • 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"
  • In the same file, find:
LIBS="$LIBS -logg -lwsock32"
and replace with:
LIBS="$LIBS -logg -lwsock32 /lib/libvorbisfile.a /lib/libvorbis.a /lib/libogg.a"
  • In order for compiling to work properly, open the mingw console, and run the following commands:
cd glob2_release
(note there is a . at the end of the following command)
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 .
wget http://cvs.savannah.nongnu.org/viewcvs/*checkout*/glob2/glob2/bootstrap
  • 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:
strip ./src/glob2.exe

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
  • Open glob2/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"
  • In the same file, find:
LIBS="$LIBS -logg -lwsock32"
and replace with:
LIBS="$LIBS -logg -lwsock32 /lib/libvorbisfile.a /lib/libvorbis.a /lib/libogg.a"
  • Before compiling glob2, run these commands from the mingw console:
cd glob2
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 .
  • 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:
strip ./src/glob2.exe
  • Finally, to get the data, maps, and campaigns needed to play the game, run the following commands:
./syncdata
./syncmaps


Testing Globulation 2 on windows

  • Download glob2_windows_runtime.tar.bz2
wget http://globulation2.org/dev/glob2_windows_runtime.tar.bz2
  • Extract it with :
tar jxf glob2_windows_runtime.tar.bz2
  • Copy the folders data/, maps/, and campaigns/ and the file AUTHORS to glob2_runtime/, overwriting any existing files
  • Copy glob2.exe which is in the src directory (glob2/src/) to glob2_runtime/
  • Run glob2.exe from the glob2_runtime directory and play :)
Misc