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