LibraryDefinition.st
changeset 9576 9ff741fe7271
parent 9568 7d41a61ebd34
child 9582 8753d32d0969
--- a/LibraryDefinition.st	Fri Aug 18 13:07:17 2006 +0200
+++ b/LibraryDefinition.st	Fri Aug 18 13:07:23 2006 +0200
@@ -41,6 +41,20 @@
     ^ 'a classLibrary'
 ! !
 
+!LibraryDefinition class methodsFor:'description - project information'!
+
+description
+    "Returns a description string which will appear in nt.def / bc.def"
+
+    self module = 'stx' ifTrue:[
+        ^ 'Smalltalk/X Class library'
+    ].
+
+    self subclassResponsibility
+
+    "Created: / 17-08-2006 / 20:52:16 / cg"
+! !
+
 !LibraryDefinition class methodsFor:'file generation'!
 
 fileNamesToGenerate
@@ -50,14 +64,20 @@
           #('libInit.cc' #'generate_libInit_dot_cc')
           #('bc.def' #'generate_bc_dot_def')
           #('nt.mak' #'generate_nt_dot_mak')
+"
           #('nt.def' #'generate_nt_dot_def')
+"
           #('abbrev.stc' #'generate_abbrev_dot_stc') 
+          #('bmake.bat'  #'generate_bmake_dot_mak') 
      )
+
+    "Modified: / 17-08-2006 / 20:03:00 / cg"
 ! !
 
 !LibraryDefinition class methodsFor:'file templates'!
 
 bc_dot_def
+    "the template code for the bc.def file"
 
 ^ 
 'LIBRARY        %(LIBRARY_NAME)
@@ -71,6 +91,7 @@
 
     "Created: / 08-08-2006 / 12:26:58 / fm"
     "Modified: / 08-08-2006 / 19:32:27 / fm"
+    "Modified: / 17-08-2006 / 20:05:24 / cg"
 !
 
 classLine_libInit_dot_cc
@@ -90,11 +111,14 @@
 !
 
 libInit_dot_cc
+    "the template code for the libInit.cc file"
 
 ^ 
 '/*
+ * $','Header','$
+ *
  * DO NOT EDIT 
- * automagically generated from Make.proto (by make libInit.cc)
+ * automagically generated from the projectDefinition: ',self name,'.
  */
 #define __INDIRECTVMINITCALLS__
 #include <stc.h>
@@ -122,20 +146,76 @@
 
     "Created: / 08-08-2006 / 12:40:45 / fm"
     "Modified: / 08-08-2006 / 19:33:01 / fm"
+    "Modified: / 18-08-2006 / 12:57:02 / cg"
+!
+
+lib_dot_rc
+
+^ 
+'/*------------------------------------------------------------------------
+ * $','Header','$                                                            
+ *
+ * DO NOT EDIT 
+ * automagically generated from the projectDefinition: ',self name,'.
+ *------------------------------------------------------------------------*/
+
+// #if (__BORLANDC__ < 0x0550)
+// #include <ver.h>
+// #endif
+
+VS_VERSION_INFO VERSIONINFO
+  FILEVERSION     %(FILEVERSION)
+  PRODUCTVERSION  %(PRODUCTVERSION)
+  FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
+  FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
+  FILEOS          VOS_NT_WINDOWS32
+  FILETYPE        %(FILETYPE)
+  FILESUBTYPE     VS_USER_DEFINED
+
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "040904E4"
+    BEGIN
+      VALUE "CompanyName", %(COMPANYNAME)
+      VALUE "FileDescription", "Smalltalk/X Additional Developer Basic Classes Library\0"
+      VALUE "FileVersion", "5.2.8.1\0"
+      VALUE "InternalName", "libbasic3\0"
+      VALUE "LegalCopyright", "Copyright eXept Software AG 1998-2006\0"
+      VALUE "ProductName", "Smalltalk/X\0"
+      VALUE "ProductVersion", "5.2.8.1\0"
+    END
+
+  END
+
+  BLOCK "VarFileInfo"
+  BEGIN                               //  Language   |    Translation
+    VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
+  END
+END
+'
+
+    "Created: / 17-08-2006 / 19:37:50 / cg"
+    "Modified: / 18-08-2006 / 12:57:09 / cg"
 !
 
 make_dot_proto
 
 ^ 
