Ezm3: An Easier Modula-3 Distribution

What Is Ezm3?

Ezm3 is a simpler, more portable distribution of the Modula-3 compiler and runtime libraries. It is designed for people who would like to install CVSup on their systems as quickly and as painlessly as possible. Ezm3 is derived from the robust and comprehensive PM3 release of Modula-3. Only the components and features which are needed by CVSup were retained. Features which made the package harder to port and install were removed.

The goal of Ezm3 is for you to be able to install Modula-3 on your system in one try, without any patching or false starts.

What is Ezm3 Not?

Ezm3 is not a full release of the entire Modula-3 source base. It contains only those components which are required for building and running CVSup. If you are interested in using Modula-3 for anything except building CVSup, you might be better off using a more complete distribution such as PM3 or CM3.

Ezm3 does not bother building shared library versions of the Modula-3 runtime libraries. This means that CVSup and other programs you build with Ezm3 will be self-sufficient. They will run on systems which don't have Ezm3 installed.

Ezm3 does not bother trying to support Modula-3's incremental garbage collection feature. This feature is the leading cause of portability and installation problems in other distributions of Modula-3. It does not benefit CVSup, so it has been removed. As a lucky side-effect, removing the incremental GC reduces dynamic memory usage by about 25%.

Ezm3 does not try to support Windows. It is for Unix variants only.

What platforms are supported?

Ezm3 should install easily on the following platforms.

Ezm3 Target Hardware Operating System Bootstrap Distribution
ALPHA_OSF Alpha Digital Unix 4.0 and later, Compaq Tru64 ezm3-1.1-ALPHA_OSF-boot.tar.bz2
FBSD_ALPHA Alpha FreeBSD 4.1 and later ezm3-1.1-FBSD_ALPHA-boot.tar.bz2
FBSD_SPARC64NEW! SPARC-V9 FreeBSD 5.0 and later ezm3-1.1-FBSD_SPARC64-boot.tar.bz2
FreeBSD4 ix86 FreeBSD 4.x and later ezm3-1.1-FreeBSD4-boot.tar.bz2
LINUXLIBC6 ix86 Red Hat 7.1 and later, SuSE, CRUX, and others ezm3-1.1-LINUXLIBC6-boot.tar.bz2
NetBSDi386 ix86 NetBSD 1.6 and later ezm3-1.1-NetBSDi386-boot.tar.bz2
OpenBSD_386 ix86 OpenBSD 3.2 and later ezm3-1.1-OpenBSD_386-boot.tar.bz2
SOLgnu SPARC Solaris 2.x / SunOS 5.x, with GCC installed ezm3-1.1-SOLgnu-boot.tar.bz2

Prerequisites

To install Ezm3 you will need:

Platform-specific Notes

Linux (LINUXLIBC6)

Solaris (SOLgnu)

Installation

  1. Unpack the two Ezm3 distribution files. This will create a subdirectory "ezm3-1.1" containing all of the source files.
  2. Get into the "ezm3-1.1" subdirectory.
  3. By default Ezm3 will install into "/usr/local" in subdirectories named "bin", "lib", and "man". If you want to change that, edit "m3config/src/${TARGET}", where ${TARGET} is replaced by the name of your Ezm3 target from the table of supported platforms above. Find the definition of INSTALL_ROOT and change it to your desired installation directory. Create the directory if it doesn't exist.
  4. Also in the "m3config/src/${TARGET}" file, check the definition of X11ROOT to make sure it is correct for your system. If X11 is not installed on your system, do not worry about this. You do not need to have X11 installed to build Ezm3, but if you do have it then you should set X11ROOT correctly. It should reference the directory which contains the X11 libraries, and which has a subdirectory named "X11".
  5. Check the platform-specific notes above and follow any special instructions for your platform.
  6. Become root.
  7. Type "gmake". This will build and install Modula-3. It is not possible to separate the build from the installation, and the installed files will not work if you move them to a different location. That is why you have to do this as root.
  8. Wait for the build to complete. It takes 10 minutes or more, depending on the speed of the build platform.
  9. That's all! Get out of the "ezm3-1.1" directory and remove it, if you wish.

Problems?

If you run into any problems installing Ezm3 on a supported platform, please report them to <ezm3-bugs@polstra.com>.


$Id: INSTALL.html,v 1.9 2003/04/12 17:39:28 jdp Exp $
Copyright © 2001-2003 John D. Polstra