author | Claus Gittinger <cg@exept.de> |
Thu, 24 Aug 2006 23:05:20 +0200 | |
changeset 9734 | cbd8cfd24c3a |
parent 9723 | eb72c0ac62cd |
child 9744 | fc93ba0de0e9 |
permissions | -rw-r--r-- |
9526
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
1 |
" |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
2 |
COPYRIGHT (c) 2006 by eXept Software AG |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
3 |
All Rights Reserved |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
4 |
|
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
5 |
This software is furnished under a license and may be used |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
6 |
only in accordance with the terms of that license and with the |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
7 |
inclusion of the above copyright notice. This software may not |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
8 |
be provided or otherwise made available to, or used by, any |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
9 |
other person. No title to or ownership of the software is |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
10 |
hereby transferred. |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
11 |
" |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
12 |
|
9671 | 13 |
"{ Package: 'stx:libbasic' }" |
9493 | 14 |
|
9568 | 15 |
ProjectDefinition subclass:#LibraryDefinition |
9616 | 16 |
instanceVariableNames:'' |
17 |
classVariableNames:'' |
|
18 |
poolDictionaries:'' |
|
19 |
category:'System-Support-Projects' |
|
9493 | 20 |
! |
21 |
||
9568 | 22 |
!LibraryDefinition class methodsFor:'documentation'! |
9526
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
23 |
|
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
24 |
copyright |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
25 |
" |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
26 |
COPYRIGHT (c) 2006 by eXept Software AG |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
27 |
All Rights Reserved |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
28 |
|
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
29 |
This software is furnished under a license and may be used |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
30 |
only in accordance with the terms of that license and with the |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
31 |
inclusion of the above copyright notice. This software may not |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
32 |
be provided or otherwise made available to, or used by, any |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
33 |
other person. No title to or ownership of the software is |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
34 |
hereby transferred. |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
35 |
" |
6760ab786028
changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents:
9517
diff
changeset
|
36 |
! ! |
9493 | 37 |
|
9568 | 38 |
!LibraryDefinition class methodsFor:'defaults'! |
9533 | 39 |
|
9534 | 40 |
defaultDescription |
41 |
^ 'a classLibrary' |
|
9493 | 42 |
! ! |
43 |
||
9576 | 44 |
!LibraryDefinition class methodsFor:'description - project information'! |
45 |
||
46 |
description |
|
47 |
"Returns a description string which will appear in nt.def / bc.def" |
|
48 |
||
49 |
self module = 'stx' ifTrue:[ |
|
50 |
^ 'Smalltalk/X Class library' |
|
51 |
]. |
|
52 |
||
9586 | 53 |
^ 'Class Library' |
9576 | 54 |
|
55 |
"Created: / 17-08-2006 / 20:52:16 / cg" |
|
9586 | 56 |
"Modified: / 18-08-2006 / 16:15:53 / cg" |
9576 | 57 |
! ! |
58 |
||
9568 | 59 |
!LibraryDefinition class methodsFor:'file generation'! |
9493 | 60 |
|
9534 | 61 |
fileNamesToGenerate |
62 |
^ #( |
|
9604 | 63 |
#('Make.proto' #'generate_make_dot_proto') |
64 |
#('Make.spec' #'generate_make_dot_spec') |
|
65 |
#('libInit.cc' #'generate_libInit_dot_cc') |
|
66 |
#('bc.def' #'generate_bc_dot_def') |
|
67 |
#('nt.mak' #'generate_nt_dot_mak') |
|
9576 | 68 |
" |
9604 | 69 |
#('nt.def' #'generate_nt_dot_def') |
9576 | 70 |
" |
9604 | 71 |
#('abbrev.stc' #'generate_abbrev_dot_stc') |
72 |
#('bmake.bat' #'generate_bmake_dot_mak') |
|
9534 | 73 |
) |
9576 | 74 |
|
75 |
"Modified: / 17-08-2006 / 20:03:00 / cg" |
|
9582 | 76 |
! |
77 |
||
9622 | 78 |
generateFile:filename |
79 |
filename = 'libInit.cc' ifTrue:[ |
|
80 |
^ self generate_libInit_dot_cc |
|
81 |
]. |
|
82 |
filename = 'lib.rc' ifTrue:[ |
|
83 |
^ self generate_packageName_dot_rc |
|
84 |
]. |
|
85 |
^ super generateFile:filename |
|
86 |
||
87 |
"Created: / 22-08-2006 / 18:36:24 / cg" |
|
88 |
! |
|
89 |
||
9582 | 90 |
generate_libInit_dot_cc |
91 |
||
92 |
^self replaceMappings: self libInit_dot_cc_mappings |
|
93 |
in: self libInit_dot_cc |
|
94 |
||
95 |
" |
|
96 |
DapasXProject generate_libInit_dot_cc |
|
97 |
DapasX_Datenbasis generate_libInit_dot_cc |
|
98 |
||
99 |
" |
|
100 |
||
101 |
"Created: / 08-08-2006 / 12:47:16 / fm" |
|
102 |
"Modified: / 09-08-2006 / 11:30:52 / fm" |
|
9493 | 103 |
! ! |
104 |
||
9568 | 105 |
!LibraryDefinition class methodsFor:'file templates'! |
9493 | 106 |
|
107 |
bc_dot_def |
|
9576 | 108 |
"the template code for the bc.def file" |
9493 | 109 |
|
110 |
^ |
|
9608 | 111 |
'LIBRARY %(LIBRARY_NAME) |
9493 | 112 |
DESCRIPTION %(DESCRIPTION) |
113 |
CODE PRELOAD MOVEABLE DISCARDABLE |
|
114 |
SEGMENTS |
|
115 |
INITCODE PRELOAD DISCARDABLE |
|
116 |
EXPORTS |
|
9590 | 117 |
__%(LIBRARY_NAME)_Init @1 |
9504 | 118 |
' |
9493 | 119 |
|
120 |
"Created: / 08-08-2006 / 12:26:58 / fm" |
|
121 |
"Modified: / 08-08-2006 / 19:32:27 / fm" |
|
9590 | 122 |
"Modified: / 18-08-2006 / 17:13:45 / cg" |
9493 | 123 |
! |
124 |
||
125 |
classLine_libInit_dot_cc |
|
126 |
||
127 |
^'_%(CLASS)_Init(pass,__pRT__,snd);' |
|
128 |
||
129 |
"Created: / 08-08-2006 / 12:51:44 / fm" |
|
130 |
"Modified: / 08-08-2006 / 15:46:05 / fm" |
|
131 |
! |
|
132 |
||
133 |
extensionLine_libInit_dot_cc |
|
134 |
||
135 |
^'_%(LIBRARY_NAME)_extensions_Init(pass,__pRT__,snd);' |
|
136 |
||
137 |
"Created: / 08-08-2006 / 15:48:56 / fm" |
|
138 |
"Modified: / 08-08-2006 / 19:32:33 / fm" |
|
139 |
! |
|
140 |
||
141 |
libInit_dot_cc |
|
9576 | 142 |
"the template code for the libInit.cc file" |
9493 | 143 |
|
144 |
^ |
|
145 |
'/* |
|
9576 | 146 |
* $','Header','$ |
147 |
* |
|
9493 | 148 |
* DO NOT EDIT |
9576 | 149 |
* automagically generated from the projectDefinition: ',self name,'. |
9493 | 150 |
*/ |
151 |
#define __INDIRECTVMINITCALLS__ |
|
152 |
#include <stc.h> |
|
153 |
#define INIT_TEXT_SECT /* as nothing */ |
|
154 |
#ifdef WIN32 |
|
155 |
# pragma codeseg INITCODE "INITCODE" |
|
156 |
#else /* not WIN32 */ |
|
157 |
# if defined(__GNUC__) && !!defined(NO_SECTION_ATTRIBUTES) |
|
158 |
# if (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || __GNUC__ > 2 |
|
159 |
# undef INIT_TEXT_SECT |
|
160 |
# define INIT_TEXT_SECT __attribute__((section(".stxitext"))) |
|
161 |
# endif |
|
162 |
# endif /* not GNUC */ |
|
163 |
#endif /* not WIN32 */ |
|
164 |
#ifdef INIT_TEXT_SECT |
|
165 |
extern void _%(LIBRARY_NAME)_Init() INIT_TEXT_SECT; |
|
166 |
#endif |
|
167 |
void _%(LIBRARY_NAME)_Init(pass, __pRT__, snd) |
|
168 |
OBJ snd; struct __vmData__ *__pRT__; { |
|
169 |
__BEGIN_PACKAGE2__("%(LIBRARY_NAME)", _%(LIBRARY_NAME)_Init, "%(PACKAGE)"); |
|
170 |
%(CLASSES) |
|
171 |
%(EXTENSION) |
|
172 |
__END_PACKAGE__(); |
|
173 |
}' |
|
174 |
||
175 |
"Created: / 08-08-2006 / 12:40:45 / fm" |
|
176 |
"Modified: / 08-08-2006 / 19:33:01 / fm" |
|
9576 | 177 |
"Modified: / 18-08-2006 / 12:57:02 / cg" |
178 |
! |
|
179 |
||
180 |
lib_dot_rc |
|
181 |
||
182 |
^ |
|
183 |
'/*------------------------------------------------------------------------ |
|
184 |
* $','Header','$ |
|
185 |
* |
|
186 |
* DO NOT EDIT |
|
187 |
* automagically generated from the projectDefinition: ',self name,'. |
|
188 |
*------------------------------------------------------------------------*/ |
|
189 |
||
190 |
// #if (__BORLANDC__ < 0x0550) |
|
191 |
// #include <ver.h> |
|
192 |
// #endif |
|
193 |
||
194 |
VS_VERSION_INFO VERSIONINFO |
|
195 |
FILEVERSION %(FILEVERSION) |
|
196 |
PRODUCTVERSION %(PRODUCTVERSION) |
|
197 |
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE |
|
198 |
FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD |
|
199 |
FILEOS VOS_NT_WINDOWS32 |
|
200 |
FILETYPE %(FILETYPE) |
|
201 |
FILESUBTYPE VS_USER_DEFINED |
|
202 |
||
203 |
BEGIN |
|
204 |
BLOCK "StringFileInfo" |
|
205 |
BEGIN |
|
206 |
BLOCK "040904E4" |
|
207 |
BEGIN |
|
208 |
VALUE "CompanyName", %(COMPANYNAME) |
|
209 |
VALUE "FileDescription", "Smalltalk/X Additional Developer Basic Classes Library\0" |
|
210 |
VALUE "FileVersion", "5.2.8.1\0" |
|
211 |
VALUE "InternalName", "libbasic3\0" |
|
212 |
VALUE "LegalCopyright", "Copyright eXept Software AG 1998-2006\0" |
|
213 |
VALUE "ProductName", "Smalltalk/X\0" |
|
214 |
VALUE "ProductVersion", "5.2.8.1\0" |
|
215 |
END |
|
216 |
||
217 |
END |
|
218 |
||
219 |
BLOCK "VarFileInfo" |
|
220 |
BEGIN // Language | Translation |
|
221 |
VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual |
|
222 |
END |
|
223 |
END |
|
224 |
' |
|
225 |
||
226 |
"Created: / 17-08-2006 / 19:37:50 / cg" |
|
227 |
"Modified: / 18-08-2006 / 12:57:09 / cg" |
|
9493 | 228 |
! |
229 |
||
230 |
make_dot_proto |
|
231 |
||
232 |
^ |
|
9576 | 233 |
'# $','Header','$ |
234 |
# |
|
235 |
# DO NOT EDIT |
|
236 |
# automagically generated from the projectDefinition: ',self name,'. |
|
237 |
# |
|
9493 | 238 |
# Warning: once you modify this file, do not rerun |
9576 | 239 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
9493 | 240 |
# |
241 |
# The Makefile as generated by this Make.proto supports the following targets: |
|
242 |
# make - compile all st-files to a classLib |
|
243 |
# make clean - clean all temp files |
|
244 |
# make clobber - clean all |
|
9576 | 245 |
# |
246 |
# This file contains definitions for Unix based platforms. |
|
9493 | 247 |
|
248 |
# |
|
249 |
# position (of this package) in directory hierarchy: |
|
250 |
# (must point to ST/X top directory, for tools and includes) |
|
251 |
TOP=%(TOP) |
|
252 |
||
253 |
||
254 |
# subdirectories where targets are to be made: |
|
255 |
SUBDIRS=%(SUBDIRECTORIES) |
|
256 |
||
257 |
||
258 |
# subdirectories where Makefiles are to be made: |
|
259 |
# (only define if different from SUBDIRS) |
|
260 |
# ALLSUBDIRS= |
|
261 |
||
262 |
||
263 |
# if your embedded C code requires any system includes, |
|
264 |
# add the path(es) here:, |
|
265 |
# ********** OPTIONAL: MODIFY the next lines *** |
|
266 |
# LOCALINCLUDES=-Ifoo -Ibar |
|
267 |
LOCALINCLUDES=%(LOCAL_INCLUDES) |
|
268 |
||
269 |
||
270 |
# if you need any additional defines for embedded C code, |
|
271 |
# add them here:, |
|
272 |
# ********** OPTIONAL: MODIFY the next lines *** |
|
273 |
# LOCALDEFINES=-Dfoo -Dbar -DDEBUG |
|
274 |
LOCALDEFINES=%(LOCAL_DEFINES) |
|
275 |
||
276 |
||
9613 | 277 |
STCLOCALOPT=''-package=$(PACKAGE)'' -I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) %(HEADEROUTPUTARG) %(COMMONSYMFLAG) -varPrefix=$(LIBNAME) |
9493 | 278 |
|
279 |
||
280 |
# ********** OPTIONAL: MODIFY the next line *** |
|
281 |
# additional C-libraries that should be pre-linked with the class-objects |
|
9734 | 282 |
LD_OBJ_LIBS=%(ADDITIONAL_LINK_LIBRARIES) |
9493 | 283 |
|
284 |
||
285 |
# ********** OPTIONAL: MODIFY the next line *** |
|
286 |
# additional C targets or libraries should be added below |
|
287 |
LOCAL_EXTRA_TARGETS= |
|
288 |
||
9606 | 289 |
OBJS= $(COMMON_OBJS) $(UNIX_OBJS) |
290 |
||
9626 | 291 |
%(ADDITIONAL_DEFINITIONS) |
292 |
||
9493 | 293 |
all:: preMake classLibRule postMake |
294 |
||
9626 | 295 |
pre_objs:: %(ADDITIONAL_TARGETS) |
296 |
||
297 |
%(ADDITIONAL_RULES) |
|
9493 | 298 |
|
299 |
# add more install actions here |
|
300 |
install:: |
|
301 |
||
302 |
# add more install actions for aux-files (resources) here |
|
303 |
installAux:: |
|
304 |
||
305 |
# add more preMake actions here |
|
306 |
preMake:: |
|
307 |
||
308 |
# add more postMake actions here |
|
309 |
postMake:: cleanjunk |
|
310 |
||
311 |
cleanjunk:: |
|
312 |
||
313 |
clean:: |
|
9576 | 314 |
%(TAB)-rm -f *.o *.H |
9493 | 315 |
|
316 |
clobber:: |
|
9576 | 317 |
%(TAB)-rm -f *.so *.dll |
9493 | 318 |
|
319 |
', |
|
320 |
" |
|
321 |
$(INSTALLBASE):: |
|
9576 | 322 |
%(TAB)@test -d $@ || mkdir $@ |
9493 | 323 |
|
324 |
$(INSTALLBASE)/packages:: $(INSTALLBASE) |
|
9576 | 325 |
%(TAB)@test -d $@ || mkdir $@ |
9493 | 326 |
|
327 |
$(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages |
|
9576 | 328 |
%(TAB)@test -d $@ || mkdir $@ |
9493 | 329 |
|
330 |
$(INSTALLBASE)/packages/$(MODULE)/dapasx:: $(INSTALLBASE)/packages/$(MODULE) |
|
9576 | 331 |
%(TAB)@test -d $@ || mkdir $@ |
9493 | 332 |
|
333 |
$(INSTALLBASE)/packages/$(MODULE)/dapasx/interactiver_editor:: $(INSTALLBASE)/packages/$(MODULE)/dapasx |
|
9576 | 334 |
%(TAB)@test -d $@ || mkdir $@ |
9493 | 335 |
|
336 |
$(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE) |
|
9576 | 337 |
%(TAB)@test -d $@ || mkdir $@ |
9493 | 338 |
" |
339 |
' |
|
340 |
# ''make depend'' will add dependency info between |
|
341 |
# BEGIN...END below |
|
342 |
# |
|
343 |
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it |
|
344 |
# ENDMAKEDEPEND --- do not remove this line |
|
345 |
||
346 |
' |
|
347 |
||
348 |
"Created: / 08-08-2006 / 20:45:36 / fm" |
|
349 |
"Modified: / 09-08-2006 / 16:50:23 / fm" |
|
9632 | 350 |
"Modified: / 23-08-2006 / 11:07:46 / cg" |
9493 | 351 |
! |
352 |
||
353 |
make_dot_spec |
|
354 |
||
355 |
^ |
|
9576 | 356 |
'# $','Header','$ |
357 |
# |
|
358 |
# DO NOT EDIT |
|
359 |
# automagically generated from the projectDefinition: ',self name,'. |
|
9493 | 360 |
# |
361 |
# Warning: once you modify this file, do not rerun |
|
9576 | 362 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
9493 | 363 |
# |
9576 | 364 |
# This file contains specifications which are common to all platforms. |
9493 | 365 |
# |
366 |
||
9576 | 367 |
# Do NOT CHANGE THESE DEFINITIONS |
368 |
# (otherwise, ST/X will have a hard time to find out the packages location from its packageID, |
|
369 |
# to find the source code of a class and to find the library for a package) |
|
9493 | 370 |
MODULE=%(MODULE) |
371 |
MODULE_DIR=%(MODULE_DIRECTORY) |
|
9632 | 372 |
PACKAGE=$(MODULE):$(MODULE_DIR) |
9493 | 373 |
LIBNAME=%(LIBRARY_NAME) |
374 |
||
375 |
||
9576 | 376 |
# Argument(s) to the stc compiler (stc --usage). |
9493 | 377 |
# -H. : create header files locally |
378 |
# (if removed, they will be created as common |
|
379 |
# -Pxxx : defines the package |
|
380 |
# -Zxxx : a prefix for variables within the classLib |
|
381 |
# -Dxxx : defines passed to to CC for inline C-code |
|
382 |
# -Ixxx : include path passed to CC for inline C-code |
|
383 |
# +optspace : optimized for space |
|
384 |
# +optspace2 : optimized more for space |
|
385 |
# +optspace3 : optimized even more for space |
|
386 |
# +optinline : generate inline code for some ST constructs |
|
387 |
# +inlineNew : additionally inline new |
|
388 |
# +inlineMath : additionally inline some floatPnt math stuff |
|
389 |
# |
|
390 |
# ********** OPTIONAL: MODIFY the next line(s) *** |
|
391 |
# STCLOCALOPTIMIZATIONS=+optinline +inlineNew |
|
392 |
# STCLOCALOPTIMIZATIONS=+optspace3 |
|
9576 | 393 |
STCLOCALOPTIMIZATIONS=%(STCOPTIMIZATIONOPTIONS) |
9493 | 394 |
|
395 |
||
9576 | 396 |
# Argument(s) to the stc compiler (stc --usage). |
9493 | 397 |
# -warn : no warnings |
398 |
# -warnNonStandard : no warnings about ST/X extensions |
|
399 |
# -warnEOLComments : no warnings about EOL comment extension |
|
400 |
# -warnPrivacy : no warnings about privateClass extension |
|
401 |
# |
|
402 |
# ********** OPTIONAL: MODIFY the next line(s) *** |
|
403 |
# STCWARNINGS=-warn |
|
404 |
# STCWARNINGS=-warnNonStandard |
|
405 |
# STCWARNINGS=-warnEOLComments |
|
9576 | 406 |
STCWARNINGS=%(STCWARNINGOPTIONS) |
407 |
||
9493 | 408 |
%(OBJECTS) |
409 |
' |
|
410 |
||
411 |
"Created: / 08-08-2006 / 19:31:29 / fm" |
|
412 |
"Modified: / 09-08-2006 / 15:10:57 / fm" |
|
9632 | 413 |
"Modified: / 23-08-2006 / 11:07:34 / cg" |
9493 | 414 |
! |
415 |
||
416 |
nt_dot_def |
|
417 |
||
418 |
^ |
|
419 |
'LIBRARY %(LIBRARY_NAME) |
|
420 |
DESCRIPTION %(DESCRIPTION) |
|
421 |
VERSION %(VERSION_NUMBER) |
|
422 |
CODE EXECUTE READ |
|
423 |
DATA READ WRITE |
|
424 |
SECTIONS |
|
425 |
INITCODE READ EXECUTE |
|
426 |
INITDATA READ WRITE |
|
427 |
EXPORTS |
|
428 |
_%(LIBRARY_NAME)_Init @1 |
|
429 |
IMPORTS' |
|
430 |
||
431 |
"Modified: / 08-08-2006 / 19:33:14 / fm" |
|
432 |
! |
|
433 |
||
434 |
nt_dot_mak |
|
435 |
||
436 |
^ |
|
9576 | 437 |
'# $','Header','$ |
438 |
# |
|
439 |
# DO NOT EDIT |
|
440 |
# automagically generated from the projectDefinition: ',self name,'. |
|
9493 | 441 |
# |
442 |
# Warning: once you modify this file, do not rerun |
|
9576 | 443 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
444 |
# |
|
445 |
# This file contains make rules for the win32 platform (using borland-bcc). |
|
9493 | 446 |
# |
447 |
TOP=%(TOP) |
|
448 |
||
449 |
!!INCLUDE $(TOP)\rules\stdHeader_nt |
|
450 |
||
451 |
!!INCLUDE Make.spec |
|
452 |
||
453 |
LOCALINCLUDES=%(LOCAL_INCLUDES) |
|
454 |
||
9631 | 455 |
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) %(HEADEROUTPUTARG) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) %(COMMONSYMFLAG) -varPrefix=$(LIBNAME) |
9576 | 456 |
RESFILES=%(RESFILENAME) |
9493 | 457 |
|
9626 | 458 |
%(ADDITIONAL_DEFINITIONS) |
459 |
||
9606 | 460 |
OBJS= $(COMMON_OBJS) $(WIN32_OBJS) |
461 |
||
9626 | 462 |
ALL:: %(ADDITIONAL_TARGETS) $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll |
9493 | 463 |
|
464 |
!!INCLUDE $(TOP)\rules\stdRules_nt |
|
465 |
||
9626 | 466 |
%(ADDITIONAL_RULES) |
467 |
||
9493 | 468 |
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it |
469 |
# ENDMAKEDEPEND --- do not remove this line |
|
470 |
' |
|
471 |
||
472 |
"Created: / 09-08-2006 / 11:44:20 / fm" |
|
473 |
"Modified: / 09-08-2006 / 19:59:32 / fm" |
|
9632 | 474 |
"Modified: / 23-08-2006 / 11:07:30 / cg" |
9493 | 475 |
! |
476 |
||
477 |
objectLine_make_dot_spec |
|
478 |
||
9633 | 479 |
^' $(OUTDIR)%(CLASSFILE).$(O) \' |
9493 | 480 |
|
481 |
"Created: / 08-08-2006 / 20:16:46 / fm" |
|
9633 | 482 |
"Modified: / 23-08-2006 / 11:11:38 / cg" |
9493 | 483 |
! ! |
484 |
||
9568 | 485 |
!LibraryDefinition class methodsFor:'mappings'! |
9493 | 486 |
|
487 |
bc_dot_def_mappings |
|
9534 | 488 |
^ (super bc_dot_def_mappings) |
9504 | 489 |
at:#'LIBRARY_NAME' put:[ self libraryName ]; |
490 |
yourself |
|
9493 | 491 |
|
492 |
"Created: / 09-08-2006 / 11:17:59 / fm" |
|
9543 | 493 |
"Modified: / 16-08-2006 / 18:19:25 / User" |
9590 | 494 |
"Modified: / 18-08-2006 / 17:14:00 / cg" |
9493 | 495 |
! |
496 |
||
497 |
classLine_libInit_dot_cc_mappings: aClassName |
|
498 |
||
499 |
^Dictionary new |
|
9530 | 500 |
at: #'CLASS' put: [self st2c:aClassName]; |
9493 | 501 |
yourself |
502 |
||
503 |
"Created: / 08-08-2006 / 14:04:00 / fm" |
|
504 |
"Modified: / 09-08-2006 / 18:27:07 / fm" |
|
505 |
! |
|
506 |
||
507 |
extensionLine_libInit_dot_cc_mappings |
|
508 |
||
509 |
^Dictionary new |
|
9629 | 510 |
at: #'LIBRARY_NAME' put: [self st2c:(self package copy asString replaceAny:':/' with:$_)]; |
9493 | 511 |
yourself |
512 |
||
513 |
"Created: / 09-08-2006 / 11:19:59 / fm" |
|
9629 | 514 |
"Modified: / 23-08-2006 / 01:23:40 / cg" |
9493 | 515 |
! |
516 |
||
517 |
libInit_dot_cc_mappings |
|
518 |
||
519 |
^Dictionary new |
|
9543 | 520 |
at: #'LIBRARY_NAME' put: [self libraryName]; |
9493 | 521 |
at: #'PACKAGE' put: [self package]; |
522 |
at: #'CLASSES' put: [self generateClassLines_libInit_dot_cc]; |
|
523 |
at: #'EXTENSION' put: [self generateExtensionLine_libInit_dot_cc]; |
|
524 |
||
525 |
yourself |
|
526 |
||
527 |
"Created: / 09-08-2006 / 11:20:24 / fm" |
|
9543 | 528 |
"Modified: / 16-08-2006 / 18:19:03 / User" |
9493 | 529 |
! |
530 |
||
9576 | 531 |
lib_dot_rc_mappings |
9493 | 532 |
|
533 |
^Dictionary new |
|
9576 | 534 |
at: #'FILEVERSION' put: ['5,2,8,1']; |
535 |
at: #'PRODUCTVERSION' put: ['5,2,8,1']; |
|
536 |
at: #'FILETYPE' put: 'VFT_DLL'; |
|
9493 | 537 |
yourself |
538 |
||
9576 | 539 |
"Created: / 17-08-2006 / 19:35:05 / cg" |
540 |
! |
|
541 |
||
542 |
make_dot_proto_mappings |
|
543 |
^ Dictionary new |
|
544 |
at: #'TAB' put: ( Character tab asString ); |
|
9723 | 545 |
at: #'TOP' put: ( self pathToTop_unix ); |
9576 | 546 |
at: #'SUBDIRECTORIES' put: [self generateSubDirectories]; |
9723 | 547 |
at: #'LOCAL_INCLUDES' put: [self generateLocalIncludes_unix]; |
9576 | 548 |
at: #'LOCAL_DEFINES' put: ''; |
549 |
at: #'COMMONSYMFLAG' put: (self commonSymbolsFlag); |
|
9594 | 550 |
at: #'HEADEROUTPUTARG' put: (self headerFileOutputArg); |
9626 | 551 |
at: #'ADDITIONAL_DEFINITIONS' put: (self additionalDefinitions_make_dot_proto); |
552 |
at: #'ADDITIONAL_RULES' put: (self additionalRules_make_dot_proto); |
|
553 |
at: #'ADDITIONAL_TARGETS' put: (self additionalTargets_make_dot_proto); |
|
9734 | 554 |
at: #'ADDITIONAL_LINK_LIBRARIES' put: (self additionalLinkLibraries_make_dot_proto); |
9576 | 555 |
yourself |
556 |
||
9493 | 557 |
"Created: / 09-08-2006 / 11:20:45 / fm" |
558 |
"Modified: / 09-08-2006 / 16:44:48 / fm" |
|
9626 | 559 |
"Modified: / 23-08-2006 / 00:00:06 / cg" |
9493 | 560 |
! |
561 |
||
562 |
make_dot_spec_mappings |
|
9576 | 563 |
|d| |
9493 | 564 |
|
9576 | 565 |
d := super make_dot_spec_mappings. |
566 |
d |
|
567 |
at: #'LIBRARY_NAME' put: ( self libraryName ); |
|
9594 | 568 |
at: #'OBJECTS' put: [self generateObjects_make_dot_spec]; |
569 |
yourself. |
|
9576 | 570 |
^ d |
9493 | 571 |
|
572 |
"Created: / 09-08-2006 / 11:21:06 / fm" |
|
9576 | 573 |
"Modified: / 18-08-2006 / 11:45:18 / cg" |
9493 | 574 |
! |
575 |
||
576 |
nt_dot_def_mappings |
|
577 |
||
578 |
^Dictionary new |
|
579 |
at: #'LIBRARY_NAME' put: [self libraryName]; |
|
9679 | 580 |
at: #'DESCRIPTION' put: [self description asString storeString]; |
9493 | 581 |
at: #'VERSION_NUMBER' put: [self versionNumber]; |
582 |
yourself |
|
583 |
||
584 |
"Created: / 09-08-2006 / 11:21:21 / fm" |
|
585 |
! |
|
586 |
||
587 |
nt_dot_mak_mappings |
|
9590 | 588 |
|d resFileName| |
589 |
||
590 |
resFileName := (self package copyFrom:(self package lastIndexOfAny:':/')+1),'.res'. |
|
9493 | 591 |
|
9576 | 592 |
d := super nt_dot_mak_mappings. |
593 |
d |
|
9723 | 594 |
at: #'LOCAL_INCLUDES' put: [self generateLocalIncludes_win32]; |
9576 | 595 |
at: #'COMMONSYMFLAG' put: (self commonSymbolsFlag); |
9594 | 596 |
at: #'HEADEROUTPUTARG' put: (self headerFileOutputArg); |
597 |
at: #'RESFILENAME' put: resFileName; |
|
9626 | 598 |
at: #'ADDITIONAL_DEFINITIONS' put: (self additionalDefinitions_nt_dot_mak); |
599 |
at: #'ADDITIONAL_RULES' put: (self additionalRules_nt_dot_mak); |
|
600 |
at: #'ADDITIONAL_TARGETS' put: (self additionalTargets_nt_dot_mak); |
|
9594 | 601 |
yourself. |
9576 | 602 |
^ d. |
9493 | 603 |
|
604 |
"Created: / 09-08-2006 / 11:44:36 / fm" |
|
605 |
"Modified: / 09-08-2006 / 20:00:01 / fm" |
|
9626 | 606 |
"Modified: / 23-08-2006 / 00:00:20 / cg" |
9493 | 607 |
! |
608 |
||
609 |
objectLine_make_dot_spec_mappings: aClassName |
|
610 |
||
611 |
^Dictionary new |
|
9677 | 612 |
at: #'CLASSFILE' put: [|f| f := (Smalltalk classNamed:aClassName) classFilename asFilename withoutSuffix. |
613 |
f := f withoutSuffix. |
|
614 |
f := f baseName. |
|
615 |
f. ]; |
|
9493 | 616 |
yourself |
617 |
||
618 |
"Created: / 08-08-2006 / 20:17:28 / fm" |
|
619 |
"Modified: / 09-08-2006 / 18:26:52 / fm" |
|
620 |
! |
|
621 |
||
9530 | 622 |
st2c:aString |
623 |
^ (aString asString |
|
624 |
copyReplaceString:'_' withString:('_',($_ codePoint printStringRadix:8))) |
|
625 |
replaceAny:':' with:$_ |
|
9493 | 626 |
! ! |
627 |
||
9568 | 628 |
!LibraryDefinition class methodsFor:'mappings support'! |
9493 | 629 |
|
9576 | 630 |
commonSymbolsFlag |
631 |
"some libraries are compiled with COMMONSYMBOLS - |
|
632 |
This saves a lot of space in the generated dll/so files; |
|
633 |
However, it also requires the librun to be rebuilt, whenever one of |
|
634 |
the commonSymbols-libs changes. |
|
635 |
Therefore, NEVER do this for end-user or application libraries; |
|
9632 | 636 |
ONLY do it for a subset of the predefined, eXept-provided standard stx libraries" |
9493 | 637 |
|
9576 | 638 |
( |
639 |
#( |
|
640 |
'stx:libbasic' 'stx:libview' 'stx:libtool' |
|
641 |
'stx:libbasic2' 'stx:libview2' 'stx:libtool2' |
|
642 |
'stx:libbasic3' 'stx:libwidg' 'stx:libhtml' |
|
643 |
'stx:libcomp' 'stx:libwidg2' 'stx:libui' |
|
9596 | 644 |
'stx:libboss' 'stx:libdb' |
9576 | 645 |
) |
646 |
includes:self package) ifTrue:[ |
|
647 |
^ '$(COMMONSYMBOLS)' |
|
648 |
]. |
|
649 |
^ '' |
|
9547 | 650 |
|
9576 | 651 |
"Created: / 18-08-2006 / 13:01:52 / cg" |
9632 | 652 |
"Modified: / 23-08-2006 / 09:48:11 / cg" |
9576 | 653 |
! |
654 |
||
655 |
generateClassLines_libInit_dot_cc |
|
656 |
^ String streamContents:[:s | |
|
9582 | 657 |
|putLineForClassName| |
658 |
||
659 |
putLineForClassName := [:className | |
|
660 |
|newClassLine mappings| |
|
9576 | 661 |
|
9582 | 662 |
mappings := self classLine_libInit_dot_cc_mappings: className. |
663 |
newClassLine := self replaceMappings:mappings in:self classLine_libInit_dot_cc. |
|
664 |
s nextPutLine: newClassLine |
|
665 |
]. |
|
666 |
||
9616 | 667 |
self common_compiled_classNames do:putLineForClassName. |
668 |
||
9622 | 669 |
self namesAndAttributesIn:(self additionalClassNamesAndAttributes) do: [:nm :attr | |
670 |
(attr isEmptyOrNil or:[(attr includes:#autoload) not]) ifTrue:[ |
|
671 |
putLineForClassName value:nm. |
|
672 |
]. |
|
673 |
]. |
|
674 |
||
9606 | 675 |
#( |
676 |
('UNIX' #unix) |
|
677 |
('WIN32' #win32) |
|
678 |
('VMS' #vms) |
|
679 |
('BEOS' #beos) |
|
680 |
) pairsDo:[:ifdef :id| |
|
681 |
|classes| |
|
682 |
||
683 |
classes := self compiled_classNamesForArchitecture:id. |
|
684 |
classes notEmpty ifTrue:[ |
|
685 |
s nextPutLine: '#ifdef ',ifdef. |
|
686 |
classes do:putLineForClassName. |
|
687 |
s nextPutLine: '#endif /* ',ifdef,' */'. |
|
688 |
]. |
|
9582 | 689 |
]. |
9493 | 690 |
] |
691 |
||
9576 | 692 |
" |
693 |
bosch_dapasx_datenbasis generateClassLines_libInit_dot_cc |
|
694 |
bosch_dapasx_kernel generateClassLines_libInit_dot_cc |
|
695 |
stx_libbasic3 generateClassLines_libInit_dot_cc |
|
696 |
" |
|
9493 | 697 |
|
698 |
"Created: / 09-08-2006 / 11:21:48 / fm" |
|
9547 | 699 |
"Modified: / 16-08-2006 / 18:52:10 / User" |
9622 | 700 |
"Modified: / 22-08-2006 / 18:25:21 / cg" |
9493 | 701 |
! |
702 |
||
703 |
generateExtensionLine_libInit_dot_cc |
|
9576 | 704 |
|mappings| |
9493 | 705 |
|
9576 | 706 |
^self extensionMethodNames isEmpty |
707 |
ifTrue:[''] |
|
708 |
ifFalse:[ |
|
709 |
mappings := self extensionLine_libInit_dot_cc_mappings. |
|
710 |
self replaceMappings: mappings in: self extensionLine_libInit_dot_cc.] |
|
711 |
||
712 |
" |
|
713 |
DapasXProject generateExtensionLine_libInit_dot_cc |
|
714 |
DapasX_Datenbasis generateExtensionLine_libInit_dot_cc |
|
715 |
" |
|
9493 | 716 |
|
717 |
"Created: / 09-08-2006 / 11:23:34 / fm" |
|
9576 | 718 |
"Modified: / 18-08-2006 / 12:00:18 / cg" |
9493 | 719 |
! |
720 |
||
9723 | 721 |
generateLocalIncludes_unix |
9576 | 722 |
^ String streamContents:[:s | |
9723 | 723 |
s nextPutAll:(self localIncludes_unix). |
724 |
self searchForProjectsWhichProvideHeaderFiles |
|
725 |
do:[:includeProjectName | |
|
726 |
s nextPutAll:' -I',(self unixPathToPackage: includeProjectName) |
|
727 |
] |
|
728 |
] |
|
729 |
||
730 |
" |
|
731 |
DapasXProject generateLocalIncludes_unix |
|
732 |
DapasX_Datenbasis generateLocalIncludes_unix |
|
733 |
" |
|
734 |
||
735 |
"Created: / 09-08-2006 / 16:46:49 / fm" |
|
736 |
"Modified: / 18-08-2006 / 11:58:45 / cg" |
|
737 |
! |
|
738 |
||
739 |
generateLocalIncludes_win32 |
|
740 |
^ String streamContents:[:s | |
|
741 |
s nextPutAll:(self localIncludes_win32). |
|
9576 | 742 |
self searchForProjectsWhichProvideHeaderFiles |
743 |
do:[:includeProjectName | |
|
744 |
s nextPutAll:' -I',(self msdosPathToPackage: includeProjectName) |
|
745 |
] |
|
9493 | 746 |
] |
747 |
||
9576 | 748 |
" |
9723 | 749 |
DapasXProject generateLocalIncludes_win32 |
750 |
DapasX_Datenbasis generateLocalIncludes_win32 |
|
9576 | 751 |
" |
9493 | 752 |
|
753 |
"Created: / 09-08-2006 / 16:46:49 / fm" |
|
9576 | 754 |
"Modified: / 18-08-2006 / 11:58:40 / cg" |
9493 | 755 |
! |
756 |
||
757 |
generateObjects_make_dot_spec |
|
9504 | 758 |
|pivateClassesOf classes| |
9493 | 759 |
|
9606 | 760 |
classes := self compiled_classes_common. |
9504 | 761 |
pivateClassesOf := IdentityDictionary new. |
762 |
classes do:[:each | pivateClassesOf at:each put:(each allPrivateClasses)]. |
|
763 |
||
764 |
classes topologicalSort:[:a :b | |
|
765 |
"/ a must come before b iff: |
|
766 |
"/ b is a subclass of a |
|
767 |
"/ b has a private class which is a subclass of a |
|
9723 | 768 |
"/ a is a sharedPool, used by b |
9504 | 769 |
|
770 |
|mustComeBefore pivateClassesOfB| |
|
9533 | 771 |
|
772 |
mustComeBefore := false. |
|
9723 | 773 |
mustComeBefore := (a isSharedPool and:[(b sharedPools includes: a name)]). |
9533 | 774 |
mustComeBefore := mustComeBefore or:[b isSubclassOf:a]. |
9723 | 775 |
mustComeBefore ifFalse:[ |
776 |
pivateClassesOfB := pivateClassesOf at:b. |
|
777 |
pivateClassesOfB do:[:eachClassInB | |
|
778 |
mustComeBefore := mustComeBefore or:[eachClassInB isSubclassOf:a] |
|
779 |
]. |
|
9504 | 780 |
]. |
781 |
mustComeBefore |
|
782 |
]. |
|
783 |
||
784 |
^ String streamContents:[:s | |
|
9606 | 785 |
|putLineForClass sysDepOrNil| |
786 |
||
787 |
putLineForClass := |
|
788 |
[:eachClass | |
|
789 |
|mappings newObjectLine| |
|
790 |
mappings := self objectLine_make_dot_spec_mappings: eachClass name. |
|
791 |
newObjectLine := self replaceMappings: mappings in: self objectLine_make_dot_spec. |
|
792 |
s nextPutLine:newObjectLine. |
|
793 |
]. |
|
9504 | 794 |
|
9606 | 795 |
sysDepOrNil := nil. |
9723 | 796 |
OperatingSystem knownPlatformNames do:[:platformID | |
797 |
|define prefix depClasses| |
|
9606 | 798 |
|
9723 | 799 |
define := OperatingSystem platformDefineForPlatformName:platformID. |
800 |
prefix := define copyFrom:('-D' size + 1). |
|
801 |
depClasses := self compiled_classesForArchitecture:platformID. |
|
9606 | 802 |
depClasses notEmpty ifTrue:[ |
9723 | 803 |
sysDepOrNil := prefix,'_OBJS'. |
9606 | 804 |
s nextPutLine:sysDepOrNil,'= \'. |
805 |
depClasses do:putLineForClass. |
|
806 |
s cr. |
|
807 |
s cr. |
|
808 |
] |
|
9534 | 809 |
]. |
9606 | 810 |
|
811 |
s nextPutLine:'COMMON_OBJS= \'. |
|
812 |
||
813 |
classes do:putLineForClass. |
|
9622 | 814 |
|
815 |
self namesAndAttributesIn:(self additionalClassNamesAndAttributes) do: [:nm :attr | |
|
816 |
(attr isEmptyOrNil or:[(attr includes:#autoload) not]) ifTrue:[ |
|
817 |
s nextPutLine:(' ',(Smalltalk fileNameForClass:nm),'.$(O) \'). |
|
818 |
]. |
|
819 |
]. |
|
820 |
||
9534 | 821 |
self extensionMethodNames notEmpty |
822 |
ifTrue:[ |
|
823 |
s nextPutLine:' extensions.$(O) \'. |
|
9606 | 824 |
]. |
825 |
s cr. |
|
9493 | 826 |
] |
827 |
||
9606 | 828 |
" |
829 |
bosch_dapasx_hw_schnittstellen_Definition generateObjects_make_dot_spec |
|
830 |
DapasXProject generateObjects_make_dot_spec |
|
831 |
stx_libbasic3 generateObjects_make_dot_spec |
|
832 |
" |
|
9493 | 833 |
|
834 |
"Created: / 09-08-2006 / 11:24:39 / fm" |
|
9622 | 835 |
"Modified: / 22-08-2006 / 18:23:59 / cg" |
9493 | 836 |
! |
837 |
||
9576 | 838 |
generateSubDirectories |
839 |
^ String streamContents:[:s | |
|
840 |
self subProjects |
|
841 |
do:[:subProjectName | |
|
842 |
s space; nextPutAll:subProjectName |
|
843 |
] |
|
9493 | 844 |
] |
845 |
||
9576 | 846 |
" |
847 |
DapasXProject generateSubDirectories |
|
848 |
DapasX_Datenbasis generateSubDirectories |
|
849 |
" |
|
9493 | 850 |
|
851 |
"Created: / 09-08-2006 / 11:26:59 / fm" |
|
9576 | 852 |
"Modified: / 18-08-2006 / 11:59:32 / cg" |
9493 | 853 |
! |
854 |
||
9503 | 855 |
generateUnixLocalIncludes |
9576 | 856 |
^ String streamContents:[:s | |
9723 | 857 |
s nextPutAll:(self localIncludes_unix). |
9576 | 858 |
self searchForProjectsWhichProvideHeaderFiles |
859 |
do:[:includeProjectName | |
|
860 |
s nextPutAll:' -I',(self unixPathToPackage: includeProjectName) |
|
861 |
] |
|
9503 | 862 |
] |
863 |
||
9576 | 864 |
" |
865 |
DapasXProject generateLocalIncludes |
|
866 |
DapasX_Datenbasis generateLocalIncludes |
|
867 |
" |
|
9503 | 868 |
|
869 |
"Created: / 09-08-2006 / 16:46:49 / fm" |
|
9576 | 870 |
"Modified: / 18-08-2006 / 11:58:45 / cg" |
9594 | 871 |
! |
872 |
||
873 |
headerFileOutputArg |
|
874 |
"all stx stuff goes to the common include directory. |
|
875 |
Everything else is left locally" |
|
876 |
||
877 |
( |
|
878 |
#( |
|
879 |
'stx:libbasic' 'stx:libview' 'stx:libtool' |
|
880 |
'stx:libbasic2' 'stx:libview2' 'stx:libtool2' |
|
881 |
'stx:libbasic3' 'stx:libwidg' 'stx:libhtml' |
|
882 |
'stx:libcomp' 'stx:libwidg2' 'stx:libui' |
|
9596 | 883 |
'stx:libboss' 'stx:libdb' |
9594 | 884 |
) |
885 |
includes:self package) ifTrue:[ |
|
886 |
^ '-H$(INCLUDE)' |
|
887 |
]. |
|
888 |
^ '-H.' |
|
889 |
||
890 |
"Created: / 18-08-2006 / 13:01:52 / cg" |
|
9493 | 891 |
! ! |
892 |
||
9568 | 893 |
!LibraryDefinition class methodsFor:'sanity checks'! |
9493 | 894 |
|
895 |
searchForInconsistencies |
|
896 |
self searchForNeverCompiledSuperclasses. |
|
897 |
||
898 |
" |
|
899 |
self searchForInconsistencies |
|
900 |
DapasX_Datenbasis searchForInconsistencies |
|
901 |
" |
|
902 |
||
903 |
"Created: / 09-08-2006 / 16:30:46 / fm" |
|
904 |
! |
|
905 |
||
906 |
searchForNeverCompiledSuperclasses |
|
9495 | 907 |
self compiled_classesDo:[:includedClass | |
9493 | 908 |
includedClass allSuperclassesDo:[:eachSuperClass | |
909 |
eachSuperClass package == Project noProjectID ifTrue:[ |
|
910 |
self inconsistency:'uncompiled superclass: ' , eachSuperClass name |
|
911 |
]. |
|
912 |
] |
|
913 |
]. |
|
914 |
||
915 |
" |
|
916 |
self searchForNeverCompiledSuperclasses |
|
917 |
DapasX_Datenbasis searchForNeverCompiledSuperclasses |
|
918 |
" |
|
919 |
||
920 |
"Created: / 09-08-2006 / 16:31:54 / fm" |
|
921 |
! ! |
|
922 |
||
9568 | 923 |
!LibraryDefinition class methodsFor:'testing'! |
9558 | 924 |
|
9666 | 925 |
isLibraryDefinition |
926 |
^ self ~~ LibraryDefinition |
|
927 |
||
928 |
" |
|
929 |
stx_libboss isLibraryDefinition |
|
930 |
ProjectDefinition isLibraryDefinition |
|
931 |
LibraryDefinition isLibraryDefinition |
|
932 |
" |
|
933 |
||
934 |
"Created: / 23-08-2006 / 15:17:50 / cg" |
|
935 |
! |
|
936 |
||
9558 | 937 |
isProjectDefinition |
9611 | 938 |
^ self ~~ LibraryDefinition |
9558 | 939 |
|
9612 | 940 |
" |
941 |
stx_libboss isProjectDefinition |
|
942 |
ProjectDefinition isProjectDefinition |
|
943 |
" |
|
944 |
||
9558 | 945 |
"Created: / 17-08-2006 / 14:11:46 / cg" |
9612 | 946 |
"Modified: / 21-08-2006 / 15:50:13 / cg" |
9558 | 947 |
! ! |
948 |
||
9568 | 949 |
!LibraryDefinition class methodsFor:'update description'! |
9493 | 950 |
|
9606 | 951 |
classNamesAndAttributes_code |
9495 | 952 |
^ String streamContents:[:s | |
9606 | 953 |
s nextPutLine:'classNamesAndAttributes'. |
9576 | 954 |
s nextPutLine:' ^ #('. |
9606 | 955 |
s tab; nextPutLine:'"/ <className> or (<className> attributes...)'. |
9576 | 956 |
self searchForClasses do:[:eachClass | |
9606 | 957 |
|attributes specEntry| |
958 |
||
9616 | 959 |
(eachClass isLoaded not or:[eachClass isPrivate not]) ifTrue:[ |
9606 | 960 |
specEntry := self classNamesAndAttributes detect:[:entry | entry first = eachClass name] ifNone:nil. |
9617 | 961 |
specEntry isNil ifTrue:[ |
962 |
eachClass isLoaded ifFalse:[ |
|
963 |
attributes := #( autoload ). |
|
964 |
]. |
|
965 |
] ifFalse:[ |
|
9606 | 966 |
attributes := specEntry copyFrom:2. |
967 |
]. |
|
968 |
||
969 |
s tab. |
|
970 |
attributes isEmptyOrNil ifTrue:[ |
|
971 |
s nextPutAll:eachClass name asString storeString. |
|
972 |
] ifFalse:[ |
|
973 |
s nextPutAll:'('; nextPutAll:eachClass name asString storeString. |
|
9680 | 974 |
attributes do:[:eachAttribute | s nextPutAll:' '. s nextPutAll:eachAttribute storeString.]. |
9606 | 975 |
s nextPutAll:')'. |
976 |
]. |
|
977 |
s cr. |
|
9495 | 978 |
] |
979 |
]. |
|
9606 | 980 |
s nextPutLine:' )' |
9495 | 981 |
]. |
9493 | 982 |
|
983 |
" |
|
9606 | 984 |
stx_libbasic3 classNamesAndAttributes_code |
9493 | 985 |
" |
986 |
||
987 |
"Modified: / 08-08-2006 / 19:24:34 / fm" |
|
9576 | 988 |
"Created: / 17-08-2006 / 21:03:07 / cg" |
9617 | 989 |
"Modified: / 21-08-2006 / 19:16:14 / cg" |
9493 | 990 |
! |
991 |
||
9576 | 992 |
extensionMethodNames_code |
993 |
^ String streamContents:[:s | |
|
994 |
s nextPutLine:'extensionMethodNames'. |
|
995 |
s nextPutLine:' ^ #('. |
|
996 |
self searchForExtensions do:[:eachMethod | |
|
997 |
s nextPutAll:eachMethod mclass name storeString. |
|
998 |
s nextPutAll:' '. |
|
999 |
s nextPutLine: eachMethod selector storeString. |
|
1000 |
]. |
|
9606 | 1001 |
s nextPutLine:' )' |
9576 | 1002 |
]. |
9493 | 1003 |
|
1004 |
" |
|
9576 | 1005 |
self extensionMethodNames_code |
9493 | 1006 |
" |
1007 |
||
9576 | 1008 |
"Created: / 17-08-2006 / 21:21:48 / cg" |
9493 | 1009 |
! |
1010 |
||
9514 | 1011 |
forEachMethodsCodeToCompileDo:aTwoArgBlock |
9586 | 1012 |
super forEachMethodsCodeToCompileDo:aTwoArgBlock. |
1013 |
||
9514 | 1014 |
aTwoArgBlock |
9606 | 1015 |
value:self classNamesAndAttributes_code |
9534 | 1016 |
value:'description'. |
9514 | 1017 |
|
9586 | 1018 |
aTwoArgBlock |
9576 | 1019 |
value: self extensionMethodNames_code |
9534 | 1020 |
value: 'description'. |
9514 | 1021 |
|
1022 |
"Created: / 10-08-2006 / 16:35:47 / cg" |
|
9586 | 1023 |
"Modified: / 18-08-2006 / 16:22:49 / cg" |
9493 | 1024 |
! ! |
1025 |
||
9568 | 1026 |
!LibraryDefinition class methodsFor:'documentation'! |
9493 | 1027 |
|
1028 |
version |
|
9734 | 1029 |
^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.51 2006-08-24 21:05:20 cg Exp $' |
9493 | 1030 |
! ! |