Avoid informal usage of 'you'
This commit is contained in:
		
							parent
							
								
									8f0ef636ab
								
							
						
					
					
						commit
						ca72abbf26
					
				
					 1 changed files with 159 additions and 281 deletions
				
			
		
							
								
								
									
										440
									
								
								doc/install.doc
									
										
									
									
									
								
							
							
						
						
									
										440
									
								
								doc/install.doc
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -16,7 +16,7 @@ Introduction
 | 
			
		|||
.PP
 | 
			
		||||
This document
 | 
			
		||||
describes the process of installing the Amsterdam Compiler Kit (ACK).
 | 
			
		||||
It depends on your combination of hard- and software how
 | 
			
		||||
It depends on the combination of hard- and software how
 | 
			
		||||
hard it will be to install the Kit.
 | 
			
		||||
This description is intended for a Sun-3 or SPARC workstation.
 | 
			
		||||
Installation on VAXen running Berkeley
 | 
			
		||||
| 
						 | 
				
			
			@ -31,8 +31,7 @@ See section 8 for installation on other systems.
 | 
			
		|||
.NH
 | 
			
		||||
The ACK installation process
 | 
			
		||||
.PP
 | 
			
		||||
Before starting the installation, you need to know some things about the
 | 
			
		||||
installation process. In this process, three directory trees are used:
 | 
			
		||||
In the ACK installation process, three directory trees are used:
 | 
			
		||||
.IP "-"
 | 
			
		||||
the ACK source tree. This is the tree on the ACK distribution medium.
 | 
			
		||||
For the rest of this document, we will refer to this directory 
 | 
			
		||||
| 
						 | 
				
			
			@ -88,14 +87,9 @@ contains the file "ip_spec.t" needed for EM interpreters and EM documentation.
 | 
			
		|||
.IP "config"
 | 
			
		||||
contains two include files:
 | 
			
		||||
.TS
 | 
			
		||||
l lw(4.5i).
 | 
			
		||||
em_path.h	T{
 | 
			
		||||
path names used by \fIack\fP, intended
 | 
			
		||||
for all utilities
 | 
			
		||||
T}
 | 
			
		||||
local.h	T{
 | 
			
		||||
various definitions for local versions
 | 
			
		||||
T}
 | 
			
		||||
l l.
 | 
			
		||||
em_path.h	path names used by \fIack\fP, intended for all utilities
 | 
			
		||||
local.h	various definitions for local versions
 | 
			
		||||
.TE
 | 
			
		||||
These include files are specific for the current machine, so they
 | 
			
		||||
are in a separate directory.
 | 
			
		||||
| 
						 | 
				
			
			@ -115,90 +109,37 @@ in the library lang/cem/libcc/mon.
 | 
			
		|||
.IP "h"
 | 
			
		||||
the #include files for:
 | 
			
		||||
.TS
 | 
			
		||||
l lw(4.5i).
 | 
			
		||||
arch.h	T{
 | 
			
		||||
definition of the ACK archive format
 | 
			
		||||
T}
 | 
			
		||||
as_spec.h	T{
 | 
			
		||||
used by EM assembler and interpreters
 | 
			
		||||
T}
 | 
			
		||||
bc_io.h	T{
 | 
			
		||||
used by the Basic run-time system
 | 
			
		||||
T}
 | 
			
		||||
bc_string.h	T{
 | 
			
		||||
used by the Basic run-time system
 | 
			
		||||
T}
 | 
			
		||||
cg_pattern.h	T{
 | 
			
		||||
used by the backend program "cg" and its bootstrap
 | 
			
		||||
T}
 | 
			
		||||
cgg_cg.h	T{
 | 
			
		||||
used by the backend program "ncg" and its bootstrap
 | 
			
		||||
T}
 | 
			
		||||
em_abs.h	T{
 | 
			
		||||
contains trap numbers and address for lin and fil
 | 
			
		||||
T}
 | 
			
		||||
em_ego.h	T{
 | 
			
		||||
definition of names for some global optimizer messages
 | 
			
		||||
T}
 | 
			
		||||
em_flag.h	T{
 | 
			
		||||
definition of bits in array em_flag in $TARGET_HOME/lib.bin/em_data.a.
 | 
			
		||||
Describes parameters effect on flow of instructions
 | 
			
		||||
T}
 | 
			
		||||
em_mes.h	T{
 | 
			
		||||
definition of names for mes pseudo numbers
 | 
			
		||||
T}
 | 
			
		||||
em_mnem.h	T{
 | 
			
		||||
instruction => compact mapping.
 | 
			
		||||
T}
 | 
			
		||||
em_pseu.h	T{
 | 
			
		||||
pseudo instruction => compact mapping
 | 
			
		||||
T}
 | 
			
		||||
em_ptyp.h	T{
 | 
			
		||||
useful for compact code reading/writing,
 | 
			
		||||
defines classes of parameters
 | 
			
		||||
T}
 | 
			
		||||
em_reg.h	T{
 | 
			
		||||
definition of mnemonics indicating register type
 | 
			
		||||
T}
 | 
			
		||||
em_spec.h	T{
 | 
			
		||||
definition of constants used in compact code
 | 
			
		||||
T}
 | 
			
		||||
ip_spec.h	T{
 | 
			
		||||
used by programs that read e.out files
 | 
			
		||||
T}
 | 
			
		||||
m2_traps.h	T{
 | 
			
		||||
used by the Modula-2 run-time system
 | 
			
		||||
T}
 | 
			
		||||
