--- 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 $'
! !