Windows 32 Notes
================

The "freeglut" library installation package comes with MSVC 6.0 workspace and
project files.  The workspace "freeglut.dsw" has two projects:
"freeglut.dsp", which creates a DLL file, and "freeglut_static.dsp", which
creates a static library.

The "freeglut" library also comes with an Open Watcom compiler project file
"freeglut.wpj" and two target files "freeglut.tgt" and "freeglut_static.tgt".
The two target files build DLL and static libraries.  The Open Watcom also
includes "freeglut.rc", which is a resource compiler script to add a "Version"
tab to the DLL property sheet.


Building the Libraries with MSVC
================================

To build the "freeglut" libraries, open MSVC and load the "freeglut" workspace.
This will load the two projects.  Selecting "Build" - "Batch Build" from the
menu will build both the debug and the release versions of both libraries.

If building with VS2012, change the platform toolset to ''Visual Studio
2012 - Windows XP (v110_xp)'' in order to target Windows XP. Otherwise,
the binaries would be only supported on Windows Vista upwards.

The libraries will be found in the following places and will have the
following names:
- DLL, debug version:       freeglut\freeglut\Debug\freeglut.lib
- DLL, release version:     freeglut\freeglut\Release\freeglut.lib
- Static, debug version:    freeglut\freeglut\DebugStatic\freeglut_static.lib
- Static, release version:  freeglut\freeglut\ReleaseStatic\freeglut_static.lib

Starting with VS2008, both 32bit and 64bit builds are available.
These libraries can instead be found at:
32bit:
- DLL, debug version:       freeglut\freeglut\lib\x86\Debug\freeglut.lib
                            freeglut\freeglut\lib\x86\Debug\freeglut.dll
- Static, debug version:    freeglut\freeglut\lib\x86\Debug\freeglut_static.lib
- DLL, release version:     freeglut\freeglut\lib\x86\freeglut.lib
                            freeglut\freeglut\lib\x86\freeglut.dll
- Static, release version:  freeglut\freeglut\lib\x86\freeglut_static.lib

64bit:
- DLL, debug version:       freeglut\freeglut\lib\x64\Debug\freeglut.lib
                            freeglut\freeglut\lib\x64\Debug\freeglut.dll
- Static, debug version:    freeglut\freeglut\lib\x64\Debug\freeglut_static.lib
- DLL, release version:     freeglut\freeglut\lib\x64\freeglut.lib
                            freeglut\freeglut\lib\x64\freeglut.dll
- Static, release version:  freeglut\freeglut\lib\x64\freeglut_static.lib

Unlike the *nix release, the library names are NOT automatic replacements for
the GLUT library names.  You may rename them manually if you wish, but this is
not necessary as the header file includes a pragma telling the compiler which
library file to look for.


Installing the Libraries with MSVC
==================================

To install "freeglut" on your system so that your other projects will see it,
you will need to copy various files to various locations.

    - The header files "freeglut.h", "freeglut_ext.h", "freeglut_std.h", and
      "glut.h" (distributed in the directory "freeglut\freeglut\include\GL")
      need to be copied to a "GL" directory under the MSVC include directory.
      The MSVC include directory generally has a path similar to
              "C:\Program Files\Microsoft Visual Studio\VC98\Include"
      The "GL" subdirectory under that will probably already have the header
      files "gl.h", "glaux.h", and "glu.h".
    - The library file "freeglut.lib" or "freeglut_static.lib" (from the
      corresponding debug or release directory) needs to be copied into the
      MSVC library directory.  This usually has a path similar to
              "C:\Program Files\Microsoft Visual Studio\VC98\Lib"
      Note that there is no "GL" subdirectory here.  This directory should
      already have the files "opengl32.lib", "glu32.lib", and "glaux.lib".
    - If you are using the DLL version of "freeglut", the file "freeglut.dll"
      needs to be copied from the Debug or the Release directory into the
      DLL directory.  This usually has a path similar to
              "C:\Windows\System32"
      and will probably already have the files "opengl32.dll" and "glu32.dll".


Building and Installing the Libraries with Open Watcom
======================================================

Start a command prompt and change directory to the freeglut installation
directory.  Type "wmake -f Makefile.wat all" to build the DLL and static
libraries in both debug and release versions.

To install "freeglut" on your system so that your other projects will see it,
you will need to copy various files to various locations.

    - The header files "freeglut.h", "freeglut_ext.h", "freeglut_std.h", and
      "glut.h" (distributed in the directory "freeglut\freeglut\include\GL")
	  need to be copied to a "GL" directory under the Open Watcom 32-bit
	  Windows include directory.  This usually has a path similar to
			  "C:\WATCOM\h\nt\GL"
    - The library file "freeglut.lib" or "freeglut_static.lib" (from the
      corresponding debug or release directory) needs to be copied into the
	  Open Watcom 32-bit Windows library directory.  This usually has a path
	  similar to
			  "C:\WATCOM\lib386\nt"
    - If you are using the DLL version of "freeglut", the file "freeglut.dll"
      needs to be copied from the Debug or the Release directory into the
      DLL directory.  This usually has a path similar to
              "C:\Windows\System32"
      and will probably already have the files "opengl32.dll" and "glu32.dll".


Unlike the *nix release, the library names are NOT automatic replacements for
the GLUT library names.  You may rename them manually if you wish, but this is
not necessary as the header file includes a pragma telling the compiler which
library file to look for.


Building and Installing the Libraries with Cygwin
=================================================

To build "freeglut" under Cygwin, you have two choices:

- You can build a normal Cygwin library, which depends on Cygwin's X11
  libraries. To do this, you can just use the normal autotools incantation:
      ./configure && make install

- Alternatively, you can build a DLL which does not depend on X11 and links
  against the opengl32 DLL. To do this, configure need a few more flags:
      ./configure CPPFLAGS=-mno-cygwin LDFLAGS=-mno-cygwin --without-x && make install


If you don't have MSVC, Open Watcom or Cygwin
=============================================

The "freeglut" developers' community discussed the possibility of distributing
binaries and decided against it.  If you need Windows library files, please
contact John F. Fay at <john.fay@eglin.af.mil> or put a request on the
"freeglut" developers' mailing list <freeglut-developer@lists.sourceforge.net>.

