/[cmucl]/src/tools/hemcom.lisp
ViewVC logotype

Contents of /src/tools/hemcom.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (hide annotations)
Fri Nov 4 00:07:50 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.6: +8 -0 lines
Build the spell dictionary.
1 ram 1.1 ;;;
2     ;;; This file compiles all of Hemlock.
3     ;;;
4    
5 ram 1.3 #+bootstrap
6     (progn
7     (when (ext:get-command-line-switch "slave")
8     (error "Cannot compile Hemlock in a slave due to its clobbering needed
9     typescript routines by renaming the package."))
10    
11     ;;; Blast the old packages in case they are around. We do this solely to
12     ;;; prove Hemlock can compile cleanly without its having to exist already.
13     ;;;
14     (copy-packages '("ED" "HI")))
15 ram 1.1
16    
17 ram 1.3 ;;; Stuff to set up the packages Hemlock uses.
18 ram 1.1 ;;;
19 ram 1.3 (unless (find-package "HEMLOCK-INTERNALS")
20     (make-package "HEMLOCK-INTERNALS"
21     :nicknames '("HI")
22     :use '("LISP" "EXTENSIONS" "SYSTEM")))
23    
24     (unless (find-package "HEMLOCK")
25     (make-package "HEMLOCK"
26     :nicknames '("ED")
27     :use '("LISP" "HEMLOCK-INTERNALS" "EXTENSIONS" "SYSTEM")))
28 ram 1.1 ;;;
29 ram 1.3 (export 'c::compile-from-stream (find-package "C"))
30 ram 1.1
31    
32 ram 1.3 (in-package "USER")
33 ram 1.1
34 ram 1.3 (defvar *byte-compile* #+small t #-small :maybe)
35 ram 1.1
36     (pushnew :command-bits *features*)
37     (pushnew :buffered-lines *features*)
38    
39 ram 1.3 #-clx
40     ;;; If CLX has not been loaded, but has been compiled, then load it.
41     ;;;
42     (when (probe-file (make-pathname :defaults "target:clx/clx-library"
43     :type (c:backend-fasl-file-type c:*backend*)))
44 ram 1.5 #+(and (not pcl) (not no-pcl-clx))
45     (load "target:pcl/pclload")
46 ram 1.6 (load "target:clx/clx-library")
47     (ext:purify))
48 ram 1.3
49     (with-compiler-log-file
50     ("target:compile-hemlock.log"
51     :optimize
52     '(optimize (debug #-small 2 #+small .5)
53     (speed 2) (inhibit-warnings 2)
54     (safety #-small 1 #+small 0))
55     :optimize-interface
56     '(optimize-interface (debug .5))
57     :context-declarations
58     '(((:or :external (:match "$%SET-"))
59     (declare (optimize (safety 2))
60     (optimize-interface (debug 1))))
61     (:macro (declare (optimize (speed 0))))))
62 ram 1.1
63 ram 1.3 (comf "target:code/globals")
64     (comf "target:code/struct")
65     (comf "target:hemlock/charmacs")
66     (comf "target:hemlock/key-event" :load t)
67     (comf "target:hemlock/struct")
68     ;(comf "target:hemlock/struct-ed")
69     (comf "target:hemlock/rompsite")
70 ram 1.2 ;;;
71     ;;; This is necessary since all the #k uses in Hemlock will expand into
72     ;;; EXT:MAKE-KEY-EVENT calls with keysyms and bits from the compiling Lisp, not
73     ;;; for the Lisp new code will run in. This destroys the compiling Lisp with
74     ;;; respect to running code with #k's compiled for it, but it causes the
75     ;;; compilation to see new keysyms, modifiers, and CLX modifier maps correctly
76     ;;; for the new system.
77     ;;;
78     (ext::re-initialize-key-events)
79 ram 1.3 (comf "target:hemlock/keysym-defs")
80     (comf "target:hemlock/input")
81     (comf "target:hemlock/macros" :byte-compile t)
82     (comf "target:hemlock/line")
83     (comf "target:hemlock/ring")
84     (comf "target:hemlock/table")
85     (comf "target:hemlock/htext1")
86     (comf "target:hemlock/htext2")
87     (comf "target:hemlock/htext3")
88     (comf "target:hemlock/htext4")
89     (comf "target:hemlock/search1")
90     (comf "target:hemlock/search2")
91     (comf "target:hemlock/linimage")
92     (comf "target:hemlock/cursor")
93     (comf "target:hemlock/syntax")
94     (comf "target:hemlock/winimage")
95     #+clx (comf "target:hemlock/hunk-draw")
96     ;(comf "target:hemlock/bit-stream")
97     (comf "target:hemlock/termcap")
98     (comf "target:hemlock/display")
99     #+clx (comf "target:hemlock/bit-display")
100     (comf "target:hemlock/tty-disp-rt")
101     (with-compilation-unit (:optimize '(optimize (safety 2) (debug 3)))
102     (comf "target:hemlock/tty-display")) ; Buggy...
103     ;(comf "target:hemlock/tty-stream")
104     (comf "target:hemlock/pop-up-stream")
105     (comf "target:hemlock/screen")
106     #+clx (comf "target:hemlock/bit-screen")
107     (comf "target:hemlock/tty-screen")
108     (comf "target:hemlock/window")
109     (comf "target:hemlock/font")
110     (comf "target:hemlock/interp")
111     (comf "target:hemlock/vars")
112     (comf "target:hemlock/buffer")
113     (comf "target:hemlock/files")
114     (comf "target:hemlock/streams")
115     (comf "target:hemlock/echo" :byte-compile t)
116     (comf "target:hemlock/main" :byte-compile t)
117     (comf "target:hemlock/echocoms" :byte-compile t)
118     (comf "target:hemlock/defsyn")
119 ram 1.2
120 ram 1.3 (comf "target:hemlock/ts-buf")
121     (comf "target:hemlock/ts-stream")
122    
123     (with-compilation-unit
124     (:optimize
125     '(optimize (safety 2) (speed 0))
126     :context-declarations
127     '(((:match "-COMMAND$")
128     (declare (optimize (safety #+small 0 #-small 1))
129     (optimize-interface (safety 2))))))
130    
131     (comf "target:hemlock/command" :byte-compile t)
132     (comf "target:hemlock/morecoms" :byte-compile t)
133     (comf "target:hemlock/undo" :byte-compile t)
134     (comf "target:hemlock/killcoms" :byte-compile t)
135     (comf "target:hemlock/searchcoms" :byte-compile t)
136     (comf "target:hemlock/filecoms" :byte-compile t)
137     (comf "target:hemlock/indent" :byte-compile t)
138     (comf "target:hemlock/lispmode")
139     (comf "target:hemlock/comments" :byte-compile t)
140     (comf "target:hemlock/fill")
141     (comf "target:hemlock/text" :byte-compile t)
142     (comf "target:hemlock/doccoms" :byte-compile t)
143     (comf "target:hemlock/srccom" :byte-compile t)
144     (comf "target:hemlock/abbrev" :byte-compile t)
145     (comf "target:hemlock/group" :byte-compile t)
146     (comf "target:hemlock/overwrite" :byte-compile t)
147     (comf "target:hemlock/gosmacs" :byte-compile t)
148     (comf "target:hemlock/eval-server" :byte-compile t)
149     (comf "target:hemlock/dylan" :byte-compile t)
150     (comf "target:hemlock/lispbuf" :byte-compile t)
151     (comf "target:hemlock/lispeval" :byte-compile t)
152     (comf "target:hemlock/icom" :byte-compile t)
153     (comf "target:hemlock/hi-integrity" :byte-compile t)
154     (comf "target:hemlock/ed-integrity" :byte-compile t)
155     (comf "target:hemlock/scribe" :byte-compile t)
156     (comf "target:hemlock/pascal" :byte-compile t)
157     (comf "target:hemlock/edit-defs" :byte-compile t)
158     (comf "target:hemlock/auto-save" :byte-compile t)
159     (comf "target:hemlock/register" :byte-compile t)
160     (comf "target:hemlock/xcoms" :byte-compile t)
161     (comf "target:hemlock/unixcoms" :byte-compile t)
162     (comf "target:hemlock/mh")
163     (comf "target:hemlock/highlight" :byte-compile t)
164     (comf "target:hemlock/dired" :byte-compile t)
165     (comf "target:hemlock/diredcoms" :byte-compile t)
166     (comf "target:hemlock/bufed" :byte-compile t)
167     (comf "target:hemlock/lisp-lib" :byte-compile t)
168     (comf "target:hemlock/completion" :byte-compile t)
169     (comf "target:hemlock/shell" :byte-compile t)
170     (comf "target:hemlock/debug" :byte-compile t)
171     (comf "target:hemlock/netnews" :byte-compile t)
172     (comf "target:hemlock/rcs" :byte-compile t)
173    
174     ) ;WITH-COMPILATION-UNIT for commands
175    
176     ;; Stuff we want compiled native:
177    
178     (comf "target:hemlock/spell-rt")
179     (comf "target:hemlock/spell-corr")
180     (comf "target:hemlock/spell-aug")
181     (comf "target:hemlock/spell-build")
182     (comf "target:hemlock/spellcoms")
183     (comf "target:hemlock/kbdmac")
184    
185     (comf "target:hemlock/bindings")
186     (comf "target:hemlock/hacks")
187    
188     ) ;WITH-COMPILER-LOG-FILE
189    
190 ram 1.7 (unless (probe-file "target:hemlock/spell-dictionary.bin")
191     (load "target:hemlock/spell-rt")
192     (load "target:hemlock/spell-corr")
193     (load "target:hemlock/spell-aug")
194     (load "target:hemlock/spell-build")
195     (funcall (fdefinition (intern "BUILD-DICTIONARY" "SPELL"))
196     "target:hemlock/spell-dictionary.text"
197     "target:hemlock/spell-dictionary.bin"))
198 ram 1.3
199     (cat-if-anything-changed
200     "target:hemlock/hemlock-library"
201     "target:hemlock/rompsite"
202     "target:hemlock/struct"
203     ; "target:hemlock/struct-ed"
204     "target:hemlock/charmacs"
205     "target:hemlock/input"
206     "target:hemlock/line"
207     "target:hemlock/ring"
208     "target:hemlock/vars"
209     "target:hemlock/buffer"
210     "target:hemlock/macros"
211     "target:hemlock/interp"
212     "target:hemlock/syntax"
213     "target:hemlock/htext1"
214     "target:hemlock/htext2"
215     "target:hemlock/htext3"
216     "target:hemlock/htext4"
217     "target:hemlock/files"
218     "target:hemlock/search1"
219     "target:hemlock/search2"
220     "target:hemlock/table"
221     #+clx "target:hemlock/hunk-draw"
222     "target:hemlock/window"
223     "target:hemlock/screen"
224     "target:hemlock/winimage"
225     "target:hemlock/linimage"
226     "target:hemlock/display"
227     "target:hemlock/termcap"
228     #+clx "target:hemlock/bit-display"
229     "target:hemlock/tty-disp-rt"
230     "target:hemlock/tty-display"
231     "target:hemlock/pop-up-stream"
232     #+clx "target:hemlock/bit-screen"
233     "target:hemlock/tty-screen"
234     "target:hemlock/cursor"
235     "target:hemlock/font"
236     "target:hemlock/streams"
237     "target:hemlock/hacks"
238     "target:hemlock/main"
239     "target:hemlock/echo"
240     "target:hemlock/echocoms"
241     "target:hemlock/command"
242     "target:hemlock/indent"
243     "target:hemlock/comments"
244     "target:hemlock/morecoms"
245     "target:hemlock/undo"
246     "target:hemlock/killcoms"
247     "target:hemlock/searchcoms"
248     "target:hemlock/filecoms"
249     "target:hemlock/doccoms"
250     "target:hemlock/srccom"
251     "target:hemlock/group"
252     "target:hemlock/fill"
253     "target:hemlock/text"
254     "target:hemlock/lispmode"
255     "target:hemlock/ts-buf"
256     "target:hemlock/ts-stream"
257     "target:hemlock/eval-server"
258     "target:hemlock/lispbuf"
259     "target:hemlock/lispeval"
260     "target:hemlock/spell-rt"
261     "target:hemlock/spell-corr"
262     "target:hemlock/spell-aug"
263     "target:hemlock/spellcoms"
264     "target:hemlock/overwrite"
265     "target:hemlock/abbrev"
266     "target:hemlock/icom"
267     "target:hemlock/kbdmac"
268     "target:hemlock/defsyn"
269     "target:hemlock/scribe"
270     "target:hemlock/pascal"
271 ram 1.4 "target:hemlock/dylan"
272 ram 1.3 "target:hemlock/edit-defs"
273     "target:hemlock/auto-save"
274     "target:hemlock/register"
275     "target:hemlock/xcoms"
276     "target:hemlock/unixcoms"
277     "target:hemlock/mh"
278     "target:hemlock/highlight"
279     "target:hemlock/dired"
280     "target:hemlock/diredcoms"
281     "target:hemlock/bufed"
282     "target:hemlock/lisp-lib"
283     "target:hemlock/completion"
284     "target:hemlock/shell"
285     "target:hemlock/debug"
286     "target:hemlock/netnews"
287     "target:hemlock/rcs"
288     "target:hemlock/bindings")

  ViewVC Help
Powered by ViewVC 1.1.5