[Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows
no-reply_wiki at metalforge.org
no-reply_wiki at metalforge.org
Thu May 20 12:25:36 CDT 2010
A page in your DokuWiki was added or changed. Here are the details:
Date : 2010/05/20 12:25
User : cavehippo
Edit Summary: make there be a table of contents
@@ -1,13 +1,13 @@
- ===== Cross Compiling for Windows =====
+ ====== Cross Compiling for Windows ======
This assumes that you want to cross-compile a client for use on windows from a *nix system, and will describe the steps to do so.
This is in no way a sensible or correct way to do this, I'm merely describing an approach that works.
Parts of this are taken from [[http://live.gnome.org/GTK%2B/Win32/Apps]] which is a helpful starting point
- === Setup build environment ===
+ ===== Setup build environment =====
You want mingw32. If you are using a debian-like system, then the packages are mingw32, mingw32-binutils & mingw32-runtime
Note that the version of mingw32-binutils that ships with lenny (2.18.50) seems to be broken, so go with the version from squeeze (or later) (ie, 2.20+)
@@ -21,9 +21,9 @@
PKG_CONFIG_PATH=/usr/i586-mingw32msvc/lib/pkgconfig pkg-config $*
</code>
- === Get the GTK libraries ===
+ ===== Get the GTK libraries =====
You will need the gtk libraries, fortunately there is a all-in-one bundle available from [[http://www.gtk.org/download-windows.html]]
unzip this somewhere convenient.
Now, there are a number of subfolders that have just been extracted.
@@ -32,9 +32,9 @@
Everything in include should go to /usr/i586-mingw32msvc/include
Everything else you can ignore.
- === Other Libraries ===
+ ===== Other Libraries =====
There are lots of other libraries you need, I don't even know what a minimal set is any more.
At a minimum, you will need
* libglade
@@ -54,9 +54,9 @@
As a special case, sdl_config (from the sdl package) goes in bin.
Also, you will need a copy of SDL.dll in the client directory, this is because the configure script runs an SDL test program which fails if the dll isn't available.
- === Tidying up ===
+ ===== Tidying up =====
some special command line voodoo:
<code>
@@ -67,9 +67,9 @@
</code>
After all this, be sure that you can read all of the files under /usr/i586-mingw32msvc otherwise compilation will break.
- === Configuring ===
+ ===== Configuring =====
You will need to create a configure script if you don't have one already, try running
<code>
./autogen.sh --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc
@@ -105,9 +105,9 @@
</code>
You have a Makefile now, so run make.
- === Compilation ===
+ ===== Compilation =====
You may well see errors here, bodge the source code until they go away.
At the time of writing, the SVN client compiles cleanly, as long as -DMINGW is passed when compiling gtk-v2/src/config.c
@@ -140,9 +140,9 @@
if (reload) {
</code>
- === Linking ===
+ ===== Linking =====
All being well, it will compile the c code and fail dismally in the linker step.
That's ok, we didn't pass the right configure-time options to link it properly anyway.
@@ -185,13 +185,13 @@
* libxml2.dll
and add more if you need them, keep going until a windows system can actually run the binary from gtk-v2/src.
- === Client Images ===
+ ===== Client Images =====
The windows package is distributed with the client image files already included, for the unix clients, this is a separate package.
download the latest crossfire-client-images-x.y.z.tar.gz file from sourceforge, and untar into gtk-v2/src, this will ensure that they are included in the package.
- === Making the package ===
+ ===== Making the package =====
Finally....
Install nsis, on a debian-like system the package is called nsis
IP-Address : 81.141.58.188
Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274375582
New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows
--
This mail was generated by DokuWiki at
http://wiki.metalforge.net/
More information about the crossfire-wiki
mailing list