Splitting a little Windows-specific menu code into its own file
[freeglut] / README.win32
1 Windows 32 Notes
2 ================
3
4 The "freeglut" library installation package comes with MSVC 6.0 workspace and
5 project files.  The workspace "freeglut.dsw" has two projects:
6 "freeglut.dsp", which creates a DLL file, and "freeglut_static.dsp", which
7 creates a static library.
8
9 The "freeglut" library also comes with an Open Watcom compiler project file
10 "freeglut.wpj" and two target files "freeglut.tgt" and "freeglut_static.tgt".
11 The two target files build DLL and static libraries.  The Open Watcom also
12 includes "freeglut.rc", which is a resource compiler script to add a "Version"
13 tab to the DLL property sheet.
14
15
16 Building the Libraries with MSVC
17 ================================
18
19 To build the "freeglut" libraries, open MSVC and load the "freeglut" workspace.
20 This will load the two projects.  Selecting "Build" - "Batch Build" from the
21 menu will build both the debug and the release versions of both libraries.
22
23 The libraries will be found in the following places and will have the
24 following names:
25 - DLL, debug version:       freeglut\freeglut\Debug\freeglut.lib
26 - DLL, release version:     freeglut\freeglut\Release\freeglut.lib
27 - Static, debug version:    freeglut\freeglut\DebugStatic\freeglut_static.lib
28 - Static, release version:  freeglut\freeglut\ReleaseStatic\freeglut_static.lib
29
30 Starting with VS2008, both 32bit and 64bit builds are available.
31 These libraries can instead be found at:
32 32bit:
33 - DLL, debug version:       freeglut\freeglut\lib\x86\Debug\freeglut.lib
34                             freeglut\freeglut\lib\x86\Debug\freeglut.dll
35 - Static, debug version:    freeglut\freeglut\lib\x86\Debug\freeglut_static.lib
36 - DLL, release version:     freeglut\freeglut\lib\x86\freeglut.lib
37                             freeglut\freeglut\lib\x86\freeglut.dll
38 - Static, release version:  freeglut\freeglut\lib\x86\freeglut_static.lib
39
40 64bit:
41 - DLL, debug version:       freeglut\freeglut\lib\x64\Debug\freeglut.lib
42                             freeglut\freeglut\lib\x64\Debug\freeglut.dll
43 - Static, debug version:    freeglut\freeglut\lib\x64\Debug\freeglut_static.lib
44 - DLL, release version:     freeglut\freeglut\lib\x64\freeglut.lib
45                             freeglut\freeglut\lib\x64\freeglut.dll
46 - Static, release version:  freeglut\freeglut\lib\x64\freeglut_static.lib
47
48 Unlike the *nix release, the library names are NOT automatic replacements for
49 the GLUT library names.  You may rename them manually if you wish, but this is
50 not necessary as the header file includes a pragma telling the compiler which
51 library file to look for.
52
53
54 Installing the Libraries with MSVC
55 ==================================
56
57 To install "freeglut" on your system so that your other projects will see it,
58 you will need to copy various files to various locations.
59
60     - The header files "freeglut.h", "freeglut_ext.h", "freeglut_std.h", and
61       "glut.h" (distributed in the directory "freeglut\freeglut\include\GL")
62       need to be copied to a "GL" directory under the MSVC include directory.
63       The MSVC include directory generally has a path similar to
64               "C:\Program Files\Microsoft Visual Studio\VC98\Include"
65       The "GL" subdirectory under that will probably already have the header
66       files "gl.h", "glaux.h", and "glu.h".
67     - The library file "freeglut.lib" or "freeglut_static.lib" (from the
68       corresponding debug or release directory) needs to be copied into the
69       MSVC library directory.  This usually has a path similar to
70               "C:\Program Files\Microsoft Visual Studio\VC98\Lib"
71       Note that there is no "GL" subdirectory here.  This directory should
72       already have the files "opengl32.lib", "glu32.lib", and "glaux.lib".
73     - If you are using the DLL version of "freeglut", the file "freeglut.dll"
74       needs to be copied from the Debug or the Release directory into the
75       DLL directory.  This usually has a path similar to
76               "C:\Windows\System32"
77       and will probably already have the files "opengl32.dll" and "glu32.dll".
78
79
80 Building and Installing the Libraries with Open Watcom
81 ======================================================
82
83 Start a command prompt and change directory to the freeglut installation
84 directory.  Type "wmake -f Makefile.wat all" to build the DLL and static
85 libraries in both debug and release versions.
86
87 To install "freeglut" on your system so that your other projects will see it,
88 you will need to copy various files to various locations.
89
90     - The header files "freeglut.h", "freeglut_ext.h", "freeglut_std.h", and
91       "glut.h" (distributed in the directory "freeglut\freeglut\include\GL")
92           need to be copied to a "GL" directory under the Open Watcom 32-bit
93           Windows include directory.  This usually has a path similar to
94                           "C:\WATCOM\h\nt\GL"
95     - The library file "freeglut.lib" or "freeglut_static.lib" (from the
96       corresponding debug or release directory) needs to be copied into the
97           Open Watcom 32-bit Windows library directory.  This usually has a path
98           similar to
99                           "C:\WATCOM\lib386\nt"
100     - If you are using the DLL version of "freeglut", the file "freeglut.dll"
101       needs to be copied from the Debug or the Release directory into the
102       DLL directory.  This usually has a path similar to
103               "C:\Windows\System32"
104       and will probably already have the files "opengl32.dll" and "glu32.dll".
105
106
107 Unlike the *nix release, the library names are NOT automatic replacements for
108 the GLUT library names.  You may rename them manually if you wish, but this is
109 not necessary as the header file includes a pragma telling the compiler which
110 library file to look for.
111
112
113 Building and Installing the Libraries with Cygwin
114 =================================================
115
116 To build "freeglut" under Cygwin, you have two choices:
117
118 - You can build a normal Cygwin library, which depends on Cygwin's X11
119   libraries. To do this, you can just use the normal autotools incantation:
120       ./configure && make install
121
122 - Alternatively, you can build a DLL which does not depend on X11 and links
123   against the opengl32 DLL. To do this, configure need a few more flags:
124       ./configure CPPFLAGS=-mno-cygwin LDFLAGS=-mno-cygwin --without-x && make install
125
126
127 If you don't have MSVC, Open Watcom or Cygwin
128 =============================================
129
130 The "freeglut" developers' community discussed the possibility of distributing
131 binaries and decided against it.  If you need Windows library files, please
132 contact John F. Fay at <john.fay@eglin.af.mil> or put a request on the
133 "freeglut" developers' mailing list <freeglut-developer@lists.sourceforge.net>.
134