Cross Compiling SpringLobby for Windows in Linux

You should not need to do this, but I document it just in case. These instructions work for my system, but YMMV, so you should know your shell and your configures to do this. This is what I do for the automatically generated windows binaries:

Installing a Cross Compiler

In debian (maybe ubuntu too), you can do the following:

sudo aptitude install mingw32 mingw32-binutils mingw32-runtime

Installing Cross Compiled WxWidgets

cd /tmp
wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.7.tar.bz2
tar xjf wxWidgets-2.8.7.tar.bz2
cd wxWidgets-2.8.7
mkdir mybuild
cd mybuild
../configure --enable-unicode --host=i586-mingw32msvc --build=i586-linux --prefix=/tmp/wx-cross-test
make
make install

Make sure you get a configure summary like the following:

Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'

  Which GUI toolkit should wxWidgets use?                 msw
  Should wxWidgets be compiled into single library?       no
  Should wxWidgets be compiled in debug mode?             no
  Should wxWidgets be linked as a shared library?         yes
  Should wxWidgets be compiled in Unicode mode?           yes
  What level of wxWidgets compatibility should be enabled?
                                       wxWidgets 2.4      no
                                       wxWidgets 2.6      yes
  Which libraries should wxWidgets use?
                                       jpeg               builtin
                                       png                builtin
                                       regex              builtin
                                       tiff               builtin
                                       zlib               builtin
                                       odbc               no
                                       expat              builtin
                                       libmspack          no
                                       sdl                no

If you did not get any summary, fix what ever errors configure gave you and retry configure.

Cross Compiling SpringLobby

Go and download a source tarball or use your git repo.

Then, inside the project root dir, do:

mkdir build-mingw
cd build-mingw
../configure --build=i686-pc-linux-gnu --host=i586-mingw32msvc --with-wx-config=/var/lib/buildbot/lib/mingw/wx/2.8/bin/wx-config --prefix=/tmp/springlobby-cross-test
make
make install

You might want to substitute install with install-strip, or otherwise the binary is bloated by symbols.

Copying DLLs

From your installed cross wx in /tmp/wx-cross-test, copy over any .dll file that is required to launch springlobby. You can check which ones are necessary by trying to run springlobby in wine, and see which dlls it complains about.