-'#
+'# $','Header','$
+#
+# DO NOT EDIT 
+# automagically generated from the projectDefinition: ',self name,'.
+#
 # Warning: once you modify this file, do not rerun
-# stmkmp again - otherwise, your changes are lost.
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
 #
 # The Makefile as generated by this Make.proto supports the following targets:
 #    make         - compile all st-files to a classLib
-#    make install - install the classLib in /opt/smalltalk/...
 #    make clean   - clean all temp files
 #    make clobber - clean all
+#
+# This file contains definitions for Unix based platforms.
 
 #
 # position (of this package) in directory hierarchy:
@@ -208,30 +288,30 @@
 cleanjunk::
 
 clean::
-        -rm -f *.o *.H
+%(TAB)-rm -f *.o *.H
 
 clobber::
-        -rm -f *.so *.dll
+%(TAB)-rm -f *.so *.dll
 
 ',
 "
 $(INSTALLBASE)::
-        @test -d $@ || mkdir $@
+%(TAB)@test -d $@ || mkdir $@
 
 $(INSTALLBASE)/packages:: $(INSTALLBASE)
-        @test -d $@ || mkdir $@
+%(TAB)@test -d $@ || mkdir $@
 
 $(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages
-        @test -d $@ || mkdir $@
+%(TAB)@test -d $@ || mkdir $@
 
 $(INSTALLBASE)/packages/$(MODULE)/dapasx:: $(INSTALLBASE)/packages/$(MODULE)
-        @test -d $@ || mkdir $@
+%(TAB)@test -d $@ || mkdir $@
 
 $(INSTALLBASE)/packages/$(MODULE)/dapasx/interactiver_editor:: $(INSTALLBASE)/packages/$(MODULE)/dapasx
-        @test -d $@ || mkdir $@
+%(TAB)@test -d $@ || mkdir $@
 
 $(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE)
-        @test -d $@ || mkdir $@
+%(TAB)@test -d $@ || mkdir $@
 "
 '
 # if other things are to be compiled,
@@ -239,7 +319,7 @@
 # and list them in LOCAL_EXTRA_TARGETS above.
 # (care for make syntax - TABS are required in the actions)
 # foo:  foo.o
-#         $(CC) -o foo foo.o
+#%(TAB)$(CC) -o foo foo.o
 
 # ''make depend'' will add dependency info between
 # BEGIN...END below
@@ -251,45 +331,33 @@
 
     "Created: / 08-08-2006 / 20:45:36 / fm"
     "Modified: / 09-08-2006 / 16:50:23 / fm"
+    "Modified: / 18-08-2006 / 12:57:19 / cg"
 !
 
 make_dot_spec
 
 ^ 
-'#
-# This file contains specifications which are common to all platforms.
+'# $','Header','$
+#
+# DO NOT EDIT 
+# automagically generated from the projectDefinition: ',self name,'.
 #
 # Warning: once you modify this file, do not rerun
-# stmkmp again - otherwise, your changes are lost.
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
 #
-# This file contains definitions for Unix based platforms.
+# This file contains specifications which are common to all platforms.
 #
 
-
-
-
-# module and directory-in-module;
-# these should correspond to the directory hierarchy
-# location (otherwise, ST/X will have a hard time to
-# find out the packages location from its packageID)
+# Do NOT CHANGE THESE DEFINITIONS
+# (otherwise, ST/X will have a hard time to find out the packages location from its packageID,
+#  to find the source code of a class and to find the library for a package)
 MODULE=%(MODULE)
 MODULE_DIR=%(MODULE_DIRECTORY)
-
-
-# the name of your classLibrary:
-# ********** REQUIRED: CHECK the next line ***
 LIBNAME=%(LIBRARY_NAME)
-
-
-# the package is stored as an ID in classes and methods
-# to identify code belonging to this project.
-# It also specifies the position in the source repository
-# and directory tree, when packages are loaded by packageID.
-# ********** REQUIRED: CHECK the next line ***
 PACKAGE=$(MODULE):$(MODULE_DIR)
 
 
-# Argument(s) to the stc compiler.
+# Argument(s) to the stc compiler (stc --usage).
 #  -H.         : create header files locally
 #                (if removed, they will be created as common
 #  -Pxxx       : defines the package
@@ -306,10 +374,10 @@
 # ********** OPTIONAL: MODIFY the next line(s) ***
 # STCLOCALOPTIMIZATIONS=+optinline +inlineNew
 # STCLOCALOPTIMIZATIONS=+optspace3
-STCLOCALOPTIMIZATIONS=+optspace3
+STCLOCALOPTIMIZATIONS=%(STCOPTIMIZATIONOPTIONS)
 
 
-# Argument(s) to the stc compiler.
+# Argument(s) to the stc compiler (stc --usage).
 #  -warn            : no warnings
 #  -warnNonStandard : no warnings about ST/X extensions
 #  -warnEOLComments : no warnings about EOL comment extension
@@ -319,7 +387,8 @@
 # STCWARNINGS=-warn
 # STCWARNINGS=-warnNonStandard
 # STCWARNINGS=-warnEOLComments
-STCWARNINGS=
+STCWARNINGS=%(STCWARNINGOPTIONS)
+
 
 OBJS= \
 %(OBJECTS)
@@ -327,6 +396,7 @@
 
     "Created: / 08-08-2006 / 19:31:29 / fm"
     "Modified: / 09-08-2006 / 15:10:57 / fm"
+    "Modified: / 18-08-2006 / 12:56:33 / cg"
 !
 
 nt_dot_def
@@ -350,11 +420,15 @@
 nt_dot_mak
 
 ^
-'#
-# This file contains make rules for the win32 platform (using borland-bcc).
+'# $','Header','$
+#
+# DO NOT EDIT 
+# automagically generated from the projectDefinition: ',self name,'.
 #
 # Warning: once you modify this file, do not rerun
-# stmkmp again - otherwise, your changes are lost.
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# This file contains make rules for the win32 platform (using borland-bcc).
 #
 TOP=%(TOP)
 
@@ -365,8 +439,10 @@
 LOCALINCLUDES=%(LOCAL_INCLUDES)
 
 STCLOCALOPT=-I. $(LOCALINCLUDES) -H. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) ''-P$(PACKAGE)'' ''-Z$(LIBNAME)'' $(COMMONSYMFLAG) $(INITCODESEPFLAG)
