The files in this package are needed to compile spring with MinGW.
There are two ways of using/setting-up mingwlibs.
- The simple one (recommended for new users)
Have them in a folder named mingwlibs where you have extracted the spring source tarball or git repository. This way, SCons or CMake will automatically find the libs. Your directory structure should look like this:
AI/ Spring AI source code
game/ Output binaries go here
installer/ Scripts to build installer
rts/ Spring source code
mingwlibs/ This package!
mingwlibs/bin/ Executables
mingwlibs/dll/ Dynamic link libraries
mingwlibs/include/ Header files
mingwlibs/jlib/ Java libraries
mingwlibs/lib/ Native import libraries
- For multiple spring repositories
This is useful if you have multiple spring repositories, and you do not want to maintain mingwlibs separately for each of them, or if you simple want to keep it away from the spring sources.
Just extract the archive anywhere you want it, eg like this:
C:\mingwlibs\bin
C:\mingwlibs\dll
C:\mingwlibs\include
C:\mingwlibs\jlib
C:\mingwlibs\lib
For the spring build-system to find the libs, you have to specify them in the configure step like this:
SCons
scons configure mingwlibsdir=C:\mingwlibs [other-options...]
CMake
cmake -DMINGWLIBS=C:\mingwlibs [other-options...]
Also included is reimp_new.zip
, this contains reimp.exe
which has been
used to create MinGW32 import libraries for DevIL.dll
, ILU.dll
and ILUT.dll
:
reimp DevIL.dll
reimp ILU.dll
reimp ILUT.dll
This creates libdevil.a
, libilu.a
, libilut.a
and a number of .def
files.
You can throw away the .def
files and move the lib*.a
files to lib/
.
il.h
and ilu.h
contain constructs which do not compile on certain GCC
configurations so they have been fixed using the following command:
sed -i 's/(ILvoid)/()/g' mingwlibs/include/IL/{il.h,ilu.h}
Additionally il.h
specifies __declspec(dllimport) __attribute__(__stdcall__)
for its (and ILUs) functions, which causes (at least) GCC 4.3 to look for
undecorated functions in the import library, which it will not find.
This is solved by the following modification:
--- il.h.orig 2007-04-17 23:00:59.000000000 +0200
+++ il.h 2007-04-18 13:02:55.000000000 +0200
@@ -386,7 +386,7 @@
// This is from Win32s <wingdi.h> and <winnt.h>
#if defined(__LCC__)
#define ILAPI __stdcall
-#elif defined(_WIN32) //changed 20031221 to fix bug 840421
+#elif defined(_MSC_VER) //changed 20031221 to fix bug 840421
#ifdef IL_STATIC_LIB
#define ILAPI
#else
The original il.h
and ilu.h
are included too as il.h.orig
and ilu.h.orig
.
imagehlp.h
had an identical problem so it is included in this package. It
should be picked up automatically because of the order of the include paths,
ie. mingwlibs/include
takes precedence over %MINGDIR%/include
.
It can be found in from w32api-3.9
on http://www.mingw.org.
Download the latest boost sources archive.
The following instructions outline the basic procedure, and they worked for boost 1.42.0. Due to the nature of boost, it is very likely these steps will have to be adapted in-between versions.
Adjust and run <boost_crosscompile.sh>.
You should now have both the static libs and the headers of the new boost version in your mingwlibs dir, and are only left to do the git magic to commit, and optionally mention the new version in the list below.
-
GNU md5sum (PCP patchlevel 2) 1.22
This version has been modified as follows:
- Only ever use binary mode
- Be more liberal about line endings in files used by
--check
- Built-in Win32 file wildcard matching (globbing)
Source code changes are available from Bruce upon request.
-
GNU AWK 3.1.6
http://home.claranet.de/xyzzy/home/ltru/gawk-win.htm
This version does not depend on any dlls, and does not segfault like the official GNU
awk.exe
. -
7-Zip (A) 4.65 2009-02-03
-
Dos2Unix (ancient, pre 2000)
-
Boost 1.46.0
compiled by Auswaschbar, stripped down with:
> ./build/bin/bcp thread filesystem regex format ptr_container spirit algorithm date_time /tmp/boost_stripped
-
Devil 1.6.8-rc2 (even though the DLL properties say 1.6.5 ...)
http://prdownloads.sourceforge.net/openil/Devil-1.6.8-rc2-win-.zip?download
-
FreeType 2.3.5
http://gnuwin32.sourceforge.net/downlinks/freetype-bin-zip.php
http://gnuwin32.sourceforge.net/downlinks/freetype-lib-zip.php
(Index: http://gnuwin32.sourceforge.net/packages/freetype.htm)
Note: since v9 downgraded to 2.1.10.2079 again because the particular 2.3.5 that was included showed small misaligned fonts (works fine with 2.3.5 on linux.) Do not know where I originally downloaded 2.1.10.2079
-
GLEW
-
SDL 1.2.10
Use SDL 1.2.10 because SDL 1.2.{9,11,12} break keyboard layout.
-
Java Development Kit SE 1.6.0 update 10 headers and import library:
-
pandoc 1.8.1.2
-
Python 2.5.1
http://www.python.org/ftp/python/2.5.1/python-2.5.1.msi
(got
python25.dll
fromC:\Windows\System32
) -
Zlib 1.2.3
http://gnuwin32.sourceforge.net/downlinks/zlib-bin-zip.php
-
OpenAL Soft 1.11
http://kcat.strangesoft.net/openal.html
irc.freenode.net:6667 #OpenAL
-
Ogg/Vorbis/Vorbisfile
libogg-1.1.4
,libvorbis-1.2.3
compiled with mingw gcc 4.4.1
-
Java Vecmath (from Java 3D 1.5)
-
MS C Run-Time Libraries MSVCR71.dll
http://msdn.microsoft.com/en-us/library/abx4dbyh(VS.71).aspx
on that page, see: What is the difference between msvcrt.dll and msvcr71.dll?