README for Windows port of LibGII.
Created: 8 Jul 2001 by John Fortin (fortinj@attglobal.net)
Updated: 2 Nov 2004 by Peter Ekberg (peda@lysator.liu.se)


Quick Installation Guide for Cygwin
===================================

I) Software needed:

	- Cygwin for Win32 (www.cygwin.com)
	    (Installing all packages from setup.exe is perhaps overkill, but
	     will work. A minimum set of needed packages has not been
	     determined at the time of this writing)
	- DirectX headers (optional)

	The DirectX headers are optional, but needed for the directx target
	to work. You can get the headers from
	http://www.lysator.liu.se/~peda/directx-headers/
	Follow the installation instructions inside the tarball.

II) Installing from CVS:

	If you have a release of libgii (or a snapshot) you can skip ahead to
	section III.

	You'll need the development series of autotools, i.e. the two packages
	automake-devel and autoconf-devel. I have installed the autotools
	wrapper scripts (i.e. the automake and autoconf packages), and this
	guide assumes the wrapper scripts are present. Install the needed
	packages from the Cygwin install.

	Note, use UNIX style text files in Cygwin and the cvs program provided
	by Cygwin. If you want use some Win32 native version of cvs (such as
	wincvs), it is likely to use DOS style text files, in which case Cygwin
	needs to use that as well. Using DOS style text files in Cygwin might
	break things in mysterious ways, so you're on your own if you use them.

	Now generate the configure script with:

	  WANT_AUTOMAKE_VER=1.8.5 WANT_AUTOCONF_VER=2.59 ./autogen.sh

	The version numbers for WANT_AUTOMAKE_VER and WANT_AUTOCONF_VER can be
	determined by running automake and autoconf with the --version switch.
	Use the latest available versions.

III) Compilation:

	From the libgii directory, issue the following commands:

	  ./configure --prefix=/usr
	  make
	  make install

	The core libgii dlls will be installed into /usr/bin, import libraries
	into /usr/lib and headers into /usr/include/ggi. Target libraries will
	be installed into /usr/lib/ggi and the configuration into /usr/etc/ggi.

IV) Notes:

	- libgii must be built and installed prior to building libggi
	- The input-directx target cannot be used without libGGI
	- The configure script sometimes terminates early due to bash bugs.
	  Try again if you get this or a similar error:
	  configure: error: invalid package name: extra-includes
	  The bash people are informed of the problem.
	- The file C:\foo can by default be accessed as /cygdrive/c/foo
	- Avoid building in a directory with spaces such as
	  /cygdrive/c/Documents and Settings/username.



Quick Installation Guide for MinGW
==================================

I) Software needed:

	- MSYS and MinGW (http://www.mingw.org/)
	- DirectX headers

	You can get the DirectX headers from
	http://www.lysator.liu.se/~peda/directx-headers/
	Follow the installation instructions inside the tarball.

II) Installing from CVS:

	If you have a release of libgii (or a snapshot) you can skip ahead to
	section III.

	You'll need to somehow generate the configure script when installing
	from CVS. It is not unlikely that the msys-automake and msys-autoconf
	packages can be used to generate the configure script, but that is
	untested at the time of this writing. What has been tested is to
	generate the configure script on Cygwin (or any decent unix). See the
	Quick Installation Guide for Cygwin for details.

III) Compilation:

	From the libgii directory, issue the following commands:

	  ./configure --prefix=/usr LDFLAGS="-Wl,--enable-auto-import
	  	-Wl,--enable-runtime-pseudo-reloc"
	  make
	  make install

	The core libgii dlls will be installed into /usr/bin, import libraries
	into /usr/lib and headers into /usr/include/ggi. Target libraries will
	be installed into /usr/lib/ggi and the configuration into /usr/etc/ggi.

IV) Notes:

	- libgii must be built and installed prior to building libggi
	- The input-directx target cannot be used without libGGI
	- If MSYS was installed in c:\msys\1.0, you need to look in the
	  folders below that to find the generated files. Beware that
	  MSYS by default maps /usr to /. E.g. the core dlls can by
	  default be found in c:\msys\1.0\bin (and not the expected
	  c:\msys\1.0\usr\bin).
	- The file C:\foo can by default be accessed as /c/foo in MSYS.
	- The default MSYS shell (sh in rxvt) does not grab data on standard
	  output from the child process unless it explicitly flushes the
	  file descriptor (it should be enough to write a newline). Demo
	  programs that writes to stdout might appear to not work, when they
	  in fact work perfectly fine. Try to run them at the windows command
	  prompt instead.
	  http://sourceforge.net/tracker/index.php?func=detail&aid=946191&group_id=2435&atid=102435
	- Avoid building in a directory with spaces such as
	  /c/Documents and Settings/username.