+RESFILENAME=$(LIBNAME).res
+RESFILES=%(RESFILENAME)
 
-ALL::  $(LIBJPEG) $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll
+ALL::  $(LIBDIR)\$(LIBNAME).lib $(BINDIR)\$(LIBNAME).dll
 
 !!INCLUDE $(TOP)\rules\stdRules_nt
 
@@ -376,6 +452,7 @@
 
     "Created: / 09-08-2006 / 11:44:20 / fm"
     "Modified: / 09-08-2006 / 19:59:32 / fm"
+    "Modified: / 18-08-2006 / 12:57:32 / cg"
 !
 
 objectLine_make_dot_spec
@@ -430,29 +507,43 @@
     "Modified: / 16-08-2006 / 18:19:03 / User"
 !
 
-make_dot_proto_mappings
+lib_dot_rc_mappings
 
 ^Dictionary new
-    at: #'TOP' put: [self unixPathToTop];
-    at: #'SUBDIRECTORIES' put: [self generateSubDirectories];
-    at: #'LOCAL_INCLUDES' put: [self generateUnixLocalIncludes];
-    at: #'LOCAL_DEFINES' put: [''];
+    at: #'FILEVERSION' put: ['5,2,8,1'];
+    at: #'PRODUCTVERSION' put: ['5,2,8,1'];
+    at: #'FILETYPE' put: 'VFT_DLL';
     yourself
 
