Annotation of 43BSD/ucb/lisp/lisplib/buildlisp.l, revision 1.1.1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.