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.
