|
|
1.1 ! root 1: (int:setsyntax '\; 'splicing 'zapline) ! 2: ;; buildlisp.l -[Mon Aug 15 11:04:31 1983 by jkf]- ! 3: ;; build the lisp system from the C kernel ! 4: ;; the order of these files is very important. ! 5: ;; ! 6: (setq rcs-buildlisp- ! 7: "$Header: /usr/lib/lisp/RCS/buildlisp.l,v 1.2 83/08/15 22:16:06 jkf Exp $") ! 8: ! 9: ; variables to modify the way buildlisp works: ! 10: ; build:dir -- directory containing the object files to load ! 11: ; default: /usr/lib/lisp ! 12: ; build:map -- map file to write the fasl map into. ! 13: ; default: no map is written ! 14: ; build:load -- if t then only loading will be done, no fasl'ing ! 15: ; build:lisp-type -- may contain a site dependent name to help build ! 16: ; a personalized lisp ! 17: ; lisp-library-directory -- directory which will contain lisp library ! 18: ; this directory will be part of the default search path ! 19: ; lisp-object-directory -- directory which contains the lisp object file ! 20: ; ! 21: (or (boundp 'build:dir) (setq build:dir '/usr/lib/lisp)) ! 22: (or (boundp 'build:map) (setq build:map nil)) ! 23: (or (boundp 'build:load) (setq build:load nil)) ! 24: (or (boundp 'build:lisp-type) (setq build:lisp-type 'franz)) ! 25: (or (boundp 'lisp-library-directory) ! 26: (setq lisp-library-directory '/usr/lib/lisp)) ! 27: (or (boundp 'lisp-object-directory) ! 28: (setq lisp-object-directory '/usr/ucb)) ! 29: ! 30: ! 31: (def build:load ! 32: (lambda (x) ! 33: (prog (name) ! 34: (setq name (concat build:dir "/" x)) ! 35: (cond (build:map ! 36: (fasl-or-load name t build:map) ! 37: ; concatentate to map after first file loaded ! 38: (cond ((null (status appendmap)) ! 39: (sstatus appendmap t)))) ! 40: (t (fasl-or-load name nil nil)))))) ! 41: ! 42: (def fasl-or-load ! 43: (lambda (name provide-map map-name) ! 44: (prog (tempname) ! 45: (cond ((and (null build:load) ! 46: (probef (setq tempname (concat name ".o")))) ! 47: (cond (provide-map (fasl tempname map-name)) ! 48: (t (fasl name)))) ! 49: ((probef (setq tempname (concat name ".l"))) ! 50: (load tempname)) ! 51: (t (patom "fasl-or-load: Can't find file: ") ! 52: (patom name) ! 53: (terpr) ! 54: (exit 1) ; just go away fast so user will realize problem ! 55: ))))) ! 56: ! 57: ! 58: (build:load 'common0) ! 59: (build:load 'syntax) ! 60: (build:load 'charmac) ! 61: (build:load 'macros) ! 62: (build:load 'common1) ! 63: (build:load 'common2) ! 64: (build:load 'common3) ! 65: (build:load 'vector) ! 66: (build:load 'array) ! 67: (build:load 'pp) ! 68: ! 69: ; only load format if it is compiled. This will save some time when ! 70: ; building an interpreted lisp system ! 71: (cond ((probef (concat build:dir "/format.o")) ! 72: (build:load 'format))) ! 73: ! 74: (build:load 'version) ! 75: ! 76: (and (not (eq build:lisp-type 'zlisp)) ! 77: (build:load 'tpl)) ! 78: ! 79: (build:load 'toplevel) ! 80: ! 81: (cond ((eq build:lisp-type 'franz)) ! 82: ((eq build:lisp-type 'zlisp) ! 83: (build:load 'zlisp)) ! 84: (t (patom "Invalid lisp type: ") ! 85: (patom build:lisp-type) ! 86: (terpr) ! 87: (exit 1))) ! 88: ! 89: ; kill definitions ! 90: (putd 'fasl-or-load nil) ! 91: (putd 'build:load nil) ! 92: (allocate 'hunk3 2) ; make space for format to use ! 93: (new-vector 1024) ! 94: (new-vectori-long 512) ! 95: (gc) ! 96: ! 97: ! 98: ! 99: ! 100: ! 101:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.