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