There are 31 other files named instal.doc in the archive. Click here to see a list.
INSTALLING KCC ON A TOPS-20 SYSTEM
KCC is normally distributed over the Internet via FTP from
SRI-NIC.ARPA, but can also be obtained on tape. This file describes
the basics of installing KCC for each, but you should read everything
regardless of which medium you are using.
The TOPS-20 tape consists of a single DUMPER saveset with
several directories. They are organized into a single tree with the
top-level directory named "KCCDIST" or "KCC-n" or whatever; for
purposes of discussion we'll assume the fictitious name "KCC-n". You
can either retrieve all files at once, or extract only those necessary
to install a working copy of KCC.
Retrieving all files:
Create a directory, such as KCCDIST, to hold the distribution.
This will contain the following:
<KCC-n> General information files, in particular:
CC.EXE The KCC compiler.
AGREE.TXT Ethical issues.
INSTAL.DOC Installation info; what you are reading now.
NEWS.TXT News about this version.
C: => <KCC-n.INCLUDE> Runtime library and include files.
CC.DOC KCC user documentation.
<KCC-n.INCLUDE.SYS> More include files, Un*x oriented.
<KCC-n.FAIL> FAIL assembler source, binary, and manual.
<KCC-n.KCC> KCC compiler sources and auxiliary files.
<KCC-n.LIB*> Runtime library sources:
<KCC-n.LIB> General-purpose library routines.
<KCC-n.LIB.STDIO> Standard I/O package routines.
<KCC-n.LIB.MATH> Math library routines.
<KCC-n.LIB.USYS> Unix simulation routines.
<KCC-n.LIB.NETWORK> A stab at a couple BSD net routines.
<KCC-n.LIB.PML> Unused "portable math library" routines.
<KCC-n.LIB.TEST> Unused testing routines.
Installing a working KCC:
To install a working copy of KCC, you should create a
directory to hold the runtime library and include files, and define
the logical name C: to point to it. This may be the same directory as
the one you restored the tape to (i.e. <KCC-n.INCLUDE>), or it may be
a different place. This directory should also have a subdirectory
called SYS to hold certain other include files.
Read the NEWS.TXT file for any special news about this version
of the distribution. Then define C:, copy CC.EXE to your site's SYS:
directory, and you're all set.
To summarize, these are the files you need:
C: => <KCC-n.INCLUDE>*.*.0 Runtime library and include files.
<KCC-n.INCLUDE.SYS>*.*.0 More include files, Un*x oriented.
Be sure to read the General Notes farther on in this file.
FTP transfer notes:
If you are fortunate enough to have Internet access, I
recommend that you use FTP (File Transfer Protocol) to get copies of
any KCC files that you need.
Connect to SRI-NIC.ARPA, and use the FTP anonymous login
convention (username "anonymous", password your real name) to log in.
The complete distribution is available in the directory tree defined
by the logical name KCCDIST:, which is organized exactly as described
in the previous (tape installation) section. You can retrieve any of
the files or directories mentioned as needed.
NOTE: the exact directory name which KCCDIST: points to will
vary! It may be <KCCDIST>, or <KCC-n>, or something else, so be
prepared to modify the given filenames appropriately.
For those interested in serving as "beta test" sites and
living dangerously, it is possible to acquire the very latest binaries
by transferring the following files:
SYS:CC.EXE Latest KCC.
C:*.*.0 Latest runtime library and include files.
C:<KCC.SYS>*.*.0 Latest Un*x-emulation include files.
Since KCC and the library are still evolving steadily, you will almost
certainly get something newer and better. Just be aware that you also
have the following risks:
(1) The binaries may contain new bugs.
(2) The new versions may be incompatible (this will cause linker
error messages to alert you, however).
(3) The new sources will not be available until things stabilize
enough for a new distribution to be made.
It is wise to retain the file version numbers during
installation, since that is how KCC versions are numbered; a higher
file version number means a more recent version of KCC.
C:CC.DOC contains user documentation. More internal details
may be available at various places in the directory tree, in files
KCC as distributed will invoke the FAIL assembler by
default, rather than MACRO, because FAIL is much faster. If you do
not have FAIL, you may wish to install it also. The .EXE binary,
.FAI source, and line-printer style manual (FAIL.MANUAL) are included.
If you don't want to try this, or for other reasons prefer to use
MACRO, then you will want to either recompile KCC with the CCSITE.H
file changed to reflect your preferences, or you can patch the "tgasm"
variable in CC.EXE to have the value 1.
There are certain modifications to the TOPS-20 Monitor and Exec
which KCC can make use of, if they are available. They are:
(1) Monitor: the PIP: device, to support pipes.
(2) Exec: PRARG% protocol to support "&" background processing.
(3) Exec: COMPIL-class command support.
Many sites already have these modifications, but if you don't, you
should be able to obtain them from their origin at Stanford; contact
Stu Grossman <Grossman@SIERRA.STANFORD.EDU>. Note that they are not
necessary, either to use KCC or run the C programs it compiles.
The COMPIL-class command change is simple enough to be described here:
The EXEC modifications to make its COMPILE/LOAD/etc commands
work with KCC can be found in the Stanford version of the EXEC
in the EXECCS module:
In the LANGUAGE macro definition, add:
L (DDT,C,CC,KCC) ;KCC
Immediately after the instruction at BSRC1, add:
Immediately after the instruction at PUTDF, add:
SKIPA ; If KCC, always use native mode.