blob: 46e38d385a1bd707a7db1d1fb3ed14a9af4307ac [file] [log] [blame]
Karl Schultzb5bfe2f2001-10-15 20:38:12 +00001File: docs/README.WIN32
2
Karl Schultz10730662002-08-15 15:13:31 +00003Last updated: Aug 15, 2002 - Karl Schultz - kschultz@users.sourceforge.net
Karl Schultzb5bfe2f2001-10-15 20:38:12 +00004
5Quick Start
6
7If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory
8of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for
Karl Schultz10730662002-08-15 15:13:31 +00009an optimized build. Note that you may have to run ...VC98/BIN/VCVARS32.BAT
10to set up the appropriate compiler environment variables.
Karl Schultzb5bfe2f2001-10-15 20:38:12 +000011
12Details and Notes
13
14- Building Mesa as noted above should visit and build the following:
15 src MesaGL.dll, MesaGL.lib, osmesa.dll, osmesa.lib
16 si-glu MesaGLU.dll, MesaGLU.lib
17 src-glut glut32.dll, glut32.lib
18 demos a handful of demo executables.
Karl Schultz10730662002-08-15 15:13:31 +000019 book more examples
20 samples more examples
Karl Schultzb5bfe2f2001-10-15 20:38:12 +000021
22- After building, you can copy the above DLL files to a place in your PATH
Karl Schultz10730662002-08-15 15:13:31 +000023 such as $SystemRoot/SYSTEM32. If you don't like putting things in a
24 system directory, place them in the same directory as the executable(s).
25 For example, you can copy the DLL files to the demos directory if you
26 just want to run the demos. The build process places the DLL and LIB files
27 in the ./lib directory. The makefile creates this directory if it does
28 not already exist.
Karl Schultzb5bfe2f2001-10-15 20:38:12 +000029
30- The make targets 'clean' and 'clobber' will remove objects and libraries.
31 But the files in ./lib are never cleaned.
32
33- The make target 'install' will take its best shot at copying DLL files,
34 LIB files, and headers to the right places. I strongly suggest that
35 you examine the makefiles to make sure that 'install' doesn't do anything
36 that you can't live with.
37
38- The makefiles are designed to work with Microsoft's NMAKE, and do,
39 unfortunately, have some Microsoft-specific things in them. If you
40 would like to use gcc or some other build tools like the Cygnus tools,
41 then you will have to hack the makefiles to make them work with your
42 tools. I'm sorry about this; I wasn't motivated to make this any
43 different, but if you end up modifying the makefiles for your tools,
44 you can send me the changes and I can apply the changes to the
45 source tree.
46
47- There are no Microsoft Visual Studio project files. However, these
48 should be very easy to create. One can use the compiler and linker
49 options found in the makefiles to make quick progress in creating
50 projects.
51
52- The DLL files are built so that the external entry points use the
53 stdcall calling convention.
54
55- Static LIB files are not built. The LIB files that are built with
56 the current makefiles are the linker import files associated with
57 the DLL files. If static LIB's are desired, it should not be too
58 difficult to modify the makefiles to generate them.
59
60- The si-glu sources are used to build the GLU libs. This was done
Karl Schultz8ff27152001-11-29 16:55:37 +000061 mainly to get the better tessellator code.
Karl Schultzb5bfe2f2001-10-15 20:38:12 +000062
63- The osmesa driver builds and should work on Windows as well as
64 any other platform.
65
66- The Windows driver (in src/Windows) builds and runs at least at
67 a minimal level. I modified this driver to work with the new
68 Mesa 4.0 code and driver architecture, but I did not do a great
69 deal of optimization and testing. There are many opportunities
70 for optimization, many of which can be done by coding more specific
71 paths for the rasterizers. See src/osmesa/osmesa.c for some good
72 examples.
73
Karl Schultzacf0c0a2001-11-01 22:44:47 +000074- There is DirectDraw support in the Windows driver, updated by
75 Daniel Slater. You'll need to uncomment the #define DDRAW line
76 in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries
77 in src/Makefile.win. On some systems, you will acheive significantly
78 higher framerates with DirectDraw.
Karl Schultzb5bfe2f2001-10-15 20:38:12 +000079
80- Some of the more specialized code like FX drivers, stereo, and
81 parallel support isn't compiled or tested. I left much of this
82 code alone, but it may need some work to get it 'turned on' again.
83
84- No assembly code is compiled or assembled. Again, this may need
85 some work to turn it back on or use it again.
86
87If you have a Windows-related build problem or question, it is
88probably better to direct it to me (kschultz@users.sourceforge.net),
89rather than directly to the other Mesa developers. I will help you
90as much as I can. I also monitor the Mesa mailing lists and will
91answer questions in this area there as well.
92
93
94Karl Schultz