#
# README
#
#   Demers, November 1, 1988 3:11:16 pm PST
#   Weiser, December 1, 1989
#

Welcome to xr, the Xerox Portable Common Runtime (also known as PCR)!

APOLOGIA

This is a preliminary release.  Not all promises are fulfilled here.
The code is at least suitable for browsing.  There is, let's face it,
essentially no documentation.  Look at pcr.l and pcrinterfaces.l in the pcr
subdirectory for what little information there is about running pcr.

This is the actual code that was used for the performance numbers for
the paper "The Portable Common Runtime Approach to Interoperability"
given at SOSP '90.  This is also the actual code in use at the Xerox
PARC Computer Science Laboratory for Cedar work as of December 1, 1989.

In spite of its name, this version has not been tested recently for
portability.  Earlier versions once ran on 68020's and Mach and SunOS 3.5.
But, all we are sure of about this version is that it runs on Sun-4's under
SunOS 4.0.3 and 4.0.3c.

There is a directory called EXTRAS included here.  It
contains additional code that is not currently incorporated into PCR,
but which implements some of the functionality we discuss in the SOSP
paper.  For instance, the generational/conservative garbage collector
is in here.  Code in the EXTRAS directory is especially bogus.
We include it in the interest of honesty, and in accordance with the
policy of no publication without supporting browsable source code.  We
don't advise trying to use it.

But we do advise using PCR.  We use it.  We welcome feedback if you try to
bring up PCR or port it, but we can't promise much in the way of replies.
Send commentary mail to PCRCoordinator@xerox.com.  Thanks.

GETTING STARTED

If you got this far you must have had 3MB free on your disk.  Congratulations.
To actually build the system you'll need another 8MB free.  Make sure you
have this before going much further.

This is the top-level directory.  Think of it as the home directory of a "user"
named "xr".  (We literally do this at PARC).  Almost all the files used
when PCR is actually operating remain here, with symbolic links and
environment variables pointing from individual programs and shell scripts
back to here.

When you first receive the distribution, there will be two subdirectories:

    UTILITIES: a couple of useful commands.
    DIST: the bulk of the PCR distribution.

After you have installed the system, the DIST subdirectory will be replaced by
subdirectories of the form

    xx_yy.zz: PCR version xx_yy, local version zz.
    INSTALLED: a symbolic link to the latest version.
    DEVELOPMENT (optional): the place where changes are being made

Symbolic links will be created in the "usual" places (e.g. /usr/include) that point into the INSTALLED subtree.

For installation instructions, consult DIST/README.

