summaryrefslogtreecommitdiff
path: root/docs/README.MINGW32
blob: 75709ed43d8996c491182d7819346051b37d8627 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
August 30, 1998 -- Paul Garceau (pgarceau@teleport.com)

DISCLAIMER:  I make this extension to the Mesa 3-D Graphics Library as a service
to the general public.  I can, in no way support or make any guarantee that the
EGCS-Mingw32 build or any Gnu-Win32 build will work for your system. The
associated packages and batch files I have included as part of the EGCS-Mingw32
extension are provided "As-is" with out any guarantee of support or functionality
from the author of this EGCS-Mingw32 native windows port of the Mesa 3-D Graphics
Library.

	Feel free to modify or change things as you see fit, just remember that
I can't support any modifications you might want to make to the files which I
have included OR the lgpl protected Mesa 3-D Graphics Library.


	EGCS-Mingw32 Beta 3.08 Archive Manifest:
		mingw32.bat
		src/makefile.nt4
		src/wmesa.c
		src-glu/makefile.nt4

###############

Greetings,

	In order to build the Mingw32 set of Mesa 3-D Graphics Library for Beta3.08
it will be necessary for you to use the Dos or Command Prompt that is available
on most of the i86 based MS Windows machines.  Also, I believe that this build
will run on Win95, Win98, WinNT4 and WinNT5.

	I haven't tested Win95/98 or WinNT5.  This build was generated under
WinNT4 with SP3 installed.

	This has not been tested under any systems outside of
a WinNT4 Workstation with EGCS-Mingw32 toolchain, v.1.0.2 installed.

	EGCS-Mingw32 uses a variation of gcc to handle its build.  The Mesa 3-D
Graphics Library build that I have generated is based, in small part, on the
Cygwin32 build and associated makefiles that Stephane Rehel (rehel@worldnet.fr)
defined back in 1997.  The EGCS-Mingw32 toolchain is capable of generating
native windows code and, as of the date of this readme, can be obtained from:

	http://www.xraylith.wisc.edu/~khan/software/gnu-win32/egcs-mingw32-102.html

	Much thanks to the combined efforts of Mumit Khan, Jan-Jaap Vanderhagen
and Colin Peters for making it possible for the EGCS-Mingw32 toolchain to exist.

Installing EGCS-Mingw32 Build Revisions:

	To install the makefile and source revisions incorporated with this build
of the Mesa 3-D Graphics Library, you'll have to use a version of winzip.  I am
in the process of finding a suitable Win32 compatible tar executable so that if
you don't have winzip, you can still decompress the files into their respective
folders/directories.

	a) Move the mingw32.zip file to the top level of the hard drive on your
system.

	b) Copy all of the Beta 3.08 src/windows files to the src/ directory.

	b) Open the Winzip file

	c) Verify that the files will be properly extracted.

	d) Extract the files with the Winzip "Overwrite" and "Use Folder Names"
	   options enabled.

	The zip file directory structure extraction defaults to the top level of
the hard drive where the mingw32.zip file exists unless otherwise instructed by
you.

	The version of wmesa.c included with the mingw32 archive needs to replace
the current version of the Beta 3.08 wmesa.c file in order for the egcs-mingw32
build to work.  This is because the original Win32 stuff assumes that the glut
utilities are to be installed.  The Glut utilities are not part of the
egcs-mingw32 build for Beta 3.08.


Build Considerations:

	In order to get the build to work, I needed to create a special makefile
for each library which the Mesa 3-D Graphics Library requires since there is no
comparable make-config/config on a native windows platform.

	Since I was only creating a few of the possible libraries for 
Mesa (gl, glu), I only created the new make files in their respective libraries
src, src-glu).  For libMesaaux.a. you will find a makefile for it in the
src-aux directory.  libMesatk.a and libglut.a were not ported.

	The build itself is a .bat based build and uses Gnu Make,Version 3.76.1 to
process the makefiles noted above.  The build must be run from the directory
where the mingw32.bat file is.  You can get the binary version of Make 3.76.1
from Jan-Jaap van der Heijden's site in Germany:

	http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/download.html

	It was necessary to modify some source code, specifically the source code
in the src-glu directory.  I needed to modify nurbs.c, quadric.c and tess.c in
order to get them to work using the EGCS-Mingw32 toolchain.

	The original EGCS-Mingw32 Toolchain, is available from:

	http://www.xraylith.wisc.edu/~khan/software/gnu-win32/egcs-mingw32-102.html	

Running the Build:

	Ok, now that we've got the basics out of the way, follows is all you need
to do in order to build the EGCS-Mingw32 version of libMesaGL.a and libMesaGLU.a:

	Open your Command Prompt/Dos prompt.
	Go to your Mesa-3.0 beta 'root' directory.
		This is the same directory that the Mesa mingw32.zip file was
		originally stored in if you've installed the Mesa-3.0 beta 3-D
		Graphics Library source as outlined in the "readme" file included
		with the Mesa-3.0 beta distribution.
	At the command line type: mingw32
		mingw32 is the .bat file that actually does the build.

	Enjoy!

	Peace,

		Paul G. (pgarceau@teleport.com)