Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_FS_1_19910112 - kcc-6/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
NIC.DDN.MIL, 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 <KCC-n>, to hold the distribution.
This will contain the following:

	<KCC-n>		General information files, in particular:
		INSTAL.DOC	Installation info; what you are reading now.
		AGREE.TXT	Ethical issues.
		NEWS.TXT	News about this version.
	<KCC-n.BUILD>	Files used in building KCC.
		BUILD.DOC	How to build KCC and LIBC from sources.

 C: =>	<KCC-n.INCLUDE>		Include files (plus extra stuff)
		CC.DOC		KCC user documentation.
		CC.EXE		KCC TOPS-20 compiler
		CCX.EXE		KCC TOPS-20 compiler (extended memory version)
	<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.GEN>		General-purpose library routines.
	<KCC-n.LIB.STDIO>	Standard I/O package routines.
	<KCC-n.LIB.MATH>	Math library routines.
	<KCC-n.LIB.USER>	User library routines (not part of LIBC).
	<KCC-n.LIB.USYS>	Unix simulation routines.
	<KCC-n.LIB.TEST>	Random testing routines.

	<KCC-n.T20>	TOPS-20 binaries.
	<>	System binaries, where "xxx" can be T10, CSI, WTS, etc.
Quick TOPS-20 KCC Installation:

	To start using KCC as quickly as possible, it will suffice to
do the following:
	Define the logical name C: to point at <KCC-n.INCLUDE>.
	Ensure that C:CC.EXE, C:CCX.EXE, and <KCC-n.FAIL>FAIL.EXE are
		in your SYS: search path.  This usually, but not necessarily,
		means copying them to your standard system program directory.
	With any luck, that's it.
More careful TOPS-20 KCC installation:

	First, read the NEWS.TXT file for any special news about this
version of the distribution.

	Then create a directory accessible to the intended users which
will hold the runtime library and include files, and define the
system-wide logical name C: to point to it.  This directory should
also have a subdirectory called SYS to hold certain other include

	Now copy everything from <KCC-n.INCLUDE> and <KCC-n.INCLUDE.SYS>
into these two directories, to avoid modifying the distribution files.
If you don't care about this, you can simply define C: to point at
<KCC-n.INCLUDE> as per the "quick" installation method.

	Now install the following files into C: -- as a convenience,
these have normally already been copied into <KCC-n.INCLUDE>, so you
may be able to skip this step.

	Now install the following files someplace in your system's
SYS: search path:
	<KCC-n.FAIL>FAIL.EXE	(if you don't already have FAIL)

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 NIC.DDN.MIL, 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.
	If you are retrieving or updating everything, the most useful
file will be "KCCDIST:-FTP-.MIC".  Get that file, modify it as
necessary for your site, and use it to transfer the rest.

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 (or CCX)	Latest KCC.
	C:*.*.0			Latest runtime library and include files.
	C:<.SYS>*.*.0		Latest Un*x-emulation include files.

Copies of these may sometimes be included on a tape, with the names BETA-*.*.
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.  That is, you
		cannot normally regenerate the beta binaries from the
		distributed sources.
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.  All of the doc files in C: are merely copies of the
canonical versions elsewhere in the tree, so you can either delete
the C: copies, or copy more of the doc files there, as you wish.

	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 can either recompile KCC with the CCSITE.H file
changed to reflect your preferences, or you can patch the "tgasm"
variable in CC.EXE and CCX.EXE to have the value 1.

	If you have any problems installing KCC, or discover bugs, or
just want to relay feedback, you can get in touch as follows:

Internet mail:	<BUG-KCC@NIC.DDN.MIL>
Telephone:	(415) 859-6552
Postal Mail:	Ken Harrenstien, EJ200
		SRI International
		333 Ravenswood Ave
		Menlo Park, CA  94025
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.