ocm_chan.h	T{
 | 
			
		||||
used by the occam run-time system
 | 
			
		||||
T}
 | 
			
		||||
ocm_parco.h	T{
 | 
			
		||||
used by the occam run-time system
 | 
			
		||||
T}
 | 
			
		||||
ocm_proc.h	T{
 | 
			
		||||
used by the occam run-time system
 | 
			
		||||
T}
 | 
			
		||||
out.h	T{
 | 
			
		||||
defines the ACK a.out format
 | 
			
		||||
T}
 | 
			
		||||
pc_err.h	T{
 | 
			
		||||
definitions of error numbers in Pascal
 | 
			
		||||
T}
 | 
			
		||||
pc_file.h	T{
 | 
			
		||||
macro's used in file handling in Pascal
 | 
			
		||||
T}
 | 
			
		||||
pc_size.h	T{
 | 
			
		||||
sizes of objects used by Pascal compiler and run-time system
 | 
			
		||||
T}
 | 
			
		||||
pc_math.h	T{
 | 
			
		||||
used by the Pascal runtime system
 | 
			
		||||
T}
 | 
			
		||||
ranlib.h	T{
 | 
			
		||||
defines symbol table format for archives
 | 
			
		||||
T}
 | 
			
		||||
stb.h	T{
 | 
			
		||||
defines debugger symbol table types
 | 
			
		||||
T}
 | 
			
		||||
l l.
 | 
			
		||||
arch.h	definition of the ACK archive format
 | 
			
		||||
as_spec.h	used by EM assembler and interpreters
 | 
			
		||||
bc_io.h	used by the Basic run-time system
 | 
			
		||||
bc_string.h	used by the Basic run-time system
 | 
			
		||||
cg_pattern.h	used by the backend program "cg" and its bootstrap
 | 
			
		||||
cgg_cg.h	used by the backend program "ncg" and its bootstrap
 | 
			
		||||
em_abs.h	contains trap numbers and address for lin and fil
 | 
			
		||||
em_ego.h	definition of names for some global optimizer
 | 
			
		||||
	messages
 | 
			
		||||
em_flag.h	definition of bits in array em_flag in
 | 
			
		||||
	$TARGET_HOME/lib.bin/em_data.a. Describes parameters
 | 
			
		||||
	effect on flow of instructions
 | 
			
		||||
em_mes.h	definition of names for mes pseudo numbers
 | 
			
		||||
em_mnem.h	instruction => compact mapping
 | 
			
		||||
em_pseu.h	pseudo instruction => compact mapping
 | 
			
		||||
em_ptyp.h	useful for compact code reading/writing,
 | 
			
		||||
	defines classes of parameters
 | 
			
		||||
em_reg.h	definition of mnemonics indicating register type
 | 
			
		||||
em_spec.h	definition of constants used in compact code
 | 
			
		||||
ip_spec.h	used by programs that read e.out files
 | 
			
		||||
m2_traps.h	used by the Modula-2 run-time system
 | 
			
		||||
ocm_chan.h	used by the occam run-time system
 | 
			
		||||
ocm_parco.h	used by the occam run-time system
 | 
			
		||||
ocm_proc.h	used by the occam run-time system
 | 
			
		||||
out.h	defines the ACK a.out format
 | 
			
		||||
pc_err.h	definitions of error numbers in Pascal
 | 
			
		||||
pc_file.h	macro's used in file handling in Pascal
 | 
			
		||||
pc_math.h	used by the Pascal runtime system
 | 
			
		||||
ranlib.h	defines symbol table format for archives
 | 
			
		||||
stb.h	defines debugger symbol table types
 | 
			
		||||
.TE
 | 
			
		||||
.IP "modules"
 | 
			
		||||
root of a tree containing modules for compiler writers.
 | 
			
		||||
| 
						 | 
				
			
			@ -221,22 +162,25 @@ the EM interpreter written in Pascal.
 | 
			
		|||
man files for various utilities.
 | 
			
		||||
.if n .nr PD 1v
 | 
			
		||||
.LP
 | 
			
		||||
If you have a shared file system and want to install ACK on several types
 | 
			
		||||
of machines, it may be useful to know that the "doc", "etc", "h",
 | 
			
		||||
When installing ACK on several types of machines with a shared file system,
 | 
			
		||||
it may be useful to know that the "doc", "etc", "h",
 | 
			
		||||
"include", "lib" and "man" sub-directories do not depend on this
 | 
			
		||||
particular installation. They do not contain binaries or path-dependent
 | 
			
		||||
information. These directories can therefore be shared between the
 | 
			
		||||
ACK installations. This can be accomplished by creating the tree and
 | 
			
		||||
suitable symbolic links before starting the installation process.
 | 
			
		||||
.LP
 | 
			
		||||
For instance, let us say you have a file-system that is accessible from 
 | 
			
		||||
the different machines as "/usr/share/local". You can then create a
 | 
			
		||||
directory "/usr/share/local/ack", and give it subdirectories "doc", "etc", "h",
 | 
			
		||||
"include", "lib" and "man". Also, let us assume that you want the
 | 
			
		||||
ack binary tree in "/usr/local/ack". You can create this directory and
 | 
			
		||||
For instance, let us say there is a file-system that is accessible from 
 | 
			
		||||
the different machines as "/usr/share/local", and the ACK binary tree
 | 
			
		||||
must be installed in "/usr/local/ack". In this case, proceed as follows:
 | 
			
		||||
