| File: docs/README.WIN32 |
| |
| Last updated: Nov 08, 2002 - Karl Schultz - kschultz@users.sourceforge.net |
| |
| Quick Start |
| |
| Unzip both ZIP files (MesaLib and MesaDemos) into the same directory. |
| This is important because the current makefiles in MesaLib assume that |
| the directories in MesaDemos are present. |
| |
| If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory |
| of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for |
| an optimized build. Note that you may have to run ...VC98/BIN/VCVARS32.BAT |
| to set up the appropriate compiler environment variables. |
| |
| Details and Notes |
| |
| - Building Mesa as noted above should visit and build the following: |
| src MesaGL.dll, MesaGL.lib, osmesa.dll, osmesa.lib |
| si-glu MesaGLU.dll, MesaGLU.lib |
| src-glut glut32.dll, glut32.lib |
| demos a handful of demo executables. |
| book more examples |
| samples more examples |
| |
| - After building, you can copy the above DLL files to a place in your PATH |
| such as $SystemRoot/SYSTEM32. If you don't like putting things in a |
| system directory, place them in the same directory as the executable(s). |
| For example, you can copy the DLL files to the demos directory if you |
| just want to run the demos. The build process places the DLL and LIB files |
| in the ./lib directory. The makefile creates this directory if it does |
| not already exist. |
| |
| - The make targets 'clean' and 'clobber' will remove objects and libraries. |
| But the files in ./lib are never cleaned. |
| |
| - The make target 'install' will take its best shot at copying DLL files, |
| LIB files, and headers to the right places. I strongly suggest that |
| you examine the makefiles to make sure that 'install' doesn't do anything |
| that you can't live with. |
| |
| - The makefiles are designed to work with Microsoft's NMAKE, and do, |
| unfortunately, have some Microsoft-specific things in them. If you |
| would like to use gcc or some other build tools like the Cygnus tools, |
| then you will have to hack the makefiles to make them work with your |
| tools. I'm sorry about this; I wasn't motivated to make this any |
| different, but if you end up modifying the makefiles for your tools, |
| you can send me the changes and I can apply the changes to the |
| source tree. |
| |
| - There are no Microsoft Visual Studio project files. However, these |
| should be very easy to create. One can use the compiler and linker |
| options found in the makefiles to make quick progress in creating |
| projects. |
| |
| - The DLL files are built so that the external entry points use the |
| stdcall calling convention. |
| |
| - Static LIB files are not built. The LIB files that are built with |
| the current makefiles are the linker import files associated with |
| the DLL files. If static LIB's are desired, it should not be too |
| difficult to modify the makefiles to generate them. |
| |
| - The si-glu sources are used to build the GLU libs. This was done |
| mainly to get the better tessellator code. |
| |
| - The osmesa driver builds and should work on Windows as well as |
| any other platform. |
| |
| - The Windows driver (in src/Windows) builds and runs at least at |
| a minimal level. I modified this driver to work with the new |
| Mesa 4.0 code and driver architecture, but I did not do a great |
| deal of optimization and testing. There are many opportunities |
| for optimization, many of which can be done by coding more specific |
| paths for the rasterizers. See src/osmesa/osmesa.c for some good |
| examples. |
| |
| - There is DirectDraw support in the Windows driver, updated by |
| Daniel Slater. You'll need to uncomment the #define DDRAW line |
| in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries |
| in src/Makefile.win. On some systems, you will acheive significantly |
| higher framerates with DirectDraw. |
| |
| - Some of the more specialized code like FX drivers, stereo, and |
| parallel support isn't compiled or tested. I left much of this |
| code alone, but it may need some work to get it 'turned on' again. |
| |
| - No assembly code is compiled or assembled. Again, this may need |
| some work to turn it back on or use it again. |
| |
| If you have a Windows-related build problem or question, it is |
| probably better to direct it to me (kschultz@users.sourceforge.net), |
| rather than directly to the other Mesa developers. I will help you |
| as much as I can. I also monitor the Mesa mailing lists and will |
| answer questions in this area there as well. |
| |
| |
| Karl Schultz |