ParserFlags.st
changeset 1658 244fc639dba3
parent 1655 e38e77f7d6d0
child 1660 c999eda0067a
--- a/ParserFlags.st	Fri Feb 03 17:31:59 2006 +0100
+++ b/ParserFlags.st	Wed Feb 08 16:11:45 2006 +0100
@@ -31,7 +31,12 @@
 		allowReservedWordsAsSelectors allowVariableReferences
 		allowLazyValueExtension allowFixedPointLiterals
 		allowExtendedSTXSyntax allowVisualAgeESSymbolLiterals
-		arraysAreImmutable stringsAreImmutable implicitSelfSends'
+		arraysAreImmutable stringsAreImmutable implicitSelfSends
+		stcKeepCIntermediate stcKeepOIntermediate stcKeepSTIntermediate
+		stcModulePath stcCompilation stcCompilationIncludes
+		stcCompilationDefines stcCompilationOptions stcPath
+		ccCompilationOptions ccPath linkArgs linkCommand libPath
+		searchedLibraries'
 	classVariableNames:'WarnST80Directives WarnUnusedVars WarnUndeclared
 		WarnAboutWrongVariableNames WarnAboutBadComments
 		WarnAboutVariableNameConventions WarnSTXSpecials
@@ -48,7 +53,11 @@
 		AllowExtendedBinarySelectors AllowExtendedSTXSyntax
 		AllowFixedPointLiterals AllowLiteralNameSpaceSymbols
 		ArraysAreImmutable StringsAreImmutable ImplicitSelfSends
-		AllowVisualAgeESSymbolLiterals'
+		AllowVisualAgeESSymbolLiterals STCModulePath STCKeepCIntermediate
+		STCKeepOIntermediate STCKeepSTIntermediate STCCompilation
+		STCCompilationIncludes STCCompilationDefines
+		STCCompilationOptions STCPath CCCompilationOptions CCPath
+		LinkArgs LinkCommand LibPath SearchedLibraries'
 	poolDictionaries:''
 	category:'System-Compiler'
 !
@@ -146,6 +155,136 @@
     "Created: / 3.8.1998 / 14:53:28 / cg"
 ! !
 
+!ParserFlags class methodsFor:'accessing-stc compilation control'!
+
+ccCompilationOptions
+    ^ CCCompilationOptions
+!
+
+ccCompilationOptions:aString
+    CCCompilationOptions := aString
+!
+
+ccPath
+    ^ CCPath
+!
+
+ccPath:aSymbol
+    CCPath := aSymbol
+!
+
+libPath
+    ^ LibPath
+!
+
+libPath:aString
+    LibPath := aString
+!
+
+linkArgs
+    ^ LinkArgs
+!
+
+linkArgs:aString
+    LinkArgs := aString
+!
+
+linkCommand
+    ^ LinkCommand
+!
+
+linkCommand:aString
+    LinkCommand := aString
+!
+
+searchedLibraries
+    ^ SearchedLibraries
+!
+
+searchedLibraries:aString
+    SearchedLibraries := aString
+!
+
+stcCompilation
+    ^ STCCompilation
+!
+
+stcCompilation:aSymbol
+    STCCompilation := aSymbol
+!
+
+stcCompilationDefines
+    ^ STCCompilationDefines
+!
+
+stcCompilationDefines:aString
+    STCCompilationDefines := aString
+!
+
+stcCompilationIncludes
+    ^ STCCompilationIncludes
+!
+
+stcCompilationIncludes:aString
+    STCCompilationIncludes := aString
+!
+
+stcCompilationOptions
+    ^ STCCompilationOptions
+!
+
+stcCompilationOptions:aString
+    STCCompilationOptions := aString
+!
+
+stcKeepCIntermediate
+    ^ STCKeepCIntermediate
+!
+
+stcKeepCIntermediate:something 
+    STCKeepCIntermediate := something.
+!
+
+stcKeepOIntermediate
+    ^ STCKeepOIntermediate
+!
+
+stcKeepOIntermediate:something 
+    STCKeepOIntermediate := something.
+!
+
+stcKeepSTIntermediate
+    ^ STCKeepSTIntermediate
+!
+
+stcKeepSTIntermediate:something 
+    STCKeepSTIntermediate := something.
+!
+
+stcModulePath
+    ^ STCModulePath
+!
+
+stcModulePath:something 
+    STCModulePath := something.
+!
+
+stcPath
+    ^ STCPath
+!
+
+stcPath:aSymbol
+    STCPath := aSymbol
+!
+
+withSTCCompilation:howSymbol do:aBlock
+    |prev|
+
+    prev := self stcCompilation.
+    self stcCompilation:howSymbol.
+    aBlock ensure:[ self stcCompilation:prev ]
+! !
+
 !ParserFlags class methodsFor:'accessing-syntax-control'!
 
 allowArrayIndexSyntaxExtension