.IP \-
 | 
			
		||||
create a directory "/usr/share/local/ack", with subdirectories
 | 
			
		||||
"doc", "etc", "h", "include", "lib" and "man".
 | 
			
		||||
.IP \-
 | 
			
		||||
create a directory "/usr/local/ack" and
 | 
			
		||||
then create symbolic links "doc" to "/usr/share/local/ack/doc", etc.
 | 
			
		||||
.LP
 | 
			
		||||
If you do this on all machines on which ACK will be installed, the
 | 
			
		||||
If this is done on all machines on which ACK will be installed, the
 | 
			
		||||
machine-independent part only has to be installed once, preferably
 | 
			
		||||
on the fastest processor (it takes a long time to install all libraries).
 | 
			
		||||
.LP
 | 
			
		||||
| 
						 | 
				
			
			@ -267,77 +211,33 @@ are used for which systems.
 | 
			
		|||
These directories have subdirectories named:
 | 
			
		||||
.in +3n
 | 
			
		||||
.TS
 | 
			
		||||
l lw(4i).
 | 
			
		||||
cg	T{
 | 
			
		||||
the backend   (*.m => *.s)
 | 
			
		||||
T}
 | 
			
		||||
ncg	T{
 | 
			
		||||
the new backend   (*.m => *.s)
 | 
			
		||||
T}
 | 
			
		||||
as	T{
 | 
			
		||||
the assembler (*.s => *.o) or
 | 
			
		||||
assembler/linker (*.s + libraries => a.out)
 | 
			
		||||
T}
 | 
			
		||||
cv	T{
 | 
			
		||||
conversion programs for a.out files
 | 
			
		||||
T}
 | 
			
		||||
dl	T{
 | 
			
		||||
down-load programs
 | 
			
		||||
T}
 | 
			
		||||
top	T{
 | 
			
		||||
the target optimizer
 | 
			
		||||
T}
 | 
			
		||||
int	T{
 | 
			
		||||
source for an interpreter
 | 
			
		||||
T}
 | 
			
		||||
l l.
 | 
			
		||||
cg	the backend   (*.m => *.s)
 | 
			
		||||
ncg	the new backend   (*.m => *.s)
 | 
			
		||||
as	the assembler (*.s => *.o) or
 | 
			
		||||
	assembler/linker (*.s + libraries => a.out)
 | 
			
		||||
cv	conversion programs for a.out files
 | 
			
		||||
dl	down-load programs
 | 
			
		||||
top	the target optimizer
 | 
			
		||||
int	source for an interpreter
 | 
			
		||||
 | 
			
		||||
libbc	T{
 | 
			
		||||
used to create Basic run-time system and libraries
 | 
			
		||||
T}
 | 
			
		||||
libcc	T{
 | 
			
		||||
used to create C run-time system and libraries
 | 
			
		||||
T}
 | 
			
		||||
libcc.ansi	T{
 | 
			
		||||
used to create ANSI C run-time system and libraries
 | 
			
		||||
T}
 | 
			
		||||
libpc	T{
 | 
			
		||||
used to create Pascal run-time system and libraries
 | 
			
		||||
T}
 | 
			
		||||
libf77	T{
 | 
			
		||||
used to create Fortran run-time system and libraries
 | 
			
		||||
T}
 | 
			
		||||
libm2	T{
 | 
			
		||||
used to create Modula-2 run-time system and libraries
 | 
			
		||||
T}
 | 
			
		||||
liboc	T{
 | 
			
		||||
used to create occam run-time system and libraries
 | 
			
		||||
T}
 | 
			
		||||
libem	T{
 | 
			
		||||
sources for EM runtime system, only depending on CPU type
 | 
			
		||||
T}
 | 
			
		||||
libend	T{
 | 
			
		||||
sources of library defining end, edata, etext
 | 
			
		||||
T}
 | 
			
		||||
libfp	T{
 | 
			
		||||
used to create floating point library
 | 
			
		||||
T}
 | 
			
		||||
libdb	T{
 | 
			
		||||
used to create debugger support library
 | 
			
		||||
T}
 | 
			
		||||
libsys	T{
 | 
			
		||||
sources for system-dependent EM library
 | 
			
		||||
T}
 | 
			
		||||
libce	T{
 | 
			
		||||
sources for fast cc-compatible C compiler library support
 | 
			
		||||
T}
 | 
			
		||||
libbc	to create Basic run-time system and libraries
 | 
			
		||||
libcc	to create C run-time system and libraries
 | 
			
		||||
libcc.ansi	to create ANSI C run-time system and libraries
 | 
			
		||||
libpc	to create Pascal run-time system and libraries
 | 
			
		||||
libf77	to create Fortran run-time system and libraries
 | 
			
		||||
libm2	to create Modula-2 run-time system and libraries
 | 
			
		||||
liboc	to create occam run-time system and libraries
 | 
			
		||||
libem	EM runtime system, only depending on CPU type
 | 
			
		||||
libend	library defining end, edata, etext
 | 
			
		||||
libfp	to create floating point library
 | 
			
		||||
libdb	to create debugger support library
 | 
			
		||||
libsys	system-dependent EM library
 | 
			
		||||
libce	fast cc-compatible C compiler library support
 | 
			
		||||
 | 
			
		||||
ce	T{
 | 
			
		||||
code expander (fast back-end producing either .s or .o files)
 | 
			
		||||
T}
 | 
			
		||||
