This is release 1.5 of SRC Modula-3. 

Print the documentation doc/doc.ps; the TeX sources are also there
in case you cannot print this PostScript file. You will find detailled 
installation directives in this documentation.


This release is known to work on the following systems:

     <system>        Requirements       Hardware           Operating
                disk (Mb)   time (min)                       sytem
     -----------------------------------------------------------------
     VAX           30           50      VAX 8800           Ultrix 3.1
     DS3100        35           13      DECstation 5100    Ultrix 3.1
     SPARC                              Sparcstation-1     SunOS 4.0.3
     AP3000                             Apollo DN4500      Domain/OS 10.2
     AIX386                                                AIX/PS2
     IBMR2                              IBM R6000          AIX 3.1
     IBMRT                              IBM RT             IBM/4.3 (AOS 4.3)
     HP300                              HP 9000/300        HP-UX 7.0

We have been told that the SPARC version runs on SUN-3's as well (provided
it is compiled on a SUN-3, of course).

If you want to install for only one system:

  1 goto to the dist-1.5 directory:
	$ cd dist-1.5

  2 lookup the name of the system you want to build in the table above

  3 using util/config.dist-<system> as a model, create util/config to describe
    your environment

  4 configure for your system:
	$ make <system>

  5 you may want to edit the m3(1) man page (in system/driver/m3/m3.man-1)
    to tell users where they can find the SRC Modula-3 release notes.
    Also, you may want to change chapter 7 of that document (doc/local.tex)
    to describe your installation.

  6 compile the system:
	$ make
    The table above, in the 'Requirements, time' column, shows the cpu time
    (in minutes) needed to compile the sytem

  7 install the system:
	$ make install

  8 conserve space:
	$ make clean

You can also install for more than one architecture, from the same
file system. For each architecture you want to support, go in the
directory that contains dist-1.5:

  1 create the directory for the objects:
	$ (cd dist-1.5; make <system>.obj)
    if the symbol CC as defined by make is not right for your system, 
    edit dist-1.5/makefile first.

  2 goto to the newly created directory
	$ cd <system>.obj

  3 install the system following step 3 to 8 of the previous paragraph


If you want to run the test programs:

  1 go to the dist-1.5 directory or to <system>.obj if you installed for
    more than one architecture

  2 run the tests:
	$ make tests


If you want to build the demo programs:

  1 go to the dist-1.5 directory or to <system>.obj if you installed for
    more than one architecture

  2 build the programs:
	$ make demos

Enjoy.

-------------------------------------------------------------------------------

Subject: Modula-3 port to the Apollo
Date: Thu, 29 Mar 90 15:16:13 PST
From: ogicse!mntgfx!lisch (Ray Lischner)

Here are the files and diffs for the almost-complete port to the
Apollo 3000 and 4000 series workstations.  The problem is that
Apollo's Domain/OS does not support ITIMER_PROF, so it is difficult
to implement thread scheduling.  I think I managed to cover
everything else.

After unpacking the shell archive, the file "diffs" contains
context diffs for standard files.  I sent to m3@src.dec.com
the change to ArrayExpr.m3; it is repeated here.  Also in
the archive are the AP3000 files, including one assembly language
file, to mung the stack for longjmp().  Most Apollo sites do
not have an assembler, so I also included the object file, uuencoded.
[See the comment in util/config.dist]

I hope I included everything.  I don't really have the time to
spend on this, but I am willing to fix any problems other Apollo
users might have.  I hope that someone manages to implement Threads,
possibly by using the task system calls of Domain/OS.

