README.WIN32 revision b5bfe2f6ae4b06cb566bbeb46f83b1e7f863e308
1File: docs/README.WIN32 2 3Last updated: Oct 15, 2001 - Karl Schultz - kschultz@users.sourceforge.net 4 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 9an optimized build. 10 11Details 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, but I do not 72 know if it compiles or works. If you have an application that 73 does not draw much in a frame, but needs a higher framerate, then 74 it may pay to turn on the DirectDraw code, since DD often performs 75 the off-screen to on-screen blit faster than GDI. 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 84If you have a Windows-related build problem or question, it is 85probably better to direct it to me (kschultz@users.sourceforge.net), 86rather than directly to the other Mesa developers. I will help you 87as much as I can. I also monitor the Mesa mailing lists and will 88answer questions in this area there as well. 89 90 91Karl Schultz 92