ce	code expander (fast back-end)
 | 
			
		||||
 | 
			
		||||
test	T{
 | 
			
		||||
various tests
 | 
			
		||||
T}
 | 
			
		||||
test	various tests
 | 
			
		||||
.TE
 | 
			
		||||
.in -3n
 | 
			
		||||
Actually, some of these directories will only appear in the configuration tree.
 | 
			
		||||
| 
						 | 
				
			
			@ -462,7 +362,7 @@ a part of ACK, but is included because it adds another language.
 | 
			
		|||
The Fortran system carries the following copyright notice:
 | 
			
		||||
.IP ""
 | 
			
		||||
.nf
 | 
			
		||||
/****************************************************************
 | 
			
		||||
/**************************************************************
 | 
			
		||||
Copyright 1990, 1991 by AT&T Bell Laboratories and Bellcore.
 | 
			
		||||
 | 
			
		||||
Permission to use, copy, modify, and distribute this software
 | 
			
		||||
| 
						 | 
				
			
			@ -483,7 +383,7 @@ whatsoever resulting from loss of use, data or profits, whether
 | 
			
		|||
in an action of contract, negligence or other tortious action,
 | 
			
		||||
arising out of or in connection with the use or performance of
 | 
			
		||||
this software.
 | 
			
		||||
****************************************************************/
 | 
			
		||||
**************************************************************/
 | 
			
		||||
.fi
 | 
			
		||||
.IP "lang/fortran/comp"
 | 
			
		||||
.br
 | 
			
		||||
| 
						 | 
				
			
			@ -602,14 +502,14 @@ Keep a copy of the original distribution to be able to repeat the process
 | 
			
		|||
of installation in case of disasters.
 | 
			
		||||
This copy is also useful as a reference point for diff-listings.
 | 
			
		||||
.NH
 | 
			
		||||
Adapting ACK to your system
 | 
			
		||||
Adapting ACK to the local system
 | 
			
		||||
.PP
 | 
			
		||||
Before compiling the sources in the Kit some installation dependent
 | 
			
		||||
actions have to be taken.
 | 
			
		||||
Most of these are performed by an interactive shell script in the file
 | 
			
		||||
.I $SRC_HOME/first/first.
 | 
			
		||||
If you don't want to write in the $SRC_HOME tree you can call this
 | 
			
		||||
script from another directory, for instance an empty directory which will later
 | 
			
		||||
Calling this script should be done
 | 
			
		||||
from another directory, for instance an empty directory which will later
 | 
			
		||||
become $CONFIG.
 | 
			
		||||
.LP
 | 
			
		||||
The actions of the
 | 
			
		||||
| 
						 | 
				
			
			@ -618,11 +518,11 @@ script are:
 | 
			
		|||
.if n .sp 1
 | 
			
		||||
.if n .nr PD 0
 | 
			
		||||
.IP \-
 | 
			
		||||
Asking you for the path names of the ACK source directory ($SRC_HOME), the
 | 
			
		||||
Asking for the path names of the ACK source directory ($SRC_HOME), the
 | 
			
		||||
configuration directory ($CONFIG), and the ACK users directory ($TARGET_HOME).
 | 
			
		||||
You will need about 5M for the configuration tree. The disk space needed
 | 
			
		||||
for the ACK users tree depends on which front-ends and back-ends you want
 | 
			
		||||
to install.
 | 
			
		||||
About 5M are needed for the configuration tree. The disk space needed
 | 
			
		||||
for the ACK users tree depends on which front-ends and back-ends are to be
 | 
			
		||||
installed.
 | 
			
		||||
For instance, on our SPARC systems
 | 
			
		||||
we have installed all languages and 6 back-ends, including the
 | 
			
		||||
system-independent part. This amounts to about 16M.
 | 
			
		||||
| 
						 | 
				
			
			@ -633,45 +533,25 @@ We also have the fast ACK compilers
 | 
			
		|||
installed on the SUN-3's.
 | 
			
		||||
The total amount of disk-space used is less than 8M.
 | 
			
		||||
.IP \-
 | 
			
		||||
Asking you for the type of system you have
 | 
			
		||||
Asking for what type of system the binary tree must be produced for
 | 
			
		||||
and creating the shell script "ack_sys" in the Kit's bin directory.
 | 
			
		||||
Several utilities make use of "ack_sys" to determine the type of
 | 
			
		||||
system you have.
 | 
			
		||||
system.
 | 
			
		||||
The current choice is between:
 | 
			
		||||
.TS
 | 
			
		||||
c cw(3i) c
 | 
			
		||||
l lw(3i) l.
 | 
			
		||||
c c c
 | 
			
		||||
l l l.
 | 
			
		||||
answer	system type	default machine
 | 
			
		||||
vax_bsd4_1a	T{
 | 
			
		||||
VAX11 with BSD4.1a
 | 
			
		||||
T}	vax4
 | 
			
		||||
vax_bsd4_2	T{
 | 
			
		||||
VAX11 with BSD4.2
 | 
			
		||||
T}	vax4
 | 
			
		||||
vax_sysV_2	T{
 | 
			
		||||
VAX11 with System V.2
 | 
			
		||||
T}	vax4
 | 
			
		||||
i386	T{
 | 
			
		||||
Intel 80386 system running Xenix System V
 | 
			
		||||
T}	i386
 | 
			
		||||
sun3	T{
 | 
			
		||||
Sun-3 Motorola 68020 workstation
 | 
			
		||||
T}	sun3
 | 
			
		||||
