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