LibraryDefinition.st
author Claus Gittinger <cg@exept.de>
Thu, 10 Aug 2006 13:46:09 +0200
changeset 9513 8b67400ebcf3
parent 9504 b89c84c60e86
child 9514 761b3f12d37c
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
     1
"{ Package: 'stx:libbasic3' }"
b17358de5730 initial checkin
fm
parents:
diff changeset
     2
b17358de5730 initial checkin
fm
parents:
diff changeset
     3
Object subclass:#ProjectDefinition
b17358de5730 initial checkin
fm
parents:
diff changeset
     4
	instanceVariableNames:''
b17358de5730 initial checkin
fm
parents:
diff changeset
     5
	classVariableNames:''
b17358de5730 initial checkin
fm
parents:
diff changeset
     6
	poolDictionaries:''
b17358de5730 initial checkin
fm
parents:
diff changeset
     7
	category:'System-Support-Projects'
b17358de5730 initial checkin
fm
parents:
diff changeset
     8
!
b17358de5730 initial checkin
fm
parents:
diff changeset
     9
b17358de5730 initial checkin
fm
parents:
diff changeset
    10
b17358de5730 initial checkin
fm
parents:
diff changeset
    11
!ProjectDefinition class methodsFor:'instance creation'!
b17358de5730 initial checkin
fm
parents:
diff changeset
    12
b17358de5730 initial checkin
fm
parents:
diff changeset
    13
definitionClassForPackage:aPackageID
b17358de5730 initial checkin
fm
parents:
diff changeset
    14
    |classes|
b17358de5730 initial checkin
fm
parents:
diff changeset
    15
b17358de5730 initial checkin
fm
parents:
diff changeset
    16
    classes := OrderedCollection new.
b17358de5730 initial checkin
fm
parents:
diff changeset
    17
    Smalltalk allClassesInPackage:aPackageID 
