LibraryDefinition.st
changeset 9818 34d323af35ba
parent 9812 ff093d59cd37
child 9832 8ab508c6d9f0
--- a/LibraryDefinition.st	Wed Aug 30 20:52:30 2006 +0200
+++ b/LibraryDefinition.st	Wed Aug 30 20:52:39 2006 +0200
@@ -274,7 +274,7 @@
 # LOCALDEFINES=-Dfoo -Dbar -DDEBUG
 LOCALDEFINES=%(LOCAL_DEFINES)
 
-
+LIBNAME=%(LIBRARY_NAME)
 STCLOCALOPT=''-package=$(PACKAGE)'' -I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) %(HEADEROUTPUTARG) %(COMMONSYMFLAG) -varPrefix=$(LIBNAME)
 
 
@@ -348,70 +348,7 @@
 
     "Created: / 08-08-2006 / 20:45:36 / fm"
     "Modified: / 09-08-2006 / 16:50:23 / fm"
-    "Modified: / 23-08-2006 / 11:07:46 / cg"
-!
-
-make_dot_spec
-
-^ 
-'# $','Header','$
-#
-# DO NOT EDIT 
-# automagically generated from the projectDefinition: ',self name,'.
-#
-# Warning: once you modify this file, do not rerun
-# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
-#
-# This file contains specifications which are common to all platforms.
-#
-
-# 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)
-PACKAGE=$(MODULE):$(MODULE_DIR)
-LIBNAME=%(LIBRARY_NAME)
-
-
-# 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
-#  -Zxxx       : a prefix for variables within the classLib
-#  -Dxxx       : defines passed to to CC for inline C-code
-#  -Ixxx       : include path passed to CC for inline C-code
-#  +optspace   : optimized for space
-#  +optspace2  : optimized more for space
-#  +optspace3  : optimized even more for space
-#  +optinline  : generate inline code for some ST constructs
-#  +inlineNew  : additionally inline new
-#  +inlineMath : additionally inline some floatPnt math stuff
-#
-# ********** OPTIONAL: MODIFY the next line(s) ***
-# STCLOCALOPTIMIZATIONS=+optinline +inlineNew
-# STCLOCALOPTIMIZATIONS=+optspace3
-STCLOCALOPTIMIZATIONS=%(STCOPTIMIZATIONOPTIONS)
-
-
-# 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
-#  -warnPrivacy     : no warnings about privateClass extension
-#
-# ********** OPTIONAL: MODIFY the next line(s) ***
-# STCWARNINGS=-warn
-# STCWARNINGS=-warnNonStandard
-# STCWARNINGS=-warnEOLComments
-STCWARNINGS=%(STCWARNINGOPTIONS)
-
-%(OBJECTS)
-'
-
-    "Created: / 08-08-2006 / 19:31:29 / fm"
-    "Modified: / 09-08-2006 / 15:10:57 / fm"
-    "Modified: / 23-08-2006 / 11:07:34 / cg"
+    "Modified: / 30-08-2006 / 19:08:29 / cg"
 !
 
 nt_dot_def
@@ -451,10 +388,11 @@
 
 !!INCLUDE Make.spec
 
+LIBNAME=%(LIBRARY_NAME)
+RESFILES=%(RESFILENAME)
 LOCALINCLUDES=%(LOCAL_INCLUDES)
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) %(HEADEROUTPUTARG) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) %(COMMONSYMFLAG) -varPrefix=$(LIBNAME)
-RESFILES=%(RESFILENAME)
 
 %(ADDITIONAL_DEFINITIONS)
 
@@ -472,15 +410,7 @@
 
     "Created: / 09-08-2006 / 11:44:20 / fm"
     "Modified: / 09-08-2006 / 19:59:32 / fm"
-    "Modified: / 23-08-2006 / 11:07:30 / cg"
-!
-
-objectLine_make_dot_spec
-
-^'    $(OUTDIR)%(CLASSFILE).$(O) \'
-
-    "Created: / 08-08-2006 / 20:16:46 / fm"
-    "Modified: / 23-08-2006 / 11:11:38 / cg"
+    "Modified: / 30-08-2006 / 19:08:05 / cg"
 ! !
 
 !LibraryDefinition class methodsFor:'mappings'!
@@ -544,6 +474,7 @@
     ^ Dictionary new
         at: #'TAB' put: ( Character tab asString );
         at: #'TOP' put: ( self pathToTop_unix );
+        at: #'LIBRARY_NAME' put: ( self libraryName );
         at: #'SUBDIRECTORIES' put: [self generateSubDirectories];
         at: #'LOCAL_INCLUDES' put: [self generateLocalIncludes_unix];
         at: #'LOCAL_DEFINES' put: '';
@@ -557,21 +488,7 @@
 
     "Created: / 09-08-2006 / 11:20:45 / fm"
     "Modified: / 09-08-2006 / 16:44:48 / fm"
