|
|
1.1 root 1: File: ReadMe -[Tue Mar 29 22:03:29 1983 by jkf]-
2: Location: the root of the lisp distribution tree
3:
4: This directory contains a Makefile which can will direct the
5: initial construction and installation of the Franz Lisp system. After the
6: lisp system is installed, the Makefiles in the subdirectories should be
7: used directly when modifications are made to either piece of code.
8:
9: The lisp system consists of these parts:
10: 1) lisp - lisp interpreter
11: 2) liszt - lisp compiler
12: 3) lxref - lisp cross reference program
13: 4) library of files - collection of lisp files. Some are already loaded
14: into lisp. Others are loaded on demand. Still others are just
15: contributed files.
16: 5) on-line manual - the lisp manual formatted for lineprinter or terminal
17: perusal. The lisp 'help' command refers to this manual
18: 6) lisp manual - the troff input form for the lisp manual. If you can
19: run troff or nroff at your site then you can generate a lisp manual
20: from the files in this directory.
21: 7) pearl AI database program - this is a contributed program. More details
22: can be found in the file pearl/ReadMe. This program will not
23: be generated automatically by the Makefile in this directory.
24: If disk space is short, the pearl subdirectory may be removed
25: and it won't affect any other programs.
26:
27: To build lisp, follow these steps:
28:
29: 1) Run './lispconf' to describe the system you will be building lisp for.
30: Just type './lispconf' and it will describe the possible
31: configurations. Typically, when lisp is distributed it is configured
32: to run under 4.1c on a vax.
33:
34: Look in franz/h/config.h. You may want to alter some of the
35: configuration parameters before you start.
36:
37: 2) Look at the path name defaults in the Makefiles in the various
38: source directories ({franz,liszt}/{vax,68k},utils,lisplib).
39: You can modify these defaults if you like. It is suggested
40: that you leave the lisp library in /usr/lib/lisp.
41: Most code doesn't really depend on where the library is,
42: just as long as when the system is built, the directory
43: name is known. However, some application programs may depend on the
44: library being in /usr/lib/lisp.
45:
46: 3) If this is a distribution of lisp source (as opposed to a complete
47: 4.x distribution) then you will want to copy the
48: lisp library files in lisplib into the lisp library (typically
49: /usr/lib/lisp). [If you don't want to use /usr/lib/lisp change
50: the value of LibDir in the Makefile]. Now type
51: make copylibrary
52: and the library files in lisplib will be copied to the lisp
53: library. If an error message occurs, it may be that you don't
54: have permissions to write in the lisp library. If this is the
55: case, fix the permissions and type 'make copylibrary' again.
56:
57: 4) If you have a working lisp system, then you may be able to bring the
58: system up quickly. Type
59: make fast
60: and the Makefile will attempt to build a new lisp, liszt, and lxref
61: and place them in franz/mylisp, liszt/nliszt and liszt/lxref respectively.
62: [See Note 1 below.]
63: If it fails, then you may just have to start from scratch, see step 5.
64: If it works, go to step 6.
65:
66: 5) To make the entire lisp system, interpreter and compiler, from scratch,
67: type:
68: make slow
69: This may take three to four hours on an unloaded vax.
70: See Note 1 below.
71:
72: 6) once the files are made, type
73: make install
74: and new versions of lisp, liszt and lxref (the compiler cross reference
75: program) will be installed in ObjDir.
76:
77: 7) If you've changed where files live, then you should change the defaults
78: in each of the makefiles: liszt/Makefile, franz/Makefile, doc/Makefile
79: and /usr/lib/lisp/Makefile.
80:
81:
82: Note 1: Two files which are necessary yet which are not distributed
83: are the assembler and linking loader. The assembler is required by
84: liszt after it has compiled a file, the loader is required by the 'cfasl'
85: and 'ffasl' functions. These programs are expected to be in
86: /usr/lib/lisp/as and /usr/lib/lisp/nld. The Makefile will copy
87: them from /bin/as and /bin/ld. If you are running a Berkeley vax
88: distribution, this is ok. If you are using non-berkeley as or ld
89: then you will have to get a copy of the berkeley as or ld and place
90: them in /usr/lib/lisp yourself. We don't distribute them because
91: they require a Unix license and because we want to avoid distributing
92: object files.
93:
94: Note 2: For 68000 systems, we can distribute source for the assembler,
95: by agreement with MIT, Megatest Corp and Sun Microsystems. As an aid
96: to constructing the lisp system on machines with limited memory or swap
97: space, you may have received the assembly language output of the
98: compiler for the lisp library and compiler itself. The 68k compiler
99: starts out running as 1.25 Megabytes and will grow larger as it retains
100: macros and other information about the functions it is compiling.
101: (This may be impossible on certain systems.)
102:
103: The .s files are distributed in files of the form x68k.38.58.*. The
104: source for the assembler is in a file called lispas. In any case, you
105: should still say "cat * | sh", in order to create the appropriate
106: files. To construct the assembler, assemble the .s files, and contruct
107: the lisp system quickly, say "make fromasm" instead of "make slow".
108:
109:
110: Changes:
111: Look in franz/ChangeLog and liszt/ChangeLog for a blow by blow description
112: of bug fixes and new features. Also the file lispnews in this directory
113: describes changes to lisp which affect the user. This file is most
114: easily read with 'mail -f lispnews'.
115:
116: The major changes are described next.
117:
118: opus 38: the reader has changed quite a bit. It now uses symbolic
119: syntax codes and it provides infix macros.
120: The lisp library files have been reorganized in order to make
121: lisp bootstrapable.
122:
123: Future bug fixes:
124: When you find bugs in Lisp or Liszt, mail a letter to franz-bugs@berkeley
125: or ucbvax!franz-bugs.
126: We will mail bug fixes to the franz-composers mailing list. To get on
127: this mailing list, mail a letter to franz-friends-request@berkeley or
128: ucbvax!franz-friends-request.
129:
130: Documentation:
131: The source (troff form, with -me macros) for the Franz Lisp Manual is
132: in the doc subdirectory. There is a line printer printable version
133: in lisplib/manual (which is most likely copied to /usr/lib/lisp/manual).
134: There is also a system manual which may be of interest to people who
135: want to modify the lisp system or just understand how it works. The file
136: is doc/franz.n.
137:
138:
139: The meanings of the default directories and paths in the Makefiles
140: in this directory tree (and LibDir)
141:
142: LibDir : [/usr/lib/lisp]
143: directory containing the lisp library sources, some of which
144: are required to build a lisp system. Change this with caution,
145: Some programs may depend on it being /usr/lib/lisp
146:
147: DestObjDir : [/usr/ucb]
148: place to put the lisp and liszt that we build. Note that for
149: the liszt -r flag to work, the lisp interpreter must be in
150: /usr/ucb
151:
152: ObjDir: Directory containing existing lisp and liszt (if they exist).
153: if they don't exist, then you will do a 'make slow' and the value
154: of ObjDir doesn't matter
155:
156: LispDist: [/usr/src/cmd/lispdist]
157: directory to build distribution in.
158:
159: CcodeDir: [../franz]
160: location of C coded kernel as seen from the liszt directory
161:
162: CopyTo : used as the destination directory of some of the commands in
163: the makefile. it has a different meaning in each.
164:
165:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.