1 & **************************************************************
2 & * *
3 & * Copyright, C Massachusetts Institute of Technology, 1982 *
4 & * *
5 & **************************************************************
6 & This ec makes the saved environment for the lisp compiler. It starts with the
7 & lisp_nostartup environment see lisp_standard_environment_.ec, and loads
8 & lcp_init_, lcp_semant_, and lcp_cg_, in that order. It takes up to five
9 & arguments. The first two are required, and will be prompted for if not given.
10 & The first is the compiler version printed by the compiler when it is invoked.
11 & The second is the directory where lcp will be installed; it is used for the
12 & historian autoload property. The others are directory pathnames for the three
13 & files it loads. If these arguments are nonblank, they will be used in the
14 & load ... forms. The saved environment is compiler.sv.lisp, created in the
15 & working directory.
16 &
17 &command_line off
18 &if and exists argument &1 exists argument &2
19 &then &goto OK
20 &if exists argument &2
21 &then ec &r0 response "Compiler version?" -non_null &rf2
22 &else ec &r0 response "Compiler version?" -non_null response "Directory to be installed in?" -non_null &rf3
23 &quit
24
25
26
27 &label OK
28 discard_output -osw error_output "tmr lcp_cg_ lcp_semant_ lcp_init_"
29 &
30 &input_line off
31 &attach
32 lisp lisp_nostartup
33
34 ioc w
35
36 gctwa nil ; don't collect truly worthless atoms.
37
38 &if exists argument &3
39 &then load "&q3>lcp_init_"
40 &else load "lcp_init_"
41
42 cond getl 'uread 'fsubr fexpr
43 get 'uread 'autoload load get 'uread 'autoload
44
45 use compiler-obarray
46
47 setq compiler-revision &r1
48
49 defprop historian "&q2>lcp_historian_" autoload
50
51 &if exists argument &4
52 &then load "&q4>lcp_semant_"
53 &else load "lcp_semant_"
54
55 &if exists argument &5
56 &then load "&q5>lcp_cg_"
57 &else load "lcp_cg_"
58
59 *rset nil
60 record-compiler-history
61
62 use working-obarray
63
64 *rset nil
65 gctwa
66 gc
67 sstatus uuolinks t
68 save compiler
69 &print LCP Version &1 saved.
70 &quit