add #additional_link_libraries_nt_dot_mak
authorStefan Vogel <sv@exept.de>
Wed, 10 Jan 2007 14:16:17 +0100
changeset 10299 af27a10749c2
parent 10298 567ea28f3852
child 10300 40c41965c2b5
add #additional_link_libraries_nt_dot_mak
ProjectDefinition.st
--- a/ProjectDefinition.st	Wed Jan 10 11:04:16 2007 +0100
+++ b/ProjectDefinition.st	Wed Jan 10 14:16:17 2007 +0100
@@ -1242,6 +1242,14 @@
     "Created: / 22-08-2006 / 23:53:33 / cg"
 !
 
+additionalLinkLibraries_nt_dot_mak
+    "allows for additional static libraries to be added to the nt.mak file."
+
+    ^ ''
+
+    "Created: / 22-08-2006 / 23:53:33 / cg"
+!
+
 additionalRules_make_dot_proto
     "allows for additional rules to be added to the make.proto file."
 
@@ -2111,6 +2119,12 @@
     "Modified: / 30-08-2006 / 19:07:26 / cg"
 !
 
+nt_dot_mak
+    "the file template for nt.mak files"
+
+    ^ self subclassResponsibility
+!
+
 objectLine_make_dot_spec
 
 ^'    $(OUTDIR)%(CLASSFILE).$(O) \'
@@ -2421,6 +2435,29 @@
     "Created: / 19-09-2006 / 22:47:43 / cg"
 !
 
+make_dot_proto_mappings
+    ^ 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: '';
+        at: 'COMMONSYMFLAG' put: (self commonSymbolsFlag);
+        at: 'HEADEROUTPUTARG' put: (self headerFileOutputArg);
+        at: 'ADDITIONAL_DEFINITIONS' put: (self additionalDefinitions_make_dot_proto);
+        at: 'ADDITIONAL_RULES' put: (self additionalRules_make_dot_proto);
+        at: 'ADDITIONAL_TARGETS' put: (self additionalTargets_make_dot_proto);
+        at: 'ADDITIONAL_LINK_LIBRARIES' put: (self additionalLinkLibraries_make_dot_proto);
+        at: 'ADDITIONAL_SHARED_LINK_LIBRARIES' put: (self additionalSharedLinkLibraries_make_dot_proto);
+        at: 'DEPENDENCIES' put: (self generateDependencies_unix);
+        yourself
+
+    "Created: / 09-08-2006 / 11:20:45 / fm"
+    "Modified: / 09-08-2006 / 16:44:48 / fm"
+    "Modified: / 14-09-2006 / 18:57:52 / cg"
+!
+
 make_dot_spec_mappings
     ^ Dictionary new
         at: 'TAB' put: ( Character tab asString );
@@ -2444,7 +2481,8 @@
         at: 'TOP' put: ( self pathToTop_win32 );
         at: 'MODULE' put: ( self module );  
         at: 'MODULE_DIRECTORY' put: ( self moduleDirectory ); 
-        at: 'MODULE_PATH' put: ( self moduleDirectory_win32 ). 
+        at: 'MODULE_PATH' put: ( self moduleDirectory_win32 );
+        at: 'ADDITIONAL_LINK_LIBRARIES' put: (self additionalLinkLibraries_nt_dot_mak). 
     ^ d
 
     "Created: / 18-08-2006 / 11:43:39 / cg"
@@ -2523,6 +2561,12 @@
 
 !ProjectDefinition class methodsFor:'mappings support'!
 
+commonSymbolsFlag
+    "only for libraries"
+
+    ^ ''
+!
+
 generateClassLines:classLineTemplate 
     ^ String 
         streamContents:[:s | 
@@ -2700,7 +2744,7 @@
                     |cls|
 
                     (attr isEmptyOrNil or:[ (attr includes:#autoload) not ]) ifTrue:[
-                        ((cls := Smalltalk classNamed:className) notNil and:[ cls isLoaded ]) ifTrue:[
+                        ((cls := Smalltalk classNamed:className) notNil) ifTrue:[
                             putDependencyForClass value:cls.
                         ]
                     ].
@@ -3639,7 +3683,7 @@
 !ProjectDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.131 2007-01-09 19:02:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.132 2007-01-10 13:16:17 stefan Exp $'
 ! !
 
 ProjectDefinition initialize!