|
|
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.