sun2	T{
 | 
			
		||||
Sun-2 Motorola 68010 workstation
 | 
			
		||||
T}	sun2
 | 
			
		||||
m68_sysV_0	T{
 | 
			
		||||
68000 with Uniplus UNIX System V.0
 | 
			
		||||
T}	mantra
 | 
			
		||||
m68020	T{
 | 
			
		||||
Motorola M68020 VME131 running Unix System V/68 R2V2.1
 | 
			
		||||
T}	m68020
 | 
			
		||||
sparc	T{
 | 
			
		||||
Sun-4 or SPARC workstation
 | 
			
		||||
T}	sparc
 | 
			
		||||
ANY	T{
 | 
			
		||||
Neither of the above
 | 
			
		||||
T}	???
 | 
			
		||||
vax_bsd4_1a	VAX11 + BSD4.1a	vax4
 | 
			
		||||
vax_bsd4_2	VAX11 + BSD4.2	vax4
 | 
			
		||||
vax_sysV_2	VAX11 + System V.2	vax4
 | 
			
		||||
i386	Intel 80386 system + Xenix System V	i386
 | 
			
		||||
sun3	Sun-3 Motorola 68020 workstation	sun3
 | 
			
		||||
sun2	Sun-2 Motorola 68010 workstation	sun2
 | 
			
		||||
m68_sysV_0	68000 + Uniplus System V.0	mantra
 | 
			
		||||
m68020	Motorola 68020 VME131 + System V/68 R2V2.1	m68020
 | 
			
		||||
sparc	Sun-4 or SPARC workstation	sparc
 | 
			
		||||
ANY	Neither of the above	???
 | 
			
		||||
.TE
 | 
			
		||||
For some of these, the installation procedure has not been tested, as
 | 
			
		||||
we don't have them.
 | 
			
		||||
| 
						 | 
				
			
			@ -679,19 +559,19 @@ For others, the installation procedure has only been tested with earlier
 | 
			
		|||
distributions, as we don't have those systems anymore.
 | 
			
		||||
However, the sun3 and sparc systems are known to behave reasonably.
 | 
			
		||||
The Sun systems should run SunOs Release 3.0 or newer.
 | 
			
		||||
If your system is not on this list, choose one that comes close.
 | 
			
		||||
If the target system is not on this list, choose one that comes close.
 | 
			
		||||
If none of them come close, use the "ANY" choice.
 | 
			
		||||
For ANY you can use any name you fancy,
 | 
			
		||||
but the Kit will not be able to compile programs for your system.
 | 
			
		||||
If you want to do that you have to read the section about "compilation
 | 
			
		||||
For ANY, any name can be used,
 | 
			
		||||
but the Kit will not be able to compile programs for the target system.
 | 
			
		||||
See the section about "compilation
 | 
			
		||||
on a different machine".
 | 
			
		||||
.IP \-
 | 
			
		||||
Setting the default machine for which code is
 | 
			
		||||
produced to your own type of system according to the table above.
 | 
			
		||||
produced to the local type of system according to the table above.
 | 
			
		||||
This in done in the file "$TARGET_HOME/config/local.h".
 | 
			
		||||
See also the section 9.1.
 | 
			
		||||
See also section 9.1.
 | 
			
		||||
.IP \-
 | 
			
		||||
Asking you for things that you may not want to install.
 | 
			
		||||
Asking for things that don't have to be installed.
 | 
			
		||||
.IP \-
 | 
			
		||||
Producing a shell script called "INSTALL" that will take care of the
 | 
			
		||||
ACK installation process.
 | 
			
		||||
| 
						 | 
				
			
			@ -703,7 +583,7 @@ Some actions still have to be done by hand:
 | 
			
		|||
.if n .nr PD 0
 | 
			
		||||
.IP \-
 | 
			
		||||
The installation of the PUBMAC macro package is not done
 | 
			
		||||
automatically because you need super-user privileges to do
 | 
			
		||||
automatically because super-user privileges are needed to do
 | 
			
		||||
that on most systems.
 | 
			
		||||
This macro package is used with several of the documents
 | 
			
		||||
provided in the Kit.
 | 
			
		||||
| 
						 | 
				
			
			@ -744,14 +624,14 @@ The Makefiles adhere to a standard which is described in the
 | 
			
		|||
section 9.
 | 
			
		||||
.IP \-
 | 
			
		||||
Copy "Action" files to the configuration tree and editing them to
 | 
			
		||||
reflect your choices concerning the parts of ACK that you want
 | 
			
		||||
to install.  "Action" files are described below.
 | 
			
		||||
reflect the choices concerning the parts of ACK that have to be
 | 
			
		||||
installed.  "Action" files are described below.
 | 
			
		||||
.IP \-
 | 
			
		||||
Copy part of the source tree to the ACK users tree (include files, 
 | 
			
		||||
manual pages, documentation, et cetera).
 | 
			
		||||
.IP \-
 | 
			
		||||
Calling the "TakeAction" script.
 | 
			
		||||
You do not have to start all the Makefiles separately.
 | 
			
		||||
All these Makefiles do not have to be called separately.
 | 
			
		||||
We wrote a shell script calling the make's needed to install
 | 
			
		||||
the whole Kit.
 | 
			
		||||
This script consists of the file $SRC_HOME/TakeAction
 | 
			
		||||
| 
						 | 
				
			
			@ -762,29 +642,28 @@ The default action is to start "make install && make clean".
 | 
			
		|||
