radv: Add winsys functions for timeline syncobj.
[mesa.git] / docs / README.WIN32
index d98cdd2ebc68d68d3a9ada55bd88864d5b5aa40e..0f5010ce121c9f1a4e71a496f846b7123175fd00 100644 (file)
@@ -1,88 +1,64 @@
 File: docs/README.WIN32
 
-Last updated: Nov 29, 2001 - Karl Schultz - kschultz@users.sourceforge.net
+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 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.
-
-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.
-
-- After building, you can copy the above DLL files to a place in your PATH
-  or to the demos directory if you just want to give the demos a try.
-  The DLL and LIB files are copied to 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
+If you have a Windows-related build problem or question, please post
+to the mesa-dev or mesa-users list.