updates for 6.5.3 w/ VC8

This commit is contained in:
Karl Schultz
2007-04-25 10:28:37 -06:00
committed by Brian
parent 3de20aead2
commit 5814922d25

View File

@@ -1,155 +1,163 @@
File: docs/README.WIN32 File: docs/README.WIN32
Last updated: Mar 31, 2006 - Karl Schultz - kschultz@users.sourceforge.net Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
Quick Start Quick Start
----- ----- ----- -----
Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
directory. The libs and demos build separately, so if you do not care 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 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 more than one ZIP file, they all need to be unzipped into the same
directory. Don't worry, you will not overwrite anything. directory. Don't worry, you will not overwrite anything.
The Windows build system uses Microsoft Visual Studio. Project files The Windows build system uses Microsoft Visual Studio. Project files
for a specific version of Visual Studio are in their own directory in for a specific version of Visual Studio are in their own directory in
the top-level "windows" directory. For example, Visual Studio 6 files the top-level "windows" directory. For example, Visual Studio 8 files
are in windows/VC6. If a directory does not exist for your version of are in windows/VC8.
Visual Studio, you can try importing the project files from an earlier
version of Visual Studio. At this time, project files exist for Support has been dropped for versions of Visual Studio prior to 8. The
Version 6 and Version 7. The code has been built with a beta version main reason is because Microsoft now provides a free compiler and
of Version 8 and it runs on 64-bit Windows. If you want to try this, developer environment. Visual Studio Express can be found at
start by importing the VC7 files and create the 64-bit targets in the
configuration manager. http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
It is likely that the new and free Visual Studio Express can be used You'll also need the Platform SDK. Instructions for obtaining and
to build Mesa, but it hasn't been tried yet. Start with the VC7 using the SDK with Visual Studio Express can be found at
project files.
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
The project files to build the core Mesa library, Windows Mesa
drivers, OSMesa, and GLU are in the mesa directory. The project files If you are stuck using VC6 or VC7, you may start with these project
to build GLUT and some demo programs are in the progs directory. files, but you may need to modify them to reflect changes in the
Mesa source code tree. If you sucessfully update the project files,
Makefiles are no longer shipped or supported, but can be generated please submit them to the author of this document so that they may
from the projects using Visual Studio. be included in the next distribution.
The project files to build the core Mesa library, Windows Mesa
Windows Drivers drivers, OSMesa, and GLU are in the mesa directory. The project files
------- ------- to build GLUT and some demo programs are in the progs directory.
At this time, only the GDI driver is known to work. Most of the demos Makefiles are no longer shipped or supported, but can be generated
in progs/demos should work with this driver. from the projects using Visual Studio.
Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown. Windows Drivers
------- -------
The GDI driver operates basically by writing pixel spans into a DIB
section and then blitting the DIB to the window. The driver was At this time, only the GDI driver is known to work. Most of the demos
recently cleaned up and rewitten and so may have bugs or may be in progs/demos should work with this driver.
missing some functionality. The older versions of the CVS source may
be useful in figuring out any problems, or report them to me. Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown.
To build Mesa with the GDI driver, build the mesa, gdi, and glu
projects in the Visual Studio workspace found at The GDI driver operates basically by writing pixel spans into a DIB
section and then blitting the DIB to the window. The driver was
windows/VC6/mesa/mesa.dsw recently cleaned up and rewitten and so may have bugs or may be
or missing some functionality. The older versions of the CVS source may
windows/VC7/mesa/mesa.sln be useful in figuring out any problems, or report them to me.
The osmesa DLL can also be built with the osmesa project. To build Mesa with the GDI driver, build the mesa, gdi, and glu
projects in the Visual Studio workspace found at
The build system creates a lib top-level directory and copies
resulting LIB and DLL files to this lib directory. The files are: windows/VC8/mesa/mesa.sln
OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB The osmesa DLL can also be built with the osmesa project.
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
The build system creates a lib top-level directory and copies
If the MesaDemos ZIP file was extracted, the DLL files are also copied resulting LIB and DLL files to this lib directory. The files are:
to the demos directory. This facilitates running the demos as described
below. OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
GLUT and Demos 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.
A Visual Studio workspace can be found at
windows/VC6/progs/progs.dsw GLUT and Demos
or ---- --- -----
windows/VC7/progs/progs.sln
A Visual Studio workspace can be found at
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. windows/VC8/progs/progs.sln
The demo build system expects to find the LIB files in the top level It can be used to build GLUT and a few demos. The GLUT lib and DLL
lib directory, so you must build the Mesa libs first. The demo are copied to the top-level lib directory, along with the Mesa libs.
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 The demo build system expects to find the LIB files in the top level
there by the Mesa lib build process. Therefore, you should be able to lib directory, so you must build the Mesa libs first. The demo
simply run the demo executables from the demo directory. 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
If you want to run the demos from the Visual Studio, you may have to there by the Mesa lib build process. Therefore, you should be able to
change the startup directory and explicitly state where the executables are. simply run the demo executables from the demo directory.
You may also build all the demo programs by using a makefile. Go to If you want to run the demos from the Visual Studio, you may have to
the progs/demos directory and make sure you have executed VCVARS32.BAT change the startup directory and explicitly state where the executables are.
or whatever setup script is appropriate for your compiler. Then,
You may also build all the demo programs by using a makefile. Go to
nmake -f Makefile.win the progs/demos directory and make sure you have executed VCVARS32.BAT
or whatever setup script is appropriate for your compiler. Then,
should build all the demos.
nmake -f Makefile.win
Build System Notes should build all the demos.
----- ------ -----
VC6 Build System Notes
--- ----- ------ -----
Visual Studio 6 does not recognize files with the .cc extension as C++ VC6 (not actively supported)
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. Visual Studio 6 does not recognize files with the .cc extension as C++
language files, without a lot of unnatural tweaking. So, the VC6
Two additional configurations are provided, Debug x86 and Release x86 build process uses custom build steps to compile these files in the
that activate the shader code compilation by defining SLANG_86. It is GLU library.
unknown if and how this works.
Two additional configurations are provided, Debug x86 and Release x86
VC7 that activate the shader code compilation by defining SLANG_86. It is
--- unknown if and how this works.
The above-mentioned .cc problem does not exist in this version. VC7 (not actively supported)
---
General The above-mentioned .cc problem does not exist in this version.
-------
VC8
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 No notes.
executable(s). Be careful about accidentially overwriting files of
the same name in the SYSTEM32 directory.
General
The DLL files are built so that the external entry points use the -------
stdcall calling convention.
After building, you can copy the above DLL files to a place in your
Static LIB files are not built. The LIB files that are built with are PATH such as $SystemRoot/SYSTEM32. If you don't like putting things
the linker import files associated with the DLL files. in a system directory, place them in the same directory as the
executable(s). Be careful about accidentially overwriting files of
The si-glu sources are used to build the GLU libs. This was done the same name in the SYSTEM32 directory.
mainly to get the better tessellator code.
The DLL files are built so that the external entry points use the
To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE stdcall calling convention.
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 Static LIB files are not built. The LIB files that are built with are
global replace operation in a text editor, no additional mangled the linker import files associated with the DLL files.
version of mesa.def is maintained or shipped.
The si-glu sources are used to build the GLU libs. This was done
If you have a Windows-related build problem or question, it is mainly to get the better tessellator code.
probably better to direct it to me (kschultz@users.sourceforge.net),
rather than directly to the other Mesa developers. I will help you as To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
much as I can. I also monitor the Mesa mailing lists and will answer to the project settings. You will also need to edit src/mesa.def to
questions in this area there as well. 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.
Karl Schultz
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