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

Contents of /src/tools/hemcom.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5