+    "Created: / 17-08-2006 / 19:35:05 / cg"
+!
+
+make_dot_proto_mappings
+    ^ Dictionary new
+        at: #'TAB' put: ( Character tab asString );
+        at: #'TOP' put: ( self unixPathToTop );
+        at: #'SUBDIRECTORIES' put: [self generateSubDirectories];
+        at: #'LOCAL_INCLUDES' put: [self generateUnixLocalIncludes];
+        at: #'LOCAL_DEFINES' put: '';
+        at: #'COMMONSYMFLAG' put: (self commonSymbolsFlag);
+        yourself
+
     "Created: / 09-08-2006 / 11:20:45 / fm"
     "Modified: / 09-08-2006 / 16:44:48 / fm"
+    "Modified: / 18-08-2006 / 12:59:05 / cg"
 !
 
 make_dot_spec_mappings
+    |d|
 
-^Dictionary new
-    at: #'MODULE' put: [self module];  
-    at: #'MODULE_DIRECTORY' put: [self moduleDirectory];  
-    at: #'LIBRARY_NAME' put: [self libraryName];
-    at: #'OBJECTS' put: [self generateObjects_make_dot_spec];  
-    yourself
+    d := super make_dot_spec_mappings.
+    d
+        at: #'LIBRARY_NAME' put: ( self libraryName );
+        at: #'OBJECTS' put: [self generateObjects_make_dot_spec].
+    ^ d
 
     "Created: / 09-08-2006 / 11:21:06 / fm"
+    "Modified: / 18-08-2006 / 11:45:18 / cg"
 !
 
 nt_dot_def_mappings
@@ -467,14 +558,18 @@
 !
 
 nt_dot_mak_mappings
+    |d|
 
-^Dictionary new
-    at: #'TOP' put: [self msdosPathToTop]; 
-    at: #'LOCAL_INCLUDES' put: [self generateMsdosLocalIncludes];
-    yourself
+    d := super nt_dot_mak_mappings.
+    d
+        at: #'LOCAL_INCLUDES' put: [self generateMsdosLocalIncludes];
+        at: #'COMMONSYMFLAG' put: (self commonSymbolsFlag);
+        at: #'RESFILENAME' put:'RESFILENAME'.
+    ^ d.
 
     "Created: / 09-08-2006 / 11:44:36 / fm"
     "Modified: / 09-08-2006 / 20:00:01 / fm"
+    "Modified: / 18-08-2006 / 13:03:50 / cg"
 !
 
 objectLine_make_dot_spec_mappings: aClassName
@@ -495,61 +590,84 @@
 
 !LibraryDefinition class methodsFor:'mappings support'!
 
-generateClassLines_libInit_dot_cc
+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"
 
-^self compiled_classNames 
-    inject: ''
-    into:[:classLines :className | 
-        |newClassLine mappings|
+    (
+        #(
+            'stx:libbasic'        'stx:libview'         'stx:libtool'   
+            'stx:libbasic2'       'stx:libview2'        'stx:libtool2'
+            'stx:libbasic3'       'stx:libwidg'         'stx:libhtml'
+            'stx:libcomp'         'stx:libwidg2'        'stx:libui'
+        )
+    includes:self package) ifTrue:[
+        ^ '$(COMMONSYMBOLS)'
+    ].
+    ^ ''
 
-        mappings := self classLine_libInit_dot_cc_mappings: className.
-        newClassLine := self replaceMappings: mappings  
-                            in: self classLine_libInit_dot_cc.
-        classLines concatenate: newClassLine 
-                    and: String lf
+    "Created: / 18-08-2006 / 13:01:52 / cg"
+!
+
+generateClassLines_libInit_dot_cc
+    ^ String streamContents:[:s |
+        self compiled_classNames do:[:className | 
+            |newClassLine mappings|
+
+            mappings := self classLine_libInit_dot_cc_mappings: className.
+            newClassLine := self replaceMappings:mappings in:self classLine_libInit_dot_cc.
+            s nextPutLine: newClassLine 
+        ]
     ]
 
