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