120 __END_PACKAGE__(); |
144 __END_PACKAGE__(); |
121 }' |
145 }' |
122 |
146 |
123 "Created: / 08-08-2006 / 12:40:45 / fm" |
147 "Created: / 08-08-2006 / 12:40:45 / fm" |
124 "Modified: / 08-08-2006 / 19:33:01 / fm" |
148 "Modified: / 08-08-2006 / 19:33:01 / fm" |
|
149 "Modified: / 18-08-2006 / 12:57:02 / cg" |
|
150 ! |
|
151 |
|
152 lib_dot_rc |
|
153 |
|
154 ^ |
|
155 '/*------------------------------------------------------------------------ |
|
156 * $','Header','$ |
|
157 * |
|
158 * DO NOT EDIT |
|
159 * automagically generated from the projectDefinition: ',self name,'. |
|
160 *------------------------------------------------------------------------*/ |
|
161 |
|
162 // #if (__BORLANDC__ < 0x0550) |
|
163 // #include <ver.h> |
|
164 // #endif |
|
165 |
|
166 VS_VERSION_INFO VERSIONINFO |
|
167 FILEVERSION %(FILEVERSION) |
|
168 PRODUCTVERSION %(PRODUCTVERSION) |
|
169 FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE |
|
170 FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD |
|
171 FILEOS VOS_NT_WINDOWS32 |
|
172 FILETYPE %(FILETYPE) |
|
173 FILESUBTYPE VS_USER_DEFINED |
|
174 |
|
175 BEGIN |
|
176 BLOCK "StringFileInfo" |
|
177 BEGIN |
|
178 BLOCK "040904E4" |
|
179 BEGIN |
|
180 VALUE "CompanyName", %(COMPANYNAME) |
|
181 VALUE "FileDescription", "Smalltalk/X Additional Developer Basic Classes Library\0" |
|
182 VALUE "FileVersion", "5.2.8.1\0" |
|
183 VALUE "InternalName", "libbasic3\0" |
|
184 VALUE "LegalCopyright", "Copyright eXept Software AG 1998-2006\0" |
|
185 VALUE "ProductName", "Smalltalk/X\0" |
|
186 VALUE "ProductVersion", "5.2.8.1\0" |
|
187 END |
|
188 |
|
189 END |
|
190 |
|
191 BLOCK "VarFileInfo" |
|
192 BEGIN // Language | Translation |
|
193 VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual |
|
194 END |
|
195 END |
|
196 ' |
|
197 |
|
198 "Created: / 17-08-2006 / 19:37:50 / cg" |
|
199 "Modified: / 18-08-2006 / 12:57:09 / cg" |
125 ! |
200 ! |
126 |
201 |
127 make_dot_proto |
202 make_dot_proto |
128 |
203 |
129 ^ |
204 ^ |
130 '# |
205 '# $','Header','$ |
|
206 # |
|
207 # DO NOT EDIT |
|
208 # automagically generated from the projectDefinition: ',self name,'. |
|
209 # |
131 # Warning: once you modify this file, do not rerun |
210 # Warning: once you modify this file, do not rerun |
132 # stmkmp again - otherwise, your changes are lost. |
211 # stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
133 # |
212 # |
134 # The Makefile as generated by this Make.proto supports the following targets: |
213 # The Makefile as generated by this Make.proto supports the following targets: |
135 # make - compile all st-files to a classLib |
214 # make - compile all st-files to a classLib |
136 # make install - install the classLib in /opt/smalltalk/... |
|
137 # make clean - clean all temp files |
215 # make clean - clean all temp files |
138 # make clobber - clean all |
216 # make clobber - clean all |
|
217 # |
|
218 # This file contains definitions for Unix based platforms. |
139 |
219 |
140 # |
220 # |
141 # position (of this package) in directory hierarchy: |
221 # position (of this package) in directory hierarchy: |
142 # (must point to ST/X top directory, for tools and includes) |
222 # (must point to ST/X top directory, for tools and includes) |
143 TOP=%(TOP) |
223 TOP=%(TOP) |
206 postMake:: cleanjunk |
286 postMake:: cleanjunk |
207 |
287 |
208 cleanjunk:: |
288 cleanjunk:: |
209 |
289 |
210 clean:: |
290 clean:: |
211 -rm -f *.o *.H |
291 %(TAB)-rm -f *.o *.H |
212 |
292 |
213 clobber:: |
293 clobber:: |
214 -rm -f *.so *.dll |
294 %(TAB)-rm -f *.so *.dll |
215 |
295 |
216 ', |
296 ', |
217 " |
297 " |
218 $(INSTALLBASE):: |
298 $(INSTALLBASE):: |
219 @test -d $@ || mkdir $@ |
299 %(TAB)@test -d $@ || mkdir $@ |
220 |
300 |
221 $(INSTALLBASE)/packages:: $(INSTALLBASE) |
301 $(INSTALLBASE)/packages:: $(INSTALLBASE) |
222 @test -d $@ || mkdir $@ |
302 %(TAB)@test -d $@ || mkdir $@ |
223 |
303 |
224 $(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages |
304 $(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages |
225 @test -d $@ || mkdir $@ |
305 %(TAB)@test -d $@ || mkdir $@ |
226 |
306 |
227 $(INSTALLBASE)/packages/$(MODULE)/dapasx:: $(INSTALLBASE)/packages/$(MODULE) |
307 $(INSTALLBASE)/packages/$(MODULE)/dapasx:: $(INSTALLBASE)/packages/$(MODULE) |
228 @test -d $@ || mkdir $@ |
308 %(TAB)@test -d $@ || mkdir $@ |
229 |
309 |
230 $(INSTALLBASE)/packages/$(MODULE)/dapasx/interactiver_editor:: $(INSTALLBASE)/packages/$(MODULE)/dapasx |
310 $(INSTALLBASE)/packages/$(MODULE)/dapasx/interactiver_editor:: $(INSTALLBASE)/packages/$(MODULE)/dapasx |
231 @test -d $@ || mkdir $@ |
311 %(TAB)@test -d $@ || mkdir $@ |
232 |
312 |
233 $(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE) |
313 $(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE) |
234 @test -d $@ || mkdir $@ |
314 %(TAB)@test -d $@ || mkdir $@ |
235 " |
315 " |
236 ' |
316 ' |
237 # if other things are to be compiled, |
317 # if other things are to be compiled, |
238 # add target definitions here, |
318 # add target definitions here, |
239 # and list them in LOCAL_EXTRA_TARGETS above. |
319 # and list them in LOCAL_EXTRA_TARGETS above. |
240 # (care for make syntax - TABS are required in the actions) |
320 # (care for make syntax - TABS are required in the actions) |
241 # foo: foo.o |
321 # foo: foo.o |
242 # $(CC) -o foo foo.o |
322 #%(TAB)$(CC) -o foo foo.o |
243 |
323 |
244 # ''make depend'' will add dependency info between |
324 # ''make depend'' will add dependency info between |
245 # BEGIN...END below |
325 # BEGIN...END below |
246 # |
326 # |
247 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it |
327 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it |
249 |
329 |
250 ' |
330 ' |
251 |
331 |
252 "Created: / 08-08-2006 / 20:45:36 / fm" |
332 "Created: / 08-08-2006 / 20:45:36 / fm" |
253 "Modified: / 09-08-2006 / 16:50:23 / fm" |
333 "Modified: / 09-08-2006 / 16:50:23 / fm" |
|
334 "Modified: / 18-08-2006 / 12:57:19 / cg" |
254 ! |
335 ! |
255 |
336 |
256 make_dot_spec |
337 make_dot_spec |
257 |
338 |
258 ^ |
339 ^ |
259 '# |
340 '# $','Header','$ |
|
341 # |
|
342 # DO NOT EDIT |
|
343 # automagically generated from the projectDefinition: ',self name,'. |
|
344 # |
|
345 # Warning: once you modify this file, do not rerun |
|
346 # stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
|
347 # |
260 # This file contains specifications which are common to all platforms. |
348 # This file contains specifications which are common to all platforms. |
261 # |
349 # |
262 # Warning: once you modify this file, do not rerun |
350 |
263 # stmkmp again - otherwise, your changes are lost. |
351 # Do NOT CHANGE THESE DEFINITIONS |
264 # |
352 # (otherwise, ST/X will have a hard time to find out the packages location from its packageID, |
265 # This file contains definitions for Unix based platforms. |
353 # to find the source code of a class and to find the library for a package) |
266 # |
|
267 |
|
268 |
|
269 |
|
270 |
|
271 # module and directory-in-module; |
|
272 # these should correspond to the directory hierarchy |
|
273 # location (otherwise, ST/X will have a hard time to |
|
274 # find out the packages location from its packageID) |
|
275 MODULE=%(MODULE) |
354 MODULE=%(MODULE) |
276 MODULE_DIR=%(MODULE_DIRECTORY) |
355 MODULE_DIR=%(MODULE_DIRECTORY) |
277 |
|
278 |
|
279 # the name of your classLibrary: |
|
280 # ********** REQUIRED: CHECK the next line *** |
|
281 LIBNAME=%(LIBRARY_NAME) |
356 LIBNAME=%(LIBRARY_NAME) |
282 |
|
283 |
|
284 # the package is stored as an ID in classes and methods |
|
285 # to identify code belonging to this project. |
|
286 # It also specifies the position in the source repository |
|
287 # and directory tree, when packages are loaded by packageID. |
|
288 # ********** REQUIRED: CHECK the next line *** |
|
289 PACKAGE=$(MODULE):$(MODULE_DIR) |
357 PACKAGE=$(MODULE):$(MODULE_DIR) |
290 |
358 |
291 |
359 |
292 # Argument(s) to the stc compiler. |
360 # Argument(s) to the stc compiler (stc --usage). |
293 # -H. : create header files locally |
361 # -H. : create header files locally |
294 # (if removed, they will be created as common |
362 # (if removed, they will be created as common |
295 # -Pxxx : defines the package |
363 # -Pxxx : defines the package |
296 # -Zxxx : a prefix for variables within the classLib |
364 # -Zxxx : a prefix for variables within the classLib |
297 # -Dxxx : defines passed to to CC for inline C-code |
365 # -Dxxx : defines passed to to CC for inline C-code |
304 # +inlineMath : additionally inline some floatPnt math stuff |
372 # +inlineMath : additionally inline some floatPnt math stuff |
305 # |
373 # |
306 # ********** OPTIONAL: MODIFY the next line(s) *** |
374 # ********** OPTIONAL: MODIFY the next line(s) *** |
307 # STCLOCALOPTIMIZATIONS=+optinline +inlineNew |
375 # STCLOCALOPTIMIZATIONS=+optinline +inlineNew |
308 # STCLOCALOPTIMIZATIONS=+optspace3 |
376 # STCLOCALOPTIMIZATIONS=+optspace3 |
309 STCLOCALOPTIMIZATIONS=+optspace3 |
377 STCLOCALOPTIMIZATIONS=%(STCOPTIMIZATIONOPTIONS) |
310 |
378 |
311 |
379 |
312 # Argument(s) to the stc compiler. |
380 # Argument(s) to the stc compiler (stc --usage). |
313 # -warn : no warnings |
381 # -warn : no warnings |
314 # -warnNonStandard : no warnings about ST/X extensions |
382 # -warnNonStandard : no warnings about ST/X extensions |
315 # -warnEOLComments : no warnings about EOL comment extension |
383 # -warnEOLComments : no warnings about EOL comment extension |
316 # -warnPrivacy : no warnings about privateClass extension |
384 # -warnPrivacy : no warnings about privateClass extension |
317 # |
385 # |
318 # ********** OPTIONAL: MODIFY the next line(s) *** |
386 # ********** OPTIONAL: MODIFY the next line(s) *** |
319 # STCWARNINGS=-warn |
387 # STCWARNINGS=-warn |
320 # STCWARNINGS=-warnNonStandard |
388 # STCWARNINGS=-warnNonStandard |
321 # STCWARNINGS=-warnEOLComments |
389 # STCWARNINGS=-warnEOLComments |
322 STCWARNINGS= |
390 STCWARNINGS=%(STCWARNINGOPTIONS) |
|
391 |
323 |
392 |
324 OBJS= \ |
393 OBJS= \ |
325 %(OBJECTS) |
394 %(OBJECTS) |
326 ' |
395 ' |
327 |
396 |
328 "Created: / 08-08-2006 / 19:31:29 / fm" |
397 "Created: / 08-08-2006 / 19:31:29 / fm" |
329 "Modified: / 09-08-2006 / 15:10:57 / fm" |
398 "Modified: / 09-08-2006 / 15:10:57 / fm" |
|
399 "Modified: / 18-08-2006 / 12:56:33 / cg" |
330 ! |
400 ! |
331 |
401 |
332 nt_dot_def |
402 nt_dot_def |
333 |
403 |
334 ^ |
404 ^ |
348 ! |
418 ! |
349 |
419 |
350 nt_dot_mak |
420 nt_dot_mak |
351 |
421 |
352 ^ |
422 ^ |
353 '# |
423 '# $','Header','$ |
|
424 # |
|
425 # DO NOT EDIT |
|
426 # automagically generated from the projectDefinition: ',self name,'. |
|
427 # |
|
428 # Warning: once you modify this file, do not rerun |
|
429 # stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
|
430 # |
354 # This file contains make rules for the win32 platform (using borland-bcc). |
431 # This file contains make rules for the win32 platform (using borland-bcc). |
355 # |
432 # |
356 # Warning: once you modify this file, do not rerun |
|
357 # stmkmp again - otherwise, your changes are lost. |
|
358 # |
|
359 TOP=%(TOP) |
433 TOP=%(TOP) |
360 |
434 |
361 !!INCLUDE $(TOP)\rules\stdHeader_nt |
435 !!INCLUDE $(TOP)\rules\stdHeader_nt |
362 |
436 |
363 !!INCLUDE Make.spec |
437 !!INCLUDE Make.spec |
364 |
438 |
365 LOCALINCLUDES=%(LOCAL_INCLUDES) |
439 LOCALINCLUDES=%(LOCAL_INCLUDES) |
366 |
440 |
367 STCLOCALOPT=-I. $(LOCALINCLUDES) -H. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) ''-P$(PACKAGE)'' ''-Z$(LIBNAME)'' $(COMMONSYMFLAG) $(INITCODESEPFLAG) |
441 STCLOCALOPT=-I. $(LOCALINCLUDES) -H. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) ''-P$(PACKAGE)'' ''-Z$(LIBNAME)'' $(COMMONSYMFLAG) $(INITCODESEPFLAG) |
368 |
442 RESFILENAME=$(LIBNAME).res |
369 ALL:: $(LIBJPEG) $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll |
443 RESFILES=%(RESFILENAME) |
|
444 |
|
445 ALL:: $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll |
370 |
446 |
371 !!INCLUDE $(TOP)\rules\stdRules_nt |
447 !!INCLUDE $(TOP)\rules\stdRules_nt |
372 |
448 |
373 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it |
449 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it |
374 # ENDMAKEDEPEND --- do not remove this line |
450 # ENDMAKEDEPEND --- do not remove this line |
375 ' |
451 ' |
376 |
452 |
377 "Created: / 09-08-2006 / 11:44:20 / fm" |
453 "Created: / 09-08-2006 / 11:44:20 / fm" |
378 "Modified: / 09-08-2006 / 19:59:32 / fm" |
454 "Modified: / 09-08-2006 / 19:59:32 / fm" |
|
455 "Modified: / 18-08-2006 / 12:57:32 / cg" |
379 ! |
456 ! |
380 |
457 |
381 objectLine_make_dot_spec |
458 objectLine_make_dot_spec |
382 |
459 |
383 ^' %(CLASS).$(O) \' |
460 ^' %(CLASS).$(O) \' |
428 |
505 |
429 "Created: / 09-08-2006 / 11:20:24 / fm" |
506 "Created: / 09-08-2006 / 11:20:24 / fm" |
430 "Modified: / 16-08-2006 / 18:19:03 / User" |
507 "Modified: / 16-08-2006 / 18:19:03 / User" |
431 ! |
508 ! |
432 |
509 |
|
510 lib_dot_rc_mappings |
|
511 |
|
512 ^Dictionary new |
|
513 at: #'FILEVERSION' put: ['5,2,8,1']; |
|
514 at: #'PRODUCTVERSION' put: ['5,2,8,1']; |
|
515 at: #'FILETYPE' put: 'VFT_DLL'; |
|
516 yourself |
|
517 |
|
518 "Created: / 17-08-2006 / 19:35:05 / cg" |
|
519 ! |
|
520 |
433 make_dot_proto_mappings |
521 make_dot_proto_mappings |
434 |
522 ^ Dictionary new |
435 ^Dictionary new |
523 at: #'TAB' put: ( Character tab asString ); |
436 at: #'TOP' put: [self unixPathToTop]; |
524 at: #'TOP' put: ( self unixPathToTop ); |
437 at: #'SUBDIRECTORIES' put: [self generateSubDirectories]; |
525 at: #'SUBDIRECTORIES' put: [self generateSubDirectories]; |
438 at: #'LOCAL_INCLUDES' put: [self generateUnixLocalIncludes]; |
526 at: #'LOCAL_INCLUDES' put: [self generateUnixLocalIncludes]; |
439 at: #'LOCAL_DEFINES' put: ['']; |
527 at: #'LOCAL_DEFINES' put: ''; |
440 yourself |
528 at: #'COMMONSYMFLAG' put: (self commonSymbolsFlag); |
|
529 yourself |
441 |
530 |
442 "Created: / 09-08-2006 / 11:20:45 / fm" |
531 "Created: / 09-08-2006 / 11:20:45 / fm" |
443 "Modified: / 09-08-2006 / 16:44:48 / fm" |
532 "Modified: / 09-08-2006 / 16:44:48 / fm" |
|
533 "Modified: / 18-08-2006 / 12:59:05 / cg" |
444 ! |
534 ! |
445 |
535 |
446 make_dot_spec_mappings |
536 make_dot_spec_mappings |
447 |
537 |d| |
448 ^Dictionary new |
538 |
449 at: #'MODULE' put: [self module]; |
539 d := super make_dot_spec_mappings. |
450 at: #'MODULE_DIRECTORY' put: [self moduleDirectory]; |
540 d |
451 at: #'LIBRARY_NAME' put: [self libraryName]; |
541 at: #'LIBRARY_NAME' put: ( self libraryName ); |
452 at: #'OBJECTS' put: [self generateObjects_make_dot_spec]; |
542 at: #'OBJECTS' put: [self generateObjects_make_dot_spec]. |
453 yourself |
543 ^ d |
454 |
544 |
455 "Created: / 09-08-2006 / 11:21:06 / fm" |
545 "Created: / 09-08-2006 / 11:21:06 / fm" |
|
546 "Modified: / 18-08-2006 / 11:45:18 / cg" |
456 ! |
547 ! |
457 |
548 |
458 nt_dot_def_mappings |
549 nt_dot_def_mappings |
459 |
550 |
460 ^Dictionary new |
551 ^Dictionary new |
493 replaceAny:':' with:$_ |
588 replaceAny:':' with:$_ |
494 ! ! |
589 ! ! |
495 |
590 |
496 !LibraryDefinition class methodsFor:'mappings support'! |
591 !LibraryDefinition class methodsFor:'mappings support'! |
497 |
592 |
|
593 commonSymbolsFlag |
|
594 "some libraries are compiled with COMMONSYMBOLS - |
|
595 This saves a lot of space in the generated dll/so files; |
|
596 However, it also requires the librun to be rebuilt, whenever one of |
|
597 the commonSymbols-libs changes. |
|
598 Therefore, NEVER do this for end-user or application libraries; |
|
599 ONLY do it for a subset of the predefined, exept-provided standard stx libraries" |
|
600 |
|
601 ( |
|
602 #( |
|
603 'stx:libbasic' 'stx:libview' 'stx:libtool' |
|
604 'stx:libbasic2' 'stx:libview2' 'stx:libtool2' |
|
605 'stx:libbasic3' 'stx:libwidg' 'stx:libhtml' |
|
606 'stx:libcomp' 'stx:libwidg2' 'stx:libui' |
|
607 ) |
|
608 includes:self package) ifTrue:[ |
|
609 ^ '$(COMMONSYMBOLS)' |
|
610 ]. |
|
611 ^ '' |
|
612 |
|
613 "Created: / 18-08-2006 / 13:01:52 / cg" |
|
614 ! |
|
615 |
498 generateClassLines_libInit_dot_cc |
616 generateClassLines_libInit_dot_cc |
499 |
617 ^ String streamContents:[:s | |
500 ^self compiled_classNames |
618 self compiled_classNames do:[:className | |
501 inject: '' |
619 |newClassLine mappings| |
502 into:[:classLines :className | |
620 |
503 |newClassLine mappings| |
621 mappings := self classLine_libInit_dot_cc_mappings: className. |
504 |
622 newClassLine := self replaceMappings:mappings in:self classLine_libInit_dot_cc. |
505 mappings := self classLine_libInit_dot_cc_mappings: className. |
623 s nextPutLine: newClassLine |
506 newClassLine := self replaceMappings: mappings |
624 ] |
507 in: self classLine_libInit_dot_cc. |
|
508 classLines concatenate: newClassLine |
|
509 and: String lf |
|
510 ] |
625 ] |
511 |
626 |
512 " |
627 " |
513 bosch_dapasx_datenbasis generateClassLines_libInit_dot_cc |
628 bosch_dapasx_datenbasis generateClassLines_libInit_dot_cc |
514 bosch_dapasx_kernel generateClassLines_libInit_dot_cc |
629 bosch_dapasx_kernel generateClassLines_libInit_dot_cc |
515 |
630 stx_libbasic3 generateClassLines_libInit_dot_cc |
516 " |
631 " |
517 |
632 |
518 "Created: / 09-08-2006 / 11:21:48 / fm" |
633 "Created: / 09-08-2006 / 11:21:48 / fm" |
519 "Modified: / 16-08-2006 / 18:52:10 / User" |
634 "Modified: / 16-08-2006 / 18:52:10 / User" |
|
635 "Modified: / 18-08-2006 / 11:59:44 / cg" |
520 ! |
636 ! |
521 |
637 |
522 generateExtensionLine_libInit_dot_cc |
638 generateExtensionLine_libInit_dot_cc |
523 |mappings| |
639 |mappings| |
524 ^self extensionMethodNames isEmpty |
640 |
525 ifTrue:[''] |
641 ^self extensionMethodNames isEmpty |
526 ifFalse:[ mappings := self extensionLine_libInit_dot_cc_mappings. |
642 ifTrue:[''] |
527 self replaceMappings: mappings |
643 ifFalse:[ |
528 in: self extensionLine_libInit_dot_cc.] |
644 mappings := self extensionLine_libInit_dot_cc_mappings. |
529 " |
645 self replaceMappings: mappings in: self extensionLine_libInit_dot_cc.] |
530 DapasXProject generateExtensionLine_libInit_dot_cc |
646 |
531 DapasX_Datenbasis generateExtensionLine_libInit_dot_cc |
647 " |
532 |
648 DapasXProject generateExtensionLine_libInit_dot_cc |
533 " |
649 DapasX_Datenbasis generateExtensionLine_libInit_dot_cc |
|
650 " |
534 |
651 |
535 "Created: / 09-08-2006 / 11:23:34 / fm" |
652 "Created: / 09-08-2006 / 11:23:34 / fm" |
|
653 "Modified: / 18-08-2006 / 12:00:18 / cg" |
536 ! |
654 ! |
537 |
655 |
538 generateMsdosLocalIncludes |
656 generateMsdosLocalIncludes |
539 |
657 ^ String streamContents:[:s | |
540 ^self searchForProjectsWhichProvideHeaderFiles |
658 self searchForProjectsWhichProvideHeaderFiles |
541 inject: '' |
659 do:[:includeProjectName | |
542 into:[:objectLines :includeProjectName | |
660 s nextPutAll:' -I',(self msdosPathToPackage: includeProjectName) |
543 objectLines , ' -I',(self msdosPathToPackage: includeProjectName) |
661 ] |
544 ] |
662 ] |
545 |
663 |
546 " |
664 " |
547 DapasXProject generateLocalIncludes |
665 DapasXProject generateLocalIncludes |
548 DapasX_Datenbasis generateLocalIncludes |
666 DapasX_Datenbasis generateLocalIncludes |
549 |
667 " |
550 " |
|
551 |
668 |
552 "Created: / 09-08-2006 / 16:46:49 / fm" |
669 "Created: / 09-08-2006 / 16:46:49 / fm" |
|
670 "Modified: / 18-08-2006 / 11:58:40 / cg" |
553 ! |
671 ! |
554 |
672 |
555 generateObjects_make_dot_spec |
673 generateObjects_make_dot_spec |
556 |pivateClassesOf classes| |
674 |pivateClassesOf classes| |
557 |
675 |
600 " |
718 " |
601 |
719 |
602 "Created: / 09-08-2006 / 11:24:39 / fm" |
720 "Created: / 09-08-2006 / 11:24:39 / fm" |
603 ! |
721 ! |
604 |
722 |
605 generatePrerequisiteProjectsPaths |
723 generateSubDirectories |
606 |
724 ^ String streamContents:[:s | |
607 ^self prerequisiteProjects |
725 self subProjects |
608 inject: '' |
726 do:[:subProjectName | |
609 into:[:objectLines :subProjectName | |
727 s space; nextPutAll:subProjectName |
610 objectLines |
728 ] |
611 concatenate: String lf |
|
612 and: ' -I' |
|
613 and: subProjectName |
|
614 ] |
729 ] |
615 |
730 |
616 " |
731 " |
617 DapasXProject generatePrerequisiteProjectsPaths |
732 DapasXProject generateSubDirectories |
618 DapasX_Datenbasis generatePrerequisiteProjectsPaths |
733 DapasX_Datenbasis generateSubDirectories |
619 |
734 " |
620 " |
735 |
621 |
736 "Created: / 09-08-2006 / 11:26:59 / fm" |
622 "Created: / 09-08-2006 / 12:34:20 / fm" |
737 "Modified: / 18-08-2006 / 11:59:32 / cg" |
623 ! |
738 ! |
624 |
739 |
625 generateSubDirectories |
740 generateUnixLocalIncludes |
626 |
741 ^ String streamContents:[:s | |
627 ^self subProjects |
742 self searchForProjectsWhichProvideHeaderFiles |
628 inject: '' |
743 do:[:includeProjectName | |
629 into:[:objectLines :subProjectName | |
744 s nextPutAll:' -I',(self unixPathToPackage: includeProjectName) |
630 objectLines |
745 ] |
631 concatenate: ' ' |
|
632 and: subProjectName |
|
633 ] |
746 ] |
634 |
747 |
635 " |
748 " |
636 DapasXProject generateSubDirectories |
749 DapasXProject generateLocalIncludes |
637 DapasX_Datenbasis generateSubDirectories |
750 DapasX_Datenbasis generateLocalIncludes |
638 |
751 " |
639 " |
|
640 |
|
641 "Created: / 09-08-2006 / 11:26:59 / fm" |
|
642 ! |
|
643 |
|
644 generateUnixLocalIncludes |
|
645 |
|
646 ^self searchForProjectsWhichProvideHeaderFiles |
|
647 inject: '' |
|
648 into:[:objectLines :includeProjectName | |
|
649 objectLines , ' -I',(self unixPathToPackage: includeProjectName) |
|
650 ] |
|
651 |
|
652 " |
|
653 DapasXProject generateLocalIncludes |
|
654 DapasX_Datenbasis generateLocalIncludes |
|
655 |
|
656 " |
|
657 |
752 |
658 "Created: / 09-08-2006 / 16:46:49 / fm" |
753 "Created: / 09-08-2006 / 16:46:49 / fm" |
659 ! |
754 "Modified: / 18-08-2006 / 11:58:45 / cg" |
660 |
|
661 prerequisiteProjectsOrdered |
|
662 |
|
663 ^self prerequisiteProjects asSortedCollection:[:a :b | ] |
|
664 |
|
665 " |
|
666 DapasXProject generatePrerequisiteProjectsPaths |
|
667 DapasX_Datenbasis generatePrerequisiteProjectsPaths |
|
668 |
|
669 " |
|
670 |
|
671 "Created: / 09-08-2006 / 13:12:01 / fm" |
|
672 ! ! |
755 ! ! |
673 |
756 |
674 !LibraryDefinition class methodsFor:'sanity checks'! |
757 !LibraryDefinition class methodsFor:'sanity checks'! |
675 |
758 |
676 searchForInconsistencies |
759 searchForInconsistencies |
709 "Created: / 17-08-2006 / 14:11:46 / cg" |
792 "Created: / 17-08-2006 / 14:11:46 / cg" |
710 ! ! |
793 ! ! |
711 |
794 |
712 !LibraryDefinition class methodsFor:'update description'! |
795 !LibraryDefinition class methodsFor:'update description'! |
713 |
796 |
714 autoloadedClassNamesGeneratedCodeToCompile |
797 autoloadedClassNames_code |
715 |classNamesCode| |
798 |compiled excluded| |
716 |
799 |
717 classNamesCode := 'autoloaded_classNames', String lf, '"This method has been automatically generated"'. |
800 compiled := self compiled_classNames. |
718 classNamesCode := classNamesCode, String lf, self autoloadedClassNamesGeneratedString. |
801 excluded := self excluded_classNames. |
719 ^classNamesCode |
|
720 |
|
721 " |
|
722 DapasXProject autoloadedClassNamesGeneratedCodeToCompile |
|
723 DapasX_Datenbasis autoloadedClassNamesGeneratedCodeToCompile |
|
724 |
|
725 " |
|
726 |
|
727 "Created: / 08-08-2006 / 15:07:06 / fm" |
|
728 ! |
|
729 |
|
730 autoloadedClassNamesGeneratedString |
|
731 | | |
|
732 |
|
733 ^ String streamContents:[:s | |
802 ^ String streamContents:[:s | |
734 s nextPutAll:'^#('. |
803 s nextPutLine:'autoloaded_classNames'. |
735 self searchForClassesWithProject do:[:eachClass | |
804 s nextPutLine:' ^ #('. |
|
805 self searchForClasses do:[:eachClass | |
736 (false "eachClass wasAutoloaded" or:[ eachClass isLoaded not ]) ifTrue:[ |
806 (false "eachClass wasAutoloaded" or:[ eachClass isLoaded not ]) ifTrue:[ |
737 (self compiled_classNames includes:eachClass name) ifFalse:[ |
807 (compiled includes:eachClass name) ifFalse:[ |
738 (self excluded_classNames includes:eachClass name) ifFalse:[ |
808 (excluded includes:eachClass name) ifFalse:[ |
739 s cr; nextPutAll:eachClass name asString storeString |
809 s nextPutAll:' '; nextPutLine:eachClass name asString storeString |
740 ] |
810 ] |
741 ] |
811 ] |
742 ] |
812 ] |
743 ]. |
813 ]. |
744 s cr; nextPutAll:')' |
814 s nextPutLine:')' |
745 ]. |
815 ]. |
746 |
816 |
747 " |
817 " |
748 bosch_dapasx_interactiver_editor autoloadedClassNamesGeneratedString |
818 DapasXProject autoloadedClassNames_code |
749 " |
819 DapasX_Datenbasis autoloadedClassNames_code |
750 |
820 stx_libbasic3 autoloadedClassNames_code |
751 "Created: / 08-08-2006 / 15:00:17 / fm" |
821 " |
752 "Modified: / 08-08-2006 / 19:24:34 / fm" |
822 |
753 "Modified: / 11-08-2006 / 14:01:23 / cg" |
823 "Created: / 17-08-2006 / 20:55:35 / cg" |
754 ! |
824 ! |
755 |
825 |
756 classNamesGeneratedCodeToCompile |
826 classNames_code |
757 |classNamesCode| |
827 |autoloaded excluded| |
758 |
828 |
759 classNamesCode := 'compiled_classNames', String lf, '"This method has been automatically generated"'. |
829 autoloaded := self autoloaded_classNames. |
760 classNamesCode := classNamesCode, String lf, self classNamesGeneratedString. |
830 excluded := self excluded_classNames. |
761 ^classNamesCode |
|
762 |
|
763 " |
|
764 DapasXProject Datenbasis |
|
765 DapasX_Datenbasis Datenbasis |
|
766 |
|
767 " |
|
768 |
|
769 "Created: / 08-08-2006 / 15:07:06 / fm" |
|
770 ! |
|
771 |
|
772 classNamesGeneratedString |
|
773 | | |
|
774 |
831 |
775 ^ String streamContents:[:s | |
832 ^ String streamContents:[:s | |
776 s nextPutAll:'^#('. |
833 s nextPutLine:'compiled_classNames'. |
777 self searchForClassesWithProject do:[:eachClass | |
834 s nextPutLine:' ^ #('. |
778 (self autoloaded_classNames includes:eachClass name) ifFalse:[ |
835 self searchForClasses do:[:eachClass | |
779 (self excluded_classNames includes:eachClass name) ifFalse:[ |
836 eachClass isPrivate ifFalse:[ |
780 s cr; nextPutAll:eachClass name asString storeString |
837 (autoloaded includes:eachClass name) ifFalse:[ |
|
838 (excluded includes:eachClass name) ifFalse:[ |
|
839 s nextPutAll:' '; nextPutLine:eachClass name asString storeString |
|
840 ] |
781 ] |
841 ] |
782 ] |
842 ] |
783 ]. |
843 ]. |
784 s cr; nextPutAll:')' |
844 s nextPutLine:')' |
785 ]. |
845 ]. |
786 |
846 |
787 " |
847 " |
788 bosch_dapasx_interactiver_editor classNamesGeneratedString |
848 bosch_dapasx_interactiver_editor classNamesGeneratedString |
789 " |
849 " |
790 |
850 |
791 "Created: / 08-08-2006 / 15:00:17 / fm" |
|
792 "Modified: / 08-08-2006 / 19:24:34 / fm" |
851 "Modified: / 08-08-2006 / 19:24:34 / fm" |
793 "Modified: / 11-08-2006 / 14:01:26 / cg" |
852 "Created: / 17-08-2006 / 21:03:07 / cg" |
794 ! |
853 ! |
795 |
854 |
796 extensionMethodNamesGeneratedCodeToCompile |
855 extensionMethodNames_code |
797 |extensionMethodNamesCode| |
|
798 |
|
799 extensionMethodNamesCode := 'extensionMethodNames', String lf, '"This method has been automatically generated"'. |
|
800 extensionMethodNamesCode := extensionMethodNamesCode, String lf, self extensionMethodNamesGeneratedString. |
|
801 ^extensionMethodNamesCode |
|
802 |
|
803 " |
|
804 DapasXProject extensionMethodNamesGeneratedCodeToCompile |
|
805 DapasX_Datenbasis extensionMethodNamesGeneratedCodeToCompile |
|
806 |
|
807 " |
|
808 |
|
809 "Created: / 08-08-2006 / 18:54:42 / fm" |
|
810 ! |
|
811 |
|
812 extensionMethodNamesGeneratedString |
|
813 |generatedString | |
856 |generatedString | |
814 |
857 |
815 generatedString := self searchForExtensionsWithProject |
858 ^ String streamContents:[:s | |
816 inject: '^#(' |
859 s nextPutLine:'extensionMethodNames'. |
817 into:[:string :each | |
860 s nextPutLine:' ^ #('. |
818 string, String lf, each mclass name asString storeString, ' #', each name ]. |
861 self searchForExtensions do:[:eachMethod | |
819 ^generatedString, String lf, ')' |
862 s nextPutAll:eachMethod mclass name storeString. |
820 |
863 s nextPutAll:' '. |
821 " |
864 s nextPutLine: eachMethod selector storeString. |
822 self extensionMethodNamesGeneratedString |
865 ]. |
823 " |
866 s nextPutLine:')' |
824 |
867 ]. |
825 "Created: / 08-08-2006 / 18:55:04 / fm" |
868 |
|
869 " |
|
870 self extensionMethodNames_code |
|
871 " |
|
872 |
|
873 "Created: / 17-08-2006 / 21:21:48 / cg" |
826 ! |
874 ! |
827 |
875 |
828 forEachMethodsCodeToCompileDo:aTwoArgBlock |
876 forEachMethodsCodeToCompileDo:aTwoArgBlock |
829 aTwoArgBlock |
877 aTwoArgBlock |
830 value:self autoloadedClassNamesGeneratedCodeToCompile |
878 value:self autoloadedClassNames_code |
831 value:'description'. |
879 value:'description'. |
832 |
880 |
833 aTwoArgBlock |
881 aTwoArgBlock |
834 value: self classNamesGeneratedCodeToCompile |
882 value: self classNames_code |
835 value: 'description'. |
883 value: 'description'. |
836 |
884 |
837 (self theMetaclass includesSelector:#excluded_classNames) ifFalse:[ |
885 (self theMetaclass includesSelector:#excluded_classNames) ifFalse:[ |
838 aTwoArgBlock |
886 aTwoArgBlock |
839 value: 'excluded_classNames\^ #()' withCRs |
887 value: 'excluded_classNames\^ #()' withCRs |
840 value: 'description'. |
888 value: 'description'. |
841 ]. |
889 ]. |
842 |
890 |
843 aTwoArgBlock |
891 aTwoArgBlock |
844 value: self extensionMethodNamesGeneratedCodeToCompile |
892 value: self extensionMethodNames_code |
845 value: 'description'. |
893 value: 'description'. |
846 |
894 |
847 "/ aTwoArgBlock |
895 aTwoArgBlock |
848 "/ value: 'description ^''bla bla''' |
896 value: self description_code |
849 "/ value: 'description' |
897 value: 'description - project information'. |
850 |
898 |
851 "Created: / 10-08-2006 / 16:35:47 / cg" |
899 "Created: / 10-08-2006 / 16:35:47 / cg" |
|
900 "Modified: / 17-08-2006 / 21:22:26 / cg" |
852 ! ! |
901 ! ! |
853 |
902 |
854 !LibraryDefinition class methodsFor:'documentation'! |
903 !LibraryDefinition class methodsFor:'documentation'! |
855 |
904 |
856 version |
905 version |
857 ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.22 2006-08-17 15:24:38 cg Exp $' |
906 ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.23 2006-08-18 11:07:23 cg Exp $' |
858 ! ! |
907 ! ! |