-"
-    bosch_dapasx_datenbasis  generateClassLines_libInit_dot_cc
-    bosch_dapasx_kernel  generateClassLines_libInit_dot_cc
-
-"
+    "
+     bosch_dapasx_datenbasis  generateClassLines_libInit_dot_cc
+     bosch_dapasx_kernel  generateClassLines_libInit_dot_cc
+     stx_libbasic3 generateClassLines_libInit_dot_cc
+    "
 
     "Created: / 09-08-2006 / 11:21:48 / fm"
     "Modified: / 16-08-2006 / 18:52:10 / User"
+    "Modified: / 18-08-2006 / 11:59:44 / cg"
 !
 
 generateExtensionLine_libInit_dot_cc
-      |mappings|
-^self extensionMethodNames isEmpty
-    ifTrue:['']
-    ifFalse:[ 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
+    |mappings|
 
-"
+    ^self extensionMethodNames isEmpty
+        ifTrue:['']
+        ifFalse:[ 
+            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: / 18-08-2006 / 12:00:18 / cg"
 !
 
 generateMsdosLocalIncludes
-
-^self searchForProjectsWhichProvideHeaderFiles
-    inject: ''
-    into:[:objectLines :includeProjectName |    
-            objectLines , ' -I',(self msdosPathToPackage: includeProjectName) 
+    ^ String streamContents:[:s |
+        self searchForProjectsWhichProvideHeaderFiles
+            do:[:includeProjectName |    
+                s nextPutAll:' -I',(self msdosPathToPackage: includeProjectName) 
+            ]
     ]
 
-"
-    DapasXProject generateLocalIncludes
-    DapasX_Datenbasis generateLocalIncludes
-
-"
+    "
+     DapasXProject generateLocalIncludes
+     DapasX_Datenbasis generateLocalIncludes
+    "
 
     "Created: / 09-08-2006 / 16:46:49 / fm"
+    "Modified: / 18-08-2006 / 11:58:40 / cg"
 !
 
 generateObjects_make_dot_spec 
@@ -602,73 +720,38 @@
     "Created: / 09-08-2006 / 11:24:39 / fm"
 !
 
-generatePrerequisiteProjectsPaths
-
-^self prerequisiteProjects
-    inject: ''
-    into:[:objectLines :subProjectName |    
-        objectLines
-            concatenate: String lf
-            and: ' -I'
-            and: subProjectName 
+generateSubDirectories
+    ^ String streamContents:[:s |
+        self subProjects 
+            do:[:subProjectName |    
+                s space; nextPutAll:subProjectName
+            ]
     ]
 
-"
-    DapasXProject generatePrerequisiteProjectsPaths
-    DapasX_Datenbasis generatePrerequisiteProjectsPaths
-
-"
-
-    "Created: / 09-08-2006 / 12:34:20 / fm"
-!
-
-generateSubDirectories
-
-^self subProjects 
-    inject: ''
-    into:[:objectLines :subProjectName |    
-        objectLines
-            concatenate: ' '
-            and: subProjectName 
-    ]
-
-"
-    DapasXProject generateSubDirectories
-    DapasX_Datenbasis generateSubDirectories
-
-"
+    "
+     DapasXProject generateSubDirectories
+     DapasX_Datenbasis generateSubDirectories
+    "
 
     "Created: / 09-08-2006 / 11:26:59 / fm"
+    "Modified: / 18-08-2006 / 11:59:32 / cg"
 !
 
 generateUnixLocalIncludes
-
-^self searchForProjectsWhichProvideHeaderFiles
-    inject: ''
-    into:[:objectLines :includeProjectName |    
-            objectLines , ' -I',(self unixPathToPackage: includeProjectName) 
+    ^ String streamContents:[:s |
+        self searchForProjectsWhichProvideHeaderFiles
+            do:[:includeProjectName |    
+                s nextPutAll:' -I',(self unixPathToPackage: includeProjectName) 
+            ]
     ]
 
-"
-    DapasXProject generateLocalIncludes
-    DapasX_Datenbasis generateLocalIncludes
-
-"
+    "
+     DapasXProject generateLocalIncludes
+     DapasX_Datenbasis generateLocalIncludes
+    "
 
     "Created: / 09-08-2006 / 16:46:49 / fm"
-!
-
-prerequisiteProjectsOrdered
-
-^self prerequisiteProjects asSortedCollection:[:a :b | ]
-
-"
-    DapasXProject generatePrerequisiteProjectsPaths
-    DapasX_Datenbasis generatePrerequisiteProjectsPaths
-
-"
-
-    "Created: / 09-08-2006 / 13:12:01 / fm"
+    "Modified: / 18-08-2006 / 11:58:45 / cg"
 ! !
 
 !LibraryDefinition class methodsFor:'sanity checks'!
@@ -711,127 +794,92 @@
 
 !LibraryDefinition class methodsFor:'update description'!
 
-autoloadedClassNamesGeneratedCodeToCompile
-    |classNamesCode|
-
-   classNamesCode := 'autoloaded_classNames', String lf, '"This method has been automatically generated"'.
-   classNamesCode := classNamesCode, String lf, self autoloadedClassNamesGeneratedString. 
-   ^classNamesCode
-
-"
-    DapasXProject autoloadedClassNamesGeneratedCodeToCompile
-    DapasX_Datenbasis autoloadedClassNamesGeneratedCodeToCompile
-
-"
+autoloadedClassNames_code
+    |compiled excluded|
 
-    "Created: / 08-08-2006 / 15:07:06 / fm"
-!
-
-autoloadedClassNamesGeneratedString
-    | |
-
+    compiled := self compiled_classNames.
+    excluded := self excluded_classNames.
     ^ String streamContents:[:s |
-        s nextPutAll:'^#('.
-        self searchForClassesWithProject do:[:eachClass |
+        s nextPutLine:'autoloaded_classNames'.
+        s nextPutLine:'    ^ #('.
+        self searchForClasses do:[:eachClass |
             (false "eachClass wasAutoloaded" or:[ eachClass isLoaded not ]) ifTrue:[
-                (self compiled_classNames includes:eachClass name) ifFalse:[
-                    (self excluded_classNames includes:eachClass name) ifFalse:[
-                        s cr; nextPutAll:eachClass name asString storeString
+                (compiled includes:eachClass name) ifFalse:[
+                    (excluded includes:eachClass name) ifFalse:[
+                        s nextPutAll:'        '; nextPutLine:eachClass name asString storeString
                     ]
                 ]
              ]
         ].
-        s cr; nextPutAll:')'
+        s nextPutLine:')'
     ].
 
-"
-    bosch_dapasx_interactiver_editor autoloadedClassNamesGeneratedString
-"
+    "
+     DapasXProject autoloadedClassNames_code
+     DapasX_Datenbasis autoloadedClassNames_code
+     stx_libbasic3 autoloadedClassNames_code
+    "
 
-    "Created: / 08-08-2006 / 15:00:17 / fm"
-    "Modified: / 08-08-2006 / 19:24:34 / fm"
-    "Modified: / 11-08-2006 / 14:01:23 / cg"
+    "Created: / 17-08-2006 / 20:55:35 / cg"
 !
 
-classNamesGeneratedCodeToCompile
-    |classNamesCode|
-
-   classNamesCode := 'compiled_classNames', String lf, '"This method has been automatically generated"'.
-   classNamesCode := classNamesCode, String lf, self classNamesGeneratedString. 
-   ^classNamesCode
+classNames_code
+    |autoloaded excluded|
 
-"
-    DapasXProject Datenbasis
-    DapasX_Datenbasis Datenbasis
-
-"
-
-    "Created: / 08-08-2006 / 15:07:06 / fm"
-!
-
-classNamesGeneratedString
-    | |
+    autoloaded := self autoloaded_classNames.
+    excluded := self excluded_classNames.
 
     ^ String streamContents:[:s |
-        s nextPutAll:'^#('.
-        self searchForClassesWithProject do:[:eachClass |
-            (self autoloaded_classNames includes:eachClass name) ifFalse:[ 
-                (self excluded_classNames includes:eachClass name) ifFalse:[ 
-                    s cr; nextPutAll:eachClass name asString storeString
+        s nextPutLine:'compiled_classNames'.
+        s nextPutLine:'    ^ #('.
+        self searchForClasses do:[:eachClass |
+            eachClass isPrivate ifFalse:[
+                (autoloaded includes:eachClass name) ifFalse:[ 
+                    (excluded includes:eachClass name) ifFalse:[ 
+                        s nextPutAll:'        '; nextPutLine:eachClass name asString storeString
+                     ]
                  ]
              ]
         ].
-        s cr; nextPutAll:')'
+        s nextPutLine:')'
     ].
 
 "
     bosch_dapasx_interactiver_editor classNamesGeneratedString
 "
 
-    "Created: / 08-08-2006 / 15:00:17 / fm"
     "Modified: / 08-08-2006 / 19:24:34 / fm"
-    "Modified: / 11-08-2006 / 14:01:26 / cg"
+    "Created: / 17-08-2006 / 21:03:07 / cg"
 !
 
-extensionMethodNamesGeneratedCodeToCompile
-    |extensionMethodNamesCode|
+extensionMethodNames_code
+    |generatedString |
 
-   extensionMethodNamesCode := 'extensionMethodNames', String lf, '"This method has been automatically generated"'.
-   extensionMethodNamesCode := extensionMethodNamesCode, String lf, self extensionMethodNamesGeneratedString. 
-   ^extensionMethodNamesCode
+    ^ String streamContents:[:s |
+        s nextPutLine:'extensionMethodNames'.
+        s nextPutLine:'    ^ #('.
+        self searchForExtensions do:[:eachMethod | 
+            s nextPutAll:eachMethod mclass name storeString. 
+            s nextPutAll:' '.
+            s nextPutLine: eachMethod selector storeString. 
+        ]. 
+        s nextPutLine:')'
+    ].
 
 "
-    DapasXProject extensionMethodNamesGeneratedCodeToCompile
-    DapasX_Datenbasis extensionMethodNamesGeneratedCodeToCompile
-
+    self extensionMethodNames_code
 "
 
-    "Created: / 08-08-2006 / 18:54:42 / fm"
-!
-
-extensionMethodNamesGeneratedString
-    |generatedString |
-
-    generatedString := self searchForExtensionsWithProject 
-            inject: '^#(' 
-            into:[:string :each | 
-                string, String lf, each mclass name asString storeString, ' #', each name ]. 
-    ^generatedString, String lf, ')'
-
-"
-    self extensionMethodNamesGeneratedString
-"
-
-    "Created: / 08-08-2006 / 18:55:04 / fm"
+    "Created: / 17-08-2006 / 21:21:48 / cg"
 !
 
 forEachMethodsCodeToCompileDo:aTwoArgBlock
     aTwoArgBlock 
-        value:self autoloadedClassNamesGeneratedCodeToCompile
+        value:self autoloadedClassNames_code
         value:'description'.
 
    aTwoArgBlock
-        value: self classNamesGeneratedCodeToCompile
+        value: self classNames_code
         value: 'description'.
 
    (self theMetaclass includesSelector:#excluded_classNames) ifFalse:[
@@ -841,18 +889,19 @@
    ].
 
    aTwoArgBlock 
-        value: self extensionMethodNamesGeneratedCodeToCompile
+        value: self extensionMethodNames_code
         value: 'description'.
 
-"/   aTwoArgBlock 
-"/        value: 'description ^''bla bla'''
-"/        value: 'description'
+   aTwoArgBlock 
+        value: self description_code
+        value: 'description - project information'.
 
     "Created: / 10-08-2006 / 16:35:47 / cg"
+    "Modified: / 17-08-2006 / 21:22:26 / cg"
 ! !
 
 !LibraryDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.22 2006-08-17 15:24:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.23 2006-08-18 11:07:23 cg Exp $'
 ! !