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: 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: => Runtime library and include files. CC.DOC KCC user documentation. More include files, Un*x oriented. FAIL assembler source, binary, and manual. KCC compiler sources and auxiliary files. Runtime library sources: General-purpose library routines. Standard I/O package routines. Math library routines. Unix simulation routines. A stab at a couple BSD net routines. Unused "portable math library" routines. 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. ), 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: CC.EXE C: => *.*.0 Runtime library and include files. *.*.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 , or , 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:*.*.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 . 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.