Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_FS_1_19910112 - kccdist/instal.doc
There are 31 other files named instal.doc in the archive. Click here to see a list.

	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.

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:
	Immediately after the instruction at BSRC1, add:
	Immediately after the instruction at PUTDF, add:
		 SKIPA		; If KCC, always use native mode.