1 2% This re-starts a bare reduce and loads in the modules compiled 3 4% by the very first step. It then checkpoints a system that can be 5 6% used to rebuild all other modules. 7 8 9(setq symbolfilename!* "$here/psl/bpsl") 10 11(setq loaddirectories!* (list "" (bldmsg "%w\..\red/" (getenv "here")) 12 (bldmsg "%w\" (getenv "here"))))) 13 14 (reclaim) 15 16(setq !*init!-stats!* (list (time) (gtheap nil) (free-bps) nextsymbol)) 17 18 19(setq !*usermode nil) 20(setq !*verboseload t) 21(setq !*argnochk t) % Check argument count. 22 23(setq prolog_file 'pslprolo) 24(setq rend_file 'pslrend) 25 26 27(cond ((filep "symget.b") 28 (dskin "../../../psl/symget.dat"))) 29 30 31(cond ((filep "addr2id.b") 32 (load addr2id))) % For debugging purposes. 33 34 35(cond ((filep "pipes.b") 36 (load pipes))) % Unix pipes. 37 38 39(load zbig) % PSL bignums. 40 41(errorset '(load compat) nil nil) % Load PSL-based functions if there. 42 43(load module) % Contains definition of load-package. 44 45(load pslprolo) % PSL specific code. 46 47 48(load!-package 'rlisp) 49 50(load!-package rend_file) 51 52(load!-package 'poly) 53 54(load!-package 'arith) 55 56(load!-package 'alg) 57 58(load!-package 'mathpr) 59 60(load!-package 'entry) 61 62(setq version!* "Reduce (Free PSL version)") 63 (setq date!* (date)) 64(initreduce) 65 66 67(setq !*loadversion t) % Load entry module during BEGIN. 68 69(setq !*verboseload nil) % Inhibit loading messages. 70 71 72(cond ((and (memq (quote sparc) lispsystem!*) 73 74(getd (quote supersparc))) 75 (supersparc))) 76 77 78(flag '(fancy) 'switch) 79 80 81(put 'fancy 'simpfg 82 '((t (load fmprint) (fmp!-switch t)) 83 84 (nil (fmp!-switch nil)) )) 85 86% implant graphics mode switch 87 88 89(setq *fancy nil) 90 91(cond ((not (unboundp 'win-messages)) 92 93 (putv win-messages 3 '(~on '(fancy))) 94 95 (putv win-messages 4 '(and *fancy (~off '(fancy)))))) 96 97 98(prog nil 99 (reclaim) 100 (terpri) 101 (prin2 "Time for build: ") 102 103 (prin2 (quotient (difference (time) (car !*init!-stats!*)) 1000.0)) 104 105 (prin2t " secs") 106 (prin2 "Symbols used: ") 107 108 (prin2t (difference nextsymbol (cadddr !*init!-stats!*))) 109 110 (prin2 "Heap used: ") 111 112 (prin2t (difference (cadr !*init!-stats!*) (gtheap nil))) 113 114 (prin2 "BPS used: ") 115 116 (prin2t (difference (caddr !*init!-stats!*) (free-bps))) 117 118 (prin2 "Heap left: ") 119 (prin2t (gtheap nil)) 120 121 (prin2 "BPS left: ") 122 (prin2t (free-bps)) 123 124 (setq !*init!-stats!* nil)) 125 126 127(savesystem "REDUCE" "../red/reduce" (quote ((read-init-file "reduce")))) 128 129(bye) 130 131