# # Last modified on Tue Sep 17 09:29:34 PDT 1996 by najork # modified on Fri Jun 16 10:51:54 PDT 1995 by kalsow # This release (3.6) has been tested on four platforms: ALPHA_OSF Digital Alpha running Digital Unix 3.2 DS3100 DECstation running ULTRIX 4.4 SPARC Sun SparcStation running SunOS 4.1.4 NT386 PCs running Windows 95, Windows NT 3.51 (Pentium and >32M of RAM recommended) It should also work on most of the other platforms. Please send mail to "m3-request@src.dec.com" to let us know of any problems. We're actively fixing this release. The user manual is online at URL http://www.research.digital.com/SRC/modula-3/html/home.html More extensive and up-to-date installation instructions can be found at http://www.research.digital.com/SRC/modula-3/html/install.html To install the system on platform "XYZ" 1) For Unix platforms, get "boot-XYZ.tar.gz", "m3cc.tar.gz", "m3.tar.gz", and optionally "m3gdb.tar.gz", "html.tar.gz", and "docs.tar.gz". > ftp gatekeeper.dec.com ftp> cd pub/DEC/Modula-3/release-3.5 ftp> binary ftp> get boot-XYZ.tar.gz ftp> get m3cc.tar.gz ftp> get m3.tar.gz Here's what they contain: boot-XYZ - the bootstrap compiler for platform XYZ m3cc - the GCC-based back end m3 - the full SRC Modula-3 sources m3gdb - a version of gdb modified to recognize Modula-3 symbols html - a copy of the WWW documentation docs - misc. documents On Windows 95 and Windows NT, you don't need m3cc and m3gdb. Otherwise everything is the same. 2) Unpack "boot-XYZ.tar.gz": gunzip < boot-XYZ.tar.gz | tar xpof - 3) Inside the boot-XYZ directory that gets created, unpack "m3cc.tar.gz". It's the gcc-based backend. cd boot-XYZ gunzip < ../m3cc.tar.gz | tar xpof - On Windows 95 and Windows NT, m3cc is not used. This step should be skipped. 4) Edit "boot-XYZ/m3build/templates/XYZ" to match your installation. If your native "make" does not support the VPATH feature, ensure that GNU_MAKE in your configuration template is set up to use GNU make. If you're optimistic, skip this step and see if the next step dies a horrible death trying to build m3cc. See "boot-XYZ/m3cc/gcc/INSTALL" for the gory details about VPATH. 5) run "m3boot" 6) run "m3ship" At this point a working compiler has been installed, but no libraries. You may need to tell your shell that new executables (e.g. m3build and m3ship) are present, by resetting your PATH environment variable to include the BIN_INSTALL directory and running rehash, for example. Unless the bootstrap is broken, you are done with the boot-XYZ directory. Leave the directory and if you're feeling brave, delete it. 7) In a clean directory, unpack the m3 source archive, edit m3/src/m3makefile as you see fit, and build it using the m3build that was installed in step 6: > gunzip < ../m3.tar.gz | tar xpof - > cd m3 (edit src/m3makefile to build the pieces you want) > m3build The top-level m3makefile, m3/src/m3makefile, takes care of building each Modula-3 source package and shipping it. For your own packages you must run m3build and then explicitly run m3ship. SRC Modula-3 started out as a Unix-based environment. At this point, most, but not all of the libraries and programs have been ported to Windows 95/Windows NT. Moreover, some programs that depend on Trestle (the "ui" package) remain shaky or plain don't work (e.g. Lectern). 8) At this point the Modula-3 libraries and utilities are built and installed. To save space you may delete the compressed tar files, and the boot-XYZ and m3 directories. They are not needed when using SRC Modula-3. More documentation can be found on the Modula-3 home page at URL: http://www.research.digital.com/SRC/modula-3/html/home.html More detailed installation instructions are in http://www.research.digital.com/SRC/modula-3/html/install.html or in the html.tar.gz archive at: "html/modula-3/html/install.html" This system contains bugs. We try to maintain an up-to-date list of known bugs and patches at http://www.research.digital.com/SRC/modula-3/html/patches.html If you discover bugs or fixes, please send mail to "m3-request@src.dec.com". Here are bugs a few to watch out for: 1) We don't use the gcc optimizer routinely. In the past it has produced bad code or crashed. Use the optimizer at your own risk. 2) The compiler doesn't use Fmt & Lex so its reading and printing of extremely large or small floating-point values is sloppy. 3) The Windows 95/Windows NT port is very new. The Windows-port of Trestle is mostly working, but hasn't been used much. Network Objects have not been exercised a lot. Enjoy, - Bill Kalsow - Marc Najork