ProjectDefinition.st
branchjv
changeset 17912 80eb31a5a622
parent 17911 a99f15c5efa5
child 17917 50ca39205859
--- a/ProjectDefinition.st	Thu Jan 19 11:46:00 2012 +0000
+++ b/ProjectDefinition.st	Sun Jan 22 23:07:15 2012 +0000
@@ -2766,6 +2766,7 @@
 !ProjectDefinition class methodsFor:'file generation'!
 
 apspecFilename
+    "/ for linux
     ^ 'autopackage/default.apspec'
 
     "Created: / 21-12-2010 / 09:43:13 / cg"
@@ -2783,18 +2784,19 @@
 	  'Makefile'          #'generate_makefile'
 	  'bc.mak'            #'generate_bc_dot_mak'
 	  'abbrev.stc'        #'generate_abbrev_dot_stc'
-	  'bmake.bat'         #'generate_bmake_dot_mak'
-	  'vcmake.bat'        #'generate_vcmake_dot_mak'
-	  'lcmake.bat'        #'generate_lcmake_dot_mak'
+          'bmake.bat'         #'generate_bmake_dot_mak'     "/ for bcc32
+          'vcmake.bat'        #'generate_vcmake_dot_mak'    "/ for msvc
+          'lcmake.bat'        #'generate_lcmake_dot_mak'    "/ for lcc
     ).
 
     dict
-	at:self rcFilename      put:#'generate_packageName_dot_rc';
-	at:self apspecFilename  put:#'generate_autopackage_default_dot_apspec'.
+        at:self rcFilename      put:#'generate_packageName_dot_rc';             "/ for windows
+        at:self apspecFilename  put:#'generate_autopackage_default_dot_apspec'. "/ for linux
 
     ^ dict.
 
     "Modified: / 21-12-2010 / 11:02:02 / cg"
+    "Modified (comment): / 21-01-2012 / 12:32:45 / cg"
 !
 
 fileNamesToGenerate
@@ -2843,11 +2845,13 @@
 	^ self generate_loadAll
     ].
     (filename = 'autopackage/default.apspec' or:[filename = self apspecFilename]) ifTrue:[
+        "/ for linux
 	^ self generate_autopackage_default_dot_apspec
     ].
     self error:('File "%1" not appropriate (not generated) for this type of project.' bindWith:filename)
 
     "Modified: / 21-12-2010 / 11:01:10 / cg"
+    "Modified (format): / 21-01-2012 / 12:31:40 / cg"
 !
 
 generateFile:filename in: directory
@@ -2912,6 +2916,7 @@
 !
 
 generate_abbrev_dot_stc
+   "/ for stc: provides abbreviations and namespace information
    self checkIfClassesArePresent.
 
     ^ String
@@ -2970,6 +2975,10 @@
 		    s cr.
 		].
 
+            s nextPutLine:'# automagically generated by the project definition'.
+            s nextPutLine:'# this file is needed for stc to be able to compile modules independently.'.
+            s nextPutLine:'# it provides information about a classes filename, category and especially namespace.'.
+
 	    self allClassNames do:addEntry.
 	    self namesAndAttributesIn:(self additionalClassNamesAndAttributes) do: [:nm :attr |
 		(attr isEmptyOrNil or:[(attr includes:#autoload) not]) ifTrue:[
@@ -2979,13 +2988,14 @@
 	]
 
     "
+        stx_libbasic generate_abbrev_dot_stc
 	DapasXProject generate_abbrev_dot_stc
 	DapasX_Datenbasis generate_abbrev_dot_stc
 	bosch_dapasx_interactiver_editor generate_abbrev_dot_stc
     "
 
     "Created: / 09-08-2006 / 11:24:39 / fm"
-    "Modified: / 20-10-2006 / 16:31:08 / cg"
+    "Modified: / 21-01-2012 / 12:42:57 / cg"
 !
 
 generate_autopackage_default_dot_apspec
@@ -4754,7 +4764,7 @@
     |abbrevs|
 
     AccessLock critical:[
-	|mustRead file|
+        |mustRead file myPackageDirectory|
 
 	AbbrevDictionary isNil ifTrue:[
 	    AbbrevDictionary := WeakIdentityDictionary new.
@@ -4764,23 +4774,27 @@
 	abbrevs := AbbrevDictionary at:self ifAbsent:[ mustRead := true. Dictionary new ].
 
 	mustRead ifTrue:[
-	    file := self packageDirectory / 'abbrev.stc'.
-	    file exists ifTrue: [
-		file readingFileDo:[:stream |
-		    Smalltalk
-			withAbbreviationsFromStream:stream
-			do:[:nm :fn :pkg :cat :sz|
-			    abbrevs at: nm put: (AbbrevEntry new className:nm fileName:fn category:cat numClassInstVars:sz)
-			]
-		]
-	    ].
-	].
+            myPackageDirectory := self packageDirectory.
+            myPackageDirectory isNil ifTrue:[
+            ] ifFalse:[
+                file := myPackageDirectory / 'abbrev.stc'.
+                file exists ifTrue: [
+                    file readingFileDo:[:stream |
+                        Smalltalk
+                            withAbbreviationsFromStream:stream
+                            do:[:nm :fn :pkg :cat :sz|
+                                abbrevs at: nm put: (AbbrevEntry new className:nm fileName:fn category:cat numClassInstVars:sz)
+                            ]
+                    ]
+                ].
+            ].
+        ].
     ].
 
     ^abbrevs
 
     "Created: / 06-03-2011 / 18:25:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 18-08-2011 / 14:24:15 / cg"
+    "Modified: / 20-01-2012 / 15:42:47 / cg"
 !
 
 additionalClassAttributesFor: aClass
@@ -6146,7 +6160,17 @@
 !
 
 allClasses
-    ^ self allClassNames collect:[:nm | Smalltalk classNamed:nm]
+    ^ self allClassNames 
+        collect:[:nm | 
+            |cls|
+
+            cls := Smalltalk classNamed:nm.
+            cls isNil ifTrue:[
+                Transcript showCR:('%1: failed to autoload class %2' bindWith:self name with:nm)
+            ].
+            cls
+        ]
+        thenSelect:[:cls | cls notNil ].
 
     "Created: / 06-08-2011 / 15:47:36 / cg"
 !
@@ -6742,15 +6766,15 @@
 !ProjectDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.377 2012/01/09 10:09:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.380 2012/01/22 10:08:54 cg Exp $'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.377 2012/01/09 10:09:44 cg Exp '
+    ^ 'Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.380 2012/01/22 10:08:54 cg Exp '
 !
 
 version_SVN
-    ^ '$Id: ProjectDefinition.st 10761 2012-01-19 11:46:00Z vranyj1 $'
+    ^ '$Id: ProjectDefinition.st 10763 2012-01-22 23:07:15Z vranyj1 $'
 ! !
 
 ProjectDefinition initialize!
@@ -6758,3 +6782,4 @@
 
 
 
+