The output of each make is diverted to a file called "Out"
 | 
			
		||||
in the same directory as the make was started in.
 | 
			
		||||
If the make was successful (return code 0) the Out file is removed
 | 
			
		||||
and the script TakeAction produces a small message telling you
 | 
			
		||||
and the script TakeAction produces a small message indicating
 | 
			
		||||
that it succeeded in fulfilling its goal.
 | 
			
		||||
If the make was not successful (any other return code) the Out file
 | 
			
		||||
is left alone for further examination and a small message telling you
 | 
			
		||||
to look at that file is produced by TakeAction.
 | 
			
		||||
is left alone for further examination and the script TakeAction
 | 
			
		||||
produces a small message indicating that it failed.
 | 
			
		||||
.br
 | 
			
		||||
For some programs the scripts already know they can't be
 | 
			
		||||
installed on your type of system.
 | 
			
		||||
installed on the local type of system.
 | 
			
		||||
In that case they produce a message "Sorry, ....." and
 | 
			
		||||
happily proceed with further installation commands.
 | 
			
		||||
.if n .sp 1
 | 
			
		||||
.if n .nr PD 1v
 | 
			
		||||
.LP
 | 
			
		||||
Compilation of the whole Kit might take anything from a few
 | 
			
		||||
hours to more than a day, depending on the speed of your machine and
 | 
			
		||||
your choices.
 | 
			
		||||
Installation of the Kit might take anything from a few
 | 
			
		||||
hours to more than a day, depending on the speed of the local machine and
 | 
			
		||||
what must be installed.
 | 
			
		||||
.LP
 | 
			
		||||
If this compilation went reasonably successful you should be able
 | 
			
		||||
to use the Kit.
 | 
			
		||||
If the installation succeeded, the Kit is ready to be used.
 | 
			
		||||
Read section 6 and the manuals provided
 | 
			
		||||
with the Kit (in the $TARGET_HOME/man directory) on how to use it.
 | 
			
		||||
.NH 2
 | 
			
		||||
Problems you may meet
 | 
			
		||||
Problems
 | 
			
		||||
.NH 3
 | 
			
		||||
on Unisoft m68000 systems.
 | 
			
		||||
.PP
 | 
			
		||||
| 
						 | 
				
			
			@ -850,13 +729,13 @@ An example output of TakeAction.
 | 
			
		|||
.sp 1
 | 
			
		||||
.fi
 | 
			
		||||
.LP
 | 
			
		||||
The lines starting with "Sorry, " tell you that certain programs cannot
 | 
			
		||||
be translated on your machine.
 | 
			
		||||
The lines starting with "Failed for" tell
 | 
			
		||||
you that certain programs/libraries were expected to,
 | 
			
		||||
The lines starting with "Sorry, " indicate that certain programs cannot
 | 
			
		||||
be translated on the local machine.
 | 
			
		||||
The lines starting with "Failed for" indicate
 | 
			
		||||
that certain programs/libraries were expected to,
 | 
			
		||||
but did not compile.
 | 
			
		||||
In this example, the installation of LINT failed.
 | 
			
		||||
If you want to repeat a certain part of the installation, look in
 | 
			
		||||
To repeat a certain part of the installation, look in
 | 
			
		||||
the Action file, which resides in the root of the configuration tree,
 | 
			
		||||
for the directory in which that part is to be found.
 | 
			
		||||
If that directory contains an Action file issue the command
 | 
			
		||||
| 
						 | 
				
			
			@ -885,9 +764,9 @@ the EM interpretator for the PDP-11.
 | 
			
		|||
.IP \fILLgen\fP
 | 
			
		||||
the LL(1) parser generator.
 | 
			
		||||
.IP \fIack_sys\fP
 | 
			
		||||
a shell script producing an identification of your system.
 | 
			
		||||
a shell script producing an identification of the target system.
 | 
			
		||||
Used by some utilities to determine what is, and what is
 | 
			
		||||
not feasible on your system.
 | 
			
		||||
not feasible on the target system.
 | 
			
		||||
.IP \fImarch\fP
 | 
			
		||||
a shell script used while compiling libraries.
 | 
			
		||||
.IP "\fIasize\fP, \fIanm\fP, \fIastrip\fP"
 | 
			
		||||
| 
						 | 
				
			
			@ -931,13 +810,13 @@ Any call name not being \fIcc\fP, \fIacc\fP, \fIabc\fP, \fIpc\fP, \fIf2c\fP,
 | 
			
		|||
interpreted as the name of a 'machine description' and the
 | 
			
		||||
program will try to find a description file with that name.
 | 
			
		||||
The installation process will only touch the utilities in the $TARGET_HOME/bin
 | 
			
		||||
directory, not your own copies.
 | 
			
		||||
directory, not copies of these utilities.
 | 
			
		||||
.NH
 | 
			
		||||
Machines
 | 
			
		||||
.PP
 | 
			
		||||
Underneath you will find a table with entries for all commands in
 | 
			
		||||
Below is a table with entries for all commands in
 | 
			
		||||
the bin directory used to (cross)compile for a particular machine.
 | 
			
		||||
The name in the first column give the name in the bin directory.
 | 
			
		||||
The name in the first column gives the name in the bin directory.
 | 
			
		||||
The column headed dir indicates which subdirectories of
 | 
			
		||||
$TARGET_HOME/lib and/or $TARGET_HOME/lib.bin are needed for compilation.
 | 
			
		||||
