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

Contents of /src/tools/hemcom.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7.2.2 - (hide annotations)
Tue May 23 16:39:07 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d, RELEASE_18c
Changes since 1.7.2.1: +8 -0 lines
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.
1 pw 1.7.2.2 ;;; -*- Package: USER -*-
2     ;;;
3     ;;; **********************************************************************
4     ;;;
5     (ext:file-comment
6     "$Header: /tiger/var/lib/cvsroots/cmucl/src/tools/hemcom.lisp,v 1.7.2.2 2000/05/23 16:39:07 pw Exp $")
7     ;;;
8     ;;; **********************************************************************
9 ram 1.1 ;;;
10     ;;; This file compiles all of Hemlock.
11     ;;;
12    
13 ram 1.3 #+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 ram 1.1
24    
25 ram 1.3 ;;; Stuff to set up the packages Hemlock uses.
26 ram 1.1 ;;;
27 ram 1.3 (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 ram 1.1 ;;;
37 ram 1.3 (export 'c::compile-from-stream (find-package "C"))
38 ram 1.1
39    
40 ram 1.3 (in-package "USER")
41 ram 1.1
42 ram 1.3 (defvar *byte-compile* #+small t #-small :maybe)
43 ram 1.1
44     (pushnew :command-bits *features*)
45     (pushnew :buffered-lines *features*)
46    
47 ram 1.3 #-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 ram 1.5 #+(and (not pcl) (not no-pcl-clx))
53     (load "target:pcl/pclload")
54 ram 1.6 (load "target:clx/clx-library")
55 pw 1.7.2.1 #+gencgc (gc :full t)
56     #-gencgc (ext:purify))
57 ram 1.3
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 ram 1.1
72 ram 1.3 (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 ram 1.2 ;;;
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 ram 1.3 (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 ram 1.2
129 ram 1.3 (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 ram 1.7 (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 ram 1.3
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 ram 1.4 "target:hemlock/dylan"
281 ram 1.3 "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