-$Id: BUILDING,v 1.5 2014/06/30 02:23:32 mmondor Exp $
+$Id: BUILDING,v 1.6 2014/07/12 08:52:35 mmondor Exp $
NetBSD
WINDOWS
=======
-On Windows, to build tms-client you'll need to install cygwin as
-well as the cygwin-mingw cross-compiler. This system has advantages
-over using MSVC, like that no extra base C runtime libraries are
-needed to execute the resulting executable, that GCC does not suffer
-from some MSVC issues (like not supporting large static strings)
-and that a more standard build environment is provided.
+Previously to build tms-client we used the cygwin-mingw cross-compiler.
+Because Windows systems often need reinstalls, that the cygwin
+install procedure is tedious, and that cygwin no longer embeds the
+mingw cross-compiler (although a separate mingw cross-compiler is
+available as an option now), we now use a unix build host with a
+mingw32 cross-compiler.
+
+Using mingw rather than MS tools has several advantages: no extra
+base C runtime libraries are needed to execute the resulting
+executable, GCC does not suffer from some serious MSVC issues (like
+not supporting large static strings), and a more standard build
+environment can be used.
This however also means that you'll need mingw-built versions of
SDL, SDL_gfx, SDL_image, SDL_mixer, SDL_net, libvorbis, libogg and
libz. The tms-client GNUmakefile script expects those to have been
-installed under the /usr/local prefix by default. Although they may
-not be the latest versions, the following archive may be extracted
-once in your cygwin environment, using the command
+installed under $(PREFIX_OPT)/lib, with headers under
+$(PREFIX_OPT)/include, and expects to find the mingw cross compiling
+libraries and headers under $(PREFIX_PKG)/lib and $(PREFIX_PKG)/include
+by default. Although they may not be the latest versions, the
+following archive may be extracted once in your cygwin or unix
+cross-compiling environment, using the command
"cd / && tar xzvpf <archive>":
http://tms.pulsar-zone.net/cygwin-mingw-libs.tgz
-Go to the client/ directory, modify src/conf.h as necessary, then
-run "make".
+Go to the client/ directory, modify src/conf.h and GNUmakefile as
+necessary, then run "MINGW=yes gmake", or "MINGW=yes make" where
+the default make is GNUMake.
If distributing the client, make sure to also include the library
dependencies (listed above) in the same directory as the executable.