-wxWindows 2.3 for MGL installation
+wxWidgets 2.6.2 for MGL installation
------------------------------------
IMPORTANT NOTE:
mailing wxwin-users or the author. Preferably, try to fix the
problem first and then send a patch to the author.
- When sending bug reports tell us what version of wxWindows you are
+ When sending bug reports tell us what version of wxWidgets you are
using (including the beta) and what compiler on what system. One
- example: wxMGL 2.3.3, gcc 2.95.3, Redhat 7.0
+ example: wxMGL 2.6.2, gcc 2.95.3, Redhat 7.0
First steps
-----------
- Download SciTech MGL library (version 5.0) from http://www.scitechsoft.com.
- (You needed a version newer than Beta 5! Preferably the one from SciTech
- Perforce repository.)
- Install it according to provided instructions. In particular, make sure that
+ The downloads page is here (you need MGL version 5.0beta7 or newer):
+ http://scitechsoft.com/products/dev/mgl_download/mgl_down.html
+
+ Install MGL according to provided instructions. In particular, make sure that
MGL_ROOT and NUCLEUS_PATH environment variables are set before attempting to
build wxMGL.
+ Make sure you installed all MGL components, including the "fonts" package
+ (it's called mgl50b7-font.tar.gz in Linux version). It is important to have
+ SciTech's basic fonts in $(MGL_ROOT)/fonts directory (you may want to add
+ Arial TrueType font for better output quality) and basic cursors in
+ $(MGL_ROOT)/cursors. wxMGL depends on their presence.
+
- Download wxMGL-x.y.z.tgz, where x.y.z is the version number.
Download documentation in a preferred format, such as
- wxWindows-HTML.zip or wxWindows-PDF.zip.
+ wxWidgets-HTML.zip or wxWidgets-PDF.zip.
- Make a directory such as ~/wx and unarchive the files into this
directory.
- It is recommended that you install bison and flex; using yacc
and lex may require tweaking of the makefiles.
-- You can now use configure or makefiles to build wxWindows and the samples.
+- You can now use configure or makefiles to build wxWidgets and the samples.
In case of problems, please use GNU make.
These instructions apply to installation on a Unix system (such as Linux). Please
see bellow for information on using configure on non-Unix platforms.
-If you compile wxWindows on Linux for the first time and don't like to read
+If you compile wxWidgets on Linux for the first time and don't like to read
install instructions just do (in the base dir):
> ./configure --with-mgl
> ldconfig
> exit
-If you want to remove wxWindows on Unix you can do this:
+If you want to remove wxWidgets on Unix you can do this:
> su <type root password>
> make uninstall
'make install' will install wx-config script that can (and should) be used
to get compiler flags that are needed to build your program. wx-config --cxxflags
-will output neccessary C++ compiler flags and wx-config --libs will list all
-needed libraries. See an example of wxWindows application makefile:
+will output necessary C++ compiler flags and wx-config --libs will list all
+needed libraries. See an example of wxWidgets application makefile:
minimal: minimal.o
$(CC) -o minimal minimal.o `wx-config --libs`
> ./configure --with-mgl
> make
-in wxWindows top directory. You can build wxMGL in MS-DOS with configure, sorry.
+in wxWidgets top directory. You can build wxMGL in MS-DOS with configure, sorry.
* Building wxMGL for MS-DOS using Watcom C/C++
!include $(WXDIR)\src\mgl\makeprog.wat
+Compilation notes for MGL 5.1
+-----------------------------
+
+The mvis library doesn't compile with current versions of gcc. However wxMGL
+does not use this part of MGL, so it can be taken out of the compile, e.g.:
+
+--- scitech/src/makefile.orig 2004-04-15 20:36:32.000000000 +0100
++++ scitech/src/makefile 2005-04-26 01:50:12.000000000 +0100
+@@ -88,7 +88,7 @@
+
+ # Target to build libraries for one compiler for SciTech MGL Graphics Library
+
+-all_mgl: $(T_PM) $(T_GCONSOLE) $(T_SNAP) $(T_TECH) $(T_MVIS) $(T_FIXED) \
++all_mgl: $(T_PM) $(T_GCONSOLE) $(T_SNAP) $(T_TECH) $(T_FIXED) \
+ $(T_GM) $(T_GLUT) $(T_MGL)
+ @$(ECHO) =============================================================================
+ @$(ECHO) DONE: Single compiler MGL build completed successfully!
+
+The dos version of _lztimer.asm can't be assembled by the GNU assember. A
+newer version is available from Scitech, a patch between the version in MGL
+5.1 and the newer version is included below:
+
+--- scitech/src/pm/dos/_lztimer.asm.orig 2004-04-15 20:36:33.000000000 +0100
++++ scitech/src/pm/dos/_lztimer.asm 2005-04-26 18:39:57.000000000 +0100
+@@ -4,11 +4,11 @@
+ ;*
+ ;* ========================================================================
+ ;*
+-;* Copyright (C) 1991-2002 SciTech Software, Inc. All rights reserved.
++;* Copyright (C) 1991-2004 SciTech Software, Inc. All rights reserved.
+ ;*
+ ;* This file may be distributed and/or modified under the terms of the
+-;* GNU Lesser General Public License version 2.1 as published by the Free
+-;* Software Foundation and appearing in the file LICENSE.LGPL included
++;* GNU General Public License version 2.0 as published by the Free
++;* Software Foundation and appearing in the file LICENSE.GPL included
+ ;* in the packaging of this file.
+ ;*
+ ;* Licensees holding a valid Commercial License for this product from
+@@ -288,8 +288,8 @@
+ ; Convert the BIOS time to microseconds
+
+ @@CalcBIOSTime:
+- mov ax,[WORD EndBIOSCount]
+- sub ax,[WORD StartBIOSCount]
++ mov ax,[EndBIOSCount]
++ sub ax,[StartBIOSCount]
+ mov dx,54925 ; Number of microseconds each
+ ; BIOS count represents.
+ mul dx
+@@ -352,17 +352,17 @@
+ ; See if more than an hour passed during timing. If so, notify the user.
+
+ @@CheckForHour:
+- mov ax,[WORD StartBIOSCount+2]
+- cmp ax,[WORD EndBIOSCount+2]
++ mov ax,[StartBIOSCount+2]
++ cmp ax,[EndBIOSCount+2]
+ jz @@CalcBIOSTime ; Hour count didn't change, so
+ ; everything is fine
+
+ inc ax
+- cmp ax,[WORD EndBIOSCount+2]
++ cmp ax,[EndBIOSCount+2]
+ jnz @@TestTooLong ; Two hour boundaries passed, so the
+ ; results are no good
+- mov ax,[WORD EndBIOSCount]
+- cmp ax,[WORD StartBIOSCount]
++ mov ax,[EndBIOSCount]
++ cmp ax,[StartBIOSCount]
+ jb @@CalcBIOSTime ; a single hour boundary passed. That's
+ ; OK, so long as the total time wasn't
+ ; more than an hour.
+@@ -384,8 +384,8 @@
+ ; Convert the BIOS time to microseconds
+
+ @@CalcBIOSTime:
+- mov ax,[WORD EndBIOSCount]
+- sub ax,[WORD StartBIOSCount]
++ mov ax,[EndBIOSCount]
++ sub ax,[StartBIOSCount]
+ mov dx,54925 ; Number of microseconds each
+ ; BIOS count represents.
+ mul dx
+
+
Bug reports
-----------