]>
Commit | Line | Data |
---|---|---|
f02fe2ef | 1 | wxWidgets 2.6.2 for MGL installation |
a502b34f VS |
2 | ------------------------------------ |
3 | ||
4 | IMPORTANT NOTE: | |
5 | ||
6 | If you experience problems installing, please re-read these | |
7 | instructions and other related files (todo.txt, bugs.txt and | |
8 | osname.txt for your platform if it exists) carefully before | |
9 | mailing wxwin-users or the author. Preferably, try to fix the | |
10 | problem first and then send a patch to the author. | |
11 | ||
fc2171bd | 12 | When sending bug reports tell us what version of wxWidgets you are |
a502b34f | 13 | using (including the beta) and what compiler on what system. One |
f02fe2ef | 14 | example: wxMGL 2.6.2, gcc 2.95.3, Redhat 7.0 |
a502b34f VS |
15 | |
16 | First steps | |
17 | ----------- | |
18 | ||
19 | - Download SciTech MGL library (version 5.0) from http://www.scitechsoft.com. | |
2b5f62a0 | 20 | The downloads page is here (you need MGL version 5.0beta7 or newer): |
3877be21 | 21 | http://scitechsoft.com/products/dev/mgl_download/mgl_down.html |
2b5f62a0 VZ |
22 | |
23 | Install MGL according to provided instructions. In particular, make sure that | |
a502b34f VS |
24 | MGL_ROOT and NUCLEUS_PATH environment variables are set before attempting to |
25 | build wxMGL. | |
26 | ||
2b5f62a0 VZ |
27 | Make sure you installed all MGL components, including the "fonts" package |
28 | (it's called mgl50b7-font.tar.gz in Linux version). It is important to have | |
29 | SciTech's basic fonts in $(MGL_ROOT)/fonts directory (you may want to add | |
30 | Arial TrueType font for better output quality) and basic cursors in | |
31 | $(MGL_ROOT)/cursors. wxMGL depends on their presence. | |
32 | ||
a502b34f VS |
33 | - Download wxMGL-x.y.z.tgz, where x.y.z is the version number. |
34 | Download documentation in a preferred format, such as | |
fc2171bd | 35 | wxWidgets-HTML.zip or wxWidgets-PDF.zip. |
a502b34f VS |
36 | |
37 | - Make a directory such as ~/wx and unarchive the files into this | |
38 | directory. | |
39 | ||
40 | - It is recommended that you install bison and flex; using yacc | |
41 | and lex may require tweaking of the makefiles. | |
42 | ||
fc2171bd | 43 | - You can now use configure or makefiles to build wxWidgets and the samples. |
a502b34f VS |
44 | In case of problems, please use GNU make. |
45 | ||
46 | ||
47 | COMPILING | |
48 | ========= | |
49 | ||
50 | Following systems are supported by wxMGL so far: | |
51 | - Unix (Linux etc.) | |
52 | - MS-DOS (DJGPP and Watcom compilers) | |
53 | ||
54 | ||
55 | * Compiling using configure | |
56 | ---------------------------- | |
57 | ||
58 | These instructions apply to installation on a Unix system (such as Linux). Please | |
59 | see bellow for information on using configure on non-Unix platforms. | |
60 | ||
fc2171bd | 61 | If you compile wxWidgets on Linux for the first time and don't like to read |
a502b34f VS |
62 | install instructions just do (in the base dir): |
63 | ||
64 | > ./configure --with-mgl | |
65 | > make | |
66 | > su <type root password> | |
67 | > make install | |
68 | > ldconfig | |
69 | > exit | |
70 | ||
71 | Afterwards you can continue with | |
72 | ||
73 | > make | |
74 | > su <type root password> | |
75 | > make install | |
76 | > ldconfig | |
77 | > exit | |
78 | ||
fc2171bd | 79 | If you want to remove wxWidgets on Unix you can do this: |
a502b34f VS |
80 | |
81 | > su <type root password> | |
82 | > make uninstall | |
83 | > ldconfig | |
84 | > exit | |
85 | ||
86 | You can set many options to configure. Type | |
87 | ||
88 | > ./configure --help | |
89 | ||
90 | and you will get a list of supported options. | |
91 | ||
92 | ||
93 | * Using wxMGL library built with configure | |
94 | ------------------------------------------- | |
95 | ||
96 | 'make install' will install wx-config script that can (and should) be used | |
97 | to get compiler flags that are needed to build your program. wx-config --cxxflags | |
2edb0bde | 98 | will output necessary C++ compiler flags and wx-config --libs will list all |
fc2171bd | 99 | needed libraries. See an example of wxWidgets application makefile: |
a502b34f VS |
100 | |
101 | minimal: minimal.o | |
102 | $(CC) -o minimal minimal.o `wx-config --libs` | |
103 | ||
104 | minimal.o: minimal.cpp mondrian.xpm | |
105 | $(CC) `wx-config --cxxflags` -c minimal.cpp -o minimal.o | |
106 | ||
107 | ||
108 | * Using configure to build MS-DOS version | |
109 | ------------------------------------------ | |
110 | ||
111 | Even though configure is a Unix script, you can use it to build MS-DOS version | |
112 | of the wxMGL library. There are two possible ways to achieve this: you can | |
113 | either cross-compile from Unix or compile natively. Either way you will needed | |
114 | the DJGPP port of GCC compiler freely available from http://www.djgpp.org. You will | |
115 | also need DJGPP version of SciTech MGL (this must be built using native tools). | |
116 | ||
117 | Cross-compilation is very easy. It works like ordinary compilation with configure, | |
118 | you only have to specify the target: | |
119 | ||
120 | > ./configure --with-mgl --build=i586-linux --host=i586-pc-msdosdjgpp | |
121 | > make | |
122 | ||
123 | If you want to build wxMGL natively using DJGPP compiler, you will have to install | |
124 | a couple of Unix utilities. The easiest way to get them is to install the Cygwin | |
125 | package (available from RedHat, see http://freshmeat.net/search/?q=cygwin for exact | |
126 | URL). Cygwin contains win32 compiler, so make sure you did *not* install it! Once | |
127 | you have Cygwin utilities and DJGPP compiler in your PATH, run bash.exe and type | |
128 | ||
129 | > ./configure --with-mgl | |
130 | > make | |
131 | ||
fc2171bd | 132 | in wxWidgets top directory. You can build wxMGL in MS-DOS with configure, sorry. |
a502b34f VS |
133 | |
134 | ||
135 | * Building wxMGL for MS-DOS using Watcom C/C++ | |
136 | ----------------------------------------------- | |
137 | ||
138 | You will need Watcom C/C++ compiler version 11 or newer (Watcom is going to be | |
139 | OpenSourced by SciTech, check out http://www.openwatcom.org). | |
140 | ||
141 | 1. Edit $(WXDIR)\include\wx\univ\setup.h to suit your needs (in same way as you | |
142 | do when compiling wxMSW). | |
143 | ||
144 | 2. Go to $(WXDIR)\src\mgl and run | |
145 | > wmake -f makefile.wat all | |
146 | ||
147 | 3. You can compile the samples by typing 'wmake -f makefile.mgl all' in sample | |
148 | directory if this file is available. If it is not, copy makefile.wat to | |
149 | makefile.mgl and replace the line that says | |
150 | ||
151 | !include $(WXDIR)\src\makeprog.wat | |
152 | ||
153 | with | |
154 | ||
155 | !include $(WXDIR)\src\mgl\makeprog.wat | |
156 | ||
157 | ||
3877be21 MW |
158 | Compilation notes for MGL 5.1 |
159 | ----------------------------- | |
160 | ||
161 | The mvis library doesn't compile with current versions of gcc. However wxMGL | |
162 | does not use this part of MGL, so it can be taken out of the compile, e.g.: | |
163 | ||
164 | --- scitech/src/makefile.orig 2004-04-15 20:36:32.000000000 +0100 | |
165 | +++ scitech/src/makefile 2005-04-26 01:50:12.000000000 +0100 | |
166 | @@ -88,7 +88,7 @@ | |
167 | ||
168 | # Target to build libraries for one compiler for SciTech MGL Graphics Library | |
169 | ||
170 | -all_mgl: $(T_PM) $(T_GCONSOLE) $(T_SNAP) $(T_TECH) $(T_MVIS) $(T_FIXED) \ | |
171 | +all_mgl: $(T_PM) $(T_GCONSOLE) $(T_SNAP) $(T_TECH) $(T_FIXED) \ | |
172 | $(T_GM) $(T_GLUT) $(T_MGL) | |
173 | @$(ECHO) ============================================================================= | |
174 | @$(ECHO) DONE: Single compiler MGL build completed successfully! | |
175 | ||
176 | The dos version of _lztimer.asm can't be assembled by the GNU assember. A | |
177 | newer version is available from Scitech, a patch between the version in MGL | |
178 | 5.1 and the newer version is included below: | |
179 | ||
180 | --- scitech/src/pm/dos/_lztimer.asm.orig 2004-04-15 20:36:33.000000000 +0100 | |
181 | +++ scitech/src/pm/dos/_lztimer.asm 2005-04-26 18:39:57.000000000 +0100 | |
182 | @@ -4,11 +4,11 @@ | |
183 | ;* | |
184 | ;* ======================================================================== | |
185 | ;* | |
186 | -;* Copyright (C) 1991-2002 SciTech Software, Inc. All rights reserved. | |
187 | +;* Copyright (C) 1991-2004 SciTech Software, Inc. All rights reserved. | |
188 | ;* | |
189 | ;* This file may be distributed and/or modified under the terms of the | |
190 | -;* GNU Lesser General Public License version 2.1 as published by the Free | |
191 | -;* Software Foundation and appearing in the file LICENSE.LGPL included | |
192 | +;* GNU General Public License version 2.0 as published by the Free | |
193 | +;* Software Foundation and appearing in the file LICENSE.GPL included | |
194 | ;* in the packaging of this file. | |
195 | ;* | |
196 | ;* Licensees holding a valid Commercial License for this product from | |
197 | @@ -288,8 +288,8 @@ | |
198 | ; Convert the BIOS time to microseconds | |
199 | ||
200 | @@CalcBIOSTime: | |
201 | - mov ax,[WORD EndBIOSCount] | |
202 | - sub ax,[WORD StartBIOSCount] | |
203 | + mov ax,[EndBIOSCount] | |
204 | + sub ax,[StartBIOSCount] | |
205 | mov dx,54925 ; Number of microseconds each | |
206 | ; BIOS count represents. | |
207 | mul dx | |
208 | @@ -352,17 +352,17 @@ | |
209 | ; See if more than an hour passed during timing. If so, notify the user. | |
210 | ||
211 | @@CheckForHour: | |
212 | - mov ax,[WORD StartBIOSCount+2] | |
213 | - cmp ax,[WORD EndBIOSCount+2] | |
214 | + mov ax,[StartBIOSCount+2] | |
215 | + cmp ax,[EndBIOSCount+2] | |
216 | jz @@CalcBIOSTime ; Hour count didn't change, so | |
217 | ; everything is fine | |
218 | ||
219 | inc ax | |
220 | - cmp ax,[WORD EndBIOSCount+2] | |
221 | + cmp ax,[EndBIOSCount+2] | |
222 | jnz @@TestTooLong ; Two hour boundaries passed, so the | |
223 | ; results are no good | |
224 | - mov ax,[WORD EndBIOSCount] | |
225 | - cmp ax,[WORD StartBIOSCount] | |
226 | + mov ax,[EndBIOSCount] | |
227 | + cmp ax,[StartBIOSCount] | |
228 | jb @@CalcBIOSTime ; a single hour boundary passed. That's | |
229 | ; OK, so long as the total time wasn't | |
230 | ; more than an hour. | |
231 | @@ -384,8 +384,8 @@ | |
232 | ; Convert the BIOS time to microseconds | |
233 | ||
234 | @@CalcBIOSTime: | |
235 | - mov ax,[WORD EndBIOSCount] | |
236 | - sub ax,[WORD StartBIOSCount] | |
237 | + mov ax,[EndBIOSCount] | |
238 | + sub ax,[StartBIOSCount] | |
239 | mov dx,54925 ; Number of microseconds each | |
240 | ; BIOS count represents. | |
241 | mul dx | |
242 | ||
243 | ||
a502b34f VS |
244 | Bug reports |
245 | ----------- | |
246 | ||
247 | Please send bug reports with a description of your environment, | |
248 | compiler and the error message(s) to the wxwin-developers mailing list at: | |
249 | ||
250 | wx-dev@lists.wxwindows.org | |
251 | ||
252 | Vaclav Slavik, Julian Smart, Robert Roebling and Vadim Zeitlin, February 2002. |