--- a/LibraryDefinition.st Mon Oct 26 21:51:17 2009 +0000
+++ b/LibraryDefinition.st Thu Nov 05 14:41:30 2009 +0000
@@ -117,6 +117,110 @@
"Modified: / 19-09-2006 / 22:41:40 / cg"
! !
+!LibraryDefinition class methodsFor:'file mappings'!
+
+bc_dot_mak_mappings
+ |d resFileName|
+
+ resFileName := (self package copyFrom:(self package lastIndexOfAny:':/')+1),'.res'.
+
+ d := super bc_dot_mak_mappings.
+ d
+ at: 'LIBRARY_NAME' put: ( self libraryName );
+ at: 'COMMONSYMFLAG' put: (self commonSymbolsFlag);
+ at: 'HEADEROUTPUTARG' put: (self headerFileOutputArg);
+ at: 'RESFILENAME' put: resFileName;
+ at: 'DEPENDENCIES' put: (self generateDependencies_win32);
+ yourself.
+ ^ d.
+
+ "Created: / 09-08-2006 / 11:44:36 / fm"
+ "Modified: / 09-08-2006 / 20:00:01 / fm"
+ "Modified: / 14-09-2006 / 18:58:15 / cg"
+!
+
+extensionLine_libInit_dot_cc_mappings
+
+^Dictionary new
+ at: 'LIBRARY_NAME' put: ( self st2c:(self package copy asString replaceAny:':/' with:$_) );
+ yourself
+
+ "Created: / 09-08-2006 / 11:19:59 / fm"
+ "Modified: / 14-09-2006 / 18:56:26 / cg"
+!
+
+libInit_dot_cc_mappings
+
+^Dictionary new
+ at: 'LIBRARY_NAME' put: (self libraryName);
+ at: 'PACKAGE' put: (self package);
+ at: 'CLASSES' put: (self generateClassLines_libInit_dot_cc);
+ at: 'EXTENSION' put: (self generateExtensionLine_libInit_dot_cc);
+
+ yourself
+
+ "Created: / 09-08-2006 / 11:20:24 / fm"
+ "Modified: / 16-08-2006 / 18:19:03 / User"
+ "Modified: / 14-09-2006 / 18:56:42 / cg"
+!
+
+vc_dot_def_mappings
+
+^Dictionary new
+ at: 'LIBRARY_NAME' put: (self libraryName);
+ at: 'DESCRIPTION' put: (self description asString storeString);
+ at: 'VERSION_NUMBER' put: (self versionNumber);
+ yourself
+
+ "Created: / 09-08-2006 / 11:21:21 / fm"
+ "Modified: / 14-09-2006 / 18:58:07 / cg"
+! !
+
+!LibraryDefinition class methodsFor:'file mappings support'!
+
+commonSymbolsFlag
+ "some libraries are compiled with COMMONSYMBOLS -
+ This saves a lot of space in the generated dll/so files;
+ However, it also requires the librun to be rebuilt, whenever one of
+ the commonSymbols-libs changes.
+ Therefore, NEVER do this for end-user or application libraries;
+ ONLY do it for a subset of the predefined, eXept-provided standard stx libraries"
+
+ (
+ #(
+ 'stx:libbasic' 'stx:libview' 'stx:libtool'
+ 'stx:libbasic2' 'stx:libview2' 'stx:libtool2'
+ 'stx:libbasic3' 'stx:libwidg' 'stx:libhtml'
+ 'stx:libcomp' 'stx:libwidg2' 'stx:libui'
+ 'stx:libboss' 'stx:libdb'
+ )
+ includes:self package) ifTrue:[
+ ^ '$(COMMONSYMBOLS)'
+ ].
+ ^ ''
+
+ "Created: / 18-08-2006 / 13:01:52 / cg"
+ "Modified: / 23-08-2006 / 09:48:11 / cg"
+!
+
+generateExtensionLine_libInit_dot_cc
+ |mappings|
+
+ ^self hasExtensionMethods
+ ifFalse:['']
+ ifTrue:[
+ mappings := self extensionLine_libInit_dot_cc_mappings.
+ self replaceMappings: mappings in: self extensionLine_libInit_dot_cc.]
+
+ "
+ DapasXProject generateExtensionLine_libInit_dot_cc
+ DapasX_Datenbasis generateExtensionLine_libInit_dot_cc
+ "
+
+ "Created: / 09-08-2006 / 11:23:34 / fm"
+ "Modified: / 14-09-2006 / 14:19:59 / cg"
+! !
+
!LibraryDefinition class methodsFor:'file templates'!
bc_dot_def
@@ -394,110 +498,6 @@
"Modified: / 08-08-2006 / 19:33:14 / fm"
! !
-!LibraryDefinition class methodsFor:'mappings'!
-
-bc_dot_mak_mappings
- |d resFileName|
-
- resFileName := (self package copyFrom:(self package lastIndexOfAny:':/')+1),'.res'.
-
- d := super bc_dot_mak_mappings.
- d
- at: 'LIBRARY_NAME' put: ( self libraryName );
- at: 'COMMONSYMFLAG' put: (self commonSymbolsFlag);
- at: 'HEADEROUTPUTARG' put: (self headerFileOutputArg);
- at: 'RESFILENAME' put: resFileName;
- at: 'DEPENDENCIES' put: (self generateDependencies_win32);
- yourself.
- ^ d.
-
- "Created: / 09-08-2006 / 11:44:36 / fm"
- "Modified: / 09-08-2006 / 20:00:01 / fm"
- "Modified: / 14-09-2006 / 18:58:15 / cg"
-!
-
-extensionLine_libInit_dot_cc_mappings
-
-^Dictionary new
- at: 'LIBRARY_NAME' put: ( self st2c:(self package copy asString replaceAny:':/' with:$_) );
- yourself
-
- "Created: / 09-08-2006 / 11:19:59 / fm"
- "Modified: / 14-09-2006 / 18:56:26 / cg"
-!
-
-libInit_dot_cc_mappings
-
-^Dictionary new
- at: 'LIBRARY_NAME' put: (self libraryName);
- at: 'PACKAGE' put: (self package);
- at: 'CLASSES' put: (self generateClassLines_libInit_dot_cc);
- at: 'EXTENSION' put: (self generateExtensionLine_libInit_dot_cc);
-
- yourself
-
- "Created: / 09-08-2006 / 11:20:24 / fm"
- "Modified: / 16-08-2006 / 18:19:03 / User"
- "Modified: / 14-09-2006 / 18:56:42 / cg"
-!
-
-vc_dot_def_mappings
-
-^Dictionary new
- at: 'LIBRARY_NAME' put: (self libraryName);
- at: 'DESCRIPTION' put: (self description asString storeString);
- at: 'VERSION_NUMBER' put: (self versionNumber);
- yourself
-
- "Created: / 09-08-2006 / 11:21:21 / fm"
- "Modified: / 14-09-2006 / 18:58:07 / cg"
-! !
-
-!LibraryDefinition class methodsFor:'mappings support'!
-
-commonSymbolsFlag
- "some libraries are compiled with COMMONSYMBOLS -
- This saves a lot of space in the generated dll/so files;
- However, it also requires the librun to be rebuilt, whenever one of
- the commonSymbols-libs changes.
- Therefore, NEVER do this for end-user or application libraries;
- ONLY do it for a subset of the predefined, eXept-provided standard stx libraries"
-
- (
- #(
- 'stx:libbasic' 'stx:libview' 'stx:libtool'
- 'stx:libbasic2' 'stx:libview2' 'stx:libtool2'
- 'stx:libbasic3' 'stx:libwidg' 'stx:libhtml'
- 'stx:libcomp' 'stx:libwidg2' 'stx:libui'
- 'stx:libboss' 'stx:libdb'
- )
- includes:self package) ifTrue:[
- ^ '$(COMMONSYMBOLS)'
- ].
- ^ ''
-
- "Created: / 18-08-2006 / 13:01:52 / cg"
- "Modified: / 23-08-2006 / 09:48:11 / cg"
-!
-
-generateExtensionLine_libInit_dot_cc
- |mappings|
-
- ^self hasExtensionMethods
- ifFalse:['']
- ifTrue:[
- mappings := self extensionLine_libInit_dot_cc_mappings.
- self replaceMappings: mappings in: self extensionLine_libInit_dot_cc.]
-
- "
- DapasXProject generateExtensionLine_libInit_dot_cc
- DapasX_Datenbasis generateExtensionLine_libInit_dot_cc
- "
-
- "Created: / 09-08-2006 / 11:23:34 / fm"
- "Modified: / 14-09-2006 / 14:19:59 / cg"
-! !
-
!LibraryDefinition class methodsFor:'misc ui support'!
iconInBrowserSymbol
@@ -570,15 +570,19 @@
canHaveExtensions
"return true, if this class allows extensions from other packages.
- Private classes, namespaces and projectDefinitions dont allow this"
+ Private classes, namespaces and projectDefinitions don't allow this"
- ^ self == ApplicationDefinition
+ ^ self == LibraryDefinition
"
Smalltalk allClasses select:[:each | each canHaveExtensions not]
"
"Created: / 30-08-2006 / 15:29:53 / cg"
+!
+
+projectType
+ ^ LibraryType
! !
!LibraryDefinition class methodsFor:'sanity checks'!
@@ -613,6 +617,10 @@
!LibraryDefinition class methodsFor:'testing'!
+isAbstract
+ ^ self == LibraryDefinition
+!
+
isLibraryDefinition
^ self ~~ LibraryDefinition
@@ -640,10 +648,11 @@
!LibraryDefinition class methodsFor:'documentation'!
version
- ^ '$Id: LibraryDefinition.st 10473 2009-10-24 15:48:19Z vranyj1 $'
+ ^ '$Id: LibraryDefinition.st 10477 2009-11-05 14:41:30Z vranyj1 $'
!
version_CVS
- ^ '§Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.93 2009/10/12 17:26:27 cg Exp §'
+ ^ '$Id: LibraryDefinition.st 10477 2009-11-05 14:41:30Z vranyj1 $'
! !
+