author | Claus Gittinger <cg@exept.de> |
Thu, 06 May 1999 12:23:51 +0200 | |
changeset 349 | 97acd4385192 |
parent 323 | 42233c66f9a0 |
child 358 | 14a45495e3d8 |
permissions | -rw-r--r-- |
12 | 1 |
"/ |
2 |
"/ $Header$ |
|
3 |
"/ |
|
4 |
"/ This file is processed at initial startup |
|
5 |
"/ - not when resuming an image. |
|
6 |
"/ |
|
0 | 7 |
|
12 | 8 |
"/ |
9 |
"/ install uncompiled classes as autoload |
|
10 |
"/ classes ... (if not already present) |
|
11 |
"/ Autoloaded classes will be automatically filed-in |
|
12 |
"/ when first accessed. This allows a smaller executable, |
|
13 |
"/ but creates a short delay, when the class is loaded on |
|
14 |
"/ first access. |
|
15 |
"/ |
|
16 |
"/ You can add more classes to these lists - |
|
17 |
"/ i.e. all your classes you like to have around, |
|
18 |
"/ but which are not needed often enough to justify |
|
19 |
"/ machine code for them ... |
|
0 | 20 |
|
263 | 21 |
|system requiredClasses| |
24 | 22 |
|
196 | 23 |
'patches [info]: initial startup (snapshot image restart is faster) ...' infoPrintCR. |
225 | 24 |
|
263 | 25 |
system := OperatingSystem getSystemType. |
282 | 26 |
(#( |
27 |
'linux' |
|
28 |
'unixware' |
|
323
42233c66f9a0
do not enable JIT by default on sparc.
Claus Gittinger <cg@exept.de>
parents:
300
diff
changeset
|
29 |
"/ 'solaris' |
282 | 30 |
'iris' |
31 |
'osf' |
|
300 | 32 |
'win32' |
282 | 33 |
) includes:system) ifTrue:[ |
268 | 34 |
"/ 'patches [info]: turn on JIT ...' infoPrintCR. |
265 | 35 |
ObjectMemory justInTimeCompilation:true. |
36 |
]. |
|
175 | 37 |
|
81 | 38 |
"/ GLXWorkstation forceGL:true. |
79 | 39 |
"/ OperatingSystem disableSignal:14. |
81 | 40 |
|
26 | 41 |
ObjectMemory infoPrinting:false. |
174 | 42 |
"/ Smalltalk loadBinaries:true. |
160 | 43 |
Compiler allowUnderscoreInIdentifier:true. |
44 |
Compiler warnUnderscoreInIdentifier:false. |
|
45 |
Compiler warnSTXSpecials:false. |
|
26 | 46 |
|
24 | 47 |
Project notNil ifTrue:[ |
48 |
Project setDefaultProject. |
|
25 | 49 |
Project current packageName:#'autoloaded'. |
24 | 50 |
]. |
10 | 51 |
|
12 | 52 |
"/ |
77 | 53 |
"/ when filing in, keep source as reference to file |
54 |
"/ (instead of keeping a string locally in the image) |
|
55 |
"/ |
|
85 | 56 |
"/ I disable this - its dangerous if you fileIn |
57 |
"/ classes from other directories and fileOut later clobbers those files |
|
58 |
"/ |
|
59 |
"/ ClassCategoryReader sourceMode:#reference. |
|
77 | 60 |
|
61 |
"/ |
|
12 | 62 |
"/ the following are required (either compiled or interpreted) ... |
63 |
"/ |
|
10 | 64 |
requiredClasses := #( |
77 | 65 |
ObsoleteObject |
66 |
BinaryIOManager BinaryInputManager BinaryOutputManager BinaryObjectStorage |
|
67 |
StringCollection |
|
68 |
). |
|
10 | 69 |
|
70 |
requiredClasses do:[:s | |
|
71 |
(Smalltalk at:s) isNil ifTrue:[ |
|
196 | 72 |
('patches [info]: loading ' , s , ' ...') infoPrintCR. |
10 | 73 |
Smalltalk fileInClass:s initialize:true lazy:false silent:true |
74 |
] |
|
75 |
]. |
|
24 | 76 |
! |
77 |
||
169 | 78 |
|optionalViews| |
0 | 79 |
|
24 | 80 |
(Smalltalk at:#View) isNil ifTrue:[ |
196 | 81 |
'patches [info]: installing required autoloaded classes ...' infoPrintCR. |
169 | 82 |
|
24 | 83 |
optionalViews := #( |
26 | 84 |
DeviceWorkstation |
24 | 85 |
Workstation |
26 | 86 |
XWorkstation |
24 | 87 |
DisplayRootView |
88 |
SimpleView |
|
89 |
TopView |
|
90 |
StandardSystemView |
|
91 |
ModalBox |
|
92 |
View |
|
93 |
PseudoView |
|
94 |
DeviceDrawable |
|
95 |
DisplayMedium |
|
96 |
GraphicsContext |
|
97 |
Image |
|
98 |
ViewStyle |
|
99 |
KeyboardMap |
|
100 |
KeyboardForwarder |
|
101 |
TextCollector |
|
77 | 102 |
SynchronousWindowSensor |
24 | 103 |
WindowSensor |
104 |
WindowGroup |
|
105 |
WindowEvent |
|
106 |
WindowingTransformation |
|
107 |
FontDescription |
|
108 |
Font |
|
109 |
Form |
|
110 |
Cursor |
|
111 |
Color |
|
112 |
Depth1Image |
|
113 |
Depth8Image |
|
114 |
ResourcePack |
|
115 |
Model |
|
116 |
Controller |
|
117 |
ApplicationModel |
|
291
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
118 |
ApplicationWindow |
24 | 119 |
WindowBuilder |
120 |
PopUpView |
|
121 |
ShadowView |
|
122 |
Colormap |
|
25 | 123 |
DeviceHandle |
124 |
DisplayObject |
|
24 | 125 |
). |
126 |
optionalViews do:[:s | |
|
127 |
"install if not already compiled-in" |
|
128 |
(Smalltalk at:s) isNil ifTrue:[ |
|
129 |
Autoload subclass:s |
|
130 |
instanceVariableNames:'' |
|
131 |
classVariableNames:'' |
|
132 |
poolDictionaries:'' |
|
133 |
category:'autoloaded-Views' |
|
134 |
] |
|
135 |
]. |
|
179 | 136 |
(Smalltalk at:#DeviceWorkstation) autoload. |
137 |
(Smalltalk at:#XWorkstation) autoload. |
|
138 |
(Smalltalk at:#Workstation) autoload. |
|
139 |
(Smalltalk at:#DeviceHandle) autoload. |
|
24 | 140 |
]. |
131
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
141 |
! |
24 | 142 |
|
170 | 143 |
"/ |
144 |
"/ read the abbrev.stc file, extract class names |
|
145 |
"/ and install all nonExisting classes as autoloaded |
|
146 |
"/ |
|
147 |
|needToReactivate| |
|
148 |
||
174 | 149 |
HistoryManager notNil ifTrue:[ |
150 |
needToReactivate := HistoryManager isActive. |
|
151 |
HistoryManager deactivate. |
|
152 |
] ifFalse:[ |
|
153 |
needToReactivate := false |
|
154 |
]. |
|
220 | 155 |
|
170 | 156 |
Class withoutUpdatingChangesDo:[ |
220 | 157 |
'patches [info]: installing autoloaded classes ...' infoPrintCR. |
158 |
Smalltalk installAutoloadedClassesFrom:'include/abbrev.stc'. |
|
170 | 159 |
]. |
160 |
needToReactivate ifTrue:[HistoryManager activate]. |
|
12 | 161 |
! |
0 | 162 |
|
12 | 163 |
"/ |
164 |
"/ a kludge: we might have added new ImageReaders above - let Image know about it |
|
165 |
"/ |
|
131
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
166 |
|imageClass cls| |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
167 |
|
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
168 |
imageClass := Smalltalk at:#Image ifAbsent:nil. |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
169 |
imageClass notNil ifTrue:[ |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
170 |
imageClass isBehavior ifTrue:[ |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
171 |
imageClass initializeFileFormatTable. |
12 | 172 |
] |
173 |
]. |
|
174 |
||
175 |
"/ |
|
176 |
"/ some ST80 name aliases |
|
177 |
"/ (actually, much more is needed - this is just a start ...) |
|
178 |
"/ |
|
131
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
179 |
(cls := Smalltalk at:#StandardSystemView) notNil ifTrue:[ |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
180 |
Smalltalk at:#ScheduledWindow put:cls |
12 | 181 |
]. |
131
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
182 |
(cls := Smalltalk at:#Socket) notNil ifTrue:[ |
225 | 183 |
Smalltalk at:#UnixSocketAccessor put:cls. |
184 |
Smalltalk at:#SocketAccessor put:cls. |
|
261
4577d07f7dc6
aliases for Timestamp & SocketAccessorByAddress (VW compatibility)
Claus Gittinger <cg@exept.de>
parents:
260
diff
changeset
|
185 |
Smalltalk at:#SocketAccessorByAddress put:cls. |
12 | 186 |
]. |
187 |
Smalltalk at:#BlockClosure put:Block. |
|
284 | 188 |
Smalltalk at:#CompiledMethod put:Method. |
131
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
189 |
(cls := Smalltalk at:#DialogBox) notNil ifTrue:[ |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
190 |
Smalltalk at:#Dialog put:cls. |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
191 |
Smalltalk at:#DialogView put:cls. |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
192 |
]. |
223 | 193 |
Smalltalk at:#ByteString put:String. |
258 | 194 |
Smalltalk at:#ByteSymbol put:Symbol. |
225 | 195 |
Smalltalk at:#ByteEncodedString put:String. |
72 | 196 |
Smalltalk at:#Console put:Stderr. |
258 | 197 |
Smalltalk at:#HandlerList put:HandlerCollection. |
198 |
Smalltalk at:#SignalCollection put:SignalSet. |
|
261
4577d07f7dc6
aliases for Timestamp & SocketAccessorByAddress (VW compatibility)
Claus Gittinger <cg@exept.de>
parents:
260
diff
changeset
|
199 |
Smalltalk at:#Timestamp put:AbsoluteTime. |
72 | 200 |
|
253 | 201 |
"/ FileDirectory notNil ifTrue:[ |
202 |
"/ Smalltalk at:#Disk put:(Filename rootDirectory) |
|
203 |
"/ ]. |
|
131
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
204 |
|
12 | 205 |
Display notNil ifTrue:[ |
131
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
206 |
Smalltalk at:#Window put:(Display class). |
20fc8bdf1de5
removed (old) builtIn class list; depend on abbrev.stc alone
Claus Gittinger <cg@exept.de>
parents:
125
diff
changeset
|
207 |
Smalltalk at:#Screen put:(Display class). |
170 | 208 |
Smalltalk at:#Sensor put:Display. |
12 | 209 |
]. |
210 |
||
211 |
"/ |
|
212 |
"/ ST/X has (currently) no Double, but Float is what ST-80's Double is ... |
|
213 |
"/ |
|
214 |
Smalltalk at:#Double put:Float. |
|
215 |
||
256 | 216 |
Smalltalk at:#Browser put:SystemBrowser. |
143
71dc5ec7ef26
Renamed NewLauncher to Launcher.
Stefan Vogel <sv@exept.de>
parents:
139
diff
changeset
|
217 |
|
24 | 218 |
Project notNil ifTrue:[ |
219 |
Project setDefaultProject. |
|
220 |
Project current packageName:#'patches'. |
|
221 |
]. |
|
222 |
||
196 | 223 |
'patches [info]: installing patches ...' infoPrintCR. |
174 | 224 |
! |
125 | 225 |
|
291
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
226 |
"/ future systems will read patches from a patch-directory, |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
227 |
"/ called stxPatches. (we will deliver patch-sets in the future) |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
228 |
"/ This is not yet implemented, but we are prepared here for |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
229 |
"/ this ... |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
230 |
|
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
231 |
|patchDir| |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
232 |
|
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
233 |
patchDir := 'stxPatches' asFilename. |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
234 |
(patchDir exists and:[patchDir isDirectory and:[patchDir isReadable]]) ifTrue:[ |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
235 |
patchDir directoryContents do:[:f | |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
236 |
|fn| |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
237 |
|
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
238 |
fn := (patchDir construct:f) name. |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
239 |
('patches [info]: reading patchFile ''' , fn , ''' ...') infoPrintCR. |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
240 |
Smalltalk fileIn:fn. |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
241 |
] |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
242 |
]. |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
243 |
! |
b6ece4a96c36
preps to read patchFiles from stxPatches directory
Claus Gittinger <cg@exept.de>
parents:
284
diff
changeset
|
244 |
|
16 | 245 |
"/ |
12 | 246 |
"/ the following patches where added by the changesBrowsers 'make change a patch' |
247 |
"/ function ... |
|
248 |
"/ |
|
210 | 249 |
! |