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

Contents of /src/tools/hemcom.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5