mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 23:36:30 +00:00
Binary-only compiler and library, plus documentation and include files for compiling new programs.
144 lines
5.7 KiB
Plaintext
Executable File
144 lines
5.7 KiB
Plaintext
Executable File
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.
|
||
|
||
TAPE INSTALLATION:
|
||
|
||
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:
|
||
|
||
<KCC-n>CC.EXE
|
||
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.
|
||
|
||
BETA-TEST Versions:
|
||
|
||
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.
|
||
|
||
General Notes:
|
||
|
||
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
|
||
named *.DOC.
|
||
|
||
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.
|
||
|
||
|
||
MONITOR/EXEC Modifications:
|
||
|
||
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:
|
||
CAIN P4,LT.C
|
||
RET
|
||
Immediately after the instruction at PUTDF, add:
|
||
CAIN P4,LT.C
|
||
SKIPA ; If KCC, always use native mode.
|
||
|