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