COMPILING GNU GO ON MICROSOFT PLATFORMS GNU Go is being developed on Unix variants. GNU Go is easy to build and install on those platforms. GNU Go 3.2 has support for building on MS-DOS, Windows 3.x, Windows NT/2000 and Windows 95/98. There are two approaches to building GNU Go on Microsoft platforms. 1) The first approach is to install a Unix-like environment based on ports of GCC to Microsoft platforms. This approach is fully supported by the GNU Go developers and works well. Several high quality free Unix-environments for Microsoft platforms are available. One benefit of this approach is that it is easier to participate in Gnu Go's development. These unix environments come for instance with the `diff' and `patch' programs necessary to generate and apply patches. Another benefit of the unix environments is that development versions (which may be stronger than the latest stable version) can be built too. The supporting files for VC are not always actively worked on and consequently are often out of sync for development versions, so that VC will not build cleanly. 2) The second approach is to use compilers such as Visual C developed specially for the Microsoft platform. Presently we support Visual C through the project files which are supplied with the distribution. The rest of this document gives more details on the various ways to compile GNU go for Microsoft platforms. 1. Using free Unix-environments and GCC * A) Windows 95/98, MS-DOS and Windows 3.x using DJGPP * B) Windows NT, Windows 95/98 using Cygwin * C) Windows NT, Windows 95/98 using MINGW32 2. Visual C: * D) Windows NT, Windows 95/98 using Visual C and project files A) Windows 95/98, MS-DOS and Windows 3.x using DJGPP On these platforms DJGPP can be used. GNU Go installation has been tested in a DOS-Box with long filenames on Windows 95/98. GNU Go compiles out-of-the box with the DJGPP port of GCC using the standard Unix build and install procedure. Some URLs for DJGPP: DJGPP home page: DJGPP ftp archive on simtel: Once you have a working DJGPP environment and you have downloaded the gnugo source available as gnugo-3.2.tar.gz you can build the executable as follows: tar zxvf gnugo-3.2.tar.gz cd gnugo-3.2 ./configure make Optionally you can download glib for DJGPP to get a working version of snprintf. B) Windows NT, Windows 95/98 using Cygwin On these platforms the Cygwin environment can be installed. Recent versions of Cygwin install very easily with the setup program available from the cygwin homepage. (). GNU Go compiles out-of-the box using the standard Unix build procedure on the Cygwin environment. After installation of cygwin and fetching `gnugo-3.2.tar.gz' you can type: tar zxvf gnugo-3.2.tar.gz cd gnugo-3.2 ./configure make The generated executable is not a stand-alone executable: it needs cygwin1.dll that comes with the Cygwin environment. cygwin1.dll contains the emulation layer for Unix. Cygwin Home page: Optionally you can use glib to get a working version of snprintf. Glib builds out of the box on cygwin. C) Windows NT, Windows 95/98 using MINGW32 The Cygwin environment also comes with MINGW32. This generates an executable that relies only on Microsoft DLLs. This executable is thus completely comparable to a Visual C executable and easier to distribute than the Cygwin executable. To build on cygwin an executable suitable for the win32 platform type the following at your cygwin prompt: tar zxvf gnugo-3.2.tar.gz cd gnugo-3.2 env CC='gcc -mno-cygwin' ./configure make D) Windows NT, Windows 95/98 using Visual C and project files 1) Open the VC++ 6 workspace file gnugo.dsw 2) Set the gnugo project as the active project (right-click on it, and select "Set as Active Project". Select 'Build' from the main menu, then select 'Build gnugo.exe', this will make all of the runtime subprojects. Notes: a) The build can also be done from the command line: msdev gnugo.dsw /make "gnugo - Win32 Release" b) The default configuration is 'Debug', build the optimized version by selecting 'Build' from the main menu , then select 'Set active Configuration' and click on 'gnugo - Win32 Release'. See the Visual Studio help for more on project configurations. c) A custom build step in the first dependent subproject (utils) copys config.vc to config.h in the root directory. If you want to modify config.h, copy any changes to config.vc. In particular if you want to change the default level or default cache size, whose significance is discussed in INSTALL, you must edit this file. d) This project was built and tested using VC version 6.0. It can be successfully converted to Visual Studio.NET. However, you may not rebuild all in .NET. .NET cleans each project as it builds on a rebuild, whereas in 6.0, all projects were cleaned at the beginning. This caused some intermediate output to be deleted by later build steps. To achieve the same, simply build clean, then build all. Running GNU Go on Windows NT and Windows 95/98 GNU Go does not come with its own graphical user interface. The Java client jago can be used. To run Jago you need a Java Runtime Environment (JRE). This can be obtained from http://www.javasoft.com/. This is the runtime part of the Java Development Kit (JDK) and consists of the Java virtual machine, Java platform core classes, and supporting files. The Java virtual machine that comes with I.E. 5.0 works also. Jago: 1) Invoke GNU Go with `gnugo --quiet --mode gmp' 2) Run `gnugo --help' from a cygwin or DOS window for a list of options 3) optionally specify `--level ' to make the game faster Jago works well with both the Cygwin and Mingw32 executables. The DJGPP executable also works, but has some problems in the interaction with jago after the game has been finished and scored.