File: docs/README.WIN32
-Last updated: Mar 31, 2006 - Karl Schultz - kschultz@users.sourceforge.net
+Last updated: 21 June 2013
+
Quick Start
----- -----
-Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
-directory. The libs and demos build separately, so if you do not care
-about the demos or GLUT, you only need to unzip MesaLib. If you unzip
-more than one ZIP file, they all need to be unzipped into the same
-directory. Don't worry, you will not overwrite anything.
+Windows drivers are build with SCons. Makefiles or Visual Studio projects are
+no longer shipped or supported.
-The Windows build system uses Microsoft Visual Studio. Project files
-for a specific version of Visual Studio are in their own directory in
-the top-level "windows" directory. For example, Visual Studio 6 files
-are in windows/VC6. If a directory does not exist for your version of
-Visual Studio, you can try importing the project files from an earlier
-version of Visual Studio. At this time, project files exist for
-Version 6 and Version 7. The code has been built with a beta version
-of Version 8 and it runs on 64-bit Windows. If you want to try this,
-start by importing the VC7 files and create the 64-bit targets in the
-configuration manager.
+Run
-It is likely that the new and free Visual Studio Express can be used
-to build Mesa, but it hasn't been tried yet. Start with the VC7
-project files.
+ scons libgl-gdi
-The project files to build the core Mesa library, Windows Mesa
-drivers, OSMesa, and GLU are in the mesa directory. The project files
-to build GLUT and some demo programs are in the progs directory.
+to build gallium based GDI driver.
-Makefiles are no longer shipped or supported, but can be generated
-from the projects using Visual Studio.
+This will work both with MSVS or Mingw.
Windows Drivers
------- -------
-At this time, only the GDI driver is known to work. Most of the demos
-in progs/demos should work with this driver.
+At this time, only the gallium GDI driver is known to work.
Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown.
-The GDI driver operates basically by writing pixel spans into a DIB
-section and then blitting the DIB to the window. The driver was
-recently cleaned up and rewitten and so may have bugs or may be
-missing some functionality. The older versions of the CVS source may
-be useful in figuring out any problems, or report them to me.
-
-To build Mesa with the GDI driver, build the mesa, gdi, and glu
-projects in the Visual Studio workspace found at
-
- windows/VC6/mesa/mesa.dsw
-or
- windows/VC7/mesa/mesa.sln
-
-The osmesa DLL can also be built with the osmesa project.
-
-The build system creates a lib top-level directory and copies
-resulting LIB and DLL files to this lib directory. The files are:
-
- OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
- OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
-
-If the MesaDemos ZIP file was extracted, the DLL files are also copied
-to the demos directory. This facilitates running the demos as described
-below.
-
-
-GLUT and Demos
----- --- -----
-
-A Visual Studio workspace can be found at
-
- windows/VC6/progs/progs.dsw
-or
- windows/VC7/progs/progs.sln
-
-It can be used to build GLUT and a few demos. The GLUT lib and DLL
-are copied to the top-level lib directory, along with the Mesa libs.
-
-The demo build system expects to find the LIB files in the top level
-lib directory, so you must build the Mesa libs first. The demo
-executables are placed in the demos directory, because some of them
-rely on data files found there. Also, the Mesa lib DLL's were copied
-there by the Mesa lib build process. Therefore, you should be able to
-simply run the demo executables from the demo directory.
+Recipe
+------
-If you want to run the demos from the Visual Studio, you may have to
-change the startup directory and explicitly state where the executables are.
-
-You may also build all the demo programs by using a makefile. Go to
-the progs/demos directory and make sure you have executed VCVARS32.BAT
-or whatever setup script is appropriate for your compiler. Then,
-
- nmake -f Makefile.win
-
-should build all the demos.
-
-
-Build System Notes
------ ------ -----
-
-VC6
----
-
-Visual Studio 6 does not recognize files with the .cc extension as C++
-language files, without a lot of unnatural tweaking. So, the VC6
-build process uses custom build steps to compile these files in the
-GLU library.
-
-Two additional configurations are provided, Debug x86 and Release x86
-that activate the shader code compilation by defining SLANG_86. It is
-unknown if and how this works.
-
-VC7
----
-
-The above-mentioned .cc problem does not exist in this version.
+Building on windows requires several open-source packages. These are
+steps that work as of this writing.
+- install python 2.7
+- install scons (latest)
+- install mingw, flex, and bison
+- install pywin32 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs
+ get pywin32-218.4.win-amd64-py2.7.exe
+- install git
+- download mesa from git
+ see https://www.mesa3d.org/repository.html
+- run scons
General
-------
The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
-To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
-to the project settings. You will also need to edit src/mesa.def to
-change all the gl* symbols to mgl*. Because this is easy to do with a
-global replace operation in a text editor, no additional mangled
-version of mesa.def is maintained or shipped.
-
-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
+If you have a Windows-related build problem or question, please post
+to the mesa-dev or mesa-users list.