@@ -588,12 +727,190 @@
     StringsAreImmutable := false.               "/ no longer care for ST-80 compatibility
     ImplicitSelfSends := false.
 
+    STCKeepCIntermediate := false.
+    STCKeepOIntermediate := false.
+    STCKeepSTIntermediate := false.
+    STCModulePath := './modules'.
+    STCCompilation := #default.
+
+    OperatingSystem isMSWINDOWSlike ifTrue:[
+        STCCompilationIncludes := '-I..\..\include -I..\..\libopengl -IC:\Borland\bcc55\Include'.
+        STCCompilationDefines := '-DWIN32'.
+        STCCompilationOptions := '+optinline +inlineNew'.
+        STCPath := '..\..\stc\stc.exe'.
+        CCCompilationOptions := ''.
+        CCPath := 'bcc32'.
+        LinkArgs := '-L..\..\libbc -LC:\Borland\bcc55\Lib -r -c -ap -Tpd -Gi -w-dup'.
+        LinkCommand := 'ilink32'.
+        LibPath := ''.
+        SearchedLibraries := 'import32.lib'.
+    ] ifFalse:[
+        STCCompilationIncludes := '-I../../include'.
+        STCCompilationDefines := ''.
+        STCCompilationOptions := '+optinline +inlineNew'.
+        STCPath := '../../stc/stc'.
+        CCCompilationOptions := '-O'.
+        CCPath := 'cc'.
+        LinkArgs := ''.
+        LinkCommand := 'ld'.
+        LibPath := ''.
+        SearchedLibraries := ''.
+    ].
+
     "
      ParserFlags initialize
     "
 ! !
 