The column head i/p contains the integer and pointer size used in units of
 | 
			
		||||
| 
						 | 
				
			
			@ -971,47 +850,47 @@ sparc	Sun-4	4/4	C	*	sparc
 | 
			
		|||
			Modula-2
 | 
			
		||||
			Fortran
 | 
			
		||||
 | 
			
		||||
m68k2	M68000/Unisoft	2/4	C	+	m68k2
 | 
			
		||||
			Pascal
 | 
			
		||||
m68k2	M68000/	2/4	C	+	m68k2
 | 
			
		||||
	Unisoft		Pascal
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
 | 
			
		||||
m68k4	M68000/Unisoft	4/4	C	+	m68k4
 | 
			
		||||
			Pascal		m68k2
 | 
			
		||||
m68k4	M68000/	4/4	C	+	m68k4
 | 
			
		||||
	Unisoft		Pascal		m68k2
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
			Fortran
 | 
			
		||||
 | 
			
		||||
pmds	M68000/PMDS	2/4	C	+	pmds	Philips Micro
 | 
			
		||||
			Pascal		m68k2	Devel. System
 | 
			
		||||
pmds	M68000/	2/4	C	+	pmds	Philips Micro
 | 
			
		||||
	PMDS		Pascal		m68k2	Devel. System
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
 | 
			
		||||
pmds4	M68000/PMDS	4/4	C	+	pmds4	Philips Micro
 | 
			
		||||
			Pascal		m68k2	Devel. System
 | 
			
		||||
pmds4	M68000/	4/4	C	+	pmds4	Philips Micro
 | 
			
		||||
	PMDS		Pascal		m68k2	Devel. System
 | 
			
		||||
			Basic		m68k4
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
			Fortran
 | 
			
		||||
 | 
			
		||||
mantra	M68000/SysV.0	4/4	C	+	mantra
 | 
			
		||||
			Pascal		m68k2
 | 
			
		||||
mantra	M68000/	4/4	C	+	mantra
 | 
			
		||||
	Sys V.0		Pascal		m68k2
 | 
			
		||||
			Basic		m68k4
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
			Fortran
 | 
			
		||||
 | 
			
		||||
m68020	M68020/V/68	4/4	C	+	m68020
 | 
			
		||||
	R2V2.1		Pascal
 | 
			
		||||
m68020	M68020/	4/4	C	+	m68020
 | 
			
		||||
	Sys V/68 R2V2.1		Pascal
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
			Fortran
 | 
			
		||||
 | 
			
		||||
sun3	Sun-3 R3.0	4/4	C	+	sun3
 | 
			
		||||
sun3	Sun-3 R4.1	4/4	C	+	sun3
 | 
			
		||||
			Pascal		m68020
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
| 
						 | 
				
			
			@ -1031,14 +910,14 @@ i86	IBM PC/IX	2/2	C	+	i86	IBM PC with PC/IX
 | 
			
		|||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
 | 
			
		||||
xenix3	Microsoft Xenix V3	2/2	C	+	xenix3	IBM AT with Xenix
 | 
			
		||||
			Pascal		i86
 | 
			
		||||
xenix3	Microsoft	2/2	C	+	xenix3	IBM AT with Xenix
 | 
			
		||||
	Xenix V3		Pascal		i86
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
 | 
			
		||||
i386	SCO Xenix System V	4/4	C	+	i386	Intel 80386
 | 
			
		||||
			Pascal			Xenix System V
 | 
			
		||||
i386	SCO Xenix	4/4	C	+	i386	Intel 80386
 | 
			
		||||
	System V		Pascal			Xenix System V
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
| 
						 | 
				
			
			@ -1058,7 +937,7 @@ minixST	ST Minix	2/4	C	+	minixST	Atari ST running Minix
 | 
			
		|||
 | 
			
		||||
z8000	Zilog 8000	2/2	C		z8000	Central Data
 | 
			
		||||
			Pascal			CPU board
 | 
			
		||||
			Basic			Uses assembler/loader
 | 
			
		||||
			Basic			Assembler/loader
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1081,7 +960,7 @@ em44	EM machine	4/4	C	*	em44	Needs interpreter
 | 
			
		|||
			Modula-2
 | 
			
		||||
			Fortran
 | 
			
		||||
 | 
			
		||||
6500	6502/BBC	2/2	C		6500	Uses assembler/loader
 | 
			
		||||
6500	6502/BBC	2/2	C		6500	Assembler/loader
 | 
			
		||||
			Pascal
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
| 
						 | 
				
			
			@ -1112,10 +991,10 @@ z80	Hermac/z80	2/2	C		z80	\fIi80\fP is faster
 | 
			
		|||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
 | 
			
		||||
s2650	Signetics 2650				s2650	Assembler only
 | 
			
		||||
s2650	Signetics				s2650	Assembler only
 | 
			
		||||
 | 
			
		||||
arm	Acorn Archimedes	4/4	C	*	arm	Uses assembler/loader
 | 
			
		||||
			Pascal
 | 
			
		||||
arm	Acorn	4/4	C	*	arm	Assembler/loader
 | 
			
		||||
	Archimedes		Pascal
 | 
			
		||||
			Basic
 | 
			
		||||
			occam
 | 
			
		||||
			Modula-2
 | 
			
		||||
| 
						 | 
				
			
			@ -1148,17 +1027,17 @@ machine.
 | 
			
		|||
The presence of most 
 | 
			
		||||
