(int:setsyntax '\; 'splicing 'zapline)
;; buildlisp.l -[Sat Jan 29 18:13:00 1983 by jkf]-
;; build the lisp system from the C kernel
;; the order of these files is very important.
"$Header: /usr/lib/lisp/buildlisp.l,v 1.1 83/01/29 18:33:16 jkf Exp $")
; variables to modify the way buildlisp works:
; build:dir -- directory containing the object files to load
; build:map -- map file to write the fasl map into.
; default: no map is written
; build:load -- if t then only loading will be done, no fasl'ing
; build:lisp-type -- may contain a site dependent name to help build
; lisp-library-directory -- directory which will contain lisp library
; this directory will be part of the default search path
; lisp-object-directory -- directory which contains the lisp object file
(or (boundp 'build:dir) (setq build:dir '/usr/lib/lisp))
(or (boundp 'build:map) (setq build:map nil))
(or (boundp 'build:load) (setq build:load nil))
(or (boundp 'build:lisp-type) (setq build:lisp-type 'franz))
(or (boundp 'lisp-library-directory)
(setq lisp-library-directory '/usr/lib/lisp))
(or (boundp 'lisp-object-directory)
(setq lisp-object-directory '/usr/ucb))
(setq name (concat build:dir "/" x))
(fasl-or-load name t build:map)
; concatentate to map after first file loaded
(cond ((null (status appendmap))
(t (fasl-or-load name nil nil))))))
(lambda (name provide-map map-name)
(cond ((and (null build:load)
(probef (setq tempname (concat name ".o"))))
(cond (provide-map (fasl tempname map-name))
((probef (setq tempname (concat name ".l")))
(t (patom "fasl-or-load: Can't find file: ")
(exit 1) ; just go away fast so user will realize problem
; only load format if it is compiled. This will save some time when
; building an interpreted lisp system
(cond ((probef (concat build:dir "/format.o"))
(and (not (eq build:lisp-type 'zlisp))
(cond ((eq build:lisp-type 'franz))
((eq build:lisp-type 'zlisp)
(t (patom "Invalid lisp type: ")
(allocate 'hunk3 2) ; make space for format to use