OSDN Git Service

Add notes about building with the mangled namespace on Windows.
[android-x86/external-mesa.git] / docs / README.WIN32
1 File: docs/README.WIN32
2
3 Last updated: Sep 18, 2003 - Karl Schultz - kschultz@users.sourceforge.net
4
5 Quick Start
6
7 Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
8 The libs and demos build separately, so if you do not care about the
9 demos, you do not have to unzip that zip file.  But if you do, it does
10 need to be unzipped into the same directory as the lib zip file because
11 the demos depend on the libs.
12
13 The build system has been changed to use Microsoft Visual Studio project
14 workspaces and projects.  Makefiles are no longer shipped or supported, but
15 can be generated from the projects using Visual Studio.
16
17 Details and Notes
18
19 - To build the Mesa libraries, open the Mesa.dsw workspace file
20   in the top directory.  You can build each project one-by-one,
21   or build the glut project to build everything except osmesa,
22   which needs to be built separately.  The build process will
23   create a lib directory in the top directory and will put the
24   following files there:
25         OPENGL32.LIB, GLU32.LIB, GLUT32.LIB, OSMESA32.LIB
26         OPENGL32.DLL, GLU32.DLL, GLUT32.DLL, OSMESA32.DLL
27
28 - After building, you can copy the above DLL files to a place in your PATH
29   such as $SystemRoot/SYSTEM32.  If you don't like putting things in a
30   system directory, place them in the same directory as the executable(s).
31   Be careful about accidentially overwriting files of the same name in
32   the SYSTEM32 directory.
33
34 - Build the demos by opening the appropriate *.dsw file in the
35   progs directory tree.  For example, to build the demos, use
36   progs/demos/Windows/demos.dsw.  The Windows directory contains
37   the workspace and all the projects for each demo program.  Each
38   project places the executable in the same directory as its source
39   code, which is required for some demos.
40
41 - The demo projects also copy the Mesa library DLL files from the lib
42   directory into the same directory as the demo executables, so that
43   the demos use the Mesa libs you just built.
44
45 - The DLL files are built so that the external entry points use the
46   stdcall calling convention.
47
48 - Static LIB files are not built.  The LIB files that are built with
49   are the linker import files associated with the DLL files.  
50
51 - The si-glu sources are used to build the GLU libs.  This was done
52   mainly to get the better tessellator code.
53
54 - The osmesa driver builds and should work on Windows as well as
55   any other platform.
56
57 - The Windows driver (in src/Windows) builds and runs at least at
58   a minimal level.  I modified this driver to work with the new
59   Mesa 4.0 code and driver architecture, but I did not do a great
60   deal of optimization and testing.  There are many opportunities
61   for optimization, many of which can be done by coding more specific
62   paths for the rasterizers.  See src/osmesa/osmesa.c for some good
63   examples.
64
65 - There is DirectDraw support in the Windows driver, updated by
66   Daniel Slater.  You'll need to uncomment the #define DDRAW line
67   in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries.
68   On some systems, you will acheive significantly higher framerates 
69   with DirectDraw.
70
71 - Some of the more specialized code like FX drivers, stereo, and
72   parallel support isn't compiled or tested.  I left much of this
73   code alone, but it may need some work to get it 'turned on' again.
74
75 - No assembly code is compiled or assembled.  Again, this may need
76   some work to turn it back on or use it again.
77
78 - To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
79   to the project settings.  You will also need to edit src/mesa.def to change
80   all the gl* symbols to mgl*.  Because this is easy to do with a global
81   replace operation in a text editor, no additional mangled version of mesa.def
82   is maintained or shipped.
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