.UX
 | 
			
		||||
utilities is essential for compilation.
 | 
			
		||||
A few of the programs you certainly need are: C-compiler, sed,
 | 
			
		||||
A few of the programs certainly needed are: C-compiler, sed,
 | 
			
		||||
make, and awk.
 | 
			
		||||
.NH 2
 | 
			
		||||
Backend
 | 
			
		||||
.PP
 | 
			
		||||
The existence of a backend with a system call library
 | 
			
		||||
for your system is essential
 | 
			
		||||
if you wish to produce executable files for that system.
 | 
			
		||||
for the target system is essential
 | 
			
		||||
for producing executable files for that system.
 | 
			
		||||
Rewriting the system call library if the one supplied does
 | 
			
		||||
not work on your system is fairly straightforward.
 | 
			
		||||
If no backend exists for your CPU type you have to write one yourself
 | 
			
		||||
not work on the target system is fairly straightforward.
 | 
			
		||||
If no backend exists for the target CPU type, a new backend has to be written
 | 
			
		||||
which is a major undertaking.
 | 
			
		||||
.NH 2
 | 
			
		||||
Universal assembler/loader, link editor
 | 
			
		||||
| 
						 | 
				
			
			@ -1192,9 +1071,9 @@ The machine name used for default is determined by the
 | 
			
		|||
definition of ACKM in $TARGET_HOME/config/local.h.
 | 
			
		||||
The Kit is distributed with "sun3" as the default machine,
 | 
			
		||||
but the shell script "first" in the directory "first" alters this
 | 
			
		||||
to suit your own system.
 | 
			
		||||
to suit the target system.
 | 
			
		||||
There is nothing against using the Kit as a cross-compiler
 | 
			
		||||
and by default produce code that can't run on your own system.
 | 
			
		||||
and by default produce code that can't run on the local system.
 | 
			
		||||
.NH 2
 | 
			
		||||
Pathnames
 | 
			
		||||
.PP
 | 
			
		||||
| 
						 | 
				
			
			@ -1205,7 +1084,7 @@ The tree is distributed with /usr/em as the working
 | 
			
		|||
directory.
 | 
			
		||||
The definition of EM_DIR in em_path.h should be altered to
 | 
			
		||||
specify the root
 | 
			
		||||
directory for the Compiler Kit distribution on your system ($SRC_HOME).
 | 
			
		||||
directory for the Compiler Kit binaries on the local system ($TARGET_HOME).
 | 
			
		||||
This is done automatically by the shell script "first" in the
 | 
			
		||||
directory "first".
 | 
			
		||||
Em_path.h also specifies which directory should be used for
 | 
			
		||||
| 
						 | 
				
			
			@ -1234,8 +1113,7 @@ recompile and install all binaries and libraries.
 | 
			
		|||
Some Makefiles allow errors to occur in the programs they call.
 | 
			
		||||
They ignore such errors and notify the user with the message
 | 
			
		||||
"~....... error code n: ignored".
 | 
			
		||||
Whenever such a message appears in the output you can ignore it
 | 
			
		||||
too.
 | 
			
		||||
Whenever such a message appears in the output it can be ignored.
 | 
			
		||||
.IP "cmp"
 | 
			
		||||
recompile all binaries and libraries and compare them to the
 | 
			
		||||
ones already installed.
 | 
			
		||||
| 
						 | 
				
			
			@ -1249,7 +1127,7 @@ On some systems it exists under another name e.g. lpr.
 | 
			
		|||
The easiest way to call such a spooler is using a shell script
 | 
			
		||||
with the name opr that calls lpr.
 | 
			
		||||
This script should be placed in /usr/bin or $TARGET_HOME/bin or
 | 
			
		||||
one of the directories in your PATH.
 | 
			
		||||
one of the directories in the PATH environment variable.
 | 
			
		||||
.IP clean
 | 
			
		||||
remove all files not needed for day-to-day use,
 | 
			
		||||
that is binaries not in $TARGET_HOME/bin or $TARGET_HOME/lib.bin, object files etc.
 | 
			
		||||
| 
						 | 
				
			
			@ -1287,8 +1165,8 @@ identification of these errors.
 | 
			
		|||
We also tested Pascal with the Validation Suite.
 | 
			
		||||
The Validation Suite is a collection of more than 200 Pascal programs,
 | 
			
		||||
designed by Brian Wichmann and Arthur Sale to test Pascal compilers.
 | 
			
		||||
We are not allowed to distribute it, but you may
 | 
			
		||||
request a copy from
 | 
			
		||||
We are not allowed to distribute it, but a copy may
 | 
			
		||||
be requested from
 | 
			
		||||
.DS
 | 
			
		||||
Richard J. Cichelli
 | 
			
		||||
A.N.P.A.
 | 
			
		||||
| 
						 | 
				
			
			@ -1300,7 +1178,7 @@ USA
 | 
			
		|||
.IP C
 | 
			
		||||
the sub-directories in $SRC_HOME/lang/cem/ctest contain C test programs.
 | 
			
		||||
The idea behind these tests is:
 | 
			
		||||
when you have a program called xx.c, compile it into xx.cem.
 | 
			
		||||
if there is a program called xx.c, compile it into xx.cem.
 | 
			
		||||
Run it with standard output to xx.cem.r, compare this file to
 | 
			
		||||
xx.cem.g, a file containing the 'ideal' output.
 | 
			
		||||
Any differences will point to implementation differences or
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue