Home | History | Annotate | Download | only in docs
      1 File: docs/README.WIN32
      2 
      3 Last updated: Apr 25, 2007 - Karl Schultz - kschultz (a] users.sourceforge.net
      4 
      5 Quick Start
      6 ----- -----
      7 
      8 Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
      9 directory.  The libs and demos build separately, so if you do not care
     10 about the demos or GLUT, you only need to unzip MesaLib.  If you unzip
     11 more than one ZIP file, they all need to be unzipped into the same
     12 directory.  Don't worry, you will not overwrite anything.
     13 
     14 The Windows build system uses Microsoft Visual Studio.  Project files
     15 for a specific version of Visual Studio are in their own directory in
     16 the top-level "windows" directory.  For example, Visual Studio 8 files
     17 are in windows/VC8.
     18 
     19 Support has been dropped for versions of Visual Studio prior to 8. The
     20 main reason is because Microsoft now provides a free compiler and
     21 developer environment.  Visual Studio Express can be found at
     22 
     23 http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
     24 
     25 You'll also need the Platform SDK.  Instructions for obtaining and
     26 using the SDK with Visual Studio Express can be found at
     27 
     28 http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
     29 
     30 The project files to build the core Mesa library, Windows Mesa
     31 drivers, OSMesa, and GLU are in the mesa directory.  The project files
     32 to build GLUT and some demo programs are in the progs directory.
     33 
     34 Makefiles are no longer shipped or supported, but can be generated
     35 from the projects using Visual Studio.
     36 
     37 
     38 Windows Drivers
     39 ------- -------
     40 
     41 At this time, only the GDI driver is known to work.  Most of the demos
     42 in progs/demos should work with this driver.
     43 
     44 Source code also exists in the tree for other drivers in
     45 src/mesa/drivers/windows, but the status of this code is unknown.
     46 
     47 The GDI driver operates basically by writing pixel spans into a DIB
     48 section and then blitting the DIB to the window.  The driver was
     49 recently cleaned up and rewitten and so may have bugs or may be
     50 missing some functionality.  The older versions of the CVS source may
     51 be useful in figuring out any problems, or report them to me.
     52 
     53 To build Mesa with the GDI driver, build the mesa, gdi, and glu
     54 projects in the Visual Studio workspace found at
     55 
     56 	windows/VC8/mesa/mesa.sln
     57 
     58 The osmesa DLL can also be built with the osmesa project.
     59 
     60 The build system creates a lib top-level directory and copies
     61 resulting LIB and DLL files to this lib directory.  The files are:
     62 
     63 	OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
     64 	OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
     65 
     66 If the MesaDemos ZIP file was extracted, the DLL files are also copied
     67 to the demos directory.  This facilitates running the demos as described
     68 below.
     69 
     70 
     71 GLUT and Demos
     72 ---- --- -----
     73 
     74 A Visual Studio workspace can be found at 
     75 
     76 	windows/VC8/progs/progs.sln
     77 
     78 It can be used to build GLUT and a few demos.  The GLUT lib and DLL
     79 are copied to the top-level lib directory, along with the Mesa libs.
     80 
     81 The demo build system expects to find the LIB files in the top level
     82 lib directory, so you must build the Mesa libs first.  The demo
     83 executables are placed in the demos directory, because some of them
     84 rely on data files found there.  Also, the Mesa lib DLL's were copied
     85 there by the Mesa lib build process.  Therefore, you should be able to
     86 simply run the demo executables from the demo directory.
     87 
     88 If you want to run the demos from the Visual Studio, you may have to
     89 change the startup directory and explicitly state where the executables are.
     90 
     91 You may also build all the demo programs by using a makefile.  Go to
     92 the progs/demos directory and make sure you have executed VCVARS32.BAT
     93 or whatever setup script is appropriate for your compiler.  Then,
     94 
     95 	nmake -f Makefile.win
     96 
     97 should build all the demos.
     98 
     99 
    100 Build System Notes
    101 ----- ------ -----
    102 
    103 VC8
    104 ---
    105 
    106 No notes.
    107 
    108 
    109 General
    110 -------
    111 
    112 After building, you can copy the above DLL files to a place in your
    113 PATH such as $SystemRoot/SYSTEM32.  If you don't like putting things
    114 in a system directory, place them in the same directory as the
    115 executable(s).  Be careful about accidentially overwriting files of
    116 the same name in the SYSTEM32 directory.
    117 
    118 The DLL files are built so that the external entry points use the
    119 stdcall calling convention.
    120 
    121 Static LIB files are not built.  The LIB files that are built with are
    122 the linker import files associated with the DLL files.
    123 
    124 The si-glu sources are used to build the GLU libs.  This was done
    125 mainly to get the better tessellator code.
    126 
    127 To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
    128 to the project settings.  You will also need to edit src/mesa.def to
    129 change all the gl* symbols to mgl*.  Because this is easy to do with a
    130 global replace operation in a text editor, no additional mangled
    131 version of mesa.def is maintained or shipped.
    132 
    133 If you have a Windows-related build problem or question, it is
    134 probably better to direct it to me (kschultz (a] users.sourceforge.net),
    135 rather than directly to the other Mesa developers.  I will help you as
    136 much as I can.  I also monitor the Mesa mailing lists and will answer
    137 questions in this area there as well.
    138 
    139 
    140 Karl Schultz
    141