Annotation of 42BSD/ucb/lisp/lisplib/buildlisp.l, revision 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.