updated to current situation

This commit is contained in:
ceriel 1990-02-09 16:27:59 +00:00
parent eaf856c7a0
commit dedf1d945c

View file

@ -430,7 +430,7 @@ we don't have them.
For others, the installation procedure has only been tested with earlier 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, However,
the pdp_v7, vax_bsd4_1a, sun3 and m68 systems are known to behave the vax_bsd4_1a, sun3 and m68 systems are known to behave
reasonably. reasonably.
The Sun systems should run Release 3.0 or newer. The Sun systems should run Release 3.0 or newer.
For ANY you can use any name you fancy, For ANY you can use any name you fancy,
@ -445,10 +445,6 @@ See also the section 8.2.
.IP \- .IP \-
Automatically editing a few description files that tell Automatically editing a few description files that tell
ACK to use your system's assembler. ACK to use your system's assembler.
On the VAX the Kit uses the native assembler and linker.
The description file lib/vax4/descr has to be altered to prevent
attempts to assemble programs with unsuitable assemblers.
The original descr file is copied to descr.orig.
.IP \- .IP \-
The VAX backend cannot be booted on systems The VAX backend cannot be booted on systems
with a 16-bit address space systems. with a 16-bit address space systems.
@ -457,11 +453,7 @@ the table into files suitable for the C-compiler.
Therefore files tables1.h and tables1.c have been provided in Therefore files tables1.h and tables1.c have been provided in
the directory mach/vax4/cg. the directory mach/vax4/cg.
These must be copied to tables.h and tables.c These must be copied to tables.h and tables.c
to get working code-generators for the VAX on PDP11's. to get working code-generators for the VAX on these small machines.
You will hardly be able to use these, because the
code generated by these programs cannot be
assembled and loaded without a native VAX assembler,
but its nice to be able to look at the code produced.
The same problem occurs for the m68k2 backend and the m68020 backend, The same problem occurs for the m68k2 backend and the m68020 backend,
and the same solution is chosen. and the same solution is chosen.
.IP \- .IP \-
@ -471,7 +463,7 @@ builtin preprocessor. Arangements are made to this effect.
On the PDP, On the PDP,
.I ranlib .I ranlib
is not used, because it does not work properly, is not used, because it does not work properly,
at least, on our 2.9 BSD system it does'nt. at least, on our 2.9 BSD system it did'nt.
This is done by creating a dummy shell script This is done by creating a dummy shell script
.I ranlib .I ranlib
in the ACK bin directory. in the ACK bin directory.
@ -786,12 +778,12 @@ l l l l l l l.
command system i/p languages fp dir remarks command system i/p languages fp dir remarks
pdp PDP/UNIX V7 2/2 C * pdp needs sep. I/D pdp PDP/UNIX V7 2/2 C * pdp needs sep. I/D
Pascal No assembler Pascal
Basic Basic
Occam Occam
Modula-2 Modula-2
vax4 VAX/BSD 4.? 4/4 C * vax4 No assembler vax4 VAX/BSD 4.? 4/4 C * vax4
System V.2 Pascal System V.2 Pascal
Basic Basic
Occam Occam
@ -857,7 +849,7 @@ xenix3 Microsoft Xenix V3 2/2 C + xenix3 IBM AT with Xenix
Occam Occam
Modula-2 Modula-2
i386 SCO Xenix System V 4/4 C + i386 Intel 80386 system with Xenix System V i386 SCO Xenix System V 4/4 C + i386 Intel 80386, Xenix System V
Pascal Pascal
Basic Basic
Occam Occam
@ -941,7 +933,6 @@ The first one can only interpret 2/2 e.out files,
the second takes 2/4 and 4/4 files, the second takes 2/4 and 4/4 files,
and the last one takes 2/2, 2/4 and 4/4. and the last one takes 2/2, 2/4 and 4/4.
The PDP 11 interpreter executes floating point instructions. The PDP 11 interpreter executes floating point instructions.
The interpreter for the M68000 traps if you try to use floating point.
.LP .LP
The program \fBem\fP in the bin directory calls the appropriate The program \fBem\fP in the bin directory calls the appropriate
interpreter. interpreter.
@ -957,8 +948,6 @@ for C and Basic programs on any UNIX machine.
The presence of most UNIX utilities is essential for compilation. The presence of most UNIX utilities is essential for compilation.
A few of the programs you certainly need are: C-compiler, Yacc, sed, A few of the programs you certainly need are: C-compiler, Yacc, sed,
make and lex. make and lex.
Except for the Pascal compiler proper all programs
can be translated on a normal UNIX system, like V7, BSD4.1.
.NH 2 .NH 2
Backend Backend
.PP .PP
@ -970,21 +959,9 @@ not work on your system is fairly straightforward.
If no backend exists for your CPU type you have to write one yourself If no backend exists for your CPU type you have to write one yourself
which is a major undertaking. which is a major undertaking.
.NH 2 .NH 2
Pascal
.PP
When you can produce executable code it is also possible to boot the Pascal
Compiler,
which is written in Pascal itself.
The Kit contains the compact code files for the 2/2, 4/4 and 2/4
versions of the Pascal compiler.
The Makefile automatically tries to boot the Pascal compiler
from one of these compact code files, if the compiler proves
unable to compile itself.
.NH 2
Universal assembler/loader, link editor Universal assembler/loader, link editor
.PP .PP
The native assemblers and loaders are used on PDP-11 and VAX. The description files in lib/*/descr use our
The description files in lib/*/descr for other systems use our
universal assembler and for most machines our link editor. universal assembler and for most machines our link editor.
The load file produced is not directly The load file produced is not directly
usable in any system known to us, usable in any system known to us,
@ -1004,7 +981,7 @@ See modules/man/object.3.
Compiling libraries Compiling libraries
.PP .PP
The Kit contains sources for part II and III of the C-library. The Kit contains sources for part II and III of the C-library.
These files can be used to make libraries for the Ack C-compiler. These files can be used to make libraries for the ACK C-compiler.
The recompilation process uses a few include files. The recompilation process uses a few include files.
The include directory in the EM home directory contains the include files The include directory in the EM home directory contains the include files
it needs. it needs.
@ -1021,17 +998,11 @@ as \fIacc\fP, \fIcc\fP, \fIabc\fP, \fIapc\fP, \fIpc\fP, \fIocm\fP,
\fIm2\fP, or \fIack\fP. \fIm2\fP, or \fIack\fP.
The machine name used for default is determined by the The machine name used for default is determined by the
definition of ACKM in h/local.h. definition of ACKM in h/local.h.
The Kit is distributed with "vax4" 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 your own 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 your own system.
But...., you have to alter the Makefile for the Pascal frontend
in that case.
That Makefile assumes that calling \fBapc\fP and \fBacc\fP will
produce a.out's that can run on your own system.
Change the definitions of ACC and APC in that Makefile according to your
needs.
.NH 2 .NH 2
Pathnames Pathnames
.PP .PP
@ -1043,7 +1014,7 @@ 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. directory for the Compiler Kit distribution on your system.
This is done automatically the 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
temporary files. temporary files.