-    "Modified: / 23-08-2006 / 00:00:06 / cg"
-!
-
-make_dot_spec_mappings
-    |d|
-
-    d := super make_dot_spec_mappings.
-    d
-        at: #'LIBRARY_NAME' put: ( self libraryName );
-        at: #'OBJECTS' put: [self generateObjects_make_dot_spec];
-        yourself.
-    ^ d
-
-    "Created: / 09-08-2006 / 11:21:06 / fm"
-    "Modified: / 18-08-2006 / 11:45:18 / cg"
+    "Modified: / 30-08-2006 / 19:09:34 / cg"
 !
 
 nt_dot_def_mappings
@@ -592,6 +509,7 @@
 
     d := super nt_dot_mak_mappings.
     d
+        at: #'LIBRARY_NAME' put: ( self libraryName );
         at: #'LOCAL_INCLUDES' put: [self generateLocalIncludes_win32];
         at: #'COMMONSYMFLAG' put: (self commonSymbolsFlag);
         at: #'HEADEROUTPUTARG' put: (self headerFileOutputArg);
@@ -604,22 +522,7 @@
 
     "Created: / 09-08-2006 / 11:44:36 / fm"
     "Modified: / 09-08-2006 / 20:00:01 / fm"
-    "Modified: / 23-08-2006 / 00:00:20 / cg"
-!
-
-objectLine_make_dot_spec_mappings: aClassName
-    ^ Dictionary new                                               
-        at: #'CLASSFILE' 
-        put: [
-                (Smalltalk classNamed:aClassName) 
-                    classFilename asFilename
-                        withoutSuffix baseName.
-            ];
-        yourself
-
-    "Created: / 08-08-2006 / 20:17:28 / fm"
-    "Modified: / 09-08-2006 / 18:26:52 / fm"
-    "Modified: / 30-08-2006 / 14:44:25 / cg"
+    "Modified: / 30-08-2006 / 19:09:27 / cg"
 !
 
 st2c:aString
@@ -757,87 +660,6 @@
     "Modified: / 18-08-2006 / 11:58:40 / cg"
 !
 
-generateObjects_make_dot_spec 
-    |pivateClassesOf classes|
-
-    classes := self compiled_classes_common.
-    pivateClassesOf := IdentityDictionary new.
-    classes do:[:each | pivateClassesOf at:each put:(each allPrivateClasses)].
-
-    classes topologicalSort:[:a :b |
-        "/ a must come before b iff:
-        "/    b is a subclass of a
-        "/    b has a private class which is a subclass of a
-        "/    a is a sharedPool, used by b
-
-        |mustComeBefore pivateClassesOfB|
-
-        mustComeBefore := false.                        
-        mustComeBefore := (a isSharedPool and:[(b sharedPools includes: a name)]).
-        mustComeBefore := mustComeBefore or:[b isSubclassOf:a].
-        mustComeBefore ifFalse:[
-            pivateClassesOfB := pivateClassesOf at:b.
-            pivateClassesOfB do:[:eachClassInB |
-                mustComeBefore := mustComeBefore or:[eachClassInB isSubclassOf:a]
-            ].
-        ].
-        mustComeBefore
-    ].
-
-    ^ String streamContents:[:s |
-        |putLineForClass sysDepOrNil|
-
-        putLineForClass := 
-            [:eachClass |
-                |mappings newObjectLine|
-                mappings := self objectLine_make_dot_spec_mappings: eachClass name.
-                newObjectLine := self replaceMappings: mappings in: self objectLine_make_dot_spec.
-                s nextPutLine:newObjectLine. 
-            ].
-
-        sysDepOrNil := nil.
-        OperatingSystem knownPlatformNames do:[:platformID |
-            |define prefix depClasses|
-
-            define := OperatingSystem platformDefineForPlatformName:platformID.
-            prefix := define copyFrom:('-D' size + 1).
-            depClasses := self compiled_classesForArchitecture:platformID.    
-            depClasses notEmpty ifTrue:[
-                sysDepOrNil := prefix,'_OBJS'.
-                s nextPutLine:sysDepOrNil,'= \'.
-                depClasses do:putLineForClass.
-                s cr.
-                s cr.
-            ]
-        ].
-
-        s nextPutLine:'COMMON_OBJS= \'.
-
-        classes do:putLineForClass.
-
-        self namesAndAttributesIn:(self additionalClassNamesAndAttributes) do: [:nm :attr |
-            (attr isEmptyOrNil or:[(attr includes:#autoload) not]) ifTrue:[
-                s nextPutLine:('    $(OUTDIR)',(Smalltalk fileNameForClass:nm),'.$(O) \'). 
-            ].
-        ].
-
-        self extensionMethodNames notEmpty
-            ifTrue:[
-                s nextPutLine:'    $(OUTDIR)extensions.$(O) \'. 
-            ].
-        s cr.
-    ]
-
-    "
-     bosch_dapasx_hw_schnittstellen_Definition generateObjects_make_dot_spec
-     DapasXProject generateObjects_make_dot_spec
-     stx_libbasic3 generateObjects_make_dot_spec
-    "
-
-    "Created: / 09-08-2006 / 11:24:39 / fm"
-    "Modified: / 30-08-2006 / 14:46:11 / cg"
-!
-
 generateSubDirectories
     ^ String streamContents:[:s |
         self subProjects 
@@ -976,5 +798,5 @@
 !LibraryDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.56 2006-08-30 13:31:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.57 2006-08-30 18:52:39 cg Exp $'
 ! !