blob: 9477b2bd3182ccd12175845f75d508e8b314b64e [file] [log] [blame]
Daniel Borca31d0ced2005-06-07 19:01:33 +00001 Mesa 6.1 for MinGW32
2 ~~~~~~~~~~~~~~~~~~~~
3
4
5
6Quick & dirty start:
7--------------------
8
9 mingw32-make -f Makefile.mgw [OPTIONS...]
10
11 Look into the corresponding makefiles for further information.
12 Check README.3DFX to find out how to compile Mesa Glide3 driver
13 with MinGW32!
14
15
16
17*******************************************************************************
18The Mingw port for Mesa 3-D Graphics Library was created August 30, 1998 by Paul Garceau.
19
20Updated January 13, 2000; June 3, 2005 -- Paul Garceau <pgarceau@users.sourceforge.net>
21
22DISCLAIMER: I make this port of the Mesa 3-D Graphics Library as a service
23to the general public. I can, in no way support or make any guarantee that the
24build will work for your system.
25
26Acknowledgements:
27
28 Daniel Borca, whose work and commitment to maintaining the Mingw port of the Mesa 3-D Graphics Library has been, and will continue to be greatly appreciated by an overworked and underpaid developer such as myself.
29 Without the creative inspiration and personal commitment provided by Mumit Khan, Jan-Jaap Vanderhagen and Colin Peters, Mingw would never have existed. Acknowledgements also need to be given to all of the developers who have worked on Mingw, Mesa and Msys over the years.
30 Last, but certainly far from the least, Brian Paul, who has dedicated at least the last seven or eight years of his life to making Mesa 3-D Graphics Library what it is today and managing the development for all of those years.
31*********************************************************************************
32
33Greetings,
34
35 Feel free to modify or change things related to the Mingw build as you see fit, just remember that, the author of the current build may not be able to support any modifications you might want to make to the files which have been included for the build.
36
37Mesa core components are licensed under XFree-86 (for more on licensing of Mesa 3-D Graphics Library, check out the Mesa homepage (http://www.mesa3d.org).
38
39The Mingw generated libraries themselves are licensed under the GNU-LGPL license. Source code for Mingw can be found at http://www.mingw.org. For licensing terms on Mingw, please visit http://www.mingw.org.
40
41 It is recommended that you use the latest "stable" release of Mingw. "Candidates" are beta testing distributions for Mingw. Mingw is available at http://www.mingw.org.
42
43 This build has been tested under WinNT4/SP6. Win9x and WinNT5 remain untested by me. I have not tested any of the demos included with Mesa3d.
44
45Installation:
46
47 This readme assumes that you already have extracted the necessary files to a working directory/folder that Mingw can use to build the Mesa3D libraries and that you know where that directory/folder is located on your Windows system. If you have any questions about how to set things up properly which is specific to Mesa3D, the folks on the Mesa3D mailing lists (http://www.mesa3d.org) would probably be happy to assist you. Also you can probably ask anyone on the Mingw mailing lists for any questions specific to Mingw (http://www.mingw.org)
48
49Targets and Environment variables used for Mingw build:
50
51 Before going into the actual build of the libraries, here is a list of available targets for the make process:
52
53 "all" or "libgl" -- this target will build libopengl.a, a static library. It will not build the demos, etc.
54
55 clean -- this target will clean up most of the Mesa 3-D Graphics Library/object code from your hard drive.
56
57 realclean -- this target will clean up all of the Mesa 3D Graphics Library and the Mesa object code that it can find.
58
59 Environment Variables:
60
61 The environment variables are used to determine what sort of graphics driver support needs to be included in the finished Mesa 3-D Graphics Library.
62
63 GLIDE path to Glide3 SDK; used with FX.
64 default = $(TOP)/glide3
65 FX=1 build for 3dfx Glide3. Note that this disables
66 compilation of most WMesa code and requires fxMesa.
67 As a consequence, you'll need the Win32 Glide3
68 library to build any application.
69 default = no
70 ICD=1 build the installable client driver interface
71 (windows opengl driver interface)
72 default = no
73 X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
74 default = no
75
76
77Running the Build:
78
79 Launch Mingw.
80 From the Windows Command Prompt:
81 Set Environment Variables (as needed).
82 "cd" to your Mesa3D 'root' directory.
83 Enter "mingw32-make -f makefile.mgw <target>
84
85 That's all there is to it.
86
87 Enjoy!
88
89 Paul G. <pgarceau@users.sourceforge.net>
90 Daniel Borca <dborca@users.sourceforge.net>
Zhang76fb8082007-07-21 11:28:06 -060091
92
93
Zhang35f35292007-07-27 11:19:35 -060094******This section is added by Heromyth <zxpmyth@yahoo.com.cn>*************
Zhang76fb8082007-07-21 11:28:06 -060095
Zhang35f35292007-07-27 11:19:35 -060096====================
97Updated on 2007-7-21
98====================
Zhang76fb8082007-07-21 11:28:06 -060099
100Notice:
101 1) The generated DLLs are *not* compatible with the ones built
102with the other compilers like VC8, especially for GLUT.
103
104 2) Although more tests are needed, it can be used individually!
105
106 3) You can set the options about whether using STDCALL to build MESA. The
107config file is <Mesa3D-root>\configs\config.mgw. The default setting is that:
108 ALL_USING_STDCALL = 1
109, which means using STDCALL to build MESA.
110
111 4) Of course, you can MESA without using STDCALL,I like this:)
112The setting is :
113 ALL_USING_STDCALL = 0
114To do this, however, you must modify wingdi.h which is in MingW's include dir.
115For example, run:
116 notepad C:\MingW\include\wingdi.h
117, and delete all the lines where all the wgl*() functions are. Because they would
118be conflicted with the ones in <Mesa3D-root>\include\GL\mesa_wgl.h.
119
Zhang35f35292007-07-27 11:19:35 -0600120>>>>>>>>>> Conflicted Functions List >>>>>>>>>>
Zhang76fb8082007-07-21 11:28:06 -0600121WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
122WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
123WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
124WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
125WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
126WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
127WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
128WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
129WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
130WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
131WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
132WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
133WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
134WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
135WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
136WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
137WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
138WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
Zhang35f35292007-07-27 11:19:35 -0600139<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
140
141====================
142Updated on 2007-7-22
143====================
144 I havn't thought that I would find a better way to solve my problems so soon.
145I changed the method in which the import-libs and DLLs are made. After this update,
146the DLLs of MESA are more optimized and more compatible.
147 It seems that there is no need to keep the building way of 'NO-STDCALL'.The
148way of USING_STDCALL is so nice! The file <Mesa3D-root>\configs\config.mgw is
149also not needed, and can be deleted safely!
150
151
Zhang76fb8082007-07-21 11:28:06 -0600152
153*********************************************************************************