LibraryDefinition.st
author fm
Wed, 16 Aug 2006 17:37:54 +0200
changeset 9540 bd35339a8a02
parent 9538 63ff3d3040dd
child 9543 b4f82498926b
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9526
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     1
"
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     3
              All Rights Reserved
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     4
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     5
 This software is furnished under a license and may be used
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     6
 only in accordance with the terms of that license and with the
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     8
 be provided or otherwise made available to, or used by, any
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
     9
 other person.  No title to or ownership of the software is
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    10
 hereby transferred.
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    11
"
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    12
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    13
"{ Package: 'stx:libbasic3' }"
b17358de5730 initial checkin
fm
parents:
diff changeset
    14
9538
63ff3d3040dd *** empty log message ***
fm
parents: 9534
diff changeset
    15
BuildDefinition subclass:#ProjectDefinition
9533
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
    16
	instanceVariableNames:''
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
    17
	classVariableNames:''
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
    18
	poolDictionaries:''
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
    19
	category:'System-Support-Projects'
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    20
!
b17358de5730 initial checkin
fm
parents:
diff changeset
    21
9526
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    22
!ProjectDefinition class methodsFor:'documentation'!
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    23
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    24
copyright
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    25
"
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    26
 COPYRIGHT (c) 2006 by eXept Software AG
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    27
              All Rights Reserved
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    28
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    29
 This software is furnished under a license and may be used
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    30
 only in accordance with the terms of that license and with the
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    32
 be provided or otherwise made available to, or used by, any
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    33
 other person.  No title to or ownership of the software is
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    34
 hereby transferred.
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    35
"
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
    36
! !
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    37
b17358de5730 initial checkin
fm
parents:
diff changeset
    38
!ProjectDefinition class methodsFor:'instance creation'!
b17358de5730 initial checkin
fm
parents:
diff changeset
    39
b17358de5730 initial checkin
fm
parents:
diff changeset
    40
definitionClassForPackage:aPackageID
9529
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    41
    ^ self definitionClassForPackage:aPackageID createIfAbsent:false
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    42
9529
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    43
    "Modified: / 11-08-2006 / 14:29:21 / cg"
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    44
!
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    45
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    46
definitionClassForPackage:aPackageID createIfAbsent:doCreateIfAbsent
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    47
    |class|
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    48
9529
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    49
    class := Smalltalk at:(aPackageID asString copy replaceAny:':/' with:$_) asSymbol.
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    50
    class isNil ifTrue:[
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    51
        doCreateIfAbsent ifTrue:[
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    52
            ^ self newForPackage:aPackageID    
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    53
        ]
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    54
    ].
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    55
    ^ class.
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    56
9529
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    57
    "Created: / 11-08-2006 / 14:28:51 / cg"
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    58
!
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    59
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    60
newForPackage:packageID
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    61
    ^ self 
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    62
        newNamed:(self initialClassNameForDefinitionOf:packageID) 
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    63
        package:packageID.
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    64
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    65
    "Created: / 11-08-2006 / 14:27:19 / cg"
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
newNamed:newName package:packageID
b17358de5730 initial checkin
fm
parents:
diff changeset
    69
    |newClass|
b17358de5730 initial checkin
fm
parents:
diff changeset
    70
9529
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    71
    "/ for now, we are strict.
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    72
    self assert:(self initialClassNameForDefinitionOf:packageID) = newName.
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    73
    newClass := self
b17358de5730 initial checkin
fm
parents:
diff changeset
    74
                    subclass:(newName asSymbol)
b17358de5730 initial checkin
fm
parents:
diff changeset
    75
                    instanceVariableNames:''
b17358de5730 initial checkin
fm
parents:
diff changeset
    76
                    classVariableNames:''
b17358de5730 initial checkin
fm
parents:
diff changeset
    77
                    poolDictionaries:''
9529
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    78
                    category:(self defaultCategory).
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    79
b17358de5730 initial checkin
fm
parents:
diff changeset
    80
    newClass package:packageID asSymbol.
b17358de5730 initial checkin
fm
parents:
diff changeset
    81
    ^ newClass
b17358de5730 initial checkin
fm
parents:
diff changeset
    82
b17358de5730 initial checkin
fm
parents:
diff changeset
    83
    "Created: / 09-08-2006 / 17:57:37 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
    84
    "Modified: / 09-08-2006 / 19:27:53 / fm"
9529
5f870d05954a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9526
diff changeset
    85
    "Modified: / 11-08-2006 / 14:18:01 / cg"
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    86
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
    87
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
    88
!ProjectDefinition class methodsFor:'defaults'!
9533
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
    89
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
    90
defaultDescription
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
    91
    ^ 'a classLibrary'
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
    92
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
    93
b17358de5730 initial checkin
fm
parents:
diff changeset
    94
!ProjectDefinition class methodsFor:'file generation'!
b17358de5730 initial checkin
fm
parents:
diff changeset
    95
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
    96
fileNamesToGenerate
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
    97
    ^ #( 
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
    98
          #('Make.proto' #'generate_make_dot_proto')
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
    99
          #('Make.spec' #'generate_make_dot_spec')
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   100
          #('libInit.cc' #'generate_libInit_dot_cc')
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   101
          #('bc.def' #'generate_bc_dot_def')
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   102
          #('nt.mak' #'generate_nt_dot_mak')
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   103
          #('nt.def' #'generate_nt_dot_def')
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   104
          #('abbrev.stc' #'generate_abbrev_dot_stc') 
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   105
     )
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   106
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   107
b17358de5730 initial checkin
fm
parents:
diff changeset
   108
!ProjectDefinition class methodsFor:'file templates'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   109
b17358de5730 initial checkin
fm
parents:
diff changeset
   110
bc_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   111
b17358de5730 initial checkin
fm
parents:
diff changeset
   112
^ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   113
'LIBRARY        %(LIBRARY_NAME)
b17358de5730 initial checkin
fm
parents:
diff changeset
   114
DESCRIPTION     %(DESCRIPTION)
b17358de5730 initial checkin
fm
parents:
diff changeset
   115
CODE            PRELOAD MOVEABLE DISCARDABLE
b17358de5730 initial checkin
fm
parents:
diff changeset
   116
SEGMENTS
b17358de5730 initial checkin
fm
parents:
diff changeset
   117
    INITCODE    PRELOAD DISCARDABLE
b17358de5730 initial checkin
fm
parents:
diff changeset
   118
EXPORTS
9530
fm
parents: 9529
diff changeset
   119
    __%(C_LIBRARY_NAME)_Init     @1
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   120
'
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   121
b17358de5730 initial checkin
fm
parents:
diff changeset
   122
    "Created: / 08-08-2006 / 12:26:58 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   123
    "Modified: / 08-08-2006 / 19:32:27 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   124
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   125
b17358de5730 initial checkin
fm
parents:
diff changeset
   126
classLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   127
b17358de5730 initial checkin
fm
parents:
diff changeset
   128
^'_%(CLASS)_Init(pass,__pRT__,snd);'
b17358de5730 initial checkin
fm
parents:
diff changeset
   129
b17358de5730 initial checkin
fm
parents:
diff changeset
   130
    "Created: / 08-08-2006 / 12:51:44 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   131
    "Modified: / 08-08-2006 / 15:46:05 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   132
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   133
b17358de5730 initial checkin
fm
parents:
diff changeset
   134
extensionLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   135
b17358de5730 initial checkin
fm
parents:
diff changeset
   136
^'_%(LIBRARY_NAME)_extensions_Init(pass,__pRT__,snd);'
b17358de5730 initial checkin
fm
parents:
diff changeset
   137
b17358de5730 initial checkin
fm
parents:
diff changeset
   138
    "Created: / 08-08-2006 / 15:48:56 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   139
    "Modified: / 08-08-2006 / 19:32:33 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   140
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   141
b17358de5730 initial checkin
fm
parents:
diff changeset
   142
libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   143
b17358de5730 initial checkin
fm
parents:
diff changeset
   144
^ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   145
'/*
b17358de5730 initial checkin
fm
parents:
diff changeset
   146
 * DO NOT EDIT 
b17358de5730 initial checkin
fm
parents:
diff changeset
   147
 * automagically generated from Make.proto (by make libInit.cc)
b17358de5730 initial checkin
fm
parents:
diff changeset
   148
 */
b17358de5730 initial checkin
fm
parents:
diff changeset
   149
#define __INDIRECTVMINITCALLS__
b17358de5730 initial checkin
fm
parents:
diff changeset
   150
#include <stc.h>
b17358de5730 initial checkin
fm
parents:
diff changeset
   151
#define INIT_TEXT_SECT /* as nothing */
b17358de5730 initial checkin
fm
parents:
diff changeset
   152
#ifdef WIN32
b17358de5730 initial checkin
fm
parents:
diff changeset
   153
# pragma codeseg INITCODE "INITCODE"
b17358de5730 initial checkin
fm
parents:
diff changeset
   154
#else /* not WIN32 */
b17358de5730 initial checkin
fm
parents:
diff changeset
   155
# if defined(__GNUC__) && !!defined(NO_SECTION_ATTRIBUTES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   156
#  if (__GNUC__  == 2 && __GNUC_MINOR__ >= 7) || __GNUC__ > 2
b17358de5730 initial checkin
fm
parents:
diff changeset
   157
#   undef INIT_TEXT_SECT
b17358de5730 initial checkin
fm
parents:
diff changeset
   158
#   define INIT_TEXT_SECT __attribute__((section(".stxitext")))
b17358de5730 initial checkin
fm
parents:
diff changeset
   159
#  endif
b17358de5730 initial checkin
fm
parents:
diff changeset
   160
# endif /* not GNUC */
b17358de5730 initial checkin
fm
parents:
diff changeset
   161
#endif /* not WIN32 */
b17358de5730 initial checkin
fm
parents:
diff changeset
   162
#ifdef INIT_TEXT_SECT
b17358de5730 initial checkin
fm
parents:
diff changeset
   163
extern void _%(LIBRARY_NAME)_Init() INIT_TEXT_SECT;
b17358de5730 initial checkin
fm
parents:
diff changeset
   164
#endif
b17358de5730 initial checkin
fm
parents:
diff changeset
   165
void _%(LIBRARY_NAME)_Init(pass, __pRT__, snd)
b17358de5730 initial checkin
fm
parents:
diff changeset
   166
