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

Contents of /src/tools/worldcom.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.104 - (show annotations)
Tue Jul 20 21:34:30 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: release-20b-pre1, release-20b-pre2, GIT-CONVERSION, cross-sol-x86-merged, RELEASE_20b, cross-sol-x86-base, snapshot-2010-12, snapshot-2010-11, snapshot-2011-09, snapshot-2011-06, snapshot-2011-07, snapshot-2011-04, snapshot-2011-02, snapshot-2011-03, snapshot-2011-01, snapshot-2010-08, cross-sol-x86-2010-12-20, cross-sparc-branch-base, HEAD
Branch point for: cross-sparc-branch, RELEASE-20B-BRANCH, cross-sol-x86-branch
Changes since 1.103: +2 -1 lines
Need to precompile the ef slots for both unicode and non-unicode
builds.  (This was broken in the 2010-04 snapshot.)

code/fd-stream-comp.lisp:
o Precompile ef slots there for ISO8859-1.

code/fd-stream-extfmts.lisp:
o Remove the precompile stuff.

tools/worldcom.lisp:
o Compile fd-stream-comp.

tools/worldload.lisp:
o Load fd-stream-comp.
1 ;;; -*- Package: CL-USER -*-
2 ;;;
3 ;;; **********************************************************************
4 ;;; This code was written as part of the CMU Common Lisp project at
5 ;;; Carnegie Mellon University, and has been placed in the public domain.
6 ;;; If you want to use this code or any part of CMU Common Lisp, please contact
7 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
8 ;;;
9 (ext:file-comment
10 "$Header: /tiger/var/lib/cvsroots/cmucl/src/tools/worldcom.lisp,v 1.104 2010/07/20 21:34:30 rtoy Rel $")
11 ;;;
12 ;;; **********************************************************************
13 ;;;
14 ;;; This file contains noise to compile the lisp world.
15 ;;;
16
17 (in-package "CL-USER")
18
19 (defvar *byte-compile* #+small t #-small :maybe)
20 (defvar *original-%deftype* #'lisp::%deftype)
21
22 (with-compiler-log-file
23 ("target:compile-lisp.log"
24 :optimize '(optimize (speed 2) (space 2) (inhibit-warnings 2)
25 (debug #-small 2 #+small .5)
26 (safety #-small 1 #+small 0))
27 :optimize-interface '(optimize-interface (safety #-small 2 #+small 1)
28 #+small (debug .5))
29 :context-declarations
30 '(((:or :external (:and (:match "%") (:match "SET"))
31 (:member lisp::%put lisp::%rplaca lisp::%rplacd lisp::%puthash))
32 (declare (optimize-interface (safety 2) #+small (debug 1))
33 #+small (optimize (debug 1))))
34 ((:or (:and :external :macro)
35 (:match "$PARSE-"))
36 (declare (optimize (safety 2))))
37 ((:and :external (:match "LIST"))
38 (declare (optimize (safety 1))))))
39 (let ((*byte-compile-top-level* nil)
40 (lisp::*enable-package-locked-errors* nil))
41
42 ;;; these guys need to be first.
43 (comf "target:code/struct") ; For structures.
44 (comf "target:code/sysmacs" :byte-compile *byte-compile*)
45
46 ;;; Assembly files.
47
48 #-bootstrap
49 (comf "target:assembly/assemfile")
50 #+bootstrap
51 (comf "target:assembly/assemfile" :byte-compile t)
52 (when (eq c:*backend* c:*native-backend*)
53 (load "target:assembly/assemfile"))
54
55 (when (c:backend-featurep :pmax)
56 (comf "target:assembly/mips/assem-rtns" :assem t)
57 (comf "target:assembly/mips/array" :assem t)
58 (comf "target:assembly/mips/arith" :assem t)
59 (comf "target:assembly/mips/alloc" :assem t))
60
61 (when (c:backend-featurep :sparc)
62 (comf "target:assembly/sparc/assem-rtns" :assem t)
63 (comf "target:assembly/sparc/array" :assem t)
64 (comf "target:assembly/sparc/arith" :assem t)
65 (comf "target:assembly/sparc/alloc" :assem t))
66
67 (when (c:backend-featurep :rt)
68 (comf "target:assembly/rt/assem-rtns" :assem t)
69 (comf "target:assembly/rt/array" :assem t)
70 (comf "target:assembly/rt/arith" :assem t)
71 (comf "target:assembly/rt/alloc" :assem t))
72
73 (when (c:backend-featurep :hppa)
74 (comf "target:assembly/hppa/assem-rtns" :assem t)
75 (comf "target:assembly/hppa/array" :assem t)
76 (comf "target:assembly/hppa/arith" :assem t)
77 (comf "target:assembly/hppa/alloc" :assem t))
78
79 (when (c:backend-featurep :x86)
80 (comf "target:assembly/x86/assem-rtns" :assem t)
81 (comf "target:assembly/x86/array" :assem t)
82 (comf "target:assembly/x86/arith" :assem t)
83 (comf "target:assembly/x86/alloc" :assem t))
84
85 (when (c:backend-featurep :amd64)
86 (comf "target:assembly/amd64/assem-rtns" :assem t)
87 (comf "target:assembly/amd64/array" :assem t)
88 (comf "target:assembly/amd64/arith" :assem t)
89 (comf "target:assembly/amd64/alloc" :assem t))
90
91 (when (c:backend-featurep :alpha)
92 (comf "target:assembly/alpha/assem-rtns" :assem t)
93 (comf "target:assembly/alpha/array" :assem t)
94 (comf "target:assembly/alpha/arith" :assem t)
95 (comf "target:assembly/alpha/alloc" :assem t))
96
97 (when (c:backend-featurep :sgi)
98 (comf "target:assembly/mips/assem-rtns" :assem t)
99 (comf "target:assembly/mips/array" :assem t)
100 (comf "target:assembly/mips/arith" :assem t)
101 (comf "target:assembly/mips/alloc" :assem t))
102
103 (when (c:backend-featurep :ppc)
104 (comf "target:assembly/ppc/assem-rtns" :assem t)
105 (comf "target:assembly/ppc/array" :assem t)
106 (comf "target:assembly/ppc/arith" :assem t)
107 (comf "target:assembly/ppc/alloc" :assem t))
108
109
110 ;;; these guys can supposedly come in any order, but not really.
111 ;;; some are put at the end so macros don't run interpreted and stuff.
112
113 (comf "target:code/globals")
114 (comf "target:code/kernel")
115 (comf "target:code/lispinit")
116 (comf "target:pcl/walk")
117 (comf "target:code/fwrappers")
118 (comf "target:code/fdefinition")
119
120 (comf "target:code/error")
121 #+small
122 (comf "target:code/error" :byte-compile t)
123
124 ;;; prevent deftypes from taking effect at compile time so that we don't
125 ;;; install interpreted type expanders causing the compiler to infinitely
126 ;;; recurse.
127 (setf (fdefinition 'lisp::%deftype) #'list)
128 (comf "target:code/typedefs")
129
130 (with-compilation-unit
131 (:optimize '(optimize (safety 2) (debug 2)))
132 (comf "target:code/class"))
133
134 (comf "target:code/type")
135 (comf "target:compiler/generic/vm-type")
136 (comf "target:code/type-init")
137 (comf "target:code/pred")
138 (setf (fdefinition 'lisp::%deftype) *original-%deftype*)
139
140 (comf "target:code/alieneval")
141 (comf "target:code/c-call")
142 (comf "target:code/sap")
143
144 (comf "target:code/bit-bash")
145 (comf "target:code/byte-interp")
146 (comf "target:code/array")
147 (comf "target:code/hash-new")
148
149 (with-compilation-unit
150 (:optimize '(optimize (safety 1)))
151 (comf "target:code/list")
152 (comf "target:code/seq")) ; seq must come after list
153
154 (comf "target:code/string")
155 (comf "target:code/mipsstrops")
156
157 (if (c:backend-featurep :glibc2)
158 (comf "target:code/unix-glibc2" :proceed t)
159 (comf "target:code/unix" :proceed t))
160
161 (when (c:backend-featurep :mach)
162 (comf "target:code/mach")
163 (comf "target:code/mach-os"))
164 (when (c:backend-featurep :sunos)
165 (comf "target:code/sunos-os"))
166 (when (c:backend-featurep :hpux)
167 (comf "target:code/hpux-os"))
168 (when (c:backend-featurep :osf1)
169 (comf "target:code/osf1-os"))
170 (when (c:backend-featurep :irix)
171 (comf "target:code/irix-os"))
172 (when (c:backend-featurep :BSD)
173 (comf "target:code/bsd-os"))
174 (when (c:backend-featurep :Linux)
175 (comf "target:code/linux-os"))
176
177 (when (c:backend-featurep :pmax)
178 (comf "target:code/pmax-vm"))
179 (when (c:backend-featurep :sparc)
180 (if (c:backend-featurep :svr4)
181 (comf "target:code/sparc-svr4-vm")
182 (comf "target:code/sparc-vm")))
183 (when (c:backend-featurep :rt)
184 (comf "target:code/rt-vm"))
185 (when (c:backend-featurep :hppa)
186 (comf "target:code/hppa-vm"))
187 (when (c:backend-featurep :x86)
188 (comf "target:code/x86-vm"))
189 (when (c:backend-featurep :amd64)
190 (comf "target:code/amd64-vm"))
191 (when (c:backend-featurep :alpha)
192 (comf "target:code/alpha-vm"))
193 (when (c:backend-featurep :sgi)
194 (comf "target:code/sgi-vm"))
195 (when (c:backend-featurep :ppc)
196 (comf "target:code/ppc-vm"))
197
198 (comf "target:code/symbol")
199 (comf "target:code/bignum")
200 (comf "target:code/numbers")
201 (comf "target:code/float-trap")
202 (comf "target:code/float")
203 (comf "target:code/irrat")
204 #+double-double
205 (comf "target:code/irrat-dd")
206
207 (comf "target:code/type-boot")
208
209 (comf "target:compiler/proclaim")
210
211 (comf "target:code/unidata")
212 (comf "target:code/char")
213 (comf "target:code/misc")
214 (comf "target:code/extensions" :byte-compile t)
215 (comf "target:code/commandline")
216 (comf "target:code/env-access")
217
218 (unless (c:backend-featurep :gengc)
219 (comf "target:code/dfixnum")
220 (comf "target:code/room")
221 (comf "target:code/gc")
222 (comf "target:code/purify"))
223 (when (c:backend-featurep :gengc)
224 (comf "target:code/gengc"))
225 (comf "target:code/scavhook")
226
227 (comf "target:code/save")
228
229 (comf "target:code/stream")
230 (comf "target:code/print")
231 (comf "target:code/pprint")
232 #-no-runtime (comf "target:code/pprint" :byte-compile t)
233 (comf "target:code/pprint-loop")
234 (comf "target:code/format")
235 #-no-runtime (comf "target:code/format" :byte-compile t)
236 (comf "target:code/package")
237 (comf "target:code/reader")
238 #-no-runtime (comf "target:code/reader" :byte-compile t)
239 (comf "target:code/sharpm" :byte-compile *byte-compile*)
240 (comf "target:code/backq" :byte-compile *byte-compile*)
241
242 (comf "target:code/serve-event")
243
244 (comf "target:code/extfmts")
245
246 (comf "target:code/fd-stream")
247 (when (c:backend-featurep :unicode)
248 (comf "target:code/fd-stream-extfmt"))
249 (comf "target:code/fd-stream-comp")
250 (comf "target:code/pathname")
251 #-no-runtime (comf "target:code/pathname" :byte-compile t)
252 (comf "target:code/filesys")
253 #-no-runtime (comf "target:code/filesys" :byte-compile t)
254 (comf "target:code/load")
255
256 (when (c:backend-featurep :linkage-table)
257 (comf "target:code/foreign-linkage"))
258 (comf "target:code/module" :byte-compile *byte-compile*)
259
260 (comf "target:code/eval")
261
262 (comf "target:code/signal")
263 (comf "target:code/interr")
264 (comf "target:code/debug-info")
265 (comf "target:code/debug-int")
266 (comf "target:code/debug")
267 #+small
268 (comf "target:code/debug" :byte-compile t)
269
270 (comf "target:code/query" :byte-compile *byte-compile*)
271 (if (c:backend-featurep :random-mt19937)
272 (comf "target:code/rand-mt19937")
273 (comf "target:code/rand"))
274 (comf "target:code/ntrace" :byte-compile *byte-compile*)
275 (comf "target:code/profile")
276 (comf "target:code/sort")
277 (comf "target:code/time")
278 (comf "target:code/weak")
279 (comf "target:code/final")
280
281 ;;; Later so that miscellaneous structures are defined (not crucial, but nice.)
282 (comf "target:code/describe" :byte-compile *byte-compile*)
283 (comf "target:code/tty-inspect" :byte-compile *byte-compile*)
284
285 (comf "target:code/format-time")
286 #-no-runtime (comf "target:code/format-time")
287 (comf "target:code/parse-time")
288 #-no-runtime (comf "target:code/parse-time")
289
290 (comf "target:code/run-program" :proceed t)
291
292 (comf "target:code/loop" :byte-compile *byte-compile*)
293
294 (comf "target:code/stream-vector-io")
295
296 (comf "target:code/foreign")
297 (comf "target:code/internet")
298 (comf "target:code/wire")
299 (comf "target:code/remote")
300 (comf "target:code/cmu-site")
301
302 (when (c:backend-featurep :mp)
303 (comf "target:code/multi-proc"))
304
305 (comf "target:code/setf-funs")
306 (comf "target:code/exports" :proceed t)
307
308 ;;; Compile basic macros that we assume are already in the compilation
309 ;;; environment. We inhibit compile-time definition to prevent these functions
310 ;;; from becoming interpreted. In some cases, this is necessary for
311 ;;; compilation to work at all, since the expander functions are lazily
312 ;;; converted: we could go into an infinite recursion trying to convert the
313 ;;; definition of a macro which uses itself.
314 ;;;
315 (let ((c:*compile-time-define-macros* nil))
316 (comf "target:code/defstruct")
317 (comf "target:code/defmacro" :byte-compile *byte-compile*)
318 (comf "target:compiler/globaldb")
319 (comf "target:code/macros")
320 #-no-runtime (comf "target:code/macros" :byte-compile t))
321
322 (comf "target:code/intl-tramp")
323 (comf "target:code/intl")
324
325 ); let *byte-compile-top-level*
326
327 ); with-compiler-log-file

  ViewVC Help
Powered by ViewVC 1.1.5