-!ParserFlags methodsFor:'accessing'!
+!ParserFlags methodsFor:'accessing-compilation control'!
+
+arraysAreImmutable
+    ^ arraysAreImmutable
+!
+
+arraysAreImmutable:aBoolean
+    arraysAreImmutable := aBoolean.
+!
+
+stringsAreImmutable
+    ^ stringsAreImmutable
+!
+
+stringsAreImmutable:aBoolean
+    stringsAreImmutable := aBoolean.
+! !
+
+!ParserFlags methodsFor:'accessing-stc compilation control'!
+
+ccCompilationOptions
+    ^ ccCompilationOptions
+!
+
+ccCompilationOptions:something
+    ccCompilationOptions := something.
+!
+
+ccPath
+    ^ ccPath
+!
+
+ccPath:something
+    ccPath := something.
+!
+
+implicitSelfSends
+    ^ implicitSelfSends
+!
+
+implicitSelfSends:aBoolean
+    implicitSelfSends := aBoolean.
+!
+
+libPath
+    ^ libPath
+!
+
+libPath:aString
+    libPath := aString
+!
+
+linkArgs
+    ^ linkArgs
+!
+
+linkArgs:aString
+    linkArgs := aString
+!
+
+linkCommand
+    ^ linkCommand
+!
+
+linkCommand:aString
+    linkCommand := aString
+!
+
+searchedLibraries
+    ^ searchedLibraries
+!
+
+searchedLibraries:aString
+    searchedLibraries := aString
+!
+
+stcCompilation
+    ^ stcCompilation
+!
+
+stcCompilation:something
+    stcCompilation := something.
+!
+
+stcCompilationDefines
+    ^ stcCompilationDefines
+!
+
+stcCompilationDefines:something
+    stcCompilationDefines := something.
+!
+
+stcCompilationIncludes
+    ^ stcCompilationIncludes
+!
+
+stcCompilationIncludes:something
+    stcCompilationIncludes := something.
+!
+
+stcCompilationOptions
+    ^ stcCompilationOptions
+!
+
+stcCompilationOptions:something
+    stcCompilationOptions := something.
+!
+
+stcKeepCIntermediate
+    ^ stcKeepCIntermediate
+!
+
+stcKeepCIntermediate:something
+    stcKeepCIntermediate := something.
+!
+
+stcKeepOIntermediate
+    ^ stcKeepOIntermediate
+!
+
+stcKeepOIntermediate:something
+    stcKeepOIntermediate := something.
+!
+
+stcKeepSTIntermediate
+    ^ stcKeepSTIntermediate
+!
+
+stcKeepSTIntermediate:something
+    stcKeepSTIntermediate := something.
+!
+
+stcModulePath
+    ^ stcModulePath
+!
+
+stcModulePath:something
+    stcModulePath := something.
+!
+
+stcPath
+    ^ stcPath
+!
+
+stcPath:something
+    stcPath := something.
+! !
+
+!ParserFlags methodsFor:'accessing-syntax-control'!
 
 allowArrayIndexSyntaxExtension
     ^ allowArrayIndexSyntaxExtension
@@ -747,31 +1064,9 @@
 
 allowVisualAgeESSymbolLiterals:aBoolean
     allowVisualAgeESSymbolLiterals := aBoolean.
-!
-
-arraysAreImmutable
-    ^ arraysAreImmutable
-!
-
-arraysAreImmutable:aBoolean
-    arraysAreImmutable := aBoolean.
-!
+! !
 
-implicitSelfSends
-    ^ implicitSelfSends
-!
-
-implicitSelfSends:aBoolean
-    implicitSelfSends := aBoolean.
-!
-
-stringsAreImmutable
-    ^ stringsAreImmutable
-!
-
-stringsAreImmutable:aBoolean
-    stringsAreImmutable := aBoolean.
-!
+!ParserFlags methodsFor:'accessing-warning-control'!
 
 warnAboutBadComments
     ^ warnAboutBadComments
@@ -935,6 +1230,22 @@
     stringsAreImmutable := StringsAreImmutable ? true.
     implicitSelfSends := ImplicitSelfSends ? false.
 
+    stcKeepCIntermediate := STCKeepCIntermediate.
+    stcKeepOIntermediate := STCKeepOIntermediate.
+    stcKeepSTIntermediate := STCKeepSTIntermediate.
+    stcModulePath := STCModulePath.
+    stcCompilation := STCCompilation.
+    stcCompilationIncludes := STCCompilationIncludes.
+    stcCompilationDefines := STCCompilationDefines.
+    stcCompilationOptions := STCCompilationOptions.
+    stcPath := STCPath.
+    ccCompilationOptions := CCCompilationOptions.
+    ccPath := CCPath.
+    linkArgs := LinkArgs.
+    linkCommand := LinkCommand.
+    libPath := LibPath.
+    searchedLibraries := SearchedLibraries.
+
     "
      ParserFlags initialize.
      self new inspect.
@@ -944,7 +1255,7 @@
 !ParserFlags class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/ParserFlags.st,v 1.4 2006-02-03 16:06:37 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/ParserFlags.st,v 1.5 2006-02-08 15:11:45 cg Exp $'
 ! !
 
 ParserFlags initialize!