author | Stefan Vogel <sv@exept.de> |
Mon, 25 Sep 2006 21:18:01 +0200 | |
changeset 10010 | 69b2dbff964b |
parent 10000 | c9ccef36dcb3 |
child 10023 | 483d74883849 |
permissions | -rw-r--r-- |
9552 | 1 |
" |
2 |
COPYRIGHT (c) 2006 by eXept Software AG |
|
3 |
All Rights Reserved |
|
4 |
||
5 |
This software is furnished under a license and may be used |
|
6 |
only in accordance with the terms of that license and with the |
|
7 |
inclusion of the above copyright notice. This software may not |
|
8 |
be provided or otherwise made available to, or used by, any |
|
9 |
other person. No title to or ownership of the software is |
|
10 |
hereby transferred. |
|
11 |
" |
|
12 |
||
9671 | 13 |
"{ Package: 'stx:libbasic' }" |
9532 | 14 |
|
9567 | 15 |
ProjectDefinition subclass:#ApplicationDefinition |
9532 | 16 |
instanceVariableNames:'' |
17 |
classVariableNames:'' |
|
18 |
poolDictionaries:'' |
|
19 |
category:'System-Support-Projects' |
|
20 |
! |
|
21 |
||
9552 | 22 |
!ApplicationDefinition class methodsFor:'documentation'! |
23 |
||
24 |
copyright |
|
25 |
" |
|
26 |
COPYRIGHT (c) 2006 by eXept Software AG |
|
27 |
All Rights Reserved |
|
28 |
||
29 |
This software is furnished under a license and may be used |
|
30 |
only in accordance with the terms of that license and with the |
|
31 |
inclusion of the above copyright notice. This software may not |
|
32 |
be provided or otherwise made available to, or used by, any |
|
33 |
other person. No title to or ownership of the software is |
|
34 |
hereby transferred. |
|
35 |
" |
|
36 |
! ! |
|
9532 | 37 |
|
9535 | 38 |
!ApplicationDefinition class methodsFor:'accessing'! |
9532 | 39 |
|
40 |
applicationName |
|
9816 | 41 |
|m path| |
9532 | 42 |
|
9816 | 43 |
m := self moduleDirectory. |
44 |
path := m subStrings:$/. |
|
45 |
path last = 'application' ifTrue:[ |
|
46 |
path size > 1 ifTrue:[ |
|
47 |
path := path copyWithoutLast:1. |
|
48 |
]. |
|
49 |
]. |
|
50 |
^ path last |
|
51 |
||
52 |
" |
|
53 |
bosch_dapasx_application applicationName |
|
54 |
stx_projects_smalltalk applicationName |
|
55 |
" |
|
9532 | 56 |
|
57 |
"Created: / 08-08-2006 / 20:25:39 / fm" |
|
9816 | 58 |
"Modified: / 30-08-2006 / 19:29:25 / cg" |
9535 | 59 |
! ! |
9532 | 60 |
|
10000 | 61 |
!ApplicationDefinition class methodsFor:'code generation'! |
62 |
||
63 |
forEachMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition |
|
64 |
super forEachMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition. |
|
65 |
||
66 |
aTwoArgBlock |
|
67 |
value:self subProjects_code |
|
68 |
value:'description'. |
|
69 |
||
70 |
aTwoArgBlock |
|
71 |
value:self preRequisites_code |
|
72 |
value:'description'. |
|
73 |
||
74 |
(self class implements:#startupClassName) ifFalse:[ |
|
75 |
aTwoArgBlock |
|
76 |
value:self startupClassName_code |
|
77 |
value:'description - startup'. |
|
78 |
]. |
|
79 |
(self class implements:#startupSelector) ifFalse:[ |
|
80 |
aTwoArgBlock |
|
81 |
value:self startupSelector_code |
|
82 |
value:'description - startup'. |
|
83 |
]. |
|
84 |
||
85 |
"Created: / 10-08-2006 / 16:35:47 / cg" |
|
86 |
"Modified: / 30-08-2006 / 19:03:48 / cg" |
|
87 |
! |
|
88 |
||
89 |
startupClassName_code |
|
90 |
^ |
|
91 |
'startupClassName |
|
92 |
self error:''undefined startupClass''. |
|
93 |
^ ''<name of class here>'' |
|
94 |
' |
|
95 |
! |
|
96 |
||
97 |
startupClassName_codeFor:aClassName |
|
98 |
^ |
|
99 |
'startupClassName |
|
100 |
^ ''',aClassName,''' |
|
101 |
' |
|
102 |
||
103 |
"Created: / 05-09-2006 / 13:40:32 / cg" |
|
104 |
! |
|
105 |
||
106 |
startupSelector_code |
|
107 |
^ |
|
108 |
'startupSelector |
|
109 |
self error:''undefined startupSelector''. |
|
110 |
^ #''start'' "startupSelector here" |
|
111 |
' |
|
112 |
||
113 |
"Created: / 30-08-2006 / 19:02:50 / cg" |
|
114 |
! |
|
115 |
||
116 |
startupSelector_codeFor:aSelector |
|
117 |
^ |
|
118 |
'startupSelector |
|
119 |
^ #''',aSelector,''' |
|
120 |
' |
|
121 |
||
122 |
"Created: / 05-09-2006 / 13:41:01 / cg" |
|
123 |
! |
|
124 |
||
125 |
subProjects_code |
|
126 |
|subProjects| |
|
127 |
||
128 |
subProjects := |
|
129 |
(self siblingsAreSubProjects) |
|
130 |
ifTrue:[ self searchForSiblingProjects ] |
|
131 |
ifFalse:[ self searchForSubProjects ]. |
|
132 |
||
133 |
subProjects removeAll: self excludedFromSubProjects. |
|
134 |
||
135 |
^ String streamContents:[:s | |
|
136 |
s nextPutLine:'subProjects'. |
|
137 |
s nextPutLine:' ^ #('. |
|
138 |
subProjects do:[:eachPackageID | |
|
139 |
s nextPutLine:eachPackageID asString storeString |
|
140 |
]. |
|
141 |
s nextPutLine:')' |
|
142 |
]. |
|
143 |
||
144 |
" |
|
145 |
bosch_dapasx subProjectsGeneratedString |
|
146 |
stx_goodies subProjectsGeneratedString |
|
147 |
" |
|
148 |
||
149 |
"Modified: / 08-08-2006 / 19:24:34 / fm" |
|
150 |
"Created: / 17-08-2006 / 21:26:51 / cg" |
|
151 |
! ! |
|
152 |
||
9535 | 153 |
!ApplicationDefinition class methodsFor:'defaults'! |
9532 | 154 |
|
9535 | 155 |
defaultDescription |
156 |
^ 'an application' |
|
9532 | 157 |
! |
158 |
||
9886 | 159 |
guiClassFileNames_unix |
160 |
^ self guiClasses_unix |
|
161 |
collect:[:cls | (cls classFilename asFilename withSuffix:'so') baseName]. |
|
162 |
||
163 |
"Created: / 14-09-2006 / 18:13:22 / cg" |
|
164 |
! |
|
165 |
||
9833 | 166 |
guiClassFileNames_win32 |
167 |
^ self guiClasses_win32 |
|
9886 | 168 |
collect:[:cls | (cls classFilename asFilename withSuffix:'dll') baseName]. |
9833 | 169 |
|
170 |
"Created: / 07-09-2006 / 17:23:13 / cg" |
|
9886 | 171 |
"Modified: / 14-09-2006 / 18:13:46 / cg" |
172 |
! |
|
173 |
||
174 |
guiClasses_unix |
|
175 |
^ #() |
|
176 |
||
177 |
"Created: / 14-09-2006 / 18:12:58 / cg" |
|
9532 | 178 |
! |
179 |
||
9833 | 180 |
guiClasses_win32 |
9886 | 181 |
^ #() |
182 |
"/ ^ Array with:XWorkstation |
|
9833 | 183 |
|
184 |
"Created: / 07-09-2006 / 17:22:27 / cg" |
|
9886 | 185 |
"Modified: / 14-09-2006 / 18:12:35 / cg" |
9535 | 186 |
! |
9532 | 187 |
|
9535 | 188 |
needResources |
189 |
^ self isGUIApplication |
|
9532 | 190 |
! ! |
191 |
||
9535 | 192 |
!ApplicationDefinition class methodsFor:'description'! |
9532 | 193 |
|
194 |
excludedFromSubProjects |
|
9578 | 195 |
"list packages which are to be explicitely excluded from the automatic constructed |
196 |
subProjects list. If empty, every sub-package is included as a prerequisite." |
|
9532 | 197 |
|
9578 | 198 |
^ #() |
199 |
||
200 |
"Modified: / 17-08-2006 / 19:49:40 / cg" |
|
9532 | 201 |
! |
202 |
||
9980 | 203 |
isConsoleApplication |
204 |
"Return true, if this is a console application (used with win32 only). |
|
205 |
Console applications have stdout and stderr and open up a command-window |
|
206 |
when started. Only console applications can interact with the user in the |
|
207 |
command line window. |
|
208 |
By default, GUI apps are compiled as non-console apps." |
|
209 |
||
210 |
^ self isGUIApplication not |
|
211 |
||
212 |
"Created: / 20-09-2006 / 11:29:24 / cg" |
|
213 |
! |
|
214 |
||
9535 | 215 |
isGUIApplication |
9578 | 216 |
"Return true, if this is a GUI app. |
217 |
Redefine to return false for non-GUI applications (affects inclusion of Display classes)." |
|
9535 | 218 |
|
9578 | 219 |
^true |
9535 | 220 |
|
221 |
"Created: / 08-08-2006 / 11:15:01 / fm" |
|
9578 | 222 |
"Modified: / 17-08-2006 / 19:47:36 / cg" |
9532 | 223 |
! |
224 |
||
9823 | 225 |
isSingleThreadedApplication |
226 |
"Return true, if this should be started without multiple threads. |
|
227 |
(not possible with gui applications)" |
|
228 |
||
229 |
^false |
|
230 |
||
231 |
"Created: / 05-09-2006 / 13:36:18 / cg" |
|
232 |
! |
|
233 |
||
9725 | 234 |
startupClassName |
9578 | 235 |
"The name of the class which provides the entry point for the application." |
9532 | 236 |
|
9578 | 237 |
self subclassResponsibility |
238 |
||
239 |
"Modified: / 17-08-2006 / 20:00:22 / cg" |
|
9532 | 240 |
! |
241 |
||
9725 | 242 |
startupSelector |
9578 | 243 |
"The name of the entry point method (in startUpClass) used to start the application." |
9532 | 244 |
|
9578 | 245 |
^ #'start' |
246 |
||
247 |
"Modified: / 17-08-2006 / 20:01:00 / cg" |
|
248 |
! ! |
|
249 |
||
250 |
!ApplicationDefinition class methodsFor:'description - project information'! |
|
251 |
||
252 |
description |
|
253 |
"Returns a description string which will appear in nt.def / bc.def" |
|
254 |
||
255 |
self module = 'stx' ifTrue:[ |
|
256 |
^ 'Smalltalk/X Application' |
|
257 |
]. |
|
258 |
||
9587 | 259 |
^ 'Application' |
9578 | 260 |
|
261 |
"Created: / 17-08-2006 / 20:52:48 / cg" |
|
9587 | 262 |
"Modified: / 18-08-2006 / 16:16:01 / cg" |
9889 | 263 |
! |
264 |
||
9985 | 265 |
docDirPath_unix |
266 |
"path relative to my dir to the documentation - or nil" |
|
267 |
||
268 |
^ nil |
|
269 |
||
270 |
"Created: / 20-09-2006 / 17:58:44 / cg" |
|
271 |
! |
|
272 |
||
273 |
docDirPath_win32 |
|
274 |
"path relative to my dir to the documentation - or nil" |
|
275 |
||
276 |
^ nil |
|
277 |
||
278 |
"Created: / 20-09-2006 / 17:58:40 / cg" |
|
279 |
! |
|
280 |
||
9889 | 281 |
fileDescription |
282 |
"Return a description string which will appear in nt.def / bc.def" |
|
283 |
||
284 |
^self description , ' Application' |
|
285 |
||
286 |
"Created: / 14-09-2006 / 20:08:11 / cg" |
|
9900 | 287 |
! |
288 |
||
289 |
hasLicenceToAcceptDuringInstallation |
|
290 |
^ false |
|
291 |
||
292 |
"Created: / 14-09-2006 / 22:34:00 / cg" |
|
9532 | 293 |
! ! |
294 |
||
295 |
!ApplicationDefinition class methodsFor:'file generation'! |
|
296 |
||
9854 | 297 |
basicFileNamesToGenerate |
9535 | 298 |
^ #( |
9816 | 299 |
#('Make.spec' #'generate_make_dot_spec') |
9886 | 300 |
"/ #('Make.proto' #'generate_make_dot_proto') |
9605 | 301 |
#('bc.def' #'generate_bc_dot_def') |
302 |
#('nt.mak' #'generate_nt_dot_mak') |
|
303 |
#('modules.stx' #'generate_modules_dot_stx') |
|
9961
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
304 |
#('modules.c' #'generate_modules_dot_c') |
9532 | 305 |
" |
9605 | 306 |
#('nt.def' #'generate_nt_dot_def') |
9816 | 307 |
" |
9605 | 308 |
#('abbrev.stc' #'generate_abbrev_dot_stc') |
309 |
#('bmake.bat' #'generate_bmake_dot_mak') |
|
9897 | 310 |
) , (Array |
311 |
with: |
|
312 |
(Array |
|
313 |
with:self rcFilename |
|
314 |
with:#'generate_packageName_dot_rc') |
|
315 |
with: |
|
316 |
(Array |
|
317 |
with:self nsiFilename |
|
318 |
with:#'generate_packageName_dot_nsi') |
|
319 |
). |
|
9578 | 320 |
|
9854 | 321 |
"Created: / 14-09-2006 / 14:36:00 / cg" |
9961
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
322 |
"Modified: / 19-09-2006 / 22:51:01 / cg" |
9623 | 323 |
! |
324 |
||
325 |
generateFile:filename |
|
326 |
^ super generateFile:filename |
|
327 |
||
328 |
"Created: / 22-08-2006 / 18:35:40 / cg" |
|
9816 | 329 |
"Modified: / 30-08-2006 / 19:23:12 / cg" |
9830 | 330 |
! |
331 |
||
9961
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
332 |
generate_modules_dot_c |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
333 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
334 |
^self replaceMappings: self modules_dot_c_mappings |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
335 |
in: self modules_dot_c |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
336 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
337 |
" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
338 |
bosch_dapasx_application generate_modules_dot_c |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
339 |
" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
340 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
341 |
"Created: / 19-09-2006 / 22:35:27 / cg" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
342 |
! |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
343 |
|
9963 | 344 |
generate_packageName_dot_nsi |
345 |
||
346 |
^self replaceMappings: self packageName_dot_nsi_mappings |
|
347 |
in: self packageName_dot_nsi |
|
348 |
||
349 |
" |
|
350 |
bosch_dapasx_application generate_packageName_dot_nsi |
|
351 |
" |
|
352 |
||
353 |
"Modified: / 09-08-2006 / 11:31:09 / fm" |
|
354 |
"Created: / 14-09-2006 / 21:08:23 / cg" |
|
355 |
! |
|
356 |
||
9830 | 357 |
rcFilename |
358 |
^ self packageName,'WinRC.rc'. |
|
359 |
||
360 |
"Created: / 07-09-2006 / 17:07:08 / cg" |
|
361 |
! |
|
362 |
||
363 |
resourceFilename |
|
364 |
^ (self rcFilename asFilename withSuffix:'res') name |
|
365 |
||
366 |
"Created: / 07-09-2006 / 17:12:53 / cg" |
|
9532 | 367 |
! ! |
368 |
||
369 |
!ApplicationDefinition class methodsFor:'file templates'! |
|
370 |
||
9535 | 371 |
bc_dot_def |
9578 | 372 |
"the template code for the bc.def file" |
9535 | 373 |
|
374 |
^ |
|
375 |
'DESCRIPTION %(DESCRIPTION) |
|
376 |
CODE PRELOAD MOVEABLE DISCARDABLE |
|
377 |
SEGMENTS |
|
378 |
INITCODE PRELOAD DISCARDABLE |
|
379 |
' |
|
380 |
||
381 |
"Created: / 08-08-2006 / 12:26:58 / fm" |
|
382 |
"Modified: / 08-08-2006 / 19:32:27 / fm" |
|
9578 | 383 |
"Modified: / 17-08-2006 / 20:05:17 / cg" |
9535 | 384 |
! |
385 |
||
9816 | 386 |
buildDate_dot_h |
387 |
"the template code for the buildDate.h file" |
|
388 |
||
389 |
^ |
|
390 |
'#define BUILD_DATE "%(BUILDDATE)"' |
|
391 |
||
392 |
"Created: / 30-08-2006 / 19:18:34 / cg" |
|
393 |
! |
|
394 |
||
9961
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
395 |
classLine_modules_dot_c |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
396 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
397 |
^'_%(CLASS)_Init,' |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
398 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
399 |
"Modified: / 08-08-2006 / 15:46:05 / fm" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
400 |
"Created: / 19-09-2006 / 22:49:46 / cg" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
401 |
! |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
402 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
403 |
classLine_modules_dot_c_extern |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
404 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
405 |
^'extern void _%(CLASS)_Init();' |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
406 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
407 |
"Modified: / 08-08-2006 / 15:46:05 / fm" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
408 |
"Created: / 19-09-2006 / 22:50:14 / cg" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
409 |
! |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
410 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
411 |
modules_dot_c |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
412 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
413 |
^ |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
414 |
'/* $','Header','$ |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
415 |
* |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
416 |
* DO NOT EDIT |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
417 |
* automagically generated from the projectDefinition: ',self name,'. |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
418 |
* |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
419 |
* Warning: once you modify this file, do not rerun |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
420 |
* stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
421 |
*/ |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
422 |
typedef void (*vf)(); |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
423 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
424 |
%(EXTERN_INIT_NAME_LIST) |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
425 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
426 |
static vf modules[] = { |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
427 |
%(INIT_LIST) |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
428 |
(vf)0 |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
429 |
}; |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
430 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
431 |
vf *__modules__ = modules; |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
432 |
' |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
433 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
434 |
"Created: / 19-09-2006 / 22:36:58 / cg" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
435 |
! |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
436 |
|
9535 | 437 |
modules_dot_stx |
9532 | 438 |
|
9535 | 439 |
^ |
9542 | 440 |
'# $','Header','$ |
9535 | 441 |
# |
9578 | 442 |
# DO NOT EDIT |
443 |
# automagically generated from the projectDefinition: ',self name,'. |
|
444 |
# |
|
445 |
# Warning: once you modify this file, do not rerun |
|
446 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
|
447 |
# |
|
9535 | 448 |
# This file is (currently) only used with win-95 / win-NT versions of STX. |
449 |
# It lists the dll''s which are to be loaded at startup time. |
|
450 |
# |
|
451 |
# All classes loaded at startup time will be present as precompiled classes. |
|
452 |
# Others will be autoloaded. |
|
453 |
# |
|
454 |
%(PREREQUISITE_LIBS) |
|
455 |
%(SUBPROJECT_LIBS) |
|
456 |
' |
|
457 |
||
458 |
"Created: / 08-08-2006 / 12:26:58 / fm" |
|
459 |
"Modified: / 08-08-2006 / 19:32:27 / fm" |
|
9542 | 460 |
"Modified: / 16-08-2006 / 17:56:58 / User" |
9578 | 461 |
"Modified: / 17-08-2006 / 20:35:38 / cg" |
9535 | 462 |
! |
463 |
||
464 |
nt_dot_mak |
|
465 |
|def needResources| |
|
466 |
||
467 |
needResources := false "self isGUIApplication". |
|
468 |
||
469 |
def := |
|
9687 | 470 |
'# $','Header','$ |
471 |
# |
|
9578 | 472 |
# DO NOT EDIT |
473 |
# automagically generated from the projectDefinition: ',self name,'. |
|
474 |
# |
|
475 |
# Warning: once you modify this file, do not rerun |
|
476 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
|
9532 | 477 |
# |
478 |
||
9886 | 479 |
TOP=%(TOP) |
480 |
INCLUDE_TOP=$(TOP)\.. |
|
481 |
||
9687 | 482 |
# CFLAGS1= -WD -w-pro -w-ccc -w-rch -w-aus -w-par -x- -r- -k -y -v -vi- -c -tWDR |
9532 | 483 |
CFLAGS1= -w-pro -w-ccc -w-rch -w-aus -w-par -x- -r- -k -y -v -vi- -c |
484 |
||
9980 | 485 |
CFLAGS_CONSOLE= -tWC -tWR -D_NO_VCL;WIN32 -DWIN_LOGFILE="\"%(APPLICATION)_%%d.log\"" |
9532 | 486 |
CFLAGS_NOCONSOLE=-tWR -D_NO_VCL;WIN32GUI;WIN32 -DWIN_LOGFILE="\"%(APPLICATION)_%%d.log\"" |
487 |
LFLAGS_CONSOLE=-ap |
|
488 |
LFLAGS_NOCONSOLE=-aa |
|
489 |
CRT_STARTUP_CONSOLE=c0x32.obj |
|
490 |
CRT_STARTUP_NOCONSOLE=c0w32.obj |
|
491 |
||
9980 | 492 |
CFLAGS_APPTYPE=$(CFLAGS_%(CONSOLE_OR_NOCONSOLE)) |
493 |
LFLAGS_APPTYPE=$(LFLAGS_%(CONSOLE_OR_NOCONSOLE)) |
|
494 |
CRT_STARTUP=$(CRT_STARTUP_%(CONSOLE_OR_NOCONSOLE)) |
|
9532 | 495 |
|
9614 | 496 |
CFLAGS_LOCAL=$(CFLAGS_APPTYPE) \ |
497 |
-DSTARTUP_CLASS="\"%(STARTUP_CLASS)\"" \ |
|
498 |
-DSTARTUP_SELECTOR="\"%(STARTUP_SELECTOR)\"" \ |
|
499 |
-DUSE_MODULE_TABLE |
|
9532 | 500 |
|
501 |
# |
|
502 |
||
503 |
!!INCLUDE $(TOP)\rules\stdHeader_nt |
|
9816 | 504 |
!!INCLUDE Make.spec |
505 |
||
506 |
OBJS= $(COMMON_OBJS) $(WIN32_OBJS) |
|
507 |
||
9532 | 508 |
# |
509 |
LIBNAME=dummy |
|
510 |
STCOPT="+optinline" |
|
9886 | 511 |
LOCALINCLUDES=%(LOCAL_INCLUDES) |
512 |
STCLOCALOPT=''-package=$(PACKAGE)'' $(LOCALINCLUDES) %(HEADEROUTPUTARG) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) $(COMMONSYMFLAG) -varPrefix=$(LIBNAME) |
|
9532 | 513 |
|
514 |
LINKER = ilink32 |
|
515 |
||
516 |
# LFLAGS = -L$(TOP)\libbc;$(BCB)\lib;$(DEBUGLIBPATH) -H:0x400000 -Hc:0x100000 -S:0x40000 -Sc:0x10000 -ap -Tpe -x -Gn -v -Ao:0x10000 |
|
517 |
LFLAGS = -L$(TOP)\libbc;$(BCB)\lib -S:0x40000 -Sc:0x10000 $(LFLAGS_APPTYPE) -Tpe -x -Gn -v -Ao:0x10000 |
|
518 |
||
519 |
PROJECT = %(APPLICATION).exe |
|
520 |
ALLOBJFILES = main.obj |
|
9830 | 521 |
RESFILES = %(RESFILENAME) |
9532 | 522 |
ALLOBJ = $(CRT_STARTUP) $(ALLOBJFILES) $(OBJS) |
523 |
DEFFILE=bc.def |
|
524 |
||
525 |
LIBFILES=$(TOP)\libbc\librun.lib |
|
526 |
ALLLIB=$(LIBFILES) import32.lib $(RT_LIB) |
|
527 |
||
9535 | 528 |
REQUIRED_LIBS=librun.dll %(REQUIRED_LIBS) |
529 |
REQUIRED_FILES=cs3245.dll symbols.stc $(REQUIRED_LIBS) |
|
9532 | 530 |
|
9535 | 531 |
REQUIRED_SUPPORT_DIRS=%(REQUIRED_SUPPORT_DIRS) |
9532 | 532 |
|
9943 | 533 |
ALL:: exe setup |
9532 | 534 |
|
9941 | 535 |
# the executable only and all required files here |
9943 | 536 |
exe: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT) $(REQUIRED_SUPPORT_DIRS) |
9941 | 537 |
|
538 |
# a nullsoft installable delivery |
|
9532 | 539 |
setup: install_%(APPLICATION).exe |
540 |
||
541 |
# This uses the Nullsoft Installer Package and works in Windows only |
|
542 |
||
543 |
install_%(APPLICATION).exe: $(PROJECT) %(APPLICATION).nsi |
|
9897 | 544 |
$(MAKENSIS) %(APPLICATION).nsi |
9532 | 545 |
|
546 |
new: |
|
547 |
bmake clean |
|
548 |
bmake |
|
549 |
||
9985 | 550 |
RESOURCEFILES: %(APPLICATION)_RESOURCES %(APPLICATION)_BITMAPS \ |
551 |
stx_RESOURCES stx_STYLES stx_BITMAPS |
|
552 |
||
9535 | 553 |
%(RESOURCE_RULES) |
9985 | 554 |
%(STX_RESOURCE_RULES) |
9532 | 555 |
|
556 |
%(PREREQUISITES_LIBS) |
|
557 |
%(SUBPROJECTS_LIBS) |
|
558 |
||
559 |
show: |
|
560 |
@echo LFLAGS= $(LFLAGS) |
|
561 |
@echo ALLOBJ= $(ALLOBJ) |
|
562 |
@echo PROJECT= $(PROJECT) |
|
563 |
@echo ALLLIB= $(ALLLIB) |
|
564 |
@echo DEFFILE= $(DEFFILE) |
|
565 |
@echo ALLRES= $(ALLRES) |
|
566 |
||
567 |
$(PROJECT): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) |
|
568 |
$(BCB)\BIN\$(LINKER) $(LFLAGS) $(ALLOBJ), $(PROJECT),, $(ALLLIB), $(DEFFILE), $(RESFILES) |
|
569 |
||
570 |
#$(PROJECT): $(ALLOBJFILES) $(RESFILES) $(DEFFILE) |
|
571 |
# $(BCB)\BIN\$(LINKER) @&&!! |
|
572 |
# $(LFLAGS) + |
|
573 |
# $(ALLOBJ), + |
|
574 |
# $(PROJECT),, + |
|
575 |
# $(ALLLIB), + |
|
576 |
# $(DEFFILE), + |
|
577 |
# $(RESFILES) |
|
578 |
#!! |
|
579 |
||
580 |
||
581 |
!!INCLUDE $(TOP)\rules\stdRules_nt |
|
582 |
||
583 |
# |
|
584 |
# additional rules |
|
585 |
# |
|
9830 | 586 |
%(APPLICATION)Win.res: %(APPLICATION)Win.rc %(APPLICATION).ico |
9532 | 587 |
|
588 |
main.obj: buildDate.h main.c nt.mak |
|
589 |
||
9687 | 590 |
main.c: $(TOP)\librun\main.c |
9532 | 591 |
copy $(TOP)\librun\main.c main.c |
592 |
||
9816 | 593 |
buildDate.h: $(TOP)\librun\genDate.exe |
594 |
$(TOP)\librun\genDate.exe |
|
9532 | 595 |
|
596 |
librun.dll: $(TOP)\librun\librun.dll |
|
597 |
copy $(TOP)\librun\librun.dll librun.dll |
|
598 |
||
599 |
cs3245.dll: $(TOP)\support\win32\borland\cs3245.dll |
|
600 |
copy $(TOP)\support\win32\borland\cs3245.dll cs3245.dll |
|
601 |
||
602 |
symbols.stc: $(TOP)\include\symbols.stc |
|
603 |
copy $(TOP)\include\symbols.stc symbols.stc |
|
604 |
||
9830 | 605 |
clobber:: |
606 |
-del librun.dll |
|
607 |
||
9532 | 608 |
clean:: |
609 |
-del genDate.exe |
|
610 |
-del c0x32.dll |
|
611 |
-del c0x32.lib |
|
612 |
-del buildDate.h |
|
613 |
-del $(PROJECT) |
|
614 |
-del install_%(APPLICATION).exe |
|
615 |
-del stx.lib |
|
616 |
-del stx.dll |
|
617 |
-del cs3245.dll |
|
618 |
-del $(REQUIRED_FILES) |
|
619 |
-del main.c |
|
620 |
-del *.log |
|
9830 | 621 |
-del *.res |
9532 | 622 |
-rmdir /S /Q resources |
623 |
-rmdir /S /Q objbc |
|
624 |
||
9830 | 625 |
clobber:: |
626 |
-del *.dll |
|
9942 | 627 |
-del *.exe |
9830 | 628 |
|
9532 | 629 |
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it |
9886 | 630 |
%(DEPENDENCIES) |
9532 | 631 |
# ENDMAKEDEPEND --- do not remove this line |
9535 | 632 |
'. |
633 |
||
634 |
^ def. |
|
9578 | 635 |
|
9985 | 636 |
"Modified: / 20-09-2006 / 17:39:36 / cg" |
9535 | 637 |
! |
638 |
||
639 |
nt_dot_mak_resource_rules |
|
640 |
^ ' |
|
9890 | 641 |
%(APPLICATION)_RESOURCES: resources\%(MODULE)\%(MODULE_PATH)\NUL |
9985 | 642 |
-copy ..\resources\*.rs resources\%(MODULE)\%(MODULE_PATH)\..\*.* |
9890 | 643 |
|
9893 | 644 |
%(APPLICATION)_BITMAPS: resources\%(MODULE)\%(MODULE_PATH)\bitmaps\NUL |
9985 | 645 |
-copy *.ico resources\%(MODULE)\%(MODULE_PATH)\bitmaps\*.* |
646 |
-copy *.gif resources\%(MODULE)\%(MODULE_PATH)\bitmaps\*.* |
|
647 |
||
648 |
resources\%(MODULE)\%(MODULE_PATH)\bitmaps\NUL: resources\%(MODULE)\%(MODULE_PATH)\NUL |
|
649 |
mkdir resources\%(MODULE)\%(MODULE_PATH)\bitmaps |
|
650 |
||
651 |
resources\%(MODULE)\%(MODULE_PATH)\NUL: resources\%(MODULE)\NUL |
|
652 |
mkdir resources\%(MODULE)\%(MODULE_PATH) |
|
653 |
||
654 |
resources\%(MODULE)\NUL: resources\NUL |
|
655 |
mkdir resources\%(MODULE) |
|
656 |
'. |
|
657 |
||
658 |
"Modified: / 20-09-2006 / 17:41:40 / cg" |
|
659 |
! |
|
660 |
||
661 |
nt_dot_mak_stx_resource_rules |
|
662 |
^ ' |
|
9535 | 663 |
|
664 |
stx_RESOURCES: \ |
|
9894 | 665 |
keyboard.rc \ |
9535 | 666 |
libbasic_RESOURCES \ |
9985 | 667 |
libview_RESOURCES \ |
9535 | 668 |
libtool_RESOURCES \ |
9985 | 669 |
libtool2_RESOURCES |
9535 | 670 |
|
9894 | 671 |
keyboard.rc: $(TOP)\projects\smalltalk\keyboard.rc |
672 |
copy $(TOP)\projects\smalltalk\keyboard.rc *.* |
|
673 |
||
9535 | 674 |
stx_STYLES: resources\stx\libview\NUL |
675 |
copy $(TOP)\libview\styles\mswindowsXP* resources\stx\libview\*.* |
|
676 |
copy $(TOP)\libview\styles\mswindows*.common resources\stx\libview\*.* |
|
677 |
||
678 |
stx_BITMAPS: \ |
|
679 |
libwidg_BITMAPS |
|
680 |
||
681 |
libwidg_BITMAPS: resources\stx\libwidg\bitmaps\NUL |
|
682 |
copy $(TOP)\libwidg\bitmaps\*.xpm resources\stx\libwidg\bitmaps\*.* |
|
683 |
||
684 |
libbasic_RESOURCES: resources\stx\libbasic\NUL |
|
685 |
copy $(TOP)\libbasic\resources\*.rs resources\stx\libbasic\*.* |
|
686 |
||
687 |
libtool_RESOURCES: resources\stx\libtool\NUL |
|
688 |
copy $(TOP)\libtool\resources\*.rs resources\stx\libtool\*.* |
|
689 |
||
690 |
libtool2_RESOURCES: resources\stx\libtool2\NUL |
|
691 |
copy $(TOP)\libtool2\resources\*.rs resources\stx\libtool2\*.* |
|
692 |
||
693 |
libview_RESOURCES: resources\stx\libview\NUL |
|
694 |
copy $(TOP)\libview\resources\*.rs resources\stx\libview\*.* |
|
695 |
||
696 |
libview2_RESOURCES: resources\stx\libview2\NUL |
|
697 |
copy $(TOP)\libview2\resources\*.rs resources\stx\libview2\*.* |
|
698 |
||
699 |
resources\stx\libbasic\NUL: resources\stx\NUL |
|
700 |
mkdir resources\stx\libbasic |
|
701 |
||
702 |
resources\stx\libtool\NUL: resources\stx\NUL |
|
703 |
mkdir resources\stx\libtool |
|
704 |
||
705 |
resources\stx\libtool2\NUL: resources\stx\NUL |
|
706 |
mkdir resources\stx\libtool2 |
|
707 |
||
708 |
resources\stx\libview\NUL: resources\stx\NUL |
|
709 |
mkdir resources\stx\libview |
|
710 |
||
711 |
resources\stx\libview2\NUL: resources\stx\NUL |
|
712 |
mkdir resources\stx\libview2 |
|
713 |
||
714 |
resources\stx\libwidg\bitmaps\NUL: resources\stx\libwidg\NUL |
|
715 |
mkdir resources\stx\libwidg\bitmaps |
|
716 |
||
717 |
resources\stx\libwidg\NUL: resources\stx\NUL |
|
718 |
mkdir resources\stx\libwidg |
|
719 |
||
720 |
resources\stx\NUL: resources\NUL |
|
721 |
mkdir resources\stx |
|
722 |
||
723 |
resources\NUL: |
|
724 |
mkdir resources |
|
725 |
||
726 |
bitmaps\NUL: |
|
727 |
mkdir bitmaps |
|
728 |
||
729 |
doc\NUL: |
|
730 |
mkdir doc |
|
731 |
||
732 |
'. |
|
9890 | 733 |
|
9985 | 734 |
"Created: / 20-09-2006 / 17:36:29 / cg" |
9532 | 735 |
! |
736 |
||
9963 | 737 |
packageName_dot_nsi |
738 |
"the template code for the <appname>.nsi file" |
|
739 |
||
740 |
^ |
|
741 |
'; $','Header','$ |
|
742 |
; Script generated by ProjectDefinition. |
|
743 |
||
744 |
!!define PRODUCT_NAME "%(PRODUCT_NAME)" |
|
745 |
!!define PRODUCT_VERSION "%(PRODUCT_VERSION)" |
|
746 |
!!define PRODUCT_PUBLISHER "%(PRODUCT_PUBLISHER)" |
|
747 |
!!define PRODUCT_WEB_SITE "http://www.expecco.de" |
|
748 |
!!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" |
|
749 |
!!define PRODUCT_UNINST_ROOT_KEY "HKLM" |
|
750 |
||
751 |
!!define STX_ROOT "%(TOP)\.." |
|
752 |
||
753 |
SetCompressor lzma |
|
754 |
||
755 |
||
756 |
; MUI 1.67 compatible ------ |
|
757 |
!!include "MUI.nsh" |
|
758 |
||
759 |
; MUI Settings |
|
760 |
||
761 |
!!define MUI_ABORTWARNING |
|
9985 | 762 |
%(SEMI_IF_ICON_EXISTS)!!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" |
763 |
%(SEMI_IF_NO_ICON_EXISTS)!!define MUI_ICON "%(APPLICATION).ico" |
|
764 |
%(SEMI_IF_ICON_EXISTS)!!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" |
|
765 |
%(SEMI_IF_NO_ICON_EXISTS)!!define MUI_UNICON "%(APPLICATION).ico" |
|
9963 | 766 |
|
767 |
; Language Selection Dialog Settings |
|
768 |
!!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" |
|
769 |
!!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" |
|
770 |
!!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" |
|
771 |
||
772 |
; Welcome page |
|
773 |
!!insertmacro MUI_PAGE_WELCOME |
|
774 |
; License page |
|
775 |
; !!define MUI_LICENSEPAGE_CHECKBOX |
|
776 |
||
777 |
',(self hasLicenceToAcceptDuringInstallation |
|
778 |
ifTrue:['!!insertmacro MUI_PAGE_LICENSE $(license)'] |
|
779 |
ifFalse:['']),' |
|
780 |
!!insertmacro MUI_PAGE_COMPONENTS |
|
781 |
; Directory page |
|
782 |
!!insertmacro MUI_PAGE_DIRECTORY |
|
783 |
; Instfiles page |
|
784 |
!!insertmacro MUI_PAGE_INSTFILES |
|
785 |
; Finish page |
|
786 |
!!insertmacro MUI_PAGE_FINISH |
|
787 |
||
788 |
; Uninstaller pages |
|
789 |
!!insertmacro MUI_UNPAGE_INSTFILES |
|
790 |
||
791 |
; Language files |
|
792 |
!!insertmacro MUI_LANGUAGE "English" |
|
793 |
!!insertmacro MUI_LANGUAGE "German" |
|
794 |
||
795 |
; MUI end ------ |
|
796 |
||
9985 | 797 |
',((self hasLicenceToAcceptDuringInstallation and:[self docDirPath_win32 notNil]) |
9963 | 798 |
ifTrue:[' |
9985 | 799 |
LicenseLangString license ${LANG_ENGLISH} "',self docDirPath_win32,'\licence_en.txt" |
800 |
LicenseLangString license ${LANG_GERMAN} "',self docDirPath_win32,'\licence_de.txt" |
|
9963 | 801 |
'] |
802 |
ifFalse:['']),' |
|
803 |
||
804 |
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" |
|
805 |
VIProductVersion "${PRODUCT_VERSION}.0" |
|
806 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}" |
|
807 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}" |
|
808 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "%(FILE_VERSION)" |
|
809 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${PRODUCT_NAME} Installer" |
|
810 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${PRODUCT_VERSION}" |
|
811 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "%(LEGAL_COPYRIGHT)" |
|
812 |
||
813 |
||
814 |
OutFile "%(PRODUCT_NAME)Setup.exe" |
|
815 |
InstallDir "%(PRODUCT_INSTALLDIR)" |
|
816 |
ShowInstDetails show |
|
817 |
ShowUnInstDetails show |
|
818 |
||
819 |
Function .onInit |
|
820 |
!!insertmacro MUI_LANGDLL_DISPLAY |
|
821 |
FunctionEnd |
|
822 |
||
823 |
InstType Full |
|
824 |
InstType Partial |
|
825 |
||
826 |
Section "Programme" Section1 |
|
827 |
SectionIn 1 2 |
|
828 |
SetOutPath "$INSTDIR\bin" |
|
829 |
SetOverwrite ifnewer |
|
830 |
File "*.dll" |
|
831 |
File "%(APPLICATION).exe" |
|
832 |
File "symbols.stc" |
|
833 |
File "modules.stx" |
|
834 |
File /r "resources" |
|
835 |
File "keyboard.rc" |
|
836 |
||
837 |
; File "${STX_ROOT}\stx\projects\smalltalk\patches" |
|
838 |
; File /r "${STX_ROOT}\stx\projects\smalltalk\include" |
|
839 |
; File /r "${STX_ROOT}\stx\*.rs" |
|
840 |
; File /r "${STX_ROOT}\%(MODULE)\%(APPLICATION)\*.rs" |
|
841 |
; File /x CVS "${STX_ROOT}\stx\libview\styles\*" |
|
842 |
||
843 |
; WriteRegStr HKCR ".xprg" "" "%(MODULE_KEY).%(PRODUCT_NAME).1" |
|
844 |
WriteRegStr HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1" "" "%(PRODUCT_NAME) File" |
|
845 |
WriteRegStr HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1\DefaultIcon" "" ''$INSTDIR\bin\%(APPLICATION).exe,0'' |
|
846 |
WriteRegStr HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1\Shell\open" "" $(appOpen) |
|
847 |
WriteRegStr HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1\Shell\open\command" "" ''"$INSTDIR\bin\%(APPLICATION).exe" -- "%1"'' |
|
848 |
SectionEnd |
|
849 |
||
9985 | 850 |
%(SEMI_IF_NO_DOC_EXISTS)Section "Online-Documentation for %(PRODUCT_NAME)" Section2 |
851 |
%(SEMI_IF_NO_DOC_EXISTS) SectionIn 1 |
|
852 |
%(SEMI_IF_NO_DOC_EXISTS) SetOutPath "$INSTDIR\doc" |
|
853 |
%(SEMI_IF_NO_DOC_EXISTS) SetOverwrite ifnewer |
|
854 |
%(SEMI_IF_NO_DOC_EXISTS) File /r /x CVS "${STX_ROOT}\%(MODULE)\%(APPLICATION)\doc\*" |
|
855 |
%(SEMI_IF_NO_DOC_EXISTS)SectionEnd |
|
9963 | 856 |
|
857 |
;; Section "%(PRODUCT_NAME) Libraries and Demos" Section3 |
|
858 |
;; SectionIn 1 |
|
859 |
;; SetOutPath "$INSTDIR\lib" |
|
860 |
;; SetOverwrite ifnewer |
|
861 |
;; ; File /r /x CVS "${STX_ROOT}\%(MODULE)\%(APPLICATION)\examples\*" |
|
862 |
;; SectionEnd |
|
863 |
;; |
|
864 |
;; Section "%(PRODUCT_NAME) Reports and Printing" Section4 |
|
865 |
;; SectionIn 1 |
|
866 |
;; SetOutPath "$INSTDIR\reportGenerator" |
|
867 |
;; SetOverwrite ifnewer |
|
868 |
;; ; File /r /x CVS "..\reportGenerator\java" "..\reportGenerator\rules" "..\reportGenerator\*.xml" "..\reportGenerator\*.xslt" "..\reportGenerator\CloseApp.exe" "..\reportGenerator\eXpecco.jpg" |
|
869 |
;; SectionEnd |
|
870 |
||
871 |
Section -AdditionalIcons |
|
872 |
SetOutPath "$INSTDIR" |
|
873 |
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" |
|
874 |
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" |
|
875 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\%(APPLICATION).lnk" "$INSTDIR\bin\%(APPLICATION)" |
|
876 |
CreateShortCut "$DESKTOP\%(APPLICATION).lnk" "$INSTDIR\bin\%(APPLICATION)" |
|
877 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" |
|
878 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe" |
|
879 |
SectionEnd |
|
880 |
||
881 |
Section -Post |
|
882 |
WriteUninstaller "$INSTDIR\uninst.exe" |
|
883 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" |
|
884 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" |
|
885 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" |
|
886 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" |
|
887 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" |
|
888 |
SectionEnd |
|
889 |
||
890 |
LangString appOpen ${LANG_GERMAN} "Mit %(PRODUCT_NAME) öffnen" |
|
891 |
LangString appOpen ${LANG_ENGLISH} "Open with %(PRODUCT_NAME)" |
|
892 |
||
893 |
LangString DESC_Section1 ${LANG_ENGLISH} "Program components of %(PRODUCT_NAME)" |
|
894 |
LangString DESC_Section1 ${LANG_GERMAN} "Alle Programmkomponenten von %(PRODUCT_NAME)" |
|
9985 | 895 |
%(SEMI_IF_NO_DOC_EXISTS)LangString DESC_Section2 ${LANG_ENGLISH} "Online-Documentation of %(PRODUCT_NAME)" |
896 |
%(SEMI_IF_NO_DOC_EXISTS)LangString DESC_Section2 ${LANG_GERMAN} "Online-Dokumentation zu %(PRODUCT_NAME)" |
|
9963 | 897 |
;; LangString DESC_Section3 ${LANG_ENGLISH} "Libraries and Demo Projects" |
898 |
;; LangString DESC_Section3 ${LANG_GERMAN} "Bibliotheken und Beispielprojekte" |
|
899 |
;; LangString DESC_Section4 ${LANG_ENGLISH} "Logfile Printing and Report Generation" |
|
900 |
;; LangString DESC_Section4 ${LANG_GERMAN} "Drucken und Report-Generierung aus Log-Dateien" |
|
901 |
||
902 |
||
903 |
!!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN |
|
904 |
!!insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1) |
|
9985 | 905 |
%(SEMI_IF_NO_DOC_EXISTS) !!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2) |
9963 | 906 |
;; !!insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3) |
907 |
;; !!insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4) |
|
908 |
!!insertmacro MUI_FUNCTION_DESCRIPTION_END |
|
909 |
||
910 |
||
911 |
||
912 |
Function un.onUninstSuccess |
|
913 |
HideWindow |
|
914 |
MessageBox MB_ICONINFORMATION|MB_OK "%(PRODUCT_NAME) wurde erfolgreich deinstalliert" |
|
915 |
FunctionEnd |
|
916 |
||
917 |
Function un.onInit |
|
918 |
!!insertmacro MUI_UNGETLANGUAGE |
|
919 |
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie %(PRODUCT_NAME) und alle seine Komponenten deinstallieren?" IDYES +2 |
|
920 |
Abort |
|
921 |
FunctionEnd |
|
922 |
||
923 |
Section Uninstall |
|
924 |
Delete "$INSTDIR\${PRODUCT_NAME}.url" |
|
925 |
Delete "$INSTDIR\uninst.exe" |
|
926 |
Delete "$INSTDIR\*" |
|
927 |
||
928 |
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" |
|
929 |
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" |
|
930 |
Delete "$SMPROGRAMS\${PRODUCT_NAME}\%(APPLICATION).lnk" |
|
931 |
Delete "$DESKTOP\%(APPLICATION).lnk" |
|
932 |
||
933 |
RMDir "$SMPROGRAMS\${PRODUCT_NAME}" |
|
934 |
RMDir /r "$INSTDIR" |
|
935 |
||
936 |
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" |
|
937 |
DeleteRegKey HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1" |
|
938 |
; DeleteRegKey HKCR ".xprg" |
|
939 |
||
940 |
SetAutoClose true |
|
941 |
SectionEnd |
|
942 |
' |
|
943 |
" |
|
944 |
bosch_dapasx_application packageName_dot_nsi |
|
945 |
bosch_dapasx_application generateFile:'dapasx.nsi' |
|
946 |
" |
|
947 |
||
948 |
"Modified: / 09-08-2006 / 15:10:57 / fm" |
|
949 |
"Created: / 14-09-2006 / 21:09:18 / cg" |
|
9985 | 950 |
"Modified: / 20-09-2006 / 18:13:01 / cg" |
9963 | 951 |
! |
952 |
||
9816 | 953 |
packageName_dot_rc |
954 |
"the template code for the <appname>.rc file" |
|
955 |
||
956 |
^ |
|
957 |
'// |
|
958 |
// DO NOT EDIT |
|
959 |
// automagically generated from the projectDefinition: ',self name,'. |
|
960 |
// |
|
961 |
#define IDR_MAINFRAME 128 |
|
962 |
||
963 |
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US |
|
964 |
#pragma code_page(1252) |
|
965 |
||
966 |
%(ICONDEFINITION_LINE) |
|
967 |
||
968 |
VS_VERSION_INFO VERSIONINFO |
|
969 |
FILEVERSION %(FILE_VERSION_COMMASEPARATED) |
|
970 |
PRODUCTVERSION %(PRODUCT_VERSION_COMMASEPARATED) |
|
971 |
// FILEFLAGSMASK 0x3fL |
|
972 |
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE |
|
973 |
FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD |
|
974 |
FILEOS VOS_NT_WINDOWS32 |
|
975 |
FILETYPE %(FILETYPE) |
|
976 |
FILESUBTYPE VS_USER_DEFINED |
|
977 |
||
978 |
BEGIN |
|
979 |
BLOCK "StringFileInfo" |
|
980 |
BEGIN |
|
981 |
BLOCK "040904E4" |
|
982 |
BEGIN |
|
983 |
VALUE "CompanyName", "%(COMPANY_NAME)\0" |
|
984 |
VALUE "FileDescription", "%(FILE_DESCRIPTION)\0" |
|
985 |
VALUE "FileVersion", "%(FILE_VERSION)\0" |
|
986 |
// VALUE "OriginalFilename", "DAPASX.EXE\0" |
|
987 |
VALUE "InternalName", "%(INTERNAL_NAME)\0" |
|
988 |
%(LEGAL_COPYRIGHT_LINE) |
|
989 |
VALUE "ProductName", "%(PRODUCT_NAME)\0" |
|
990 |
VALUE "ProductVersion", "%(PRODUCT_VERSION)\0" |
|
991 |
VALUE "ProductDate", "%(PRODUCT_DATE)\0" |
|
992 |
END |
|
993 |
END |
|
994 |
||
995 |
BLOCK "VarFileInfo" |
|
996 |
BEGIN // Language | Translation |
|
997 |
VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual |
|
998 |
END |
|
999 |
END |
|
1000 |
' |
|
1001 |
" |
|
1002 |
stx_libbasic3 packageName_dot_rc |
|
1003 |
stx_libbasic3 generate_packageName_dot_rc |
|
1004 |
" |
|
1005 |
||
1006 |
"Modified: / 09-08-2006 / 15:10:57 / fm" |
|
1007 |
"Created: / 30-08-2006 / 18:41:47 / cg" |
|
1008 |
! |
|
1009 |
||
9532 | 1010 |
preRequisiteLine_nt_dot_mak |
1011 |
||
9900 | 1012 |
^'%(FILE_NAME).dll: %(MODULE_DIRECTORY)\objbc\%(FILE_NAME).dll |
1013 |
copy %(MODULE_DIRECTORY)\objbc\%(FILE_NAME).dll *.* |
|
9532 | 1014 |
' |
9900 | 1015 |
|
1016 |
"Modified: / 14-09-2006 / 22:00:19 / cg" |
|
9532 | 1017 |
! |
1018 |
||
1019 |
subProjectLine_nt_dot_mak |
|
1020 |
||
1021 |
^'%(LIBRARY_NAME).dll: $(TOP)\..\%(PATH_TO_SUB_PROJECT)\objbc\%(LIBRARY_NAME).dll |
|
1022 |
copy $(TOP)\..\%(PATH_TO_SUB_PROJECT)\objbc\%(LIBRARY_NAME).dll *.* |
|
1023 |
||
1024 |
$(TOP)\..\%(PATH_TO_SUB_PROJECT)\objbc\%(LIBRARY_NAME).dll: |
|
1025 |
cd $(TOP)\..\%(PATH_TO_SUB_PROJECT) |
|
1026 |
bmake |
|
1027 |
-cd $(TOP)\..\%(PATH_TO_MYPROJECT) |
|
1028 |
' |
|
1029 |
! ! |
|
1030 |
||
1031 |
!ApplicationDefinition class methodsFor:'mappings'! |
|
1032 |
||
9816 | 1033 |
buildDate_dot_h_mappings |
1034 |
|d| |
|
1035 |
||
1036 |
d := Dictionary new. |
|
1037 |
d |
|
9886 | 1038 |
at: 'BUILDDATE' put: (Timestamp now printStringRFC1123Format ). |
9816 | 1039 |
|
1040 |
^ d |
|
1041 |
||
1042 |
"Created: / 30-08-2006 / 19:19:30 / cg" |
|
9886 | 1043 |
"Modified: / 14-09-2006 / 18:58:31 / cg" |
9816 | 1044 |
! |
1045 |
||
9961
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1046 |
modules_dot_c_mappings |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1047 |
|d| |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1048 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1049 |
d := Dictionary new. |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1050 |
d |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1051 |
at: 'INIT_LIST' put: (self generateClassLines:(self classLine_modules_dot_c)); |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1052 |
at: 'EXTERN_INIT_NAME_LIST' put: (self generateClassLines:(self classLine_modules_dot_c_extern)); |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1053 |
yourself. |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1054 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1055 |
^ d |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1056 |
|
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1057 |
"Created: / 19-09-2006 / 22:42:15 / cg" |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1058 |
! |
c3bd31c4af2f
also generate modules.c (precompiled-in init list for app)
Claus Gittinger <cg@exept.de>
parents:
9958
diff
changeset
|
1059 |
|
9535 | 1060 |
modules_dot_stx_mappings |
1061 |
|d| |
|
1062 |
||
1063 |
d := Dictionary new. |
|
1064 |
d |
|
9886 | 1065 |
at: 'PREREQUISITE_LIBS' put: (self generatePreRequisiteLibs_modules_dot_stx); |
1066 |
at: 'SUBPROJECT_LIBS' put: (self generateSubProjectLines_modules_dot_stx ). |
|
9535 | 1067 |
|
1068 |
^ d |
|
9886 | 1069 |
|
1070 |
"Modified: / 14-09-2006 / 18:58:41 / cg" |
|
9535 | 1071 |
! |
1072 |
||
9532 | 1073 |
nt_dot_mak_mappings |
9535 | 1074 |
|d| |
9532 | 1075 |
|
9578 | 1076 |
d := super nt_dot_mak_mappings. |
9535 | 1077 |
d |
9980 | 1078 |
at: 'CONSOLE_OR_NOCONSOLE' put:(self isConsoleApplication ifTrue:'CONSOLE' ifFalse:'NOCONSOLE'); |
9886 | 1079 |
at: 'LOCAL_INCLUDES' put: (self generateLocalIncludes_win32); |
1080 |
at: 'APPLICATION' put: (self applicationName); |
|
1081 |
at: 'RESFILENAME' put: (self resourceFilename ); |
|
1082 |
at: 'RCFILENAME' put: (self rcFilename ); |
|
1083 |
at: 'STARTUP_CLASS' put: ( self startupClassName ); |
|
1084 |
at: 'STARTUP_SELECTOR' put: (self startupSelector ); |
|
1085 |
at: 'REQUIRED_LIBS' put: (self generateRequiredLibs_nt_dot_mak); |
|
1086 |
at: 'PREREQUISITES_LIBS' put: (self generatePreRequisiteLines_nt_dot_mak ); |
|
1087 |
at: 'DEPENDENCIES' put: (self generateDependencies_win32); |
|
9985 | 1088 |
at: 'SUBPROJECTS_LIBS' put: (self generateSubProjectLines_nt_dot_mak ); |
1089 |
yourself. |
|
9535 | 1090 |
|
1091 |
self needResources ifTrue:[ |
|
1092 |
d |
|
9985 | 1093 |
at: 'REQUIRED_SUPPORT_DIRS' put: 'RESOURCEFILES'; |
9886 | 1094 |
at: 'RESOURCE_RULES' put:( self replaceMappings: d |
9985 | 1095 |
in: self nt_dot_mak_resource_rules ); |
1096 |
at: 'STX_RESOURCE_RULES' put: ( self replaceMappings: d |
|
1097 |
in: self nt_dot_mak_stx_resource_rules); |
|
1098 |
yourself |
|
9535 | 1099 |
]. |
1100 |
^ d |
|
9578 | 1101 |
|
9985 | 1102 |
"Modified: / 20-09-2006 / 17:37:57 / cg" |
9532 | 1103 |
! |
1104 |
||
9963 | 1105 |
packageName_dot_nsi_mappings |
1106 |
|d s| |
|
1107 |
||
1108 |
d := Dictionary new. |
|
1109 |
d |
|
1110 |
at: 'TOP' put: ( self pathToTop_win32 ); |
|
1111 |
||
1112 |
at: 'APPLICATION' put: (self applicationName); |
|
1113 |
at: 'MODULE' put: ( self module ); |
|
1114 |
at: 'MODULE_KEY' put: ( self module asUppercaseFirst ); |
|
1115 |
at: 'PRODUCT_NAME' put: (self productName); |
|
1116 |
at: 'PRODUCT_VERSION' put: (self productVersion); |
|
1117 |
at: 'PRODUCT_DATE' put: (self productDate); |
|
1118 |
at: 'PRODUCT_PUBLISHER' put: (self productPublisher); |
|
1119 |
at: 'PRODUCT_WEBSITE' put: (self productWebSite); |
|
1120 |
at: 'PRODUCT_INSTALLDIR' put: (self productInstallDir); |
|
1121 |
at: 'FILETYPE' put: ( 'VFT_DLL' ); |
|
1122 |
at: 'FILE_VERSION_COMMASEPARATED' put: (self fileVersionCommaSeparated); |
|
1123 |
at: 'PRODUCT_VERSION_COMMASEPARATED' put: (self productVersionCommaSeparated); |
|
1124 |
||
1125 |
at: 'COMPANY_NAME' put: (self companyName); |
|
1126 |
at: 'FILE_DESCRIPTION' put: (self fileDescription); |
|
1127 |
at: 'FILE_VERSION' put: (self fileVersion); |
|
1128 |
at: 'LEGAL_COPYRIGHT' put: (self legalCopyright ? ''); |
|
1129 |
at: 'INTERNAL_NAME' put: (self internalName). |
|
1130 |
s := self legalCopyright. |
|
1131 |
s notNil ifTrue:[ |
|
9985 | 1132 |
d at: 'LEGAL_COPYRIGHT_LINE' put: ' VALUE "LegalCopyright", "',s,'\0"' |
9963 | 1133 |
]. |
1134 |
s := self iconFileName. |
|
9985 | 1135 |
s isNil ifTrue:[ |
1136 |
d at:'SEMI_IF_NO_ICON_EXISTS' put:';; '. |
|
1137 |
d at:'SEMI_IF_ICON_EXISTS' put:''. |
|
1138 |
] ifFalse:[ |
|
1139 |
d at:'SEMI_IF_NO_ICON_EXISTS' put:''. |
|
1140 |
d at:'SEMI_IF_ICON_EXISTS' put:';; '. |
|
1141 |
d at: #'ICONDEFINITION_LINE' put: 'IDR_MAINFRAME ICON DISCARDABLE "',s,'"' |
|
1142 |
]. |
|
1143 |
self docDirPath_win32 isNil ifTrue:[ |
|
1144 |
d at:'SEMI_IF_NO_DOC_EXISTS' put:';; '. |
|
1145 |
] ifFalse:[ |
|
1146 |
d at:'SEMI_IF_NO_DOC_EXISTS' put:''. |
|
9963 | 1147 |
]. |
1148 |
||
1149 |
^ d |
|
1150 |
||
1151 |
"Created: / 14-09-2006 / 21:08:44 / cg" |
|
9985 | 1152 |
"Modified: / 20-09-2006 / 18:05:23 / cg" |
9963 | 1153 |
! |
1154 |
||
9532 | 1155 |
preRequisiteLine_nt_dot_mak_mappings: aProjectID |
1156 |
||
1157 |
^Dictionary new |
|
9886 | 1158 |
at: 'FILE_NAME' put: (self libraryNameFor: aProjectID ); |
9900 | 1159 |
at: 'MODULE_DIRECTORY' put: ( self msdosPathToPackage:aProjectID from:(self package) ); |
9532 | 1160 |
yourself |
9567 | 1161 |
|
9900 | 1162 |
"Modified: / 14-09-2006 / 22:01:36 / cg" |
9532 | 1163 |
! |
1164 |
||
9535 | 1165 |
preRequisiteLine_nt_dot_mak_mappingsForClass:aClass |
1166 |
||
1167 |
^Dictionary new |
|
9886 | 1168 |
at: 'FILE_NAME' put: ( aClass classFilename asFilename withoutSuffix baseName ); |
1169 |
at: 'MODULE_DIRECTORY' put: ( (PackageId from:aClass package) directory copy replaceAll:$/ with:$\ ); |
|
9535 | 1170 |
yourself |
9567 | 1171 |
|
9886 | 1172 |
"Modified: / 14-09-2006 / 18:59:19 / cg" |
9535 | 1173 |
! |
1174 |
||
9532 | 1175 |
subProjectLine_nt_dot_mak_mappings: aProjectID |
9557 | 1176 |
^ Dictionary new |
9886 | 1177 |
at: 'LIBRARY_NAME' put: (self libraryNameFor: aProjectID ); |
1178 |
at: 'PATH_TO_SUB_PROJECT' put: ( (PackageId from:aProjectID) module,'\',(PackageId from:aProjectID) directory copy replaceAll:$/ with:$\ ); |
|
1179 |
at: 'PATH_TO_MYPROJECT' put: (self msdosPathToPackage: self package from: aProjectID); |
|
9557 | 1180 |
yourself |
9532 | 1181 |
|
9886 | 1182 |
"Modified: / 14-09-2006 / 18:59:26 / cg" |
9532 | 1183 |
! ! |
1184 |
||
1185 |
!ApplicationDefinition class methodsFor:'mappings support'! |
|
1186 |
||
9535 | 1187 |
generatePreRequisiteLibs_modules_dot_stx |
9578 | 1188 |
^ String streamContents:[:s | |
1189 |
self preRequisites do:[:projectID | |
|
9687 | 1190 |
s nextPutLine:(self libraryNameFor:projectID) |
1191 |
]. |
|
1192 |
self isGUIApplication ifTrue:[ |
|
9833 | 1193 |
self guiClassFileNames_win32 do:[:eachFilename | |
9687 | 1194 |
s nextPutLine:(eachFilename asFilename withoutSuffix baseName) |
9535 | 1195 |
]. |
9578 | 1196 |
]. |
9687 | 1197 |
]. |
9535 | 1198 |
|
1199 |
" |
|
9687 | 1200 |
bosch_dapasx_application generatePreRequisiteLibs_modules_dot_stx |
9535 | 1201 |
" |
9567 | 1202 |
|
9833 | 1203 |
"Modified: / 07-09-2006 / 17:22:58 / cg" |
9535 | 1204 |
! |
1205 |
||
1206 |
generatePreRequisiteLines_nt_dot_mak |
|
9532 | 1207 |
|
1208 |
^ String streamContents:[:s | |
|
9535 | 1209 |
self preRequisites do:[:eachPackage | |
9532 | 1210 |
|mappings newObjectLine| |
9535 | 1211 |
mappings := self preRequisiteLine_nt_dot_mak_mappings: eachPackage. |
9532 | 1212 |
newObjectLine := self replaceMappings: mappings |
1213 |
in: self preRequisiteLine_nt_dot_mak. |
|
1214 |
s nextPutAll:newObjectLine. |
|
1215 |
s cr. |
|
9535 | 1216 |
]. |
9833 | 1217 |
self guiClasses_win32 do:[:eachClass | |
9535 | 1218 |
|mappings newObjectLine| |
1219 |
mappings := self preRequisiteLine_nt_dot_mak_mappingsForClass: eachClass. |
|
1220 |
newObjectLine := self replaceMappings: mappings |
|
1221 |
in: self preRequisiteLine_nt_dot_mak. |
|
1222 |
s nextPutAll:newObjectLine. |
|
1223 |
s cr. |
|
1224 |
]. |
|
1225 |
||
9532 | 1226 |
] |
9900 | 1227 |
" |
1228 |
bosch_dapasx_application generatePreRequisiteLines_nt_dot_mak |
|
1229 |
" |
|
9532 | 1230 |
|
1231 |
"Created: / 09-08-2006 / 11:24:39 / fm" |
|
9900 | 1232 |
"Modified: / 14-09-2006 / 21:58:47 / cg" |
9532 | 1233 |
! |
1234 |
||
1235 |
generateRequiredLibs_nt_dot_mak |
|
9578 | 1236 |
^ String streamContents:[:s | |
9816 | 1237 |
s nextPutLine:' \'. |
9578 | 1238 |
self preRequisites do:[:projectID | |
9816 | 1239 |
s space; nextPutAll:(self libraryNameFor:projectID),'.dll'; nextPutLine:' \'. |
9578 | 1240 |
]. |
9535 | 1241 |
|
9578 | 1242 |
self isGUIApplication ifTrue:[ |
9833 | 1243 |
self guiClassFileNames_win32 do:[:eachFilename | |
9816 | 1244 |
s space; nextPutAll:eachFilename; nextPutLine:' \'. |
9578 | 1245 |
]. |
1246 |
]. |
|
1247 |
self subProjects do:[:projectID | |
|
9816 | 1248 |
s space; nextPutAll:(self libraryNameFor:projectID),'.dll'; nextPutLine:' \'. |
9535 | 1249 |
]. |
9816 | 1250 |
s cr. |
9532 | 1251 |
]. |
1252 |
||
9535 | 1253 |
" |
9816 | 1254 |
bosch_dapasx_application generateRequiredLibs_nt_dot_mak |
9535 | 1255 |
" |
9567 | 1256 |
|
9833 | 1257 |
"Modified: / 07-09-2006 / 17:22:51 / cg" |
9532 | 1258 |
! |
1259 |
||
9535 | 1260 |
generateSubProjectLines_modules_dot_stx |
1261 |
|string| |
|
1262 |
||
1263 |
string := String streamContents:[:s | |
|
1264 |
self subProjects do:[:projectID | |
|
9687 | 1265 |
s nextPutLine:(self libraryNameFor:projectID) |
9535 | 1266 |
]. |
1267 |
]. |
|
1268 |
||
1269 |
^ string |
|
1270 |
||
1271 |
" |
|
9687 | 1272 |
bosch_dapasx_application generateSubProjectLines_modules_dot_stx |
9535 | 1273 |
" |
9567 | 1274 |
|
1275 |
"Modified: / 17-08-2006 / 17:22:37 / cg" |
|
9535 | 1276 |
! |
1277 |
||
1278 |
generateSubProjectLines_nt_dot_mak |
|
9532 | 1279 |
|
1280 |
^ String streamContents:[:s | |
|
9886 | 1281 |
self subProjects do:[:projectID | |
9532 | 1282 |
|mappings newObjectLine| |
9687 | 1283 |
|
9886 | 1284 |
mappings := self subProjectLine_nt_dot_mak_mappings: projectID. |
9532 | 1285 |
newObjectLine := self replaceMappings: mappings |
1286 |
in: self subProjectLine_nt_dot_mak. |
|
1287 |
s nextPutAll:newObjectLine. |
|
1288 |
s cr. |
|
1289 |
] |
|
1290 |
] |
|
1291 |
" |
|
9535 | 1292 |
bosch_dapasx_application generateSubProjectLinesnt_dot_mak |
9532 | 1293 |
|
1294 |
" |
|
1295 |
||
1296 |
"Created: / 09-08-2006 / 11:24:39 / fm" |
|
9886 | 1297 |
"Modified: / 14-09-2006 / 18:46:09 / cg" |
9532 | 1298 |
! ! |
1299 |
||
9813 | 1300 |
!ApplicationDefinition class methodsFor:'queries'! |
1301 |
||
1302 |
canHaveExtensions |
|
1303 |
"return true, if this class allows extensions from other packages. |
|
1304 |
Private classes, namespaces and projectDefinitions dont allow this" |
|
1305 |
||
1306 |
^ self == ApplicationDefinition |
|
1307 |
||
1308 |
" |
|
1309 |
Smalltalk allClasses select:[:each | each canHaveExtensions not] |
|
1310 |
" |
|
1311 |
||
1312 |
"Created: / 30-08-2006 / 15:29:49 / cg" |
|
1313 |
! ! |
|
1314 |
||
9725 | 1315 |
!ApplicationDefinition class methodsFor:'sanity checks'! |
1316 |
||
1317 |
validateDescription |
|
9958 | 1318 |
super validateDescription. |
1319 |
||
9725 | 1320 |
#( |
1321 |
startupClassName |
|
1322 |
"/ startupSelector |
|
1323 |
) do:[:sel | |
|
1324 |
(self theMetaclass implements:sel) ifFalse:[ |
|
1325 |
Dialog |
|
1326 |
warn:('The %1-method is missing from the description %2!!' |
|
1327 |
bindWith:sel allBold |
|
1328 |
with:self name allBold). |
|
1329 |
AbortSignal raise. |
|
1330 |
]. |
|
1331 |
(Error catch:[ self perform:sel ]) ifTrue:[ |
|
1332 |
Dialog |
|
1333 |
warn:('The %1-method needs to be edited in the description %2!!' |
|
1334 |
bindWith:sel allBold |
|
1335 |
with:self name allBold). |
|
1336 |
AbortSignal raise. |
|
1337 |
]. |
|
1338 |
]. |
|
9958 | 1339 |
|
1340 |
"Modified: / 19-09-2006 / 20:17:38 / cg" |
|
9725 | 1341 |
! ! |
1342 |
||
9587 | 1343 |
!ApplicationDefinition class methodsFor:'testing'! |
1344 |
||
9669 | 1345 |
isApplicationDefinition |
1346 |
^ self ~~ ApplicationDefinition |
|
1347 |
||
1348 |
"Created: / 23-08-2006 / 15:17:38 / cg" |
|
1349 |
! |
|
1350 |
||
9587 | 1351 |
isProjectDefinition |
1352 |
^ self ~~ ApplicationDefinition |
|
1353 |
||
1354 |
"Created: / 17-08-2006 / 14:11:56 / cg" |
|
1355 |
! ! |
|
1356 |
||
9532 | 1357 |
!ApplicationDefinition class methodsFor:'documentation'! |
1358 |
||
1359 |
version |
|
10000 | 1360 |
^ '$Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.47 2006-09-21 15:36:55 cg Exp $' |
9532 | 1361 |
! ! |