b17358de5730 initial checkin
fm
parents:
diff changeset
    18
                do:[:eachClass |
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
    19
                    eachClass isLoaded ifFalse:[
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
    20
                        eachClass autoload
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
    21
                    ].
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    22
                    (eachClass isSubclassOf:ProjectDefinition) ifTrue:[
b17358de5730 initial checkin
fm
parents:
diff changeset
    23
                        classes add:eachClass    
b17358de5730 initial checkin
fm
parents:
diff changeset
    24
                    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
    25
                ].
b17358de5730 initial checkin
fm
parents:
diff changeset
    26
b17358de5730 initial checkin
fm
parents:
diff changeset
    27
    classes isEmpty ifTrue:[
b17358de5730 initial checkin
fm
parents:
diff changeset
    28
        ^ nil
b17358de5730 initial checkin
fm
parents:
diff changeset
    29
    ].
b17358de5730 initial checkin
fm
parents:
diff changeset
    30
    classes size > 1 ifTrue:[
b17358de5730 initial checkin
fm
parents:
diff changeset
    31
        self error:'OOPS - multiple projectDefinitions' mayProceed:true.
b17358de5730 initial checkin
fm
parents:
diff changeset
    32
        ^ classes first.
b17358de5730 initial checkin
fm
parents:
diff changeset
    33
    ].
b17358de5730 initial checkin
fm
parents:
diff changeset
    34
    ^ classes first
b17358de5730 initial checkin
fm
parents:
diff changeset
    35
b17358de5730 initial checkin
fm
parents:
diff changeset
    36
    "Created: / 09-08-2006 / 17:27:32 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
    37
!
b17358de5730 initial checkin
fm
parents:
diff changeset
    38
b17358de5730 initial checkin
fm
parents:
diff changeset
    39
newNamed:newName package:packageID
b17358de5730 initial checkin
fm
parents:
diff changeset
    40
    |newClass|
b17358de5730 initial checkin
fm
parents:
diff changeset
    41
b17358de5730 initial checkin
fm
parents:
diff changeset
    42
    newClass := self
b17358de5730 initial checkin
fm
parents:
diff changeset
    43
                    subclass:(newName asSymbol)
b17358de5730 initial checkin
fm
parents:
diff changeset
    44
                    instanceVariableNames:''
b17358de5730 initial checkin
fm
parents:
diff changeset
    45
                    classVariableNames:''
b17358de5730 initial checkin
fm
parents:
diff changeset
    46
                    poolDictionaries:''
b17358de5730 initial checkin
fm
parents:
diff changeset
    47
                    category:'* Projects *'.
b17358de5730 initial checkin
fm
parents:
diff changeset
    48
b17358de5730 initial checkin
fm
parents:
diff changeset
    49
    newClass package:packageID asSymbol.
b17358de5730 initial checkin
fm
parents:
diff changeset
    50
    ^ newClass
b17358de5730 initial checkin
fm
parents:
diff changeset
    51
b17358de5730 initial checkin
fm
parents:
diff changeset
    52
    "Created: / 09-08-2006 / 17:57:37 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
    53
    "Modified: / 09-08-2006 / 19:27:53 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
    54
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
    55
b17358de5730 initial checkin
fm
parents:
diff changeset
    56
!ProjectDefinition class methodsFor:'accessing'!
b17358de5730 initial checkin
fm
parents:
diff changeset
    57
b17358de5730 initial checkin
fm
parents:
diff changeset
    58
initialClassNameForDefinitionOf:aPackageId
9513
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
    59
    |s|
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
    60
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
    61
    s := aPackageId asString copy replaceAny:':/' by:$_.
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
    62
    (s endsWith:$_) ifTrue:[
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
    63
        s := s copyWithoutLast:1
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
    64
    ].
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
    65
    ^ s , '_Definition'
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    66
b17358de5730 initial checkin
fm
parents:
diff changeset
    67
"
b17358de5730 initial checkin
fm
parents:
diff changeset
    68
   DapasXProject initialClassNameForDefinitionOf:'bosch:dapasx/interactiver_editor' 
b17358de5730 initial checkin
fm
parents:
diff changeset
    69
   DapasXProject initialClassNameForDefinitionOf:'stx:libbasic' 
b17358de5730 initial checkin
fm
parents:
diff changeset
    70
   DapasXProject initialClassNameForDefinitionOf:'stx:goodies/xml' 
b17358de5730 initial checkin
fm
parents:
diff changeset
    71
"
b17358de5730 initial checkin
fm
parents:
diff changeset
    72
b17358de5730 initial checkin
fm
parents:
diff changeset
    73
    "Created: / 09-08-2006 / 17:44:47 / fm"
9513
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
    74
    "Modified: / 10-08-2006 / 13:33:14 / cg"
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    75
!
b17358de5730 initial checkin
fm
parents:
diff changeset
    76
b17358de5730 initial checkin
fm
parents:
diff changeset
    77
libraryName
b17358de5730 initial checkin
fm
parents:
diff changeset
    78
       ^ self package asString copy replaceAny:':/' by:$_
b17358de5730 initial checkin
fm
parents:
diff changeset
    79
b17358de5730 initial checkin
fm
parents:
diff changeset
    80
"
b17358de5730 initial checkin
fm
parents:
diff changeset
    81
   DapasXProject libraryName
b17358de5730 initial checkin
fm
parents:
diff changeset
    82
   DapasX_Datenbasis libraryName
b17358de5730 initial checkin
fm
parents:
diff changeset
    83
"
b17358de5730 initial checkin
fm
parents:
diff changeset
    84
b17358de5730 initial checkin
fm
parents:
diff changeset
    85
    "Modified: / 09-08-2006 / 18:20:29 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
    86
!
b17358de5730 initial checkin
fm
parents:
diff changeset
    87
b17358de5730 initial checkin
fm
parents:
diff changeset
    88
module
b17358de5730 initial checkin
fm
parents:
diff changeset
    89
b17358de5730 initial checkin
fm
parents:
diff changeset
    90
^self moduleOfClass: self
b17358de5730 initial checkin
fm
parents:
diff changeset
    91
b17358de5730 initial checkin
fm
parents:
diff changeset
    92
"
b17358de5730 initial checkin
fm
parents:
diff changeset
    93
   DapasXProject module
b17358de5730 initial checkin
fm
parents:
diff changeset
    94
   DapasX_Datenbasis module
b17358de5730 initial checkin
fm
parents:
diff changeset
    95
"
b17358de5730 initial checkin
fm
parents:
diff changeset
    96
b17358de5730 initial checkin
fm
parents:
diff changeset
    97
    "Created: / 08-08-2006 / 20:24:53 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
    98
    "Modified: / 09-08-2006 / 16:16:37 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
    99
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   100
b17358de5730 initial checkin
fm
parents:
diff changeset
   101
moduleDirectory
b17358de5730 initial checkin
fm
parents:
diff changeset
   102
b17358de5730 initial checkin
fm
parents:
diff changeset
   103
^(self package subStrings: $:) last
b17358de5730 initial checkin
fm
parents:
diff changeset
   104
b17358de5730 initial checkin
fm
parents:
diff changeset
   105
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   106
   DapasXProject moduleDirectory
b17358de5730 initial checkin
fm
parents:
diff changeset
   107
   DapasX_Datenbasis moduleDirectory
b17358de5730 initial checkin
fm
parents:
diff changeset
   108
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   109
b17358de5730 initial checkin
fm
parents:
diff changeset
   110
    "Created: / 08-08-2006 / 20:25:39 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   111
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   112
b17358de5730 initial checkin
fm
parents:
diff changeset
   113
moduleOfClass: aClass
b17358de5730 initial checkin
fm
parents:
diff changeset
   114
b17358de5730 initial checkin
fm
parents:
diff changeset
   115
^(aClass package subStrings: $:) first
b17358de5730 initial checkin
fm
parents:
diff changeset
   116
b17358de5730 initial checkin
fm
parents:
diff changeset
   117
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   118
   DapasXProject module
b17358de5730 initial checkin
fm
parents:
diff changeset
   119
   DapasX_Datenbasis module
b17358de5730 initial checkin
fm
parents:
diff changeset
   120
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   121
b17358de5730 initial checkin
fm
parents:
diff changeset
   122
    "Created: / 09-08-2006 / 16:16:16 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   123
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   124
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   125
msdosPathToPackage:aPackageID
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   126
"Returns the path to stx counting the number of $/ and $: in the package name and adding for each one '../' to get the ST/X top directory"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   127
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   128
        ^ self msdosPathToTop , '\..\' , (aPackageID asString copy replaceAll:$: by:$/)
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   129
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   130
"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   131
   DapasX_Datenbasis pathToPackage:'bosch:dapasx/kernel'
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   132
"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   133
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   134
    "Created: / 09-08-2006 / 16:35:22 / fm"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   135
!
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   136
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   137
msdosPathToTop
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   138
"Returns the path to stx counting the number of $/ and $: in the package name and adding for each one '../' to get the ST/X top directory"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   139
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   140
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   141
       ^ (((1 to:(self package asCollectionOfSubstringsSeparatedByAny:':/') size)
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   142
            collect:[:n | '..\']) asStringWith:'') , 'stx'    
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   143
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   144
"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   145
   DapasXProject pathToTop    
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   146
   DapasX_Datenbasis pathToTop  
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   147
"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   148
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   149
    "Created: / 09-08-2006 / 15:45:54 / fm"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   150
!
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   151
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   152
parentProject
b17358de5730 initial checkin
fm
parents:
diff changeset
   153
b17358de5730 initial checkin
fm
parents:
diff changeset
   154
    ^(self package asString subStrings: $/) first
b17358de5730 initial checkin
fm
parents:
diff changeset
   155
b17358de5730 initial checkin
fm
parents:
diff changeset
   156
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   157
    DapasXProject parentProject
b17358de5730 initial checkin
fm
parents:
diff changeset
   158
    DapasX_Datenbasis parentProject
b17358de5730 initial checkin
fm
parents:
diff changeset
   159
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   160
b17358de5730 initial checkin
fm
parents:
diff changeset
   161
    "Created: / 07-08-2006 / 20:18:27 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   162
    "Modified: / 08-08-2006 / 10:47:37 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   163
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   164
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   165
unixPathToPackage:aPackageID
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   166
"Returns the path to stx counting the number of $/ and $: in the package name and adding for each one '../' to get the ST/X top directory"
b17358de5730 initial checkin
fm
parents:
diff changeset
   167
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   168
        ^ self unixPathToTop , '/../' , (aPackageID asString copy replaceAll:$: by:$/)
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   169
b17358de5730 initial checkin
fm
parents:
diff changeset
   170
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   171
   DapasX_Datenbasis pathToPackage:'bosch:dapasx/kernel'
b17358de5730 initial checkin
fm
parents:
diff changeset
   172
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   173
b17358de5730 initial checkin
fm
parents:
diff changeset
   174
    "Created: / 09-08-2006 / 16:35:22 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   175
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   176
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   177
unixPathToTop
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   178
"Returns the path to stx counting the number of $/ and $: in the package name and adding for each one '../' to get the ST/X top directory"
b17358de5730 initial checkin
fm
parents:
diff changeset
   179
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   180
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   181
       ^ (((1 to:(self package asCollectionOfSubstringsSeparatedByAny:':/') size)
b17358de5730 initial checkin
fm
parents:
diff changeset
   182
            collect:[:n | '../']) asStringWith:'') , 'stx'    
b17358de5730 initial checkin
fm
parents:
diff changeset
   183
b17358de5730 initial checkin
fm
parents:
diff changeset
   184
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   185
   DapasXProject pathToTop    
b17358de5730 initial checkin
fm
parents:
diff changeset
   186
   DapasX_Datenbasis pathToTop  
b17358de5730 initial checkin
fm
parents:
diff changeset
   187
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   188
b17358de5730 initial checkin
fm
parents:
diff changeset
   189
    "Created: / 09-08-2006 / 15:45:54 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   190
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   191
b17358de5730 initial checkin
fm
parents:
diff changeset
   192
!ProjectDefinition class methodsFor:'file generation'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   193
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   194
allClassNames
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   195
    ^ (self compiled_classNames , self autoloaded_classNames , self excluded_classNames)
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   196
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   197
9501
18c90ef7d43c *** empty log message ***
fm
parents: 9500
diff changeset
   198
generate_abbrev_dot_stc
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   199
    ^ String 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   200
        streamContents:[:s | 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   201
            self allClassNames do:[:eachClassName | 
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   202
                |cls fn|
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   203
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   204
                cls := Smalltalk classNamed:eachClassName.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   205
                cls autoload.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   206
                s nextPutAll:eachClassName.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   207
                s nextPutAll:' '.
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   208
                fn := cls classFilename asFilename withoutSuffix baseName.
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   209
                (fn includes:Character space) ifTrue:[
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   210
                    s nextPutAll:fn storeString.
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   211
                ] ifFalse:[
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   212
                    s nextPutAll:fn.
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   213
                ].
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   214
                s nextPutAll:' '.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   215
                s nextPutAll:cls package.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   216
                s nextPutAll:' '.
9502
2147462fae8b *** empty log message ***
fm
parents: 9501
diff changeset
   217
                s nextPutAll:cls category asString storeString.
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   218
                s nextPutAll:' '.
9500
88f80bbddaed *** empty log message ***
fm
parents: 9495
diff changeset
   219
                s nextPutAll:(cls theMetaclass instVarNames size) printString.
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   220
                s cr.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   221
            ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   222
        ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   223
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   224
    "
9501
18c90ef7d43c *** empty log message ***
fm
parents: 9500
diff changeset
   225
        DapasXProject generate_abbrev_dot_stc
18c90ef7d43c *** empty log message ***
fm
parents: 9500
diff changeset
   226
        DapasX_Datenbasis generate_abbrev_dot_stc
18c90ef7d43c *** empty log message ***
fm
parents: 9500
diff changeset
   227
        bosch_dapasx_interactiver_editor_Definition generate_abbrev_dot_stc
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   228
    "
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   229
    "Created: / 09-08-2006 / 11:24:39 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   230
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   231
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   232
generate_bc_dot_def                         
b17358de5730 initial checkin
fm
parents:
diff changeset
   233
b17358de5730 initial checkin
fm
parents:
diff changeset
   234
    ^self replaceMappings: self bc_dot_def_mappings 
b17358de5730 initial checkin
fm
parents:
diff changeset
   235
            in: self bc_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   236
b17358de5730 initial checkin
fm
parents:
diff changeset
   237
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   238
  DapasXProject generate_bc_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   239
  DapasX_Datenbasis generate_bc_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   240
b17358de5730 initial checkin
fm
parents:
diff changeset
   241
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   242
b17358de5730 initial checkin
fm
parents:
diff changeset
   243
    "Modified: / 09-08-2006 / 11:30:42 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   244
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   245
b17358de5730 initial checkin
fm
parents:
diff changeset
   246
generate_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   247
b17358de5730 initial checkin
fm
parents:
diff changeset
   248
    ^self replaceMappings: self libInit_dot_cc_mappings 
b17358de5730 initial checkin
fm
parents:
diff changeset
   249
            in: self libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   250
b17358de5730 initial checkin
fm
parents:
diff changeset
   251
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   252
  DapasXProject generate_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   253
  DapasX_Datenbasis generate_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   254
b17358de5730 initial checkin
fm
parents:
diff changeset
   255
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   256
b17358de5730 initial checkin
fm
parents:
diff changeset
   257
    "Created: / 08-08-2006 / 12:47:16 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   258
    "Modified: / 09-08-2006 / 11:30:52 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   259
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   260
b17358de5730 initial checkin
fm
parents:
diff changeset
   261
generate_make_dot_proto   
b17358de5730 initial checkin
fm
parents:
diff changeset
   262
b17358de5730 initial checkin
fm
parents:
diff changeset
   263
    ^self replaceMappings: self make_dot_proto_mappings 
b17358de5730 initial checkin
fm
parents:
diff changeset
   264
            in: self make_dot_proto
b17358de5730 initial checkin
fm
parents:
diff changeset
   265
b17358de5730 initial checkin
fm
parents:
diff changeset
   266
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   267
  DapasXProject generate_make_dot_proto
b17358de5730 initial checkin
fm
parents:
diff changeset
   268
  DapasX_Datenbasis generate_make_dot_proto
b17358de5730 initial checkin
fm
parents:
diff changeset
   269
b17358de5730 initial checkin
fm
parents:
diff changeset
   270
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   271
b17358de5730 initial checkin
fm
parents:
diff changeset
   272
    "Modified: / 09-08-2006 / 11:31:01 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   273
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   274
b17358de5730 initial checkin
fm
parents:
diff changeset
   275
generate_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   276
b17358de5730 initial checkin
fm
parents:
diff changeset
   277
    ^self replaceMappings: self make_dot_spec_mappings 
b17358de5730 initial checkin
fm
parents:
diff changeset
   278
            in: self make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   279
b17358de5730 initial checkin
fm
parents:
diff changeset
   280
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   281
  DapasXProject generate_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   282
  DapasX_Datenbasis generate_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   283
b17358de5730 initial checkin
fm
parents:
diff changeset
   284
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   285
b17358de5730 initial checkin
fm
parents:
diff changeset
   286
    "Modified: / 09-08-2006 / 11:31:09 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   287
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   288
b17358de5730 initial checkin
fm
parents:
diff changeset
   289
generate_nt_dot_def                           
b17358de5730 initial checkin
fm
parents:
diff changeset
   290
b17358de5730 initial checkin
fm
parents:
diff changeset
   291
    ^self replaceMappings: self nt_dot_def_mappings 
b17358de5730 initial checkin
fm
parents:
diff changeset
   292
            in: self nt_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   293
b17358de5730 initial checkin
fm
parents:
diff changeset
   294
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   295
  DapasXProject generate_nt_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   296
  DapasX_Datenbasis generate_nt_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   297
b17358de5730 initial checkin
fm
parents:
diff changeset
   298
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   299
b17358de5730 initial checkin
fm
parents:
diff changeset
   300
    "Modified: / 09-08-2006 / 11:31:21 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   301
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   302
b17358de5730 initial checkin
fm
parents:
diff changeset
   303
generate_nt_dot_mak         
b17358de5730 initial checkin
fm
parents:
diff changeset
   304
b17358de5730 initial checkin
fm
parents:
diff changeset
   305
    ^self replaceMappings: self nt_dot_mak_mappings 
b17358de5730 initial checkin
fm
parents:
diff changeset
   306
            in: self nt_dot_mak
b17358de5730 initial checkin
fm
parents:
diff changeset
   307
b17358de5730 initial checkin
fm
parents:
diff changeset
   308
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   309
  DapasXProject generate_nt_dot_mak
b17358de5730 initial checkin
fm
parents:
diff changeset
   310
  DapasX_Datenbasis generate_nt_dot_mak
b17358de5730 initial checkin
fm
parents:
diff changeset
   311
b17358de5730 initial checkin
fm
parents:
diff changeset
   312
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   313
b17358de5730 initial checkin
fm
parents:
diff changeset
   314
    "Modified: / 09-08-2006 / 11:46:14 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   315
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   316
b17358de5730 initial checkin
fm
parents:
diff changeset
   317
!ProjectDefinition class methodsFor:'file templates'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   318
b17358de5730 initial checkin
fm
parents:
diff changeset
   319
bc_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   320
b17358de5730 initial checkin
fm
parents:
diff changeset
   321
^ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   322
'LIBRARY        %(LIBRARY_NAME)
b17358de5730 initial checkin
fm
parents:
diff changeset
   323
DESCRIPTION     %(DESCRIPTION)
b17358de5730 initial checkin
fm
parents:
diff changeset
   324
CODE            PRELOAD MOVEABLE DISCARDABLE
b17358de5730 initial checkin
fm
parents:
diff changeset
   325
SEGMENTS
b17358de5730 initial checkin
fm
parents:
diff changeset
   326
    INITCODE    PRELOAD DISCARDABLE
b17358de5730 initial checkin
fm
parents:
diff changeset
   327
EXPORTS
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   328
    __%(LIBRARY_NAME)_Init     @1
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   329
'
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   330
b17358de5730 initial checkin
fm
parents:
diff changeset
   331
    "Created: / 08-08-2006 / 12:26:58 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   332
    "Modified: / 08-08-2006 / 19:32:27 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   333
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   334
b17358de5730 initial checkin
fm
parents:
diff changeset
   335
classLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   336
b17358de5730 initial checkin
fm
parents:
diff changeset
   337
^'_%(CLASS)_Init(pass,__pRT__,snd);'
b17358de5730 initial checkin
fm
parents:
diff changeset
   338
b17358de5730 initial checkin
fm
parents:
diff changeset
   339
    "Created: / 08-08-2006 / 12:51:44 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   340
    "Modified: / 08-08-2006 / 15:46:05 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   341
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   342
b17358de5730 initial checkin
fm
parents:
diff changeset
   343
extensionLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   344
b17358de5730 initial checkin
fm
parents:
diff changeset
   345
^'_%(LIBRARY_NAME)_extensions_Init(pass,__pRT__,snd);'
b17358de5730 initial checkin
fm
parents:
diff changeset
   346
b17358de5730 initial checkin
fm
parents:
diff changeset
   347
    "Created: / 08-08-2006 / 15:48:56 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   348
    "Modified: / 08-08-2006 / 19:32:33 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   349
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   350
b17358de5730 initial checkin
fm
parents:
diff changeset
   351
libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   352
b17358de5730 initial checkin
fm
parents:
diff changeset
   353
^ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   354
'/*
b17358de5730 initial checkin
fm
parents:
diff changeset
   355
 * DO NOT EDIT 
b17358de5730 initial checkin
fm
parents:
diff changeset
   356
 * automagically generated from Make.proto (by make libInit.cc)
b17358de5730 initial checkin
fm
parents:
diff changeset
   357
 */
b17358de5730 initial checkin
fm
parents:
diff changeset
   358
#define __INDIRECTVMINITCALLS__
b17358de5730 initial checkin
fm
parents:
diff changeset
   359
#include <stc.h>
b17358de5730 initial checkin
fm
parents:
diff changeset
   360
#define INIT_TEXT_SECT /* as nothing */
b17358de5730 initial checkin
fm
parents:
diff changeset
   361
#ifdef WIN32
b17358de5730 initial checkin
fm
parents:
diff changeset
   362
# pragma codeseg INITCODE "INITCODE"
b17358de5730 initial checkin
fm
parents:
diff changeset
   363
#else /* not WIN32 */
b17358de5730 initial checkin
fm
parents:
diff changeset
   364
# if defined(__GNUC__) && !!defined(NO_SECTION_ATTRIBUTES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   365
#  if (__GNUC__  == 2 && __GNUC_MINOR__ >= 7) || __GNUC__ > 2
b17358de5730 initial checkin
fm
parents:
diff changeset
   366
#   undef INIT_TEXT_SECT
b17358de5730 initial checkin
fm
parents:
diff changeset
   367
#   define INIT_TEXT_SECT __attribute__((section(".stxitext")))
b17358de5730 initial checkin
fm
parents:
diff changeset
   368
#  endif
b17358de5730 initial checkin
fm
parents:
diff changeset
   369
# endif /* not GNUC */
b17358de5730 initial checkin
fm
parents:
diff changeset
   370
#endif /* not WIN32 */
b17358de5730 initial checkin
fm
parents:
diff changeset
   371
#ifdef INIT_TEXT_SECT
b17358de5730 initial checkin
fm
parents:
diff changeset
   372
extern void _%(LIBRARY_NAME)_Init() INIT_TEXT_SECT;
b17358de5730 initial checkin
fm
parents:
diff changeset
   373
#endif
b17358de5730 initial checkin
fm
parents:
diff changeset
   374
void _%(LIBRARY_NAME)_Init(pass, __pRT__, snd)
b17358de5730 initial checkin
fm
parents:
diff changeset
   375
OBJ snd; struct __vmData__ *__pRT__; {
b17358de5730 initial checkin
fm
parents:
diff changeset
   376
__BEGIN_PACKAGE2__("%(LIBRARY_NAME)", _%(LIBRARY_NAME)_Init, "%(PACKAGE)");
b17358de5730 initial checkin
fm
parents:
diff changeset
   377
%(CLASSES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   378
%(EXTENSION)
b17358de5730 initial checkin
fm
parents:
diff changeset
   379
__END_PACKAGE__();
b17358de5730 initial checkin
fm
parents:
diff changeset
   380
}'
b17358de5730 initial checkin
fm
parents:
diff changeset
   381
b17358de5730 initial checkin
fm
parents:
diff changeset
   382
    "Created: / 08-08-2006 / 12:40:45 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   383
    "Modified: / 08-08-2006 / 19:33:01 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   384
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   385
b17358de5730 initial checkin
fm
parents:
diff changeset
   386
make_dot_proto
b17358de5730 initial checkin
fm
parents:
diff changeset
   387
b17358de5730 initial checkin
fm
parents:
diff changeset
   388
^ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   389
'#
b17358de5730 initial checkin
fm
parents:
diff changeset
   390
# Warning: once you modify this file, do not rerun
b17358de5730 initial checkin
fm
parents:
diff changeset
   391
# stmkmp again - otherwise, your changes are lost.
b17358de5730 initial checkin
fm
parents:
diff changeset
   392
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   393
# The Makefile as generated by this Make.proto supports the following targets:
b17358de5730 initial checkin
fm
parents:
diff changeset
   394
#    make         - compile all st-files to a classLib
b17358de5730 initial checkin
fm
parents:
diff changeset
   395
#    make install - install the classLib in /opt/smalltalk/...
b17358de5730 initial checkin
fm
parents:
diff changeset
   396
#    make clean   - clean all temp files
b17358de5730 initial checkin
fm
parents:
diff changeset
   397
#    make clobber - clean all
b17358de5730 initial checkin
fm
parents:
diff changeset
   398
b17358de5730 initial checkin
fm
parents:
diff changeset
   399
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   400
# position (of this package) in directory hierarchy:
b17358de5730 initial checkin
fm
parents:
diff changeset
   401
# (must point to ST/X top directory, for tools and includes)
b17358de5730 initial checkin
fm
parents:
diff changeset
   402
TOP=%(TOP)
b17358de5730 initial checkin
fm
parents:
diff changeset
   403
b17358de5730 initial checkin
fm
parents:
diff changeset
   404
b17358de5730 initial checkin
fm
parents:
diff changeset
   405
# subdirectories where targets are to be made:
b17358de5730 initial checkin
fm
parents:
diff changeset
   406
SUBDIRS=%(SUBDIRECTORIES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   407
b17358de5730 initial checkin
fm
parents:
diff changeset
   408
b17358de5730 initial checkin
fm
parents:
diff changeset
   409
# subdirectories where Makefiles are to be made:
b17358de5730 initial checkin
fm
parents:
diff changeset
   410
# (only define if different from SUBDIRS)
b17358de5730 initial checkin
fm
parents:
diff changeset
   411
# ALLSUBDIRS=
b17358de5730 initial checkin
fm
parents:
diff changeset
   412
b17358de5730 initial checkin
fm
parents:
diff changeset
   413
b17358de5730 initial checkin
fm
parents:
diff changeset
   414
# if your embedded C code requires any system includes, 
b17358de5730 initial checkin
fm
parents:
diff changeset
   415
# add the path(es) here:, 
b17358de5730 initial checkin
fm
parents:
diff changeset
   416
# ********** OPTIONAL: MODIFY the next lines ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   417
# LOCALINCLUDES=-Ifoo -Ibar
b17358de5730 initial checkin
fm
parents:
diff changeset
   418
LOCALINCLUDES=%(LOCAL_INCLUDES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   419
b17358de5730 initial checkin
fm
parents:
diff changeset
   420
b17358de5730 initial checkin
fm
parents:
diff changeset
   421
# if you need any additional defines for embedded C code, 
b17358de5730 initial checkin
fm
parents:
diff changeset
   422
# add them here:, 
b17358de5730 initial checkin
fm
parents:
diff changeset
   423
# ********** OPTIONAL: MODIFY the next lines ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   424
# LOCALDEFINES=-Dfoo -Dbar -DDEBUG
b17358de5730 initial checkin
fm
parents:
diff changeset
   425
LOCALDEFINES=%(LOCAL_DEFINES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   426
b17358de5730 initial checkin
fm
parents:
diff changeset
   427
b17358de5730 initial checkin
fm
parents:
diff changeset
   428
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   429
# The next 2 defines should be left as-is
b17358de5730 initial checkin
fm
parents:
diff changeset
   430
#  for a class-library package, you can uncomment the following:
b17358de5730 initial checkin
fm
parents:
diff changeset
   431
#  (it does not hurt much, if you leave it as is - but you may NOT
b17358de5730 initial checkin
fm
parents:
diff changeset
   432
#   uncomment it if object files are to be loaded individually later).
b17358de5730 initial checkin
fm
parents:
diff changeset
   433
# INITCODESEPFLAG=$(SEPINITCODE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   434
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   435
#  the following MAY ONLY be uncommented for classes/classLibs,
b17358de5730 initial checkin
fm
parents:
diff changeset
   436
#  which are ALWAYS statically included in the executable.
b17358de5730 initial checkin
fm
parents:
diff changeset
   437
#  (i.e. NEVER for those which are subject to dynamic loading).
b17358de5730 initial checkin
fm
parents:
diff changeset
   438
# COMMONSYMFLAG=$(COMMONSYMBOLS)
b17358de5730 initial checkin
fm
parents:
diff changeset
   439
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   440
STCLOCALOPT=-I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -H. ''-P$(PACKAGE)'' ''-Z$(LIBNAME)'' $(COMMONSYMFLAG) $(INITCODESEPFLAG)
b17358de5730 initial checkin
fm
parents:
diff changeset
   441
b17358de5730 initial checkin
fm
parents:
diff changeset
   442
b17358de5730 initial checkin
fm
parents:
diff changeset
   443
# ********** OPTIONAL: MODIFY the next line ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   444
# additional C-libraries that should be pre-linked with the class-objects
b17358de5730 initial checkin
fm
parents:
diff changeset
   445
LD_OBJ_LIBS=
b17358de5730 initial checkin
fm
parents:
diff changeset
   446
b17358de5730 initial checkin
fm
parents:
diff changeset
   447
b17358de5730 initial checkin
fm
parents:
diff changeset
   448
# ********** OPTIONAL: MODIFY the next line ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   449
# additional C targets or libraries should be added below
b17358de5730 initial checkin
fm
parents:
diff changeset
   450
LOCAL_EXTRA_TARGETS=
b17358de5730 initial checkin
fm
parents:
diff changeset
   451
b17358de5730 initial checkin
fm
parents:
diff changeset
   452
all:: preMake classLibRule postMake
b17358de5730 initial checkin
fm
parents:
diff changeset
   453
b17358de5730 initial checkin
fm
parents:
diff changeset
   454
b17358de5730 initial checkin
fm
parents:
diff changeset
   455
# add more install actions here
b17358de5730 initial checkin
fm
parents:
diff changeset
   456
install::
b17358de5730 initial checkin
fm
parents:
diff changeset
   457
b17358de5730 initial checkin
fm
parents:
diff changeset
   458
# add more install actions for aux-files (resources) here
b17358de5730 initial checkin
fm
parents:
diff changeset
   459
installAux::
b17358de5730 initial checkin
fm
parents:
diff changeset
   460
b17358de5730 initial checkin
fm
parents:
diff changeset
   461
# add more preMake actions here
b17358de5730 initial checkin
fm
parents:
diff changeset
   462
preMake::
b17358de5730 initial checkin
fm
parents:
diff changeset
   463
b17358de5730 initial checkin
fm
parents:
diff changeset
   464
# add more postMake actions here
b17358de5730 initial checkin
fm
parents:
diff changeset
   465
postMake:: cleanjunk
b17358de5730 initial checkin
fm
parents:
diff changeset
   466
b17358de5730 initial checkin
fm
parents:
diff changeset
   467
cleanjunk::
b17358de5730 initial checkin
fm
parents:
diff changeset
   468
b17358de5730 initial checkin
fm
parents:
diff changeset
   469
clean::
b17358de5730 initial checkin
fm
parents:
diff changeset
   470
        -rm -f *.o *.H
b17358de5730 initial checkin
fm
parents:
diff changeset
   471
b17358de5730 initial checkin
fm
parents:
diff changeset
   472
clobber::
b17358de5730 initial checkin
fm
parents:
diff changeset
   473
        -rm -f *.so *.dll
b17358de5730 initial checkin
fm
parents:
diff changeset
   474
b17358de5730 initial checkin
fm
parents:
diff changeset
   475
',
b17358de5730 initial checkin
fm
parents:
diff changeset
   476
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   477
$(INSTALLBASE)::
b17358de5730 initial checkin
fm
parents:
diff changeset
   478
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   479
b17358de5730 initial checkin
fm
parents:
diff changeset
   480
$(INSTALLBASE)/packages:: $(INSTALLBASE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   481
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   482
b17358de5730 initial checkin
fm
parents:
diff changeset
   483
$(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages
b17358de5730 initial checkin
fm
parents:
diff changeset
   484
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   485
b17358de5730 initial checkin
fm
parents:
diff changeset
   486
$(INSTALLBASE)/packages/$(MODULE)/dapasx:: $(INSTALLBASE)/packages/$(MODULE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   487
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   488
b17358de5730 initial checkin
fm
parents:
diff changeset
   489
$(INSTALLBASE)/packages/$(MODULE)/dapasx/interactiver_editor:: $(INSTALLBASE)/packages/$(MODULE)/dapasx
b17358de5730 initial checkin
fm
parents:
diff changeset
   490
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   491
b17358de5730 initial checkin
fm
parents:
diff changeset
   492
$(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   493
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   494
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   495
'
b17358de5730 initial checkin
fm
parents:
diff changeset
   496
# if other things are to be compiled,
b17358de5730 initial checkin
fm
parents:
diff changeset
   497
# add target definitions here,
b17358de5730 initial checkin
fm
parents:
diff changeset
   498
# and list them in LOCAL_EXTRA_TARGETS above.
b17358de5730 initial checkin
fm
parents:
diff changeset
   499
# (care for make syntax - TABS are required in the actions)
b17358de5730 initial checkin
fm
parents:
diff changeset
   500
# foo:  foo.o
b17358de5730 initial checkin
fm
parents:
diff changeset
   501
#         $(CC) -o foo foo.o
b17358de5730 initial checkin
fm
parents:
diff changeset
   502
b17358de5730 initial checkin
fm
parents:
diff changeset
   503
# ''make depend'' will add dependency info between
b17358de5730 initial checkin
fm
parents:
diff changeset
   504
# BEGIN...END below
b17358de5730 initial checkin
fm
parents:
diff changeset
   505
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   506
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
b17358de5730 initial checkin
fm
parents:
diff changeset
   507
# ENDMAKEDEPEND --- do not remove this line
b17358de5730 initial checkin
fm
parents:
diff changeset
   508
b17358de5730 initial checkin
fm
parents:
diff changeset
   509
'
b17358de5730 initial checkin
fm
parents:
diff changeset
   510
b17358de5730 initial checkin
fm
parents:
diff changeset
   511
    "Created: / 08-08-2006 / 20:45:36 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   512
    "Modified: / 09-08-2006 / 16:50:23 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   513
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   514
b17358de5730 initial checkin
fm
parents:
diff changeset
   515
make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   516
b17358de5730 initial checkin
fm
parents:
diff changeset
   517
^ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   518
'#
b17358de5730 initial checkin
fm
parents:
diff changeset
   519
# This file contains specifications which are common to all platforms.
b17358de5730 initial checkin
fm
parents:
diff changeset
   520
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   521
# Warning: once you modify this file, do not rerun
b17358de5730 initial checkin
fm
parents:
diff changeset
   522
# stmkmp again - otherwise, your changes are lost.
b17358de5730 initial checkin
fm
parents:
diff changeset
   523
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   524
# This file contains definitions for Unix based platforms.
b17358de5730 initial checkin
fm
parents:
diff changeset
   525
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   526
b17358de5730 initial checkin
fm
parents:
diff changeset
   527
b17358de5730 initial checkin
fm
parents:
diff changeset
   528
b17358de5730 initial checkin
fm
parents:
diff changeset
   529
b17358de5730 initial checkin
fm
parents:
diff changeset
   530
# module and directory-in-module;
b17358de5730 initial checkin
fm
parents:
diff changeset
   531
# these should correspond to the directory hierarchy
b17358de5730 initial checkin
fm
parents:
diff changeset
   532
# location (otherwise, ST/X will have a hard time to
b17358de5730 initial checkin
fm
parents:
diff changeset
   533
# find out the packages location from its packageID)
b17358de5730 initial checkin
fm
parents:
diff changeset
   534
MODULE=%(MODULE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   535
MODULE_DIR=%(MODULE_DIRECTORY)
b17358de5730 initial checkin
fm
parents:
diff changeset
   536
b17358de5730 initial checkin
fm
parents:
diff changeset
   537
b17358de5730 initial checkin
fm
parents:
diff changeset
   538
# the name of your classLibrary:
b17358de5730 initial checkin
fm
parents:
diff changeset
   539
# ********** REQUIRED: CHECK the next line ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   540
LIBNAME=%(LIBRARY_NAME)
b17358de5730 initial checkin
fm
parents:
diff changeset
   541
b17358de5730 initial checkin
fm
parents:
diff changeset
   542
b17358de5730 initial checkin
fm
parents:
diff changeset
   543
# the package is stored as an ID in classes and methods
b17358de5730 initial checkin
fm
parents:
diff changeset
   544
# to identify code belonging to this project.
b17358de5730 initial checkin
fm
parents:
diff changeset
   545
# It also specifies the position in the source repository
b17358de5730 initial checkin
fm
parents:
diff changeset
   546
# and directory tree, when packages are loaded by packageID.
b17358de5730 initial checkin
fm
parents:
diff changeset
   547
# ********** REQUIRED: CHECK the next line ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   548
PACKAGE=$(MODULE):$(MODULE_DIR)
b17358de5730 initial checkin
fm
parents:
diff changeset
   549
b17358de5730 initial checkin
fm
parents:
diff changeset
   550
b17358de5730 initial checkin
fm
parents:
diff changeset
   551
# Argument(s) to the stc compiler.
b17358de5730 initial checkin
fm
parents:
diff changeset
   552
#  -H.         : create header files locally
b17358de5730 initial checkin
fm
parents:
diff changeset
   553
#                (if removed, they will be created as common
b17358de5730 initial checkin
fm
parents:
diff changeset
   554
#  -Pxxx       : defines the package
b17358de5730 initial checkin
fm
parents:
diff changeset
   555
#  -Zxxx       : a prefix for variables within the classLib
b17358de5730 initial checkin
fm
parents:
diff changeset
   556
#  -Dxxx       : defines passed to to CC for inline C-code
b17358de5730 initial checkin
fm
parents:
diff changeset
   557
#  -Ixxx       : include path passed to CC for inline C-code
b17358de5730 initial checkin
fm
parents:
diff changeset
   558
#  +optspace   : optimized for space
b17358de5730 initial checkin
fm
parents:
diff changeset
   559
#  +optspace2  : optimized more for space
b17358de5730 initial checkin
fm
parents:
diff changeset
   560
#  +optspace3  : optimized even more for space
b17358de5730 initial checkin
fm
parents:
diff changeset
   561
#  +optinline  : generate inline code for some ST constructs
b17358de5730 initial checkin
fm
parents:
diff changeset
   562
#  +inlineNew  : additionally inline new
b17358de5730 initial checkin
fm
parents:
diff changeset
   563
#  +inlineMath : additionally inline some floatPnt math stuff
b17358de5730 initial checkin
fm
parents:
diff changeset
   564
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   565
# ********** OPTIONAL: MODIFY the next line(s) ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   566
# STCLOCALOPTIMIZATIONS=+optinline +inlineNew
b17358de5730 initial checkin
fm
parents:
diff changeset
   567
# STCLOCALOPTIMIZATIONS=+optspace3
b17358de5730 initial checkin
fm
parents:
diff changeset
   568
STCLOCALOPTIMIZATIONS=+optspace3
b17358de5730 initial checkin
fm
parents:
diff changeset
   569
b17358de5730 initial checkin
fm
parents:
diff changeset
   570
b17358de5730 initial checkin
fm
parents:
diff changeset
   571
# Argument(s) to the stc compiler.
b17358de5730 initial checkin
fm
parents:
diff changeset
   572
#  -warn            : no warnings
b17358de5730 initial checkin
fm
parents:
diff changeset
   573
#  -warnNonStandard : no warnings about ST/X extensions
b17358de5730 initial checkin
fm
parents:
diff changeset
   574
#  -warnEOLComments : no warnings about EOL comment extension
b17358de5730 initial checkin
fm
parents:
diff changeset
   575
#  -warnPrivacy     : no warnings about privateClass extension
b17358de5730 initial checkin
fm
parents:
diff changeset
   576
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   577
# ********** OPTIONAL: MODIFY the next line(s) ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   578
# STCWARNINGS=-warn
b17358de5730 initial checkin
fm
parents:
diff changeset
   579
# STCWARNINGS=-warnNonStandard
b17358de5730 initial checkin
fm
parents:
diff changeset
   580
# STCWARNINGS=-warnEOLComments
b17358de5730 initial checkin
fm
parents:
diff changeset
   581
STCWARNINGS=
b17358de5730 initial checkin
fm
parents:
diff changeset
   582
b17358de5730 initial checkin
fm
parents:
diff changeset
   583
OBJS= \
b17358de5730 initial checkin
fm
parents:
diff changeset
   584
%(OBJECTS)
b17358de5730 initial checkin
fm
parents:
diff changeset
   585
'
b17358de5730 initial checkin
fm
parents:
diff changeset
   586
b17358de5730 initial checkin
fm
parents:
diff changeset
   587
    "Created: / 08-08-2006 / 19:31:29 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   588
    "Modified: / 09-08-2006 / 15:10:57 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   589
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   590
b17358de5730 initial checkin
fm
parents:
diff changeset
   591
nt_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   592
b17358de5730 initial checkin
fm
parents:
diff changeset
   593
^
b17358de5730 initial checkin
fm
parents:
diff changeset
   594
'LIBRARY        %(LIBRARY_NAME)
b17358de5730 initial checkin
fm
parents:
diff changeset
   595
DESCRIPTION     %(DESCRIPTION)
b17358de5730 initial checkin
fm
parents:
diff changeset
   596
VERSION         %(VERSION_NUMBER)
b17358de5730 initial checkin
fm
parents:
diff changeset
   597
CODE            EXECUTE READ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   598
DATA            READ WRITE
b17358de5730 initial checkin
fm
parents:
diff changeset
   599
SECTIONS
b17358de5730 initial checkin
fm
parents:
diff changeset
   600
    INITCODE    READ EXECUTE 
b17358de5730 initial checkin
fm
parents:
diff changeset
   601
    INITDATA    READ WRITE
b17358de5730 initial checkin
fm
parents:
diff changeset
   602
EXPORTS 
b17358de5730 initial checkin
fm
parents:
diff changeset
   603
    _%(LIBRARY_NAME)_Init      @1
b17358de5730 initial checkin
fm
parents:
diff changeset
   604
IMPORTS'
b17358de5730 initial checkin
fm
parents:
diff changeset
   605
b17358de5730 initial checkin
fm
parents:
diff changeset
   606
    "Modified: / 08-08-2006 / 19:33:14 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   607
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   608
b17358de5730 initial checkin
fm
parents:
diff changeset
   609
nt_dot_mak
b17358de5730 initial checkin
fm
parents:
diff changeset
   610
b17358de5730 initial checkin
fm
parents:
diff changeset
   611
^
b17358de5730 initial checkin
fm
parents:
diff changeset
   612
'#
b17358de5730 initial checkin
fm
parents:
diff changeset
   613
# This file contains make rules for the win32 platform (using borland-bcc).
b17358de5730 initial checkin
fm
parents:
diff changeset
   614
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   615
# Warning: once you modify this file, do not rerun
b17358de5730 initial checkin
fm
parents:
diff changeset
   616
# stmkmp again - otherwise, your changes are lost.
b17358de5730 initial checkin
fm
parents:
diff changeset
   617
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   618
TOP=%(TOP)
b17358de5730 initial checkin
fm
parents:
diff changeset
   619
b17358de5730 initial checkin
fm
parents:
diff changeset
   620
!!INCLUDE $(TOP)\rules\stdHeader_nt
b17358de5730 initial checkin
fm
parents:
diff changeset
   621
b17358de5730 initial checkin
fm
parents:
diff changeset
   622
!!INCLUDE Make.spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   623
b17358de5730 initial checkin
fm
parents:
diff changeset
   624
LOCALINCLUDES=%(LOCAL_INCLUDES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   625
b17358de5730 initial checkin
fm
parents:
diff changeset
   626
STCLOCALOPT=-I. $(LOCALINCLUDES) -H. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) ''-P$(PACKAGE)'' ''-Z$(LIBNAME)'' $(COMMONSYMFLAG) $(INITCODESEPFLAG)
b17358de5730 initial checkin
fm
parents:
diff changeset
   627
b17358de5730 initial checkin
fm
parents:
diff changeset
   628
ALL::  $(LIBJPEG) $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll
b17358de5730 initial checkin
fm
parents:
diff changeset
   629
b17358de5730 initial checkin
fm
parents:
diff changeset
   630
!!INCLUDE $(TOP)\rules\stdRules_nt
b17358de5730 initial checkin
fm
parents:
diff changeset
   631
b17358de5730 initial checkin
fm
parents:
diff changeset
   632
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
b17358de5730 initial checkin
fm
parents:
diff changeset
   633
# ENDMAKEDEPEND --- do not remove this line
b17358de5730 initial checkin
fm
parents:
diff changeset
   634
'
b17358de5730 initial checkin
fm
parents:
diff changeset
   635
b17358de5730 initial checkin
fm
parents:
diff changeset
   636
    "Created: / 09-08-2006 / 11:44:20 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   637
    "Modified: / 09-08-2006 / 19:59:32 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   638
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   639
b17358de5730 initial checkin
fm
parents:
diff changeset
   640
objectLine_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   641
b17358de5730 initial checkin
fm
parents:
diff changeset
   642
^'    %(CLASS).$(O) \'
b17358de5730 initial checkin
fm
parents:
diff changeset
   643
b17358de5730 initial checkin
fm
parents:
diff changeset
   644
    "Created: / 08-08-2006 / 20:16:46 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   645
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   646
b17358de5730 initial checkin
fm
parents:
diff changeset
   647
!ProjectDefinition class methodsFor:'mappings'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   648
b17358de5730 initial checkin
fm
parents:
diff changeset
   649
bc_dot_def_mappings
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   650
    ^ (Dictionary new)
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   651
        at:#'LIBRARY_NAME' put:[ self libraryName ];
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   652
        at:#'DESCRIPTION'
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   653
            put:[
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   654
                    |d|
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   655
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   656
                    d := self description.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   657
                    (d isEmptyOrNil ifTrue:[ 'test' ] ifFalse:[ d ]) storeString.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   658
                ];
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   659
        yourself
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   660
b17358de5730 initial checkin
fm
parents:
diff changeset
   661
    "Created: / 09-08-2006 / 11:17:59 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   662
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   663
b17358de5730 initial checkin
fm
parents:
diff changeset
   664
classLine_libInit_dot_cc_mappings: aClassName
b17358de5730 initial checkin
fm
parents:
diff changeset
   665
b17358de5730 initial checkin
fm
parents:
diff changeset
   666
^Dictionary new                                               
b17358de5730 initial checkin
fm
parents:
diff changeset
   667
    at: #'CLASS' put: [aClassName asString copy replaceAny:':' by:$_];
b17358de5730 initial checkin
fm
parents:
diff changeset
   668
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   669
b17358de5730 initial checkin
fm
parents:
diff changeset
   670
    "Created: / 08-08-2006 / 14:04:00 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   671
    "Modified: / 09-08-2006 / 18:27:07 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   672
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   673
b17358de5730 initial checkin
fm
parents:
diff changeset
   674
extensionLine_libInit_dot_cc_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   675
b17358de5730 initial checkin
fm
parents:
diff changeset
   676
^Dictionary new                                               
b17358de5730 initial checkin
fm
parents:
diff changeset
   677
    at: #'LIBRARY_NAME' put: [self libraryName];
b17358de5730 initial checkin
fm
parents:
diff changeset
   678
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   679
b17358de5730 initial checkin
fm
parents:
diff changeset
   680
    "Created: / 09-08-2006 / 11:19:59 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   681
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   682
b17358de5730 initial checkin
fm
parents:
diff changeset
   683
libInit_dot_cc_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   684
b17358de5730 initial checkin
fm
parents:
diff changeset
   685
^Dictionary new
b17358de5730 initial checkin
fm
parents:
diff changeset
   686
    at: #'LIBRARY_NAME' put: [self libraryName];
b17358de5730 initial checkin
fm
parents:
diff changeset
   687
    at: #'PACKAGE' put: [self package];
b17358de5730 initial checkin
fm
parents:
diff changeset
   688
    at: #'CLASSES' put: [self generateClassLines_libInit_dot_cc];
b17358de5730 initial checkin
fm
parents:
diff changeset
   689
    at: #'EXTENSION' put: [self generateExtensionLine_libInit_dot_cc];
b17358de5730 initial checkin
fm
parents:
diff changeset
   690
b17358de5730 initial checkin
fm
parents:
diff changeset
   691
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   692
b17358de5730 initial checkin
fm
parents:
diff changeset
   693
    "Created: / 09-08-2006 / 11:20:24 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   694
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   695
b17358de5730 initial checkin
fm
parents:
diff changeset
   696
make_dot_proto_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   697
b17358de5730 initial checkin
fm
parents:
diff changeset
   698
^Dictionary new
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   699
    at: #'TOP' put: [self unixPathToTop];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   700
    at: #'SUBDIRECTORIES' put: [self generateSubDirectories];
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   701
    at: #'LOCAL_INCLUDES' put: [self generateUnixLocalIncludes];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   702
    at: #'LOCAL_DEFINES' put: [''];
b17358de5730 initial checkin
fm
parents:
diff changeset
   703
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   704
b17358de5730 initial checkin
fm
parents:
diff changeset
   705
    "Created: / 09-08-2006 / 11:20:45 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   706
    "Modified: / 09-08-2006 / 16:44:48 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   707
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   708
b17358de5730 initial checkin
fm
parents:
diff changeset
   709
make_dot_spec_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   710
b17358de5730 initial checkin
fm
parents:
diff changeset
   711
^Dictionary new
b17358de5730 initial checkin
fm
parents:
diff changeset
   712
    at: #'MODULE' put: [self module];  
b17358de5730 initial checkin
fm
parents:
diff changeset
   713
    at: #'MODULE_DIRECTORY' put: [self moduleDirectory];  
b17358de5730 initial checkin
fm
parents:
diff changeset
   714
    at: #'LIBRARY_NAME' put: [self libraryName];
b17358de5730 initial checkin
fm
parents:
diff changeset
   715
    at: #'OBJECTS' put: [self generateObjects_make_dot_spec];  
b17358de5730 initial checkin
fm
parents:
diff changeset
   716
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   717
b17358de5730 initial checkin
fm
parents:
diff changeset
   718
    "Created: / 09-08-2006 / 11:21:06 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   719
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   720
b17358de5730 initial checkin
fm
parents:
diff changeset
   721
nt_dot_def_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   722
b17358de5730 initial checkin
fm
parents:
diff changeset
   723
^Dictionary new
b17358de5730 initial checkin
fm
parents:
diff changeset
   724
    at: #'LIBRARY_NAME' put: [self libraryName];
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   725
    at: #'DESCRIPTION' put: [self description storeString];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   726
    at: #'VERSION_NUMBER' put: [self versionNumber];
b17358de5730 initial checkin
fm
parents:
diff changeset
   727
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   728
b17358de5730 initial checkin
fm
parents:
diff changeset
   729
    "Created: / 09-08-2006 / 11:21:21 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   730
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   731
b17358de5730 initial checkin
fm
parents:
diff changeset
   732
nt_dot_mak_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   733
b17358de5730 initial checkin
fm
parents:
diff changeset
   734
^Dictionary new
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   735
    at: #'TOP' put: [self msdosPathToTop]; 
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   736
    at: #'LOCAL_INCLUDES' put: [self generateMsdosLocalIncludes];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   737
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   738
b17358de5730 initial checkin
fm
parents:
diff changeset
   739
    "Created: / 09-08-2006 / 11:44:36 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   740
    "Modified: / 09-08-2006 / 20:00:01 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   741
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   742
b17358de5730 initial checkin
fm
parents:
diff changeset
   743
objectLine_make_dot_spec_mappings: aClassName
b17358de5730 initial checkin
fm
parents:
diff changeset
   744
b17358de5730 initial checkin
fm
parents:
diff changeset
   745
^Dictionary new                                               
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   746
    at: #'CLASS' put: [(Smalltalk classNamed:aClassName) classFilename asFilename withoutSuffix baseName];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   747
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   748
b17358de5730 initial checkin
fm
parents:
diff changeset
   749
    "Created: / 08-08-2006 / 20:17:28 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   750
    "Modified: / 09-08-2006 / 18:26:52 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   751
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   752
b17358de5730 initial checkin
fm
parents:
diff changeset
   753
replaceMappings: mappings in: fileTemplate
b17358de5730 initial checkin
fm
parents:
diff changeset
   754
"Replaces the defined variable mappings found in a file template with the corresponding information"
b17358de5730 initial checkin
fm
parents:
diff changeset
   755
b17358de5730 initial checkin
fm
parents:
diff changeset
   756
^ fileTemplate bindWithArguments:mappings.
b17358de5730 initial checkin
fm
parents:
diff changeset
   757
b17358de5730 initial checkin
fm
parents:
diff changeset
   758
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   759
self replaceMappings: (self nt_dot_def_mappingsFor: self) in: self nt_dot_def  
b17358de5730 initial checkin
fm
parents:
diff changeset
   760
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   761
b17358de5730 initial checkin
fm
parents:
diff changeset
   762
    "Created: / 08-08-2006 / 11:44:27 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   763
    "Modified: / 08-08-2006 / 12:46:13 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   764
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   765
b17358de5730 initial checkin
fm
parents:
diff changeset
   766
!ProjectDefinition class methodsFor:'mappings support'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   767
b17358de5730 initial checkin
fm
parents:
diff changeset
   768
generateClassLines_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   769
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   770
^self compiled_classNames 
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   771
    inject: ''
b17358de5730 initial checkin
fm
parents:
diff changeset
   772
    into:[:classLines :className | 
b17358de5730 initial checkin
fm
parents:
diff changeset
   773
        |newClassLine mappings|
b17358de5730 initial checkin
fm
parents:
diff changeset
   774
        mappings := self classLine_libInit_dot_cc_mappings: className.
b17358de5730 initial checkin
fm
parents:
diff changeset
   775
        newClassLine := self replaceMappings: mappings  
b17358de5730 initial checkin
fm
parents:
diff changeset
   776
                            in: self classLine_libInit_dot_cc.
b17358de5730 initial checkin
fm
parents:
diff changeset
   777
        classLines concatenate: newClassLine 
b17358de5730 initial checkin
fm
parents:
diff changeset
   778
                    and: String lf
b17358de5730 initial checkin
fm
parents:
diff changeset
   779
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   780
b17358de5730 initial checkin
fm
parents:
diff changeset
   781
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   782
    DapasXProject generateClassLines_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   783
    DapasX_Datenbasis generateClassLines_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   784
b17358de5730 initial checkin
fm
parents:
diff changeset
   785
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   786
b17358de5730 initial checkin
fm
parents:
diff changeset
   787
    "Created: / 09-08-2006 / 11:21:48 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   788
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   789
b17358de5730 initial checkin
fm
parents:
diff changeset
   790
generateExtensionLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   791
      |mappings|
b17358de5730 initial checkin
fm
parents:
diff changeset
   792
^self extensionMethodNames isEmpty
b17358de5730 initial checkin
fm
parents:
diff changeset
   793
    ifTrue:['']
b17358de5730 initial checkin
fm
parents:
diff changeset
   794
    ifFalse:[ mappings := self extensionLine_libInit_dot_cc_mappings.
b17358de5730 initial checkin
fm
parents:
diff changeset
   795
              self replaceMappings: mappings  
b17358de5730 initial checkin
fm
parents:
diff changeset
   796
                            in: self extensionLine_libInit_dot_cc.]
b17358de5730 initial checkin
fm
parents:
diff changeset
   797
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   798
    DapasXProject generateExtensionLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   799
    DapasX_Datenbasis generateExtensionLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   800
b17358de5730 initial checkin
fm
parents:
diff changeset
   801
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   802
b17358de5730 initial checkin
fm
parents:
diff changeset
   803
    "Created: / 09-08-2006 / 11:23:34 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   804
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   805
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   806
generateMsdosLocalIncludes
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   807
b17358de5730 initial checkin
fm
parents:
diff changeset
   808
^self searchForProjectsWhichProvideHeaderFiles
b17358de5730 initial checkin
fm
parents:
diff changeset
   809
    inject: ''
b17358de5730 initial checkin
fm
parents:
diff changeset
   810
    into:[:objectLines :includeProjectName |    
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   811
            objectLines , ' -I',(self msdosPathToPackage: includeProjectName) 
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   812
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   813
b17358de5730 initial checkin
fm
parents:
diff changeset
   814
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   815
    DapasXProject generateLocalIncludes
b17358de5730 initial checkin
fm
parents:
diff changeset
   816
    DapasX_Datenbasis generateLocalIncludes
b17358de5730 initial checkin
fm
parents:
diff changeset
   817
b17358de5730 initial checkin
fm
parents:
diff changeset
   818
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   819
b17358de5730 initial checkin
fm
parents:
diff changeset
   820
    "Created: / 09-08-2006 / 16:46:49 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   821
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   822
b17358de5730 initial checkin
fm
parents:
diff changeset
   823
generateObjects_make_dot_spec 
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   824
    |pivateClassesOf classes|
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   825
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   826
    classes := self compiled_classes.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   827
    pivateClassesOf := IdentityDictionary new.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   828
    classes do:[:each | pivateClassesOf at:each put:(each allPrivateClasses)].
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   829
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   830
    classes topologicalSort:[:a :b |
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   831
        "/ a must come before b iff:
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   832
        "/    b is a subclass of a
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   833
        "/    b has a private class which is a subclass of a
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   834
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   835
        |mustComeBefore pivateClassesOfB|
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   836
        mustComeBefore := b isSubclassOf:a.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   837
        pivateClassesOfB := pivateClassesOf at:b.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   838
        pivateClassesOfB do:[:eachClassInB |
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   839
            mustComeBefore := mustComeBefore or:[eachClassInB isSubclassOf:a]
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   840
        ].
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   841
        mustComeBefore
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   842
    ].
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   843
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   844
    ^ String streamContents:[:s |
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   845
        classes do:[:eachClass |
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   846
            |mappings newObjectLine|
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   847
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   848
            mappings := self objectLine_make_dot_spec_mappings: eachClass name.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   849
            newObjectLine := self replaceMappings: mappings in: self objectLine_make_dot_spec.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   850
            s nextPutAll:newObjectLine. 
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   851
            s cr. 
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   852
        ]
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   853
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   854
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   855
    DapasXProject generateObjects_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   856
    DapasX_Datenbasis generateObjects_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   857
b17358de5730 initial checkin
fm
parents:
diff changeset
   858
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   859
b17358de5730 initial checkin
fm
parents:
diff changeset
   860
    "Created: / 09-08-2006 / 11:24:39 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   861
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   862
b17358de5730 initial checkin
fm
parents:
diff changeset
   863
generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   864
b17358de5730 initial checkin
fm
parents:
diff changeset
   865
^self prerequisiteProjects
b17358de5730 initial checkin
fm
parents:
diff changeset
   866
    inject: ''
b17358de5730 initial checkin
fm
parents:
diff changeset
   867
    into:[:objectLines :subProjectName |    
b17358de5730 initial checkin
fm
parents:
diff changeset
   868
        objectLines
b17358de5730 initial checkin
fm
parents:
diff changeset
   869
            concatenate: String lf
b17358de5730 initial checkin
fm
parents:
diff changeset
   870
            and: ' -I'
b17358de5730 initial checkin
fm
parents:
diff changeset
   871
            and: subProjectName 
b17358de5730 initial checkin
fm
parents:
diff changeset
   872
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   873
b17358de5730 initial checkin
fm
parents:
diff changeset
   874
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   875
    DapasXProject generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   876
    DapasX_Datenbasis generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   877
b17358de5730 initial checkin
fm
parents:
diff changeset
   878
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   879
b17358de5730 initial checkin
fm
parents:
diff changeset
   880
    "Created: / 09-08-2006 / 12:34:20 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   881
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   882
b17358de5730 initial checkin
fm
parents:
diff changeset
   883
generateSubDirectories
b17358de5730 initial checkin
fm
parents:
diff changeset
   884
b17358de5730 initial checkin
fm
parents:
diff changeset
   885
^self subProjects 
b17358de5730 initial checkin
fm
parents:
diff changeset
   886
    inject: ''
b17358de5730 initial checkin
fm
parents:
diff changeset
   887
    into:[:objectLines :subProjectName |    
b17358de5730 initial checkin
fm
parents:
diff changeset
   888
        objectLines
b17358de5730 initial checkin
fm
parents:
diff changeset
   889
            concatenate: ' '
b17358de5730 initial checkin
fm
parents:
diff changeset
   890
            and: subProjectName 
b17358de5730 initial checkin
fm
parents:
diff changeset
   891
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   892
b17358de5730 initial checkin
fm
parents:
diff changeset
   893
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   894
    DapasXProject generateSubDirectories
b17358de5730 initial checkin
fm
parents:
diff changeset
   895
    DapasX_Datenbasis generateSubDirectories
b17358de5730 initial checkin
fm
parents:
diff changeset
   896
b17358de5730 initial checkin
fm
parents:
diff changeset
   897
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   898
b17358de5730 initial checkin
fm
parents:
diff changeset
   899
    "Created: / 09-08-2006 / 11:26:59 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   900
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   901
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   902
generateUnixLocalIncludes
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   903
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   904
^self searchForProjectsWhichProvideHeaderFiles
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   905
    inject: ''
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   906
    into:[:objectLines :includeProjectName |    
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   907
            objectLines , ' -I',(self unixPathToPackage: includeProjectName) 
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   908
    ]
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   909
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   910
"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   911
    DapasXProject generateLocalIncludes
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   912
    DapasX_Datenbasis generateLocalIncludes
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   913
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   914
"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   915
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   916
    "Created: / 09-08-2006 / 16:46:49 / fm"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   917
!
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   918
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   919
prerequisiteProjectsOrdered
b17358de5730 initial checkin
fm
parents:
diff changeset
   920
b17358de5730 initial checkin
fm
parents:
diff changeset
   921
^self prerequisiteProjects asSortedCollection:[:a :b | ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   922
b17358de5730 initial checkin
fm
parents:
diff changeset
   923
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   924
    DapasXProject generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   925
    DapasX_Datenbasis generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   926
b17358de5730 initial checkin
fm
parents:
diff changeset
   927
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   928
b17358de5730 initial checkin
fm
parents:
diff changeset
   929
    "Created: / 09-08-2006 / 13:12:01 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   930
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   931
b17358de5730 initial checkin
fm
parents:
diff changeset
   932
!ProjectDefinition class methodsFor:'project description'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   933
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   934
autoloaded_classNames
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   935
    "classes listed here will NOT be compiled, but remain autoloaded.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   936
     to be excluded from the build process can be user-defined in my subclasses"
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   937
b17358de5730 initial checkin
fm
parents:
diff changeset
   938
    ^#()
b17358de5730 initial checkin
fm
parents:
diff changeset
   939
b17358de5730 initial checkin
fm
parents:
diff changeset
   940
    "Created: / 07-08-2006 / 19:02:57 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   941
    "Modified: / 07-08-2006 / 21:25:25 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   942
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   943
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   944
classNames            
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   945
    "this is a stupid default, a correponding method with real names
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   946
     is generated in my subclasses"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   947
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   948
    ^#()
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   949
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   950
    "Created: / 07-08-2006 / 19:02:57 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   951
    "Modified: / 07-08-2006 / 21:25:25 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   952
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   953
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   954
compiled_classNames          
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   955
    "this is a stupid default, a correponding method with real names
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   956
     is generated in my subclasses"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   957
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   958
    ^#()
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   959
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   960
    "Created: / 07-08-2006 / 19:02:57 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   961
    "Modified: / 07-08-2006 / 21:25:25 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   962
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   963
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   964
compiled_classes
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   965
    ^ self compiled_classNames collect:[:eachName| (Smalltalk at:eachName asSymbol)]
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   966
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   967
    "Created: / 09-08-2006 / 16:28:15 / fm"
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   968
    "Modified: / 09-08-2006 / 18:02:28 / fm"
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   969
!
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   970
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   971
compiled_classesDo:aBlock
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   972
    self compiled_classes do:aBlock.
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   973
b17358de5730 initial checkin
fm
parents:
diff changeset
   974
    "Created: / 09-08-2006 / 16:28:15 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   975
    "Modified: / 09-08-2006 / 18:02:28 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   976
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   977
b17358de5730 initial checkin
fm
parents:
diff changeset
   978
description
b17358de5730 initial checkin
fm
parents:
diff changeset
   979
"Returns a description string which will appear in nt.def and in the files info inside it's properties "
b17358de5730 initial checkin
fm
parents:
diff changeset
   980
b17358de5730 initial checkin
fm
parents:
diff changeset
   981
^''
b17358de5730 initial checkin
fm
parents:
diff changeset
   982
b17358de5730 initial checkin
fm
parents:
diff changeset
   983
    "Created: / 08-08-2006 / 11:15:01 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   984
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   985
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   986
excluded_classNames
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   987
    "this is a stupid default, a correponding method with real names
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   988
     to be excluded from the build process can be user-defined in my subclasses"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   989
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   990
    ^#()
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   991
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   992
    "Created: / 07-08-2006 / 19:02:57 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   993
    "Modified: / 07-08-2006 / 21:25:25 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   994
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   995
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   996
extensionMethodNames
b17358de5730 initial checkin
fm
parents:
diff changeset
   997
b17358de5730 initial checkin
fm
parents:
diff changeset
   998
    ^#()
b17358de5730 initial checkin
fm
parents:
diff changeset
   999
b17358de5730 initial checkin
fm
parents:
diff changeset
  1000
    "Created: / 08-08-2006 / 11:07:08 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1001
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1002
b17358de5730 initial checkin
fm
parents:
diff changeset
  1003
postLoadAction
b17358de5730 initial checkin
fm
parents:
diff changeset
  1004
    "raise an error: must be redefined in concrete subclass(es)"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1005
b17358de5730 initial checkin
fm
parents:
diff changeset
  1006
    ^ self subclassResponsibility
b17358de5730 initial checkin
fm
parents:
diff changeset
  1007
b17358de5730 initial checkin
fm
parents:
diff changeset
  1008
    "Created: / 08-08-2006 / 11:07:40 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1009
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1010
b17358de5730 initial checkin
fm
parents:
diff changeset
  1011
preUnloadAction
b17358de5730 initial checkin
fm
parents:
diff changeset
  1012
    "raise an error: must be redefined in concrete subclass(es)"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1013
b17358de5730 initial checkin
fm
parents:
diff changeset
  1014
    ^ self subclassResponsibility
b17358de5730 initial checkin
fm
parents:
diff changeset
  1015
b17358de5730 initial checkin
fm
parents:
diff changeset
  1016
    "Created: / 08-08-2006 / 11:07:40 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1017
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1018
b17358de5730 initial checkin
fm
parents:
diff changeset
  1019
prerequisiteProjects
b17358de5730 initial checkin
fm
parents:
diff changeset
  1020
b17358de5730 initial checkin
fm
parents:
diff changeset
  1021
    ^#()
b17358de5730 initial checkin
fm
parents:
diff changeset
  1022
b17358de5730 initial checkin
fm
parents:
diff changeset
  1023
    "Created: / 08-08-2006 / 21:17:34 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1024
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1025
b17358de5730 initial checkin
fm
parents:
diff changeset
  1026
subProjects
b17358de5730 initial checkin
fm
parents:
diff changeset
  1027
b17358de5730 initial checkin
fm
parents:
diff changeset
  1028
    ^#()
b17358de5730 initial checkin
fm
parents:
diff changeset
  1029
b17358de5730 initial checkin
fm
parents:
diff changeset
  1030
    "Created: / 08-08-2006 / 11:08:23 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1031
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1032
b17358de5730 initial checkin
fm
parents:
diff changeset
  1033
versionNumber
b17358de5730 initial checkin
fm
parents:
diff changeset
  1034
"Returns a version string which will appear in nt.def and in the files info inside it's properties "
b17358de5730 initial checkin
fm
parents:
diff changeset
  1035
b17358de5730 initial checkin
fm
parents:
diff changeset
  1036
^''
b17358de5730 initial checkin
fm
parents:
diff changeset
  1037
b17358de5730 initial checkin
fm
parents:
diff changeset
  1038
    "Created: / 08-08-2006 / 11:35:52 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1039
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
  1040
b17358de5730 initial checkin
fm
parents:
diff changeset
  1041
!ProjectDefinition class methodsFor:'public update description'!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1042
b17358de5730 initial checkin
fm
parents:
diff changeset
  1043
compileDescriptionMethods
b17358de5730 initial checkin
fm
parents:
diff changeset
  1044
    self compileClassNames.
b17358de5730 initial checkin
fm
parents:
diff changeset
  1045
    self compileExtensionMethodNames.
b17358de5730 initial checkin
fm
parents:
diff changeset
  1046
b17358de5730 initial checkin
fm
parents:
diff changeset
  1047
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1048
    DapasXProject compileDescriptionMethods
b17358de5730 initial checkin
fm
parents:
diff changeset
  1049
    DapasX_Datenbasis compileDescriptionMethods
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1050
    bosch_dapasx_interactiver_editor_Definition compileDescriptionMethods
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1051
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1052
b17358de5730 initial checkin
fm
parents:
diff changeset
  1053
    "Created: / 09-08-2006 / 18:00:31 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1054
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
  1055
b17358de5730 initial checkin
fm
parents:
diff changeset
  1056
!ProjectDefinition class methodsFor:'sanity checks'!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1057
b17358de5730 initial checkin
fm
parents:
diff changeset
  1058
searchForInconsistencies
b17358de5730 initial checkin
fm
parents:
diff changeset
  1059
    self searchForNeverCompiledSuperclasses.
b17358de5730 initial checkin
fm
parents:
diff changeset
  1060
b17358de5730 initial checkin
fm
parents:
diff changeset
  1061
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1062
    self searchForInconsistencies
b17358de5730 initial checkin
fm
parents:
diff changeset
  1063
    DapasX_Datenbasis searchForInconsistencies  
b17358de5730 initial checkin
fm
parents:
diff changeset
  1064
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1065
b17358de5730 initial checkin
fm
parents:
diff changeset
  1066
    "Created: / 09-08-2006 / 16:30:46 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1067
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1068
b17358de5730 initial checkin
fm
parents:
diff changeset
  1069
searchForNeverCompiledSuperclasses
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1070
      self compiled_classesDo:[:includedClass | 
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1071
            includedClass allSuperclassesDo:[:eachSuperClass |
b17358de5730 initial checkin
fm
parents:
diff changeset
  1072
                eachSuperClass package == Project noProjectID ifTrue:[ 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1073
                    self inconsistency:'uncompiled superclass: ' , eachSuperClass name
b17358de5730 initial checkin
fm
parents:
diff changeset
  1074
                ].
b17358de5730 initial checkin
fm
parents:
diff changeset
  1075
            ]
b17358de5730 initial checkin
fm
parents:
diff changeset
  1076
      ].
b17358de5730 initial checkin
fm
parents:
diff changeset
  1077
b17358de5730 initial checkin
fm
parents:
diff changeset
  1078
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1079
    self searchForNeverCompiledSuperclasses
b17358de5730 initial checkin
fm
parents:
diff changeset
  1080
    DapasX_Datenbasis searchForNeverCompiledSuperclasses  
b17358de5730 initial checkin
fm
parents:
diff changeset
  1081
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1082
b17358de5730 initial checkin
fm
parents:
diff changeset
  1083
    "Created: / 09-08-2006 / 16:31:54 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1084
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
  1085
b17358de5730 initial checkin
fm
parents:
diff changeset
  1086
!ProjectDefinition class methodsFor:'update description'!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1087
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1088
autoloadedClassNamesGeneratedCodeToCompile
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1089
    |classNamesCode|
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1090
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1091
   classNamesCode := 'autoloaded_classNames', String lf, '"This method has been automatically generated"'.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1092
   classNamesCode := classNamesCode, String lf, self autoloadedClassNamesGeneratedString. 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1093
   ^classNamesCode
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1094
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1095
"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1096
    DapasXProject autoloadedClassNamesGeneratedCodeToCompile
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1097
    DapasX_Datenbasis autoloadedClassNamesGeneratedCodeToCompile
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1098
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1099
"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1100
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1101
    "Created: / 08-08-2006 / 15:07:06 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1102
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1103
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1104
autoloadedClassNamesGeneratedString
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1105
    | |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1106
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1107
    ^ String streamContents:[:s |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1108
        s nextPutAll:'^#('.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1109
        self searchForClassesWithProject do:[:eachClass |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1110
            (eachClass wasAutoloaded or:[ eachClass isLoaded not ]) ifTrue:[
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1111
                (self compiled_classNames includes:eachClass name) ifFalse:[
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1112
                    (self excluded_classNames includes:eachClass name) ifFalse:[
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1113
                        s cr; nextPutAll:eachClass name asString storeString
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1114
                    ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1115
                ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1116
             ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1117
        ].
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1118
        s cr; nextPutAll:')'
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1119
    ].
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1120
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1121
"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1122
    bosch_dapasx_interactiver_editor_Definition autoloadedClassNamesGeneratedString
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1123
"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1124
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1125
    "Created: / 08-08-2006 / 15:00:17 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1126
    "Modified: / 08-08-2006 / 19:24:34 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1127
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1128
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1129
classNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1130
    |classNamesCode|
b17358de5730 initial checkin
fm
parents:
diff changeset
  1131
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1132
   classNamesCode := 'compiled_classNames', String lf, '"This method has been automatically generated"'.
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1133
   classNamesCode := classNamesCode, String lf, self classNamesGeneratedString. 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1134
   ^classNamesCode
b17358de5730 initial checkin
fm
parents:
diff changeset
  1135
b17358de5730 initial checkin
fm
parents:
diff changeset
  1136
"
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1137
    DapasXProject Datenbasis
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1138
    DapasX_Datenbasis Datenbasis
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1139
b17358de5730 initial checkin
fm
parents:
diff changeset
  1140
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1141
b17358de5730 initial checkin
fm
parents:
diff changeset
  1142
    "Created: / 08-08-2006 / 15:07:06 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1143
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1144
b17358de5730 initial checkin
fm
parents:
diff changeset
  1145
classNamesGeneratedString
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1146
    | |
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1147
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1148
    ^ String streamContents:[:s |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1149
        s nextPutAll:'^#('.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1150
        self searchForClassesWithProject do:[:eachClass |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1151
            (self autoloaded_classNames includes:eachClass name) ifFalse:[ 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1152
                (self excluded_classNames includes:eachClass name) ifFalse:[ 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1153
                    s cr; nextPutAll:eachClass name asString storeString
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1154
                 ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1155
             ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1156
        ].
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1157
        s cr; nextPutAll:')'
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1158
    ].
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1159
b17358de5730 initial checkin
fm
parents:
diff changeset
  1160
"
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1161
    bosch_dapasx_interactiver_editor_Definition classNamesGeneratedString
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1162
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1163
b17358de5730 initial checkin
fm
parents:
diff changeset
  1164
    "Created: / 08-08-2006 / 15:00:17 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1165
    "Modified: / 08-08-2006 / 19:24:34 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1166
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1167
b17358de5730 initial checkin
fm
parents:
diff changeset
  1168
compileClassNames                                                               
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1169
   self theMetaclass 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1170
        compile: self autoloadedClassNamesGeneratedCodeToCompile
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1171
        classified: 'project description'.
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1172
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1173
   self theMetaclass 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1174
        compile: self classNamesGeneratedCodeToCompile
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1175
        classified: 'project description'.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1176
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1177
   (self theMetaclass includesSelector:#excluded_classNames) ifFalse:[
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1178
       self theMetaclass 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1179
            compile: 'excluded_classNames\^ #()' withCRs
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1180
            classified: 'project description'.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1181
   ].
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1182
b17358de5730 initial checkin
fm
parents:
diff changeset
  1183
"
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1184
    bosch_dapasx_interactiver_editor_Definition compileClassNames
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1185
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1186
    DapasXProject compileClassNames
b17358de5730 initial checkin
fm
parents:
diff changeset
  1187
    DapasX_Datenbasis compileClassNames
b17358de5730 initial checkin
fm
parents:
diff changeset
  1188
b17358de5730 initial checkin
fm
parents:
diff changeset
  1189
    DapasXProject classNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1190
    DapasX_Datenbasis classNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1191
b17358de5730 initial checkin
fm
parents:
diff changeset
  1192
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1193
b17358de5730 initial checkin
fm
parents:
diff changeset
  1194
    "Modified: / 08-08-2006 / 15:58:21 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1195
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1196
b17358de5730 initial checkin
fm
parents:
diff changeset
  1197
compileDescription                                                              
b17358de5730 initial checkin
fm
parents:
diff changeset
  1198
b17358de5730 initial checkin
fm
parents:
diff changeset
  1199
   self theMetaclass compile: 'description ^''bla bla'''
b17358de5730 initial checkin
fm
parents:
diff changeset
  1200
                     classified: 'project description'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1201
b17358de5730 initial checkin
fm
parents:
diff changeset
  1202
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1203
    DapasXProject compileClassNames
b17358de5730 initial checkin
fm
parents:
diff changeset
  1204
    DapasX_Datenbasis compileClassNames
b17358de5730 initial checkin
fm
parents:
diff changeset
  1205
b17358de5730 initial checkin
fm
parents:
diff changeset
  1206
    DapasXProject classNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1207
    DapasX_Datenbasis classNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1208
b17358de5730 initial checkin
fm
parents:
diff changeset
  1209
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1210
b17358de5730 initial checkin
fm
parents:
diff changeset
  1211
    "Created: / 09-08-2006 / 18:31:48 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1212
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1213
b17358de5730 initial checkin
fm
parents:
diff changeset
  1214
compileExtensionMethodNames                                                               
b17358de5730 initial checkin
fm
parents:
diff changeset
  1215
b17358de5730 initial checkin
fm
parents:
diff changeset
  1216
   self theMetaclass compile: self extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1217
                     classified: 'project description'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1218
b17358de5730 initial checkin
fm
parents:
diff changeset
  1219
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1220
    DapasXProject compileExtensionMethodNames
b17358de5730 initial checkin
fm
parents:
diff changeset
  1221
    DapasX_Datenbasis compileExtensionMethodNames
b17358de5730 initial checkin
fm
parents:
diff changeset
  1222
b17358de5730 initial checkin
fm
parents:
diff changeset
  1223
    DapasXProject extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1224
    DapasX_Datenbasis extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1225
b17358de5730 initial checkin
fm
parents:
diff changeset
  1226
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1227
b17358de5730 initial checkin
fm
parents:
diff changeset
  1228
    "Created: / 08-08-2006 / 18:53:27 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1229
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1230
b17358de5730 initial checkin
fm
parents:
diff changeset
  1231
extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1232
    |extensionMethodNamesCode|
b17358de5730 initial checkin
fm
parents:
diff changeset
  1233
b17358de5730 initial checkin
fm
parents:
diff changeset
  1234
   extensionMethodNamesCode := 'extensionMethodNames', String lf, '"This method has been automatically generated"'.
b17358de5730 initial checkin
fm
parents:
diff changeset
  1235
   extensionMethodNamesCode := extensionMethodNamesCode, String lf, self extensionMethodNamesGeneratedString. 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1236
   ^extensionMethodNamesCode
b17358de5730 initial checkin
fm
parents:
diff changeset
  1237
b17358de5730 initial checkin
fm
parents:
diff changeset
  1238
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1239
    DapasXProject extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1240
    DapasX_Datenbasis extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
  1241
b17358de5730 initial checkin
fm
parents:
diff changeset
  1242
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1243
b17358de5730 initial checkin
fm
parents:
diff changeset
  1244
    "Created: / 08-08-2006 / 18:54:42 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1245
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1246
b17358de5730 initial checkin
fm
parents:
diff changeset
  1247
extensionMethodNamesGeneratedString
b17358de5730 initial checkin
fm
parents:
diff changeset
  1248
    |generatedString |
b17358de5730 initial checkin
fm
parents:
diff changeset
  1249
b17358de5730 initial checkin
fm
parents:
diff changeset
  1250
    generatedString := self searchForExtensionsWithProject 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1251
            inject: '^#(' 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1252
            into:[:string :each | 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1253
                string, String lf, each mclass name asString storeString, ' #', each name ]. 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1254
    ^generatedString, String lf, ')'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1255
b17358de5730 initial checkin
fm
parents:
diff changeset
  1256
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1257
    self extensionMethodNamesGeneratedString
b17358de5730 initial checkin
fm
parents:
diff changeset
  1258
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1259
b17358de5730 initial checkin
fm
parents:
diff changeset
  1260
    "Created: / 08-08-2006 / 18:55:04 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1261
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1262
b17358de5730 initial checkin
fm
parents:
diff changeset
  1263
inconsistency:message
b17358de5730 initial checkin
fm
parents:
diff changeset
  1264
    Dialog warn:message
b17358de5730 initial checkin
fm
parents:
diff changeset
  1265
b17358de5730 initial checkin
fm
parents:
diff changeset
  1266
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1267
    self searchForNeverCompiledSuperclasses
b17358de5730 initial checkin
fm
parents:
diff changeset
  1268
    DapasX_Datenbasis searchForNeverCompiledSuperclasses  
b17358de5730 initial checkin
fm
parents:
diff changeset
  1269
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1270
b17358de5730 initial checkin
fm
parents:
diff changeset
  1271
    "Created: / 09-08-2006 / 16:32:31 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1272
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1273
b17358de5730 initial checkin
fm
parents:
diff changeset
  1274
searchForClassesNamesWithProject
b17358de5730 initial checkin
fm
parents:
diff changeset
  1275
b17358de5730 initial checkin
fm
parents:
diff changeset
  1276
    ^self searchForClassesWithProject collect:[:each | each name]. 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1277
b17358de5730 initial checkin
fm
parents:
diff changeset
  1278
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1279
    self searchForClassesNamesWithProject
b17358de5730 initial checkin
fm
parents:
diff changeset
  1280
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1281
b17358de5730 initial checkin
fm
parents:
diff changeset
  1282
    "Created: / 07-08-2006 / 21:37:06 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1283
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1284
b17358de5730 initial checkin
fm
parents:
diff changeset
  1285
searchForClassesWithProject
b17358de5730 initial checkin
fm
parents:
diff changeset
  1286
b17358de5730 initial checkin
fm
parents:
diff changeset
  1287
    ^ Smalltalk allClasses select:[:cls | cls package == self package].
b17358de5730 initial checkin
fm
parents:
diff changeset
  1288
b17358de5730 initial checkin
fm
parents:
diff changeset
  1289
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1290
    self searchForClassesWithProject
b17358de5730 initial checkin
fm
parents:
diff changeset
  1291
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1292
b17358de5730 initial checkin
fm
parents:
diff changeset
  1293
    "Created: / 07-08-2006 / 20:42:39 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1294
    "Modified: / 07-08-2006 / 21:56:25 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1295
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1296
b17358de5730 initial checkin
fm
parents:
diff changeset
  1297
searchForExtensionsForProject:aProjectID
b17358de5730 initial checkin
fm
parents:
diff changeset
  1298
    |methods|
b17358de5730 initial checkin
fm
parents:
diff changeset
  1299
b17358de5730 initial checkin
fm
parents:
diff changeset
  1300
    methods := IdentitySet new.
b17358de5730 initial checkin
fm
parents:
diff changeset
  1301
    Smalltalk allClassesDo:[:eachClass |
b17358de5730 initial checkin
fm
parents:
diff changeset
  1302
        |classPackage|
b17358de5730 initial checkin
fm
parents:
diff changeset
  1303
b17358de5730 initial checkin
fm
parents:
diff changeset
  1304
        classPackage := eachClass package.
b17358de5730 initial checkin
fm
parents:
diff changeset
  1305
        eachClass instAndClassMethodsDo:[:mthd |
b17358de5730 initial checkin
fm
parents:
diff changeset
  1306
            mthd package ~= classPackage ifTrue:[ 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1307
                mthd package == aProjectID ifTrue:[
b17358de5730 initial checkin
fm
parents:
diff changeset
  1308
                    methods add:mthd 
b17358de5730 initial checkin
fm
parents:
diff changeset
  1309
                ]
b17358de5730 initial checkin
fm
parents:
diff changeset
  1310
            ].
b17358de5730 initial checkin
fm
parents:
diff changeset
  1311
        ].
b17358de5730 initial checkin
fm
parents:
diff changeset
  1312
    ].
b17358de5730 initial checkin
fm
parents:
diff changeset
  1313
    ^ methods
b17358de5730 initial checkin
fm
parents:
diff changeset
  1314
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1315
    self searchForExtensionsForProject:#'bosch:dapasx'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1316
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1317
b17358de5730 initial checkin
fm
parents:
diff changeset
  1318
    "Created: / 07-08-2006 / 22:03:55 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1319
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1320
b17358de5730 initial checkin
fm
parents:
diff changeset
  1321
searchForExtensionsWithProject
b17358de5730 initial checkin
fm
parents:
diff changeset
  1322
    ^ self searchForExtensionsForProject:self package
b17358de5730 initial checkin
fm
parents:
diff changeset
  1323
b17358de5730 initial checkin
fm
parents:
diff changeset
  1324
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1325
    self searchForExtensionsWithProject
b17358de5730 initial checkin
fm
parents:
diff changeset
  1326
    DapasXProject searchForExtensionsWithProject
b17358de5730 initial checkin
fm
parents:
diff changeset
  1327
    DapasX_Datenbasis searchForExtensionsWithProject
b17358de5730 initial checkin
fm
parents:
diff changeset
  1328
b17358de5730 initial checkin
fm
parents:
diff changeset
  1329
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1330
b17358de5730 initial checkin
fm
parents:
diff changeset
  1331
    "Created: / 07-08-2006 / 21:03:10 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1332
    "Modified: / 09-08-2006 / 13:01:26 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1333
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1334
b17358de5730 initial checkin
fm
parents:
diff changeset
  1335
searchForProjectsWhichProvideHeaderFiles
b17358de5730 initial checkin
fm
parents:
diff changeset
  1336
      |myPackageID requiredPackages|
b17358de5730 initial checkin
fm
parents:
diff changeset
  1337
b17358de5730 initial checkin
fm
parents:
diff changeset
  1338
      requiredPackages := Set new.
b17358de5730 initial checkin
fm
parents:
diff changeset
  1339
      myPackageID := self package.
b17358de5730 initial checkin
fm
parents:
diff changeset
  1340
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
  1341
      self compiled_classesDo:[:includedClass | 
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1342
            includedClass allSuperclassesDo:[:eachSuperClass |
b17358de5730 initial checkin
fm
parents:
diff changeset
  1343
                ((eachSuperClass package ~= myPackageID)
b17358de5730 initial checkin
fm
parents:
diff changeset
  1344
                and:[ (self moduleOfClass: eachSuperClass) ~= 'stx' ])
b17358de5730 initial checkin
fm
parents:
diff changeset
  1345
                    ifTrue:[
b17358de5730 initial checkin
fm
parents:
diff changeset
  1346
                        eachSuperClass package == Project noProjectID ifFalse:[
b17358de5730 initial checkin
fm
parents:
diff changeset
  1347
                            requiredPackages add:(eachSuperClass package).
b17358de5730 initial checkin
fm
parents:
diff changeset
  1348
                        ]
b17358de5730 initial checkin
fm
parents:
diff changeset
  1349
                    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
  1350
            ]
b17358de5730 initial checkin
fm
parents:
diff changeset
  1351
      ].
b17358de5730 initial checkin
fm
parents:
diff changeset
  1352
      ^ requiredPackages
b17358de5730 initial checkin
fm
parents:
diff changeset
  1353
b17358de5730 initial checkin
fm
parents:
diff changeset
  1354
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1355
    self searchForProjectsWhichProvideHeaderFiles
b17358de5730 initial checkin
fm
parents:
diff changeset
  1356
    DapasX_Datenbasis searchForProjectsWhichProvideHeaderFiles  
b17358de5730 initial checkin
fm
parents:
diff changeset
  1357
"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1358
b17358de5730 initial checkin
fm
parents:
diff changeset
  1359
    "Created: / 09-08-2006 / 16:26:37 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1360
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
  1361
b17358de5730 initial checkin
fm
parents:
diff changeset
  1362
!ProjectDefinition class methodsFor:'xxx'!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1363
b17358de5730 initial checkin
fm
parents:
diff changeset
  1364
try
b17358de5730 initial checkin
fm
parents:
diff changeset
  1365
   ^ 'hhh' , '989898'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1366
b17358de5730 initial checkin
fm
parents:
diff changeset
  1367
    "Created: / 09-08-2006 / 16:50:52 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1368
!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1369
b17358de5730 initial checkin
fm
parents:
diff changeset
  1370
try2
b17358de5730 initial checkin
fm
parents:
diff changeset
  1371
   ^ 1 + 2
b17358de5730 initial checkin
fm
parents:
diff changeset
  1372
b17358de5730 initial checkin
fm
parents:
diff changeset
  1373
    "Created: / 09-08-2006 / 16:53:16 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1374
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
  1375
b17358de5730 initial checkin
fm
parents:
diff changeset
  1376
!ProjectDefinition methodsFor:'others'!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1377
b17358de5730 initial checkin
fm
parents:
diff changeset
  1378
classNames
b17358de5730 initial checkin
fm
parents:
diff changeset
  1379
"This method has been automatically generated"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1380
    ^OrderedCollection new
b17358de5730 initial checkin
fm
parents:
diff changeset
  1381
        add: #'DAPASX::IStreamHierarchyObject'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1382
        add: #'DAPASX::ProjCFHierarchyObject'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1383
        add: #'DAPASX::IStorage'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1384
        add: #'DAPASX::OLECompoundFile'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1385
        add: #'DAPASX::DapasDBIStreamHierarchyObject'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1386
        add: #'DAPASX::OLEStorageElementInterface'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1387
        add: #'DAPASX::CompoundFileHierarchyObject'
b17358de5730 initial checkin
fm
parents:
diff changeset
  1388
        add: #ProjectDefinition
b17358de5730 initial checkin
fm
parents:
diff changeset
  1389
        yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
  1390
b17358de5730 initial checkin
fm
parents:
diff changeset
  1391
    "Created: / 08-08-2006 / 15:22:59 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
  1392
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
  1393
b17358de5730 initial checkin
fm
parents:
diff changeset
  1394
!ProjectDefinition class methodsFor:'documentation'!
b17358de5730 initial checkin
fm
parents:
diff changeset
  1395
b17358de5730 initial checkin
fm
parents:
diff changeset
  1396
version
9513
8b67400ebcf3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9504
diff changeset
  1397
    ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.8 2006-08-10 11:46:09 cg Exp $'
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
  1398
! !