OBJ snd; struct __vmData__ *__pRT__; {
b17358de5730 initial checkin
fm
parents:
diff changeset
   167
__BEGIN_PACKAGE2__("%(LIBRARY_NAME)", _%(LIBRARY_NAME)_Init, "%(PACKAGE)");
b17358de5730 initial checkin
fm
parents:
diff changeset
   168
%(CLASSES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   169
%(EXTENSION)
b17358de5730 initial checkin
fm
parents:
diff changeset
   170
__END_PACKAGE__();
b17358de5730 initial checkin
fm
parents:
diff changeset
   171
}'
b17358de5730 initial checkin
fm
parents:
diff changeset
   172
b17358de5730 initial checkin
fm
parents:
diff changeset
   173
    "Created: / 08-08-2006 / 12:40:45 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   174
    "Modified: / 08-08-2006 / 19:33:01 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   175
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   176
b17358de5730 initial checkin
fm
parents:
diff changeset
   177
make_dot_proto
b17358de5730 initial checkin
fm
parents:
diff changeset
   178
b17358de5730 initial checkin
fm
parents:
diff changeset
   179
^ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   180
'#
b17358de5730 initial checkin
fm
parents:
diff changeset
   181
# Warning: once you modify this file, do not rerun
b17358de5730 initial checkin
fm
parents:
diff changeset
   182
# stmkmp again - otherwise, your changes are lost.
b17358de5730 initial checkin
fm
parents:
diff changeset
   183
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   184
# The Makefile as generated by this Make.proto supports the following targets:
b17358de5730 initial checkin
fm
parents:
diff changeset
   185
#    make         - compile all st-files to a classLib
b17358de5730 initial checkin
fm
parents:
diff changeset
   186
#    make install - install the classLib in /opt/smalltalk/...
b17358de5730 initial checkin
fm
parents:
diff changeset
   187
#    make clean   - clean all temp files
b17358de5730 initial checkin
fm
parents:
diff changeset
   188
#    make clobber - clean all
b17358de5730 initial checkin
fm
parents:
diff changeset
   189
b17358de5730 initial checkin
fm
parents:
diff changeset
   190
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   191
# position (of this package) in directory hierarchy:
b17358de5730 initial checkin
fm
parents:
diff changeset
   192
# (must point to ST/X top directory, for tools and includes)
b17358de5730 initial checkin
fm
parents:
diff changeset
   193
TOP=%(TOP)
b17358de5730 initial checkin
fm
parents:
diff changeset
   194
b17358de5730 initial checkin
fm
parents:
diff changeset
   195
b17358de5730 initial checkin
fm
parents:
diff changeset
   196
# subdirectories where targets are to be made:
b17358de5730 initial checkin
fm
parents:
diff changeset
   197
SUBDIRS=%(SUBDIRECTORIES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   198
b17358de5730 initial checkin
fm
parents:
diff changeset
   199
b17358de5730 initial checkin
fm
parents:
diff changeset
   200
# subdirectories where Makefiles are to be made:
b17358de5730 initial checkin
fm
parents:
diff changeset
   201
# (only define if different from SUBDIRS)
b17358de5730 initial checkin
fm
parents:
diff changeset
   202
# ALLSUBDIRS=
b17358de5730 initial checkin
fm
parents:
diff changeset
   203
b17358de5730 initial checkin
fm
parents:
diff changeset
   204
b17358de5730 initial checkin
fm
parents:
diff changeset
   205
# if your embedded C code requires any system includes, 
b17358de5730 initial checkin
fm
parents:
diff changeset
   206
# add the path(es) here:, 
b17358de5730 initial checkin
fm
parents:
diff changeset
   207
# ********** OPTIONAL: MODIFY the next lines ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   208
# LOCALINCLUDES=-Ifoo -Ibar
b17358de5730 initial checkin
fm
parents:
diff changeset
   209
LOCALINCLUDES=%(LOCAL_INCLUDES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   210
b17358de5730 initial checkin
fm
parents:
diff changeset
   211
b17358de5730 initial checkin
fm
parents:
diff changeset
   212
# if you need any additional defines for embedded C code, 
b17358de5730 initial checkin
fm
parents:
diff changeset
   213
# add them here:, 
b17358de5730 initial checkin
fm
parents:
diff changeset
   214
# ********** OPTIONAL: MODIFY the next lines ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   215
# LOCALDEFINES=-Dfoo -Dbar -DDEBUG
b17358de5730 initial checkin
fm
parents:
diff changeset
   216
LOCALDEFINES=%(LOCAL_DEFINES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   217
b17358de5730 initial checkin
fm
parents:
diff changeset
   218
b17358de5730 initial checkin
fm
parents:
diff changeset
   219
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   220
# The next 2 defines should be left as-is
b17358de5730 initial checkin
fm
parents:
diff changeset
   221
#  for a class-library package, you can uncomment the following:
b17358de5730 initial checkin
fm
parents:
diff changeset
   222
#  (it does not hurt much, if you leave it as is - but you may NOT
b17358de5730 initial checkin
fm
parents:
diff changeset
   223
#   uncomment it if object files are to be loaded individually later).
b17358de5730 initial checkin
fm
parents:
diff changeset
   224
# INITCODESEPFLAG=$(SEPINITCODE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   225
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   226
#  the following MAY ONLY be uncommented for classes/classLibs,
b17358de5730 initial checkin
fm
parents:
diff changeset
   227
#  which are ALWAYS statically included in the executable.
b17358de5730 initial checkin
fm
parents:
diff changeset
   228
#  (i.e. NEVER for those which are subject to dynamic loading).
b17358de5730 initial checkin
fm
parents:
diff changeset
   229
# COMMONSYMFLAG=$(COMMONSYMBOLS)
b17358de5730 initial checkin
fm
parents:
diff changeset
   230
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   231
STCLOCALOPT=-I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -H. ''-P$(PACKAGE)'' ''-Z$(LIBNAME)'' $(COMMONSYMFLAG) $(INITCODESEPFLAG)
b17358de5730 initial checkin
fm
parents:
diff changeset
   232
b17358de5730 initial checkin
fm
parents:
diff changeset
   233
b17358de5730 initial checkin
fm
parents:
diff changeset
   234
# ********** OPTIONAL: MODIFY the next line ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   235
# additional C-libraries that should be pre-linked with the class-objects
b17358de5730 initial checkin
fm
parents:
diff changeset
   236
LD_OBJ_LIBS=
b17358de5730 initial checkin
fm
parents:
diff changeset
   237
b17358de5730 initial checkin
fm
parents:
diff changeset
   238
b17358de5730 initial checkin
fm
parents:
diff changeset
   239
# ********** OPTIONAL: MODIFY the next line ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   240
# additional C targets or libraries should be added below
b17358de5730 initial checkin
fm
parents:
diff changeset
   241
LOCAL_EXTRA_TARGETS=
b17358de5730 initial checkin
fm
parents:
diff changeset
   242
b17358de5730 initial checkin
fm
parents:
diff changeset
   243
all:: preMake classLibRule postMake
b17358de5730 initial checkin
fm
parents:
diff changeset
   244
b17358de5730 initial checkin
fm
parents:
diff changeset
   245
b17358de5730 initial checkin
fm
parents:
diff changeset
   246
# add more install actions here
b17358de5730 initial checkin
fm
parents:
diff changeset
   247
install::
b17358de5730 initial checkin
fm
parents:
diff changeset
   248
b17358de5730 initial checkin
fm
parents:
diff changeset
   249
# add more install actions for aux-files (resources) here
b17358de5730 initial checkin
fm
parents:
diff changeset
   250
installAux::
b17358de5730 initial checkin
fm
parents:
diff changeset
   251
b17358de5730 initial checkin
fm
parents:
diff changeset
   252
# add more preMake actions here
b17358de5730 initial checkin
fm
parents:
diff changeset
   253
preMake::
b17358de5730 initial checkin
fm
parents:
diff changeset
   254
b17358de5730 initial checkin
fm
parents:
diff changeset
   255
# add more postMake actions here
b17358de5730 initial checkin
fm
parents:
diff changeset
   256
postMake:: cleanjunk
b17358de5730 initial checkin
fm
parents:
diff changeset
   257
b17358de5730 initial checkin
fm
parents:
diff changeset
   258
cleanjunk::
b17358de5730 initial checkin
fm
parents:
diff changeset
   259
b17358de5730 initial checkin
fm
parents:
diff changeset
   260
clean::
b17358de5730 initial checkin
fm
parents:
diff changeset
   261
        -rm -f *.o *.H
b17358de5730 initial checkin
fm
parents:
diff changeset
   262
b17358de5730 initial checkin
fm
parents:
diff changeset
   263
clobber::
b17358de5730 initial checkin
fm
parents:
diff changeset
   264
        -rm -f *.so *.dll
b17358de5730 initial checkin
fm
parents:
diff changeset
   265
b17358de5730 initial checkin
fm
parents:
diff changeset
   266
',
b17358de5730 initial checkin
fm
parents:
diff changeset
   267
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   268
$(INSTALLBASE)::
b17358de5730 initial checkin
fm
parents:
diff changeset
   269
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   270
b17358de5730 initial checkin
fm
parents:
diff changeset
   271
$(INSTALLBASE)/packages:: $(INSTALLBASE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   272
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   273
b17358de5730 initial checkin
fm
parents:
diff changeset
   274
$(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages
b17358de5730 initial checkin
fm
parents:
diff changeset
   275
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   276
b17358de5730 initial checkin
fm
parents:
diff changeset
   277
$(INSTALLBASE)/packages/$(MODULE)/dapasx:: $(INSTALLBASE)/packages/$(MODULE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   278
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   279
b17358de5730 initial checkin
fm
parents:
diff changeset
   280
$(INSTALLBASE)/packages/$(MODULE)/dapasx/interactiver_editor:: $(INSTALLBASE)/packages/$(MODULE)/dapasx
b17358de5730 initial checkin
fm
parents:
diff changeset
   281
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   282
b17358de5730 initial checkin
fm
parents:
diff changeset
   283
$(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   284
        @test -d $@ || mkdir $@
b17358de5730 initial checkin
fm
parents:
diff changeset
   285
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   286
'
b17358de5730 initial checkin
fm
parents:
diff changeset
   287
# if other things are to be compiled,
b17358de5730 initial checkin
fm
parents:
diff changeset
   288
# add target definitions here,
b17358de5730 initial checkin
fm
parents:
diff changeset
   289
# and list them in LOCAL_EXTRA_TARGETS above.
b17358de5730 initial checkin
fm
parents:
diff changeset
   290
# (care for make syntax - TABS are required in the actions)
b17358de5730 initial checkin
fm
parents:
diff changeset
   291
# foo:  foo.o
b17358de5730 initial checkin
fm
parents:
diff changeset
   292
#         $(CC) -o foo foo.o
b17358de5730 initial checkin
fm
parents:
diff changeset
   293
b17358de5730 initial checkin
fm
parents:
diff changeset
   294
# ''make depend'' will add dependency info between
b17358de5730 initial checkin
fm
parents:
diff changeset
   295
# BEGIN...END below
b17358de5730 initial checkin
fm
parents:
diff changeset
   296
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   297
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
b17358de5730 initial checkin
fm
parents:
diff changeset
   298
# ENDMAKEDEPEND --- do not remove this line
b17358de5730 initial checkin
fm
parents:
diff changeset
   299
b17358de5730 initial checkin
fm
parents:
diff changeset
   300
'
b17358de5730 initial checkin
fm
parents:
diff changeset
   301
b17358de5730 initial checkin
fm
parents:
diff changeset
   302
    "Created: / 08-08-2006 / 20:45:36 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   303
    "Modified: / 09-08-2006 / 16:50:23 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   304
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   305
b17358de5730 initial checkin
fm
parents:
diff changeset
   306
make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   307
b17358de5730 initial checkin
fm
parents:
diff changeset
   308
^ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   309
'#
b17358de5730 initial checkin
fm
parents:
diff changeset
   310
# This file contains specifications which are common to all platforms.
b17358de5730 initial checkin
fm
parents:
diff changeset
   311
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   312
# Warning: once you modify this file, do not rerun
b17358de5730 initial checkin
fm
parents:
diff changeset
   313
# stmkmp again - otherwise, your changes are lost.
b17358de5730 initial checkin
fm
parents:
diff changeset
   314
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   315
# This file contains definitions for Unix based platforms.
b17358de5730 initial checkin
fm
parents:
diff changeset
   316
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   317
b17358de5730 initial checkin
fm
parents:
diff changeset
   318
b17358de5730 initial checkin
fm
parents:
diff changeset
   319
b17358de5730 initial checkin
fm
parents:
diff changeset
   320
b17358de5730 initial checkin
fm
parents:
diff changeset
   321
# module and directory-in-module;
b17358de5730 initial checkin
fm
parents:
diff changeset
   322
# these should correspond to the directory hierarchy
b17358de5730 initial checkin
fm
parents:
diff changeset
   323
# location (otherwise, ST/X will have a hard time to
b17358de5730 initial checkin
fm
parents:
diff changeset
   324
# find out the packages location from its packageID)
b17358de5730 initial checkin
fm
parents:
diff changeset
   325
MODULE=%(MODULE)
b17358de5730 initial checkin
fm
parents:
diff changeset
   326
MODULE_DIR=%(MODULE_DIRECTORY)
b17358de5730 initial checkin
fm
parents:
diff changeset
   327
b17358de5730 initial checkin
fm
parents:
diff changeset
   328
b17358de5730 initial checkin
fm
parents:
diff changeset
   329
# the name of your classLibrary:
b17358de5730 initial checkin
fm
parents:
diff changeset
   330
# ********** REQUIRED: CHECK the next line ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   331
LIBNAME=%(LIBRARY_NAME)
b17358de5730 initial checkin
fm
parents:
diff changeset
   332
b17358de5730 initial checkin
fm
parents:
diff changeset
   333
b17358de5730 initial checkin
fm
parents:
diff changeset
   334
# the package is stored as an ID in classes and methods
b17358de5730 initial checkin
fm
parents:
diff changeset
   335
# to identify code belonging to this project.
b17358de5730 initial checkin
fm
parents:
diff changeset
   336
# It also specifies the position in the source repository
b17358de5730 initial checkin
fm
parents:
diff changeset
   337
# and directory tree, when packages are loaded by packageID.
b17358de5730 initial checkin
fm
parents:
diff changeset
   338
# ********** REQUIRED: CHECK the next line ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   339
PACKAGE=$(MODULE):$(MODULE_DIR)
b17358de5730 initial checkin
fm
parents:
diff changeset
   340
b17358de5730 initial checkin
fm
parents:
diff changeset
   341
b17358de5730 initial checkin
fm
parents:
diff changeset
   342
# Argument(s) to the stc compiler.
b17358de5730 initial checkin
fm
parents:
diff changeset
   343
#  -H.         : create header files locally
b17358de5730 initial checkin
fm
parents:
diff changeset
   344
#                (if removed, they will be created as common
b17358de5730 initial checkin
fm
parents:
diff changeset
   345
#  -Pxxx       : defines the package
b17358de5730 initial checkin
fm
parents:
diff changeset
   346
#  -Zxxx       : a prefix for variables within the classLib
b17358de5730 initial checkin
fm
parents:
diff changeset
   347
#  -Dxxx       : defines passed to to CC for inline C-code
b17358de5730 initial checkin
fm
parents:
diff changeset
   348
#  -Ixxx       : include path passed to CC for inline C-code
b17358de5730 initial checkin
fm
parents:
diff changeset
   349
#  +optspace   : optimized for space
b17358de5730 initial checkin
fm
parents:
diff changeset
   350
#  +optspace2  : optimized more for space
b17358de5730 initial checkin
fm
parents:
diff changeset
   351
#  +optspace3  : optimized even more for space
b17358de5730 initial checkin
fm
parents:
diff changeset
   352
#  +optinline  : generate inline code for some ST constructs
b17358de5730 initial checkin
fm
parents:
diff changeset
   353
#  +inlineNew  : additionally inline new
b17358de5730 initial checkin
fm
parents:
diff changeset
   354
#  +inlineMath : additionally inline some floatPnt math stuff
b17358de5730 initial checkin
fm
parents:
diff changeset
   355
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   356
# ********** OPTIONAL: MODIFY the next line(s) ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   357
# STCLOCALOPTIMIZATIONS=+optinline +inlineNew
b17358de5730 initial checkin
fm
parents:
diff changeset
   358
# STCLOCALOPTIMIZATIONS=+optspace3
b17358de5730 initial checkin
fm
parents:
diff changeset
   359
STCLOCALOPTIMIZATIONS=+optspace3
b17358de5730 initial checkin
fm
parents:
diff changeset
   360
b17358de5730 initial checkin
fm
parents:
diff changeset
   361
b17358de5730 initial checkin
fm
parents:
diff changeset
   362
# Argument(s) to the stc compiler.
b17358de5730 initial checkin
fm
parents:
diff changeset
   363
#  -warn            : no warnings
b17358de5730 initial checkin
fm
parents:
diff changeset
   364
#  -warnNonStandard : no warnings about ST/X extensions
b17358de5730 initial checkin
fm
parents:
diff changeset
   365
#  -warnEOLComments : no warnings about EOL comment extension
b17358de5730 initial checkin
fm
parents:
diff changeset
   366
#  -warnPrivacy     : no warnings about privateClass extension
b17358de5730 initial checkin
fm
parents:
diff changeset
   367
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   368
# ********** OPTIONAL: MODIFY the next line(s) ***
b17358de5730 initial checkin
fm
parents:
diff changeset
   369
# STCWARNINGS=-warn
b17358de5730 initial checkin
fm
parents:
diff changeset
   370
# STCWARNINGS=-warnNonStandard
b17358de5730 initial checkin
fm
parents:
diff changeset
   371
# STCWARNINGS=-warnEOLComments
b17358de5730 initial checkin
fm
parents:
diff changeset
   372
STCWARNINGS=
b17358de5730 initial checkin
fm
parents:
diff changeset
   373
b17358de5730 initial checkin
fm
parents:
diff changeset
   374
OBJS= \
b17358de5730 initial checkin
fm
parents:
diff changeset
   375
%(OBJECTS)
b17358de5730 initial checkin
fm
parents:
diff changeset
   376
'
b17358de5730 initial checkin
fm
parents:
diff changeset
   377
b17358de5730 initial checkin
fm
parents:
diff changeset
   378
    "Created: / 08-08-2006 / 19:31:29 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   379
    "Modified: / 09-08-2006 / 15:10:57 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   380
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   381
b17358de5730 initial checkin
fm
parents:
diff changeset
   382
nt_dot_def
b17358de5730 initial checkin
fm
parents:
diff changeset
   383
b17358de5730 initial checkin
fm
parents:
diff changeset
   384
^
b17358de5730 initial checkin
fm
parents:
diff changeset
   385
'LIBRARY        %(LIBRARY_NAME)
b17358de5730 initial checkin
fm
parents:
diff changeset
   386
DESCRIPTION     %(DESCRIPTION)
b17358de5730 initial checkin
fm
parents:
diff changeset
   387
VERSION         %(VERSION_NUMBER)
b17358de5730 initial checkin
fm
parents:
diff changeset
   388
CODE            EXECUTE READ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   389
DATA            READ WRITE
b17358de5730 initial checkin
fm
parents:
diff changeset
   390
SECTIONS
b17358de5730 initial checkin
fm
parents:
diff changeset
   391
    INITCODE    READ EXECUTE 
b17358de5730 initial checkin
fm
parents:
diff changeset
   392
    INITDATA    READ WRITE
b17358de5730 initial checkin
fm
parents:
diff changeset
   393
EXPORTS 
b17358de5730 initial checkin
fm
parents:
diff changeset
   394
    _%(LIBRARY_NAME)_Init      @1
b17358de5730 initial checkin
fm
parents:
diff changeset
   395
IMPORTS'
b17358de5730 initial checkin
fm
parents:
diff changeset
   396
b17358de5730 initial checkin
fm
parents:
diff changeset
   397
    "Modified: / 08-08-2006 / 19:33:14 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   398
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   399
b17358de5730 initial checkin
fm
parents:
diff changeset
   400
nt_dot_mak
b17358de5730 initial checkin
fm
parents:
diff changeset
   401
b17358de5730 initial checkin
fm
parents:
diff changeset
   402
^
b17358de5730 initial checkin
fm
parents:
diff changeset
   403
'#
b17358de5730 initial checkin
fm
parents:
diff changeset
   404
# This file contains make rules for the win32 platform (using borland-bcc).
b17358de5730 initial checkin
fm
parents:
diff changeset
   405
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   406
# Warning: once you modify this file, do not rerun
b17358de5730 initial checkin
fm
parents:
diff changeset
   407
# stmkmp again - otherwise, your changes are lost.
b17358de5730 initial checkin
fm
parents:
diff changeset
   408
#
b17358de5730 initial checkin
fm
parents:
diff changeset
   409
TOP=%(TOP)
b17358de5730 initial checkin
fm
parents:
diff changeset
   410
b17358de5730 initial checkin
fm
parents:
diff changeset
   411
!!INCLUDE $(TOP)\rules\stdHeader_nt
b17358de5730 initial checkin
fm
parents:
diff changeset
   412
b17358de5730 initial checkin
fm
parents:
diff changeset
   413
!!INCLUDE Make.spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   414
b17358de5730 initial checkin
fm
parents:
diff changeset
   415
LOCALINCLUDES=%(LOCAL_INCLUDES)
b17358de5730 initial checkin
fm
parents:
diff changeset
   416
b17358de5730 initial checkin
fm
parents:
diff changeset
   417
STCLOCALOPT=-I. $(LOCALINCLUDES) -H. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) ''-P$(PACKAGE)'' ''-Z$(LIBNAME)'' $(COMMONSYMFLAG) $(INITCODESEPFLAG)
b17358de5730 initial checkin
fm
parents:
diff changeset
   418
b17358de5730 initial checkin
fm
parents:
diff changeset
   419
ALL::  $(LIBJPEG) $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll
b17358de5730 initial checkin
fm
parents:
diff changeset
   420
b17358de5730 initial checkin
fm
parents:
diff changeset
   421
!!INCLUDE $(TOP)\rules\stdRules_nt
b17358de5730 initial checkin
fm
parents:
diff changeset
   422
b17358de5730 initial checkin
fm
parents:
diff changeset
   423
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
b17358de5730 initial checkin
fm
parents:
diff changeset
   424
# ENDMAKEDEPEND --- do not remove this line
b17358de5730 initial checkin
fm
parents:
diff changeset
   425
'
b17358de5730 initial checkin
fm
parents:
diff changeset
   426
b17358de5730 initial checkin
fm
parents:
diff changeset
   427
    "Created: / 09-08-2006 / 11:44:20 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   428
    "Modified: / 09-08-2006 / 19:59:32 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   429
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   430
b17358de5730 initial checkin
fm
parents:
diff changeset
   431
objectLine_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   432
b17358de5730 initial checkin
fm
parents:
diff changeset
   433
^'    %(CLASS).$(O) \'
b17358de5730 initial checkin
fm
parents:
diff changeset
   434
b17358de5730 initial checkin
fm
parents:
diff changeset
   435
    "Created: / 08-08-2006 / 20:16:46 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   436
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   437
b17358de5730 initial checkin
fm
parents:
diff changeset
   438
!ProjectDefinition class methodsFor:'mappings'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   439
b17358de5730 initial checkin
fm
parents:
diff changeset
   440
bc_dot_def_mappings
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   441
    ^ (super bc_dot_def_mappings)
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   442
        at:#'LIBRARY_NAME' put:[ self libraryName ];
9530
fm
parents: 9529
diff changeset
   443
        at:#'C_LIBRARY_NAME' put:[ self st2c:self libraryName ];
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   444
        yourself
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   445
b17358de5730 initial checkin
fm
parents:
diff changeset
   446
    "Created: / 09-08-2006 / 11:17:59 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   447
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   448
b17358de5730 initial checkin
fm
parents:
diff changeset
   449
classLine_libInit_dot_cc_mappings: aClassName
b17358de5730 initial checkin
fm
parents:
diff changeset
   450
b17358de5730 initial checkin
fm
parents:
diff changeset
   451
^Dictionary new                                               
9530
fm
parents: 9529
diff changeset
   452
    at: #'CLASS' put: [self st2c:aClassName];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   453
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   454
b17358de5730 initial checkin
fm
parents:
diff changeset
   455
    "Created: / 08-08-2006 / 14:04:00 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   456
    "Modified: / 09-08-2006 / 18:27:07 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   457
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   458
b17358de5730 initial checkin
fm
parents:
diff changeset
   459
extensionLine_libInit_dot_cc_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   460
b17358de5730 initial checkin
fm
parents:
diff changeset
   461
^Dictionary new                                               
b17358de5730 initial checkin
fm
parents:
diff changeset
   462
    at: #'LIBRARY_NAME' put: [self libraryName];
b17358de5730 initial checkin
fm
parents:
diff changeset
   463
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   464
b17358de5730 initial checkin
fm
parents:
diff changeset
   465
    "Created: / 09-08-2006 / 11:19:59 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   466
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   467
b17358de5730 initial checkin
fm
parents:
diff changeset
   468
libInit_dot_cc_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   469
b17358de5730 initial checkin
fm
parents:
diff changeset
   470
^Dictionary new
9530
fm
parents: 9529
diff changeset
   471
    at: #'LIBRARY_NAME' put: [self st2c:self libraryName];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   472
    at: #'PACKAGE' put: [self package];
b17358de5730 initial checkin
fm
parents:
diff changeset
   473
    at: #'CLASSES' put: [self generateClassLines_libInit_dot_cc];
b17358de5730 initial checkin
fm
parents:
diff changeset
   474
    at: #'EXTENSION' put: [self generateExtensionLine_libInit_dot_cc];
b17358de5730 initial checkin
fm
parents:
diff changeset
   475
b17358de5730 initial checkin
fm
parents:
diff changeset
   476
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   477
b17358de5730 initial checkin
fm
parents:
diff changeset
   478
    "Created: / 09-08-2006 / 11:20:24 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   479
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   480
b17358de5730 initial checkin
fm
parents:
diff changeset
   481
make_dot_proto_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   482
b17358de5730 initial checkin
fm
parents:
diff changeset
   483
^Dictionary new
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   484
    at: #'TOP' put: [self unixPathToTop];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   485
    at: #'SUBDIRECTORIES' put: [self generateSubDirectories];
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   486
    at: #'LOCAL_INCLUDES' put: [self generateUnixLocalIncludes];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   487
    at: #'LOCAL_DEFINES' put: [''];
b17358de5730 initial checkin
fm
parents:
diff changeset
   488
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   489
b17358de5730 initial checkin
fm
parents:
diff changeset
   490
    "Created: / 09-08-2006 / 11:20:45 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   491
    "Modified: / 09-08-2006 / 16:44:48 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   492
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   493
b17358de5730 initial checkin
fm
parents:
diff changeset
   494
make_dot_spec_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   495
b17358de5730 initial checkin
fm
parents:
diff changeset
   496
^Dictionary new
b17358de5730 initial checkin
fm
parents:
diff changeset
   497
    at: #'MODULE' put: [self module];  
b17358de5730 initial checkin
fm
parents:
diff changeset
   498
    at: #'MODULE_DIRECTORY' put: [self moduleDirectory];  
b17358de5730 initial checkin
fm
parents:
diff changeset
   499
    at: #'LIBRARY_NAME' put: [self libraryName];
b17358de5730 initial checkin
fm
parents:
diff changeset
   500
    at: #'OBJECTS' put: [self generateObjects_make_dot_spec];  
b17358de5730 initial checkin
fm
parents:
diff changeset
   501
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   502
b17358de5730 initial checkin
fm
parents:
diff changeset
   503
    "Created: / 09-08-2006 / 11:21:06 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   504
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   505
b17358de5730 initial checkin
fm
parents:
diff changeset
   506
nt_dot_def_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   507
b17358de5730 initial checkin
fm
parents:
diff changeset
   508
^Dictionary new
b17358de5730 initial checkin
fm
parents:
diff changeset
   509
    at: #'LIBRARY_NAME' put: [self libraryName];
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   510
    at: #'DESCRIPTION' put: [self description storeString];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   511
    at: #'VERSION_NUMBER' put: [self versionNumber];
b17358de5730 initial checkin
fm
parents:
diff changeset
   512
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   513
b17358de5730 initial checkin
fm
parents:
diff changeset
   514
    "Created: / 09-08-2006 / 11:21:21 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   515
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   516
b17358de5730 initial checkin
fm
parents:
diff changeset
   517
nt_dot_mak_mappings
b17358de5730 initial checkin
fm
parents:
diff changeset
   518
b17358de5730 initial checkin
fm
parents:
diff changeset
   519
^Dictionary new
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   520
    at: #'TOP' put: [self msdosPathToTop]; 
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   521
    at: #'LOCAL_INCLUDES' put: [self generateMsdosLocalIncludes];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   522
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   523
b17358de5730 initial checkin
fm
parents:
diff changeset
   524
    "Created: / 09-08-2006 / 11:44:36 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   525
    "Modified: / 09-08-2006 / 20:00:01 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   526
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   527
b17358de5730 initial checkin
fm
parents:
diff changeset
   528
objectLine_make_dot_spec_mappings: aClassName
b17358de5730 initial checkin
fm
parents:
diff changeset
   529
b17358de5730 initial checkin
fm
parents:
diff changeset
   530
^Dictionary new                                               
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   531
    at: #'CLASS' put: [(Smalltalk classNamed:aClassName) classFilename asFilename withoutSuffix baseName];
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   532
    yourself
b17358de5730 initial checkin
fm
parents:
diff changeset
   533
b17358de5730 initial checkin
fm
parents:
diff changeset
   534
    "Created: / 08-08-2006 / 20:17:28 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   535
    "Modified: / 09-08-2006 / 18:26:52 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   536
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   537
9530
fm
parents: 9529
diff changeset
   538
st2c:aString
fm
parents: 9529
diff changeset
   539
        ^ (aString asString
fm
parents: 9529
diff changeset
   540
            copyReplaceString:'_' withString:('_',($_ codePoint printStringRadix:8)))
fm
parents: 9529
diff changeset
   541
                replaceAny:':' with:$_
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   542
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   543
b17358de5730 initial checkin
fm
parents:
diff changeset
   544
!ProjectDefinition class methodsFor:'mappings support'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   545
b17358de5730 initial checkin
fm
parents:
diff changeset
   546
generateClassLines_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   547
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   548
^self compiled_classNames 
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   549
    inject: ''
b17358de5730 initial checkin
fm
parents:
diff changeset
   550
    into:[:classLines :className | 
b17358de5730 initial checkin
fm
parents:
diff changeset
   551
        |newClassLine mappings|
b17358de5730 initial checkin
fm
parents:
diff changeset
   552
        mappings := self classLine_libInit_dot_cc_mappings: className.
b17358de5730 initial checkin
fm
parents:
diff changeset
   553
        newClassLine := self replaceMappings: mappings  
b17358de5730 initial checkin
fm
parents:
diff changeset
   554
                            in: self classLine_libInit_dot_cc.
b17358de5730 initial checkin
fm
parents:
diff changeset
   555
        classLines concatenate: newClassLine 
b17358de5730 initial checkin
fm
parents:
diff changeset
   556
                    and: String lf
b17358de5730 initial checkin
fm
parents:
diff changeset
   557
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   558
b17358de5730 initial checkin
fm
parents:
diff changeset
   559
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   560
    DapasXProject generateClassLines_libInit_dot_cc
9530
fm
parents: 9529
diff changeset
   561
    bosch_dapasx_datenbasis_Definition  generateClassLines_libInit_dot_cc
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   562
b17358de5730 initial checkin
fm
parents:
diff changeset
   563
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   564
b17358de5730 initial checkin
fm
parents:
diff changeset
   565
    "Created: / 09-08-2006 / 11:21:48 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   566
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   567
b17358de5730 initial checkin
fm
parents:
diff changeset
   568
generateExtensionLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   569
      |mappings|
b17358de5730 initial checkin
fm
parents:
diff changeset
   570
^self extensionMethodNames isEmpty
b17358de5730 initial checkin
fm
parents:
diff changeset
   571
    ifTrue:['']
b17358de5730 initial checkin
fm
parents:
diff changeset
   572
    ifFalse:[ mappings := self extensionLine_libInit_dot_cc_mappings.
b17358de5730 initial checkin
fm
parents:
diff changeset
   573
              self replaceMappings: mappings  
b17358de5730 initial checkin
fm
parents:
diff changeset
   574
                            in: self extensionLine_libInit_dot_cc.]
b17358de5730 initial checkin
fm
parents:
diff changeset
   575
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   576
    DapasXProject generateExtensionLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   577
    DapasX_Datenbasis generateExtensionLine_libInit_dot_cc
b17358de5730 initial checkin
fm
parents:
diff changeset
   578
b17358de5730 initial checkin
fm
parents:
diff changeset
   579
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   580
b17358de5730 initial checkin
fm
parents:
diff changeset
   581
    "Created: / 09-08-2006 / 11:23:34 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   582
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   583
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   584
generateMsdosLocalIncludes
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   585
b17358de5730 initial checkin
fm
parents:
diff changeset
   586
^self searchForProjectsWhichProvideHeaderFiles
b17358de5730 initial checkin
fm
parents:
diff changeset
   587
    inject: ''
b17358de5730 initial checkin
fm
parents:
diff changeset
   588
    into:[:objectLines :includeProjectName |    
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   589
            objectLines , ' -I',(self msdosPathToPackage: includeProjectName) 
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   590
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   591
b17358de5730 initial checkin
fm
parents:
diff changeset
   592
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   593
    DapasXProject generateLocalIncludes
b17358de5730 initial checkin
fm
parents:
diff changeset
   594
    DapasX_Datenbasis generateLocalIncludes
b17358de5730 initial checkin
fm
parents:
diff changeset
   595
b17358de5730 initial checkin
fm
parents:
diff changeset
   596
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   597
b17358de5730 initial checkin
fm
parents:
diff changeset
   598
    "Created: / 09-08-2006 / 16:46:49 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   599
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   600
b17358de5730 initial checkin
fm
parents:
diff changeset
   601
generateObjects_make_dot_spec 
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   602
    |pivateClassesOf classes|
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   603
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   604
    classes := self compiled_classes.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   605
    pivateClassesOf := IdentityDictionary new.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   606
    classes do:[:each | pivateClassesOf at:each put:(each allPrivateClasses)].
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   607
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   608
    classes topologicalSort:[:a :b |
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   609
        "/ a must come before b iff:
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   610
        "/    b is a subclass of a
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   611
        "/    b has a private class which is a subclass of a
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   612
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   613
        |mustComeBefore pivateClassesOfB|
9533
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
   614
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
   615
        mustComeBefore := false.                        
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
   616
        (a isSharedPool and:[(b sharedPools includes: a name)]) ifTrue:[
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
   617
            mustComeBefore := true
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
   618
        ].
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
   619
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
   620
        mustComeBefore := mustComeBefore or:[b isSubclassOf:a].
9504
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   621
        pivateClassesOfB := pivateClassesOf at:b.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   622
        pivateClassesOfB do:[:eachClassInB |
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   623
            mustComeBefore := mustComeBefore or:[eachClassInB isSubclassOf:a]
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   624
        ].
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   625
        mustComeBefore
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   626
    ].
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   627
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   628
    ^ String streamContents:[:s |
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   629
        classes do:[:eachClass |
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   630
            |mappings newObjectLine|
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   631
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   632
            mappings := self objectLine_make_dot_spec_mappings: eachClass name.
b89c84c60e86 *** empty log message ***
fm
parents: 9503
diff changeset
   633
            newObjectLine := self replaceMappings: mappings in: self objectLine_make_dot_spec.
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   634
            s nextPutLine:newObjectLine. 
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   635
        ].
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   636
        self extensionMethodNames notEmpty
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   637
            ifTrue:[
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   638
                s nextPutLine:'    extensions.$(O) \'. 
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   639
            ]
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   640
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   641
"
9533
fae577b43add *** empty log message ***
fm
parents: 9530
diff changeset
   642
    bosch_dapasx_hw_schnittstellen_Definition generateObjects_make_dot_spec
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   643
    DapasXProject generateObjects_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   644
    DapasX_Datenbasis generateObjects_make_dot_spec
b17358de5730 initial checkin
fm
parents:
diff changeset
   645
b17358de5730 initial checkin
fm
parents:
diff changeset
   646
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   647
b17358de5730 initial checkin
fm
parents:
diff changeset
   648
    "Created: / 09-08-2006 / 11:24:39 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   649
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   650
b17358de5730 initial checkin
fm
parents:
diff changeset
   651
generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   652
b17358de5730 initial checkin
fm
parents:
diff changeset
   653
^self prerequisiteProjects
b17358de5730 initial checkin
fm
parents:
diff changeset
   654
    inject: ''
b17358de5730 initial checkin
fm
parents:
diff changeset
   655
    into:[:objectLines :subProjectName |    
b17358de5730 initial checkin
fm
parents:
diff changeset
   656
        objectLines
b17358de5730 initial checkin
fm
parents:
diff changeset
   657
            concatenate: String lf
b17358de5730 initial checkin
fm
parents:
diff changeset
   658
            and: ' -I'
b17358de5730 initial checkin
fm
parents:
diff changeset
   659
            and: subProjectName 
b17358de5730 initial checkin
fm
parents:
diff changeset
   660
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   661
b17358de5730 initial checkin
fm
parents:
diff changeset
   662
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   663
    DapasXProject generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   664
    DapasX_Datenbasis generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   665
b17358de5730 initial checkin
fm
parents:
diff changeset
   666
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   667
b17358de5730 initial checkin
fm
parents:
diff changeset
   668
    "Created: / 09-08-2006 / 12:34:20 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   669
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   670
b17358de5730 initial checkin
fm
parents:
diff changeset
   671
generateSubDirectories
b17358de5730 initial checkin
fm
parents:
diff changeset
   672
b17358de5730 initial checkin
fm
parents:
diff changeset
   673
^self subProjects 
b17358de5730 initial checkin
fm
parents:
diff changeset
   674
    inject: ''
b17358de5730 initial checkin
fm
parents:
diff changeset
   675
    into:[:objectLines :subProjectName |    
b17358de5730 initial checkin
fm
parents:
diff changeset
   676
        objectLines
b17358de5730 initial checkin
fm
parents:
diff changeset
   677
            concatenate: ' '
b17358de5730 initial checkin
fm
parents:
diff changeset
   678
            and: subProjectName 
b17358de5730 initial checkin
fm
parents:
diff changeset
   679
    ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   680
b17358de5730 initial checkin
fm
parents:
diff changeset
   681
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   682
    DapasXProject generateSubDirectories
b17358de5730 initial checkin
fm
parents:
diff changeset
   683
    DapasX_Datenbasis generateSubDirectories
b17358de5730 initial checkin
fm
parents:
diff changeset
   684
b17358de5730 initial checkin
fm
parents:
diff changeset
   685
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   686
b17358de5730 initial checkin
fm
parents:
diff changeset
   687
    "Created: / 09-08-2006 / 11:26:59 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   688
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   689
9503
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   690
generateUnixLocalIncludes
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   691
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   692
^self searchForProjectsWhichProvideHeaderFiles
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   693
    inject: ''
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   694
    into:[:objectLines :includeProjectName |    
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   695
            objectLines , ' -I',(self unixPathToPackage: includeProjectName) 
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   696
    ]
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   697
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   698
"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   699
    DapasXProject generateLocalIncludes
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   700
    DapasX_Datenbasis generateLocalIncludes
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   701
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   702
"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   703
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   704
    "Created: / 09-08-2006 / 16:46:49 / fm"
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   705
!
fd9bf4b0b073 *** empty log message ***
fm
parents: 9502
diff changeset
   706
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   707
prerequisiteProjectsOrdered
b17358de5730 initial checkin
fm
parents:
diff changeset
   708
b17358de5730 initial checkin
fm
parents:
diff changeset
   709
^self prerequisiteProjects asSortedCollection:[:a :b | ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   710
b17358de5730 initial checkin
fm
parents:
diff changeset
   711
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   712
    DapasXProject generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   713
    DapasX_Datenbasis generatePrerequisiteProjectsPaths
b17358de5730 initial checkin
fm
parents:
diff changeset
   714
b17358de5730 initial checkin
fm
parents:
diff changeset
   715
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   716
b17358de5730 initial checkin
fm
parents:
diff changeset
   717
    "Created: / 09-08-2006 / 13:12:01 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   718
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   719
b17358de5730 initial checkin
fm
parents:
diff changeset
   720
!ProjectDefinition class methodsFor:'sanity checks'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   721
b17358de5730 initial checkin
fm
parents:
diff changeset
   722
searchForInconsistencies
b17358de5730 initial checkin
fm
parents:
diff changeset
   723
    self searchForNeverCompiledSuperclasses.
b17358de5730 initial checkin
fm
parents:
diff changeset
   724
b17358de5730 initial checkin
fm
parents:
diff changeset
   725
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   726
    self searchForInconsistencies
b17358de5730 initial checkin
fm
parents:
diff changeset
   727
    DapasX_Datenbasis searchForInconsistencies  
b17358de5730 initial checkin
fm
parents:
diff changeset
   728
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   729
b17358de5730 initial checkin
fm
parents:
diff changeset
   730
    "Created: / 09-08-2006 / 16:30:46 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   731
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   732
b17358de5730 initial checkin
fm
parents:
diff changeset
   733
searchForNeverCompiledSuperclasses
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   734
      self compiled_classesDo:[:includedClass | 
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   735
            includedClass allSuperclassesDo:[:eachSuperClass |
b17358de5730 initial checkin
fm
parents:
diff changeset
   736
                eachSuperClass package == Project noProjectID ifTrue:[ 
b17358de5730 initial checkin
fm
parents:
diff changeset
   737
                    self inconsistency:'uncompiled superclass: ' , eachSuperClass name
b17358de5730 initial checkin
fm
parents:
diff changeset
   738
                ].
b17358de5730 initial checkin
fm
parents:
diff changeset
   739
            ]
b17358de5730 initial checkin
fm
parents:
diff changeset
   740
      ].
b17358de5730 initial checkin
fm
parents:
diff changeset
   741
b17358de5730 initial checkin
fm
parents:
diff changeset
   742
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   743
    self searchForNeverCompiledSuperclasses
b17358de5730 initial checkin
fm
parents:
diff changeset
   744
    DapasX_Datenbasis searchForNeverCompiledSuperclasses  
b17358de5730 initial checkin
fm
parents:
diff changeset
   745
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   746
b17358de5730 initial checkin
fm
parents:
diff changeset
   747
    "Created: / 09-08-2006 / 16:31:54 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   748
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   749
b17358de5730 initial checkin
fm
parents:
diff changeset
   750
!ProjectDefinition class methodsFor:'update description'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   751
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   752
autoloadedClassNamesGeneratedCodeToCompile
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   753
    |classNamesCode|
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   754
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   755
   classNamesCode := 'autoloaded_classNames', String lf, '"This method has been automatically generated"'.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   756
   classNamesCode := classNamesCode, String lf, self autoloadedClassNamesGeneratedString. 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   757
   ^classNamesCode
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   758
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   759
"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   760
    DapasXProject autoloadedClassNamesGeneratedCodeToCompile
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   761
    DapasX_Datenbasis autoloadedClassNamesGeneratedCodeToCompile
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   762
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   763
"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   764
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   765
    "Created: / 08-08-2006 / 15:07:06 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   766
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   767
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   768
autoloadedClassNamesGeneratedString
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   769
    | |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   770
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   771
    ^ String streamContents:[:s |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   772
        s nextPutAll:'^#('.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   773
        self searchForClassesWithProject do:[:eachClass |
9530
fm
parents: 9529
diff changeset
   774
            (false "eachClass wasAutoloaded" or:[ eachClass isLoaded not ]) ifTrue:[
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   775
                (self compiled_classNames includes:eachClass name) ifFalse:[
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   776
                    (self excluded_classNames includes:eachClass name) ifFalse:[
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   777
                        s cr; nextPutAll:eachClass name asString storeString
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   778
                    ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   779
                ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   780
             ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   781
        ].
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   782
        s cr; nextPutAll:')'
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   783
    ].
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   784
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   785
"
9526
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
   786
    bosch_dapasx_interactiver_editor autoloadedClassNamesGeneratedString
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   787
"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   788
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   789
    "Created: / 08-08-2006 / 15:00:17 / fm"
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   790
    "Modified: / 08-08-2006 / 19:24:34 / fm"
9526
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
   791
    "Modified: / 11-08-2006 / 14:01:23 / cg"
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   792
!
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   793
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   794
classNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
   795
    |classNamesCode|
b17358de5730 initial checkin
fm
parents:
diff changeset
   796
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   797
   classNamesCode := 'compiled_classNames', String lf, '"This method has been automatically generated"'.
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   798
   classNamesCode := classNamesCode, String lf, self classNamesGeneratedString. 
b17358de5730 initial checkin
fm
parents:
diff changeset
   799
   ^classNamesCode
b17358de5730 initial checkin
fm
parents:
diff changeset
   800
b17358de5730 initial checkin
fm
parents:
diff changeset
   801
"
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   802
    DapasXProject Datenbasis
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   803
    DapasX_Datenbasis Datenbasis
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   804
b17358de5730 initial checkin
fm
parents:
diff changeset
   805
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   806
b17358de5730 initial checkin
fm
parents:
diff changeset
   807
    "Created: / 08-08-2006 / 15:07:06 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   808
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   809
b17358de5730 initial checkin
fm
parents:
diff changeset
   810
classNamesGeneratedString
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   811
    | |
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   812
9495
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   813
    ^ String streamContents:[:s |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   814
        s nextPutAll:'^#('.
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   815
        self searchForClassesWithProject do:[:eachClass |
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   816
            (self autoloaded_classNames includes:eachClass name) ifFalse:[ 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   817
                (self excluded_classNames includes:eachClass name) ifFalse:[ 
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   818
                    s cr; nextPutAll:eachClass name asString storeString
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   819
                 ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   820
             ]
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   821
        ].
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   822
        s cr; nextPutAll:')'
36b012644f9d *** empty log message ***
fm
parents: 9493
diff changeset
   823
    ].
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   824
b17358de5730 initial checkin
fm
parents:
diff changeset
   825
"
9526
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
   826
    bosch_dapasx_interactiver_editor classNamesGeneratedString
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   827
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   828
b17358de5730 initial checkin
fm
parents:
diff changeset
   829
    "Created: / 08-08-2006 / 15:00:17 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   830
    "Modified: / 08-08-2006 / 19:24:34 / fm"
9526
6760ab786028 changed name from '..._Definition' to '...'
Claus Gittinger <cg@exept.de>
parents: 9517
diff changeset
   831
    "Modified: / 11-08-2006 / 14:01:26 / cg"
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   832
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   833
b17358de5730 initial checkin
fm
parents:
diff changeset
   834
extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
   835
    |extensionMethodNamesCode|
b17358de5730 initial checkin
fm
parents:
diff changeset
   836
b17358de5730 initial checkin
fm
parents:
diff changeset
   837
   extensionMethodNamesCode := 'extensionMethodNames', String lf, '"This method has been automatically generated"'.
b17358de5730 initial checkin
fm
parents:
diff changeset
   838
   extensionMethodNamesCode := extensionMethodNamesCode, String lf, self extensionMethodNamesGeneratedString. 
b17358de5730 initial checkin
fm
parents:
diff changeset
   839
   ^extensionMethodNamesCode
b17358de5730 initial checkin
fm
parents:
diff changeset
   840
b17358de5730 initial checkin
fm
parents:
diff changeset
   841
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   842
    DapasXProject extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
   843
    DapasX_Datenbasis extensionMethodNamesGeneratedCodeToCompile
b17358de5730 initial checkin
fm
parents:
diff changeset
   844
b17358de5730 initial checkin
fm
parents:
diff changeset
   845
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   846
b17358de5730 initial checkin
fm
parents:
diff changeset
   847
    "Created: / 08-08-2006 / 18:54:42 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   848
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   849
b17358de5730 initial checkin
fm
parents:
diff changeset
   850
extensionMethodNamesGeneratedString
b17358de5730 initial checkin
fm
parents:
diff changeset
   851
    |generatedString |
b17358de5730 initial checkin
fm
parents:
diff changeset
   852
b17358de5730 initial checkin
fm
parents:
diff changeset
   853
    generatedString := self searchForExtensionsWithProject 
b17358de5730 initial checkin
fm
parents:
diff changeset
   854
            inject: '^#(' 
b17358de5730 initial checkin
fm
parents:
diff changeset
   855
            into:[:string :each | 
b17358de5730 initial checkin
fm
parents:
diff changeset
   856
                string, String lf, each mclass name asString storeString, ' #', each name ]. 
b17358de5730 initial checkin
fm
parents:
diff changeset
   857
    ^generatedString, String lf, ')'
b17358de5730 initial checkin
fm
parents:
diff changeset
   858
b17358de5730 initial checkin
fm
parents:
diff changeset
   859
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   860
    self extensionMethodNamesGeneratedString
b17358de5730 initial checkin
fm
parents:
diff changeset
   861
"
b17358de5730 initial checkin
fm
parents:
diff changeset
   862
b17358de5730 initial checkin
fm
parents:
diff changeset
   863
    "Created: / 08-08-2006 / 18:55:04 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   864
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   865
9514
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   866
forEachMethodsCodeToCompileDo:aTwoArgBlock
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   867
    aTwoArgBlock 
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   868
        value:self autoloadedClassNamesGeneratedCodeToCompile
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   869
        value:'description'.
9514
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   870
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   871
   aTwoArgBlock
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   872
        value: self classNamesGeneratedCodeToCompile
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   873
        value: 'description'.
9514
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   874
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   875
   (self theMetaclass includesSelector:#excluded_classNames) ifFalse:[
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   876
       aTwoArgBlock
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   877
            value: 'excluded_classNames\^ #()' withCRs
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   878
            value: 'description'.
9514
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   879
   ].
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   880
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   881
   aTwoArgBlock 
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   882
        value: self extensionMethodNamesGeneratedCodeToCompile
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   883
        value: 'description'.
9514
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   884
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   885
"/   aTwoArgBlock 
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   886
"/        value: 'description ^''bla bla'''
9534
b326ffacb811 *** empty log message ***
fm
parents: 9533
diff changeset
   887
"/        value: 'description'
9514
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   888
761b3f12d37c hook for compilation
Claus Gittinger <cg@exept.de>
parents: 9513
diff changeset
   889
    "Created: / 10-08-2006 / 16:35:47 / cg"
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   890
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   891
b17358de5730 initial checkin
fm
parents:
diff changeset
   892
!ProjectDefinition class methodsFor:'xxx'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   893
b17358de5730 initial checkin
fm
parents:
diff changeset
   894
try
b17358de5730 initial checkin
fm
parents:
diff changeset
   895
   ^ 'hhh' , '989898'
b17358de5730 initial checkin
fm
parents:
diff changeset
   896
b17358de5730 initial checkin
fm
parents:
diff changeset
   897
    "Created: / 09-08-2006 / 16:50:52 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   898
!
b17358de5730 initial checkin
fm
parents:
diff changeset
   899
b17358de5730 initial checkin
fm
parents:
diff changeset
   900
try2
b17358de5730 initial checkin
fm
parents:
diff changeset
   901
   ^ 1 + 2
b17358de5730 initial checkin
fm
parents:
diff changeset
   902
b17358de5730 initial checkin
fm
parents:
diff changeset
   903
    "Created: / 09-08-2006 / 16:53:16 / fm"
b17358de5730 initial checkin
fm
parents:
diff changeset
   904
! !
b17358de5730 initial checkin
fm
parents:
diff changeset
   905
b17358de5730 initial checkin
fm
parents:
diff changeset
   906
!ProjectDefinition class methodsFor:'documentation'!
b17358de5730 initial checkin
fm
parents:
diff changeset
   907
b17358de5730 initial checkin
fm
parents:
diff changeset
   908
version
9540
bd35339a8a02 *** empty log message ***
fm
parents: 9538
diff changeset
   909
    ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.18 2006-08-16 15:37:54 fm Exp $'
9493
b17358de5730 initial checkin
fm
parents:
diff changeset
   910
! !