Better class category name - IR Compiler-*
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 30 Oct 2014 22:18:24 +0000
changeset 42 acdc3ec6d152
parent 41 f3898a3b378d
child 43 c8afb8e4c3cc
Better class category name - IR Compiler-*
IRAccess.st
IRBlockReturnTop.st
IRBuilder.st
IRBuilderTest.st
IRBytecodeGenerator.st
IRClosure.st
IRConstant.st
IRDecompiler.st
IRDup.st
IRFunction.st
IRInstVarAccess.st
IRInstVarRead.st
IRInstVarStore.st
IRInstruction.st
IRInterpreter.st
IRJump.st
IRJumpIf.st
IRJumpOverBlock.st
IRLine.st
IRLiteralVariableAccess.st
IRLiteralVariableRead.st
IRLiteralVariableStore.st
IRMethod.st
IRPop.st
IRPrinter.st
IRReturn.st
IRSend.st
IRSequence.st
IRStackCount.st
IRTempAccess.st
IRTempRead.st
IRTempStore.st
IRTransformTest.st
IRTranslator.st
Make.proto
Make.spec
Makefile.init
abbrev.stc
bc.mak
bmake.bat
ctu_ircompiler.st
extensions.st
ircompiler.rc
libInit.cc
mingwmake.bat
vcmake.bat
--- a/IRAccess.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRAccess.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'number name'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -39,3 +39,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRBlockReturnTop.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRBlockReturnTop.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'successor'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -51,3 +51,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRBuilder.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRBuilder.st	Thu Oct 30 22:18:24 2014 +0000
@@ -5,7 +5,7 @@
 		sourceMapNodes sourceMapByteIndex lastLine'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRBuilder comment:'I provide a simple interface for constructing an IRMethod.  For example, to create an ir method that compares first instVar to first arg and returns ''yes'' or ''no'' (same example as in BytecodeGenerator), do:
@@ -457,13 +457,14 @@
 !IRBuilder class methodsFor:'documentation'!
 
 version
-    ^ '$Id$'
+    ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRBuilder.st,v 1.3 2009/10/08 11:57:58 fm Exp$'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRBuilder.st,v 1.3 2009/10/08 11:57:58 fm Exp '
+    ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRBuilder.st,v 1.3 2009/10/08 11:57:58 fm Exp$'
 !
 
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRBuilderTest.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRBuilderTest.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:'TestToPush'
 	poolDictionaries:''
-	category:'NewCompiler-IR-Tests'
+	category:'IR Compiler-Tests'
 !
 
 
@@ -1032,3 +1032,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRBytecodeGenerator.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRBytecodeGenerator.st	Thu Oct 30 22:18:24 2014 +0000
@@ -6,7 +6,7 @@
 		stack primNum numArgs numVars properties code seqCode lastLine'
 	classVariableNames:'BytecodeTable Bytecodes SpecialConstants SpecialSelectors'
 	poolDictionaries:''
-	category:'NewCompiler-Bytecode'
+	category:'IR Compiler-Bytecode'
 !
 
 IRBytecodeGenerator comment:'I generate bytecodes in response to ''instructions'' messages being sent to me.  I rewrite jumps at the end so their jump offsets are correct (see #bytecodes).  For example, to create a compiled method that compares first instVar to first arg and returns ''yes'' or ''no'' (same example as in IRBuilder), do:
@@ -808,13 +808,14 @@
 !IRBytecodeGenerator class methodsFor:'documentation'!
 
 version
-    ^ '$Id$'
+    ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRBytecodeGenerator.st,v 1.3 2009/10/08 12:04:39 fm Exp$'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRBytecodeGenerator.st,v 1.3 2009/10/08 12:04:39 fm Exp '
+    ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRBytecodeGenerator.st,v 1.3 2009/10/08 12:04:39 fm Exp$'
 !
 
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRClosure.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRClosure.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -69,3 +69,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRConstant.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRConstant.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'constant type'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRConstant comment:'Instruction "pushLiteral: object"'
@@ -71,3 +71,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRDecompiler.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRDecompiler.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'stack sp scope currentInstr valueLabelMap mapEmptyStatement'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRDecompiler comment:'I interpret IRMethod instructions and generate a Smalltalk abstract syntax tree rooted at a RBMethodNode.
@@ -1303,3 +1303,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRDup.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRDup.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRDup comment:'Instruction "pushDup"'
@@ -31,3 +31,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRFunction.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRFunction.st	Thu Oct 30 22:18:24 2014 +0000
@@ -6,7 +6,7 @@
 		compiledCode'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -488,3 +488,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRInstVarAccess.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRInstVarAccess.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRInstVarAccess comment:'when closures disabled, Field describes an instVar. With closures, it describes a 
@@ -40,3 +40,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRInstVarRead.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRInstVarRead.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -40,3 +40,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRInstVarStore.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRInstVarStore.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -43,3 +43,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRInstruction.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRInstruction.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'sourceNode bytecodeIndex sequence'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRInstruction comment:'I am an instruction in the IR (intermediate representation) language.  The IR serves as the intermediary between the Smalltalk language and the bytecode language.  It is easier to optimize and translate to/from this language than it is to optimize/translate directly from Smalltalk to bytecodes.  The IR is generic and simple consisting of just twelve instructions.  They are:
@@ -419,3 +419,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRInterpreter.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRInterpreter.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRInterpreter comment:'I visit each IRInstruction in an IRMethod in order.  Each instruction sends its instruction message to me upon being visited.  See my ''instructions'' method category for complete list of instructions.  Subclasses should override them.'
@@ -121,3 +121,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRJump.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRJump.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'destination'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRJump comment:'Instruction "goto: labelNum"'
@@ -62,3 +62,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRJumpIf.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRJumpIf.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'boolean otherwise'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRJumpIf comment:'Instruction "if: boolean goto: labelNum1 otherwise: labelNum2"'
@@ -71,3 +71,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRJumpOverBlock.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRJumpOverBlock.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'blockSequence'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -50,3 +50,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRLine.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRLine.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'line'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -44,3 +44,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRLiteralVariableAccess.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRLiteralVariableAccess.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'association'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -43,3 +43,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRLiteralVariableRead.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRLiteralVariableRead.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -37,3 +37,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRLiteralVariableStore.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRLiteralVariableStore.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -37,3 +37,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRMethod.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRMethod.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRMethod comment:'I am a method in the IR (intermediate representation) language consisting of IRInstructions grouped by IRSequence (basic block).  The IRSequences form a control graph (therefore I only have to hold onto the starting sequence).  #compiledMethod will convert me to a CompiledMethod.  #methodNode will convert me back to a parse tree.
@@ -62,3 +62,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRPop.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRPop.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRPop comment:'Instruction "popTop"'
@@ -37,3 +37,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRPrinter.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRPrinter.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'stream indent'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRPrinter comment:'I interpret IRMethod instructions and write them out to a print stream.'
@@ -217,6 +217,12 @@
     ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRPrinter.st,v 1.3 2009/10/08 12:00:24 fm Exp '
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRReturn.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRReturn.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'isRemote'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRReturn comment:'Instruction "returnTop" or "remoteReturn"'
@@ -52,3 +52,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRSend.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRSend.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'selector numArgs superOf'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRSend comment:'Instruction "send: selector" or "send: selector toSuperOf: behavior"'
@@ -88,3 +88,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRSequence.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRSequence.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'sequence orderNumber method'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -417,3 +417,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRStackCount.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRStackCount.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'start position length'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-Bytecode'
+	category:'IR Compiler-Bytecode'
 !
 
 IRStackCount comment:'This keeps track of the stack count for the BytecodeGenerator.'
@@ -121,13 +121,14 @@
 !IRStackCount class methodsFor:'documentation'!
 
 version
-    ^ '$Id$'
+    ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRStackCount.st,v 1.3 2009/10/08 11:59:57 fm Exp$'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRStackCount.st,v 1.3 2009/10/08 11:59:57 fm Exp '
+    ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRStackCount.st,v 1.3 2009/10/08 11:59:57 fm Exp$'
 !
 
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRTempAccess.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRTempAccess.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'kind level'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -69,3 +69,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRTempRead.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRTempRead.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -39,3 +39,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRTempStore.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRTempStore.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 
@@ -39,3 +39,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRTransformTest.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRTransformTest.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR-Tests'
+	category:'IR Compiler-Tests'
 !
 
 
@@ -173,3 +173,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/IRTranslator.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/IRTranslator.st	Thu Oct 30 22:18:24 2014 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'pending gen currentInstr'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'NewCompiler-IR'
+	category:'IR Compiler-IR'
 !
 
 IRTranslator comment:'I interpret IRMethod instructions, sending the appropriate bytecode messages to my BytecodeGenerator (gen).  I hold some messages back in pending awaiting certain sequences of them that can be consolidated into single bytecode instructions, otherwise the pending messages are executed in order as if they were executed when they first appeared.'
@@ -381,3 +381,4 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/Make.proto	Thu Oct 30 21:43:54 2014 +0000
+++ b/Make.proto	Thu Oct 30 22:18:24 2014 +0000
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libcompat -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libtool
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libcompat -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libwidg
 
 
 # if you need any additional defines for embedded C code,
@@ -68,7 +68,7 @@
 
 
 
-# Update SVN revision in stx_libbasic3.st
+# Update SVN revision in package definition class
 ifneq (,$(findstring .svn,$(wildcard .svn)))
 .svnversion: *.st
 	if [ -d .svn ]; then \
@@ -78,7 +78,7 @@
 		echo -n exported > .svnversion; \
 	fi
 
-ctu_ircompiler.o: ctu_ircompiler.st .svnversion 
+ctu_ircompiler.o: ctu_ircompiler.st .svnversion
 	@if [ -d .svn ]; then \
 		rev2="$(shell printf "%-16s" $$(cat .svnversion))"; \
 		echo "  [SV]  Expanding svnRevisionNo in $1.st"; \
@@ -87,11 +87,27 @@
 	$(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.ctu_ircompiler.svn $(C_RULE);
 	sed -i -e "s/\".ctu_ircompiler.svn.st\");/\"\ctu_ircompiler.st\");/g" .ctu_ircompiler.svn.c
 	$(MAKE) .ctu_ircompiler.svn.$(O)
-	@mv .ctu_ircompiler.svn.$(O) ctu_ircompiler.$(O) 
+	@mv .ctu_ircompiler.svn.$(O) ctu_ircompiler.$(O)
 endif
 
 
 
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
+ctu_ircompiler.$(O): $(shell hg root)/.hg/dirstate
+endif
+
+
+
+
+# run default testsuite for this package
+test: $(TOP)/goodies/builder/reports
+	$(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init
+	$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
+
+
 
 # add more install actions here
 install::
@@ -105,27 +121,21 @@
 # add more postMake actions here
 postMake:: cleanjunk
 
-prereq: $(REQUIRED_SUPPORT_DIRS)
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
 	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/goodies/refactoryBrowser/parser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libcompat && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+
+
 
+# build all packages containing referenced classes for this package
+# they are nor needed to compile the package
+references:
 
 
 cleanjunk::
@@ -146,7 +156,7 @@
 $(OUTDIR)IRInterpreter.$(O) IRInterpreter.$(H): IRInterpreter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRSequence.$(O) IRSequence.$(H): IRSequence.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRStackCount.$(O) IRStackCount.$(H): IRStackCount.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 $(OUTDIR)IRAccess.$(O) IRAccess.$(H): IRAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRClosure.$(O) IRClosure.$(H): IRClosure.st $(INCLUDE_TOP)/ctu/ircompiler/IRFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRConstant.$(O) IRConstant.$(H): IRConstant.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -160,19 +170,19 @@
 $(OUTDIR)IRReturn.$(O) IRReturn.$(H): IRReturn.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRSend.$(O) IRSend.$(H): IRSend.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRTranslator.$(O) IRTranslator.$(H): IRTranslator.st $(INCLUDE_TOP)/ctu/ircompiler/IRInterpreter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)/ctu/ircompiler/IRReturn.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRReturn.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRInstVarAccess.$(O) IRInstVarAccess.$(H): IRInstVarAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRLiteralVariableAccess.$(O) IRLiteralVariableAccess.$(H): IRLiteralVariableAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRTempAccess.$(O) IRTempAccess.$(H): IRTempAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libcomp/ByteCodeCompiler.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(STCHDR)
+$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libcomp/ByteCodeCompiler.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/Make.spec	Thu Oct 30 21:43:54 2014 +0000
+++ b/Make.spec	Thu Oct 30 22:18:24 2014 +0000
@@ -88,40 +88,40 @@
 
 
 COMMON_OBJS= \
-    $(OUTDIR)IRBuilder.$(O) \
-    $(OUTDIR)IRBytecodeGenerator.$(O) \
-    $(OUTDIR)IRFunction.$(O) \
-    $(OUTDIR)IRInstruction.$(O) \
-    $(OUTDIR)IRInterpreter.$(O) \
-    $(OUTDIR)IRSequence.$(O) \
-    $(OUTDIR)IRStackCount.$(O) \
-    $(OUTDIR)ctu_ircompiler.$(O) \
-    $(OUTDIR)IRAccess.$(O) \
-    $(OUTDIR)IRClosure.$(O) \
-    $(OUTDIR)IRConstant.$(O) \
-    $(OUTDIR)IRDecompiler.$(O) \
-    $(OUTDIR)IRDup.$(O) \
-    $(OUTDIR)IRJump.$(O) \
-    $(OUTDIR)IRLine.$(O) \
-    $(OUTDIR)IRMethod.$(O) \
-    $(OUTDIR)IRPop.$(O) \
-    $(OUTDIR)IRPrinter.$(O) \
-    $(OUTDIR)IRReturn.$(O) \
-    $(OUTDIR)IRSend.$(O) \
-    $(OUTDIR)IRTranslator.$(O) \
-    $(OUTDIR)IRBlockReturnTop.$(O) \
-    $(OUTDIR)IRInstVarAccess.$(O) \
-    $(OUTDIR)IRJumpIf.$(O) \
-    $(OUTDIR)IRJumpOverBlock.$(O) \
-    $(OUTDIR)IRLiteralVariableAccess.$(O) \
-    $(OUTDIR)IRTempAccess.$(O) \
-    $(OUTDIR)IRInstVarRead.$(O) \
-    $(OUTDIR)IRInstVarStore.$(O) \
-    $(OUTDIR)IRLiteralVariableRead.$(O) \
-    $(OUTDIR)IRLiteralVariableStore.$(O) \
-    $(OUTDIR)IRTempRead.$(O) \
-    $(OUTDIR)IRTempStore.$(O) \
-    $(OUTDIR)extensions.$(O) \
+    $(OUTDIR_SLASH)IRBuilder.$(O) \
+    $(OUTDIR_SLASH)IRBytecodeGenerator.$(O) \
+    $(OUTDIR_SLASH)IRFunction.$(O) \
+    $(OUTDIR_SLASH)IRInstruction.$(O) \
+    $(OUTDIR_SLASH)IRInterpreter.$(O) \
+    $(OUTDIR_SLASH)IRSequence.$(O) \
+    $(OUTDIR_SLASH)IRStackCount.$(O) \
+    $(OUTDIR_SLASH)ctu_ircompiler.$(O) \
+    $(OUTDIR_SLASH)IRAccess.$(O) \
+    $(OUTDIR_SLASH)IRClosure.$(O) \
+    $(OUTDIR_SLASH)IRConstant.$(O) \
+    $(OUTDIR_SLASH)IRDecompiler.$(O) \
+    $(OUTDIR_SLASH)IRDup.$(O) \
+    $(OUTDIR_SLASH)IRJump.$(O) \
+    $(OUTDIR_SLASH)IRLine.$(O) \
+    $(OUTDIR_SLASH)IRMethod.$(O) \
+    $(OUTDIR_SLASH)IRPop.$(O) \
+    $(OUTDIR_SLASH)IRPrinter.$(O) \
+    $(OUTDIR_SLASH)IRReturn.$(O) \
+    $(OUTDIR_SLASH)IRSend.$(O) \
+    $(OUTDIR_SLASH)IRTranslator.$(O) \
+    $(OUTDIR_SLASH)IRBlockReturnTop.$(O) \
+    $(OUTDIR_SLASH)IRInstVarAccess.$(O) \
+    $(OUTDIR_SLASH)IRJumpIf.$(O) \
+    $(OUTDIR_SLASH)IRJumpOverBlock.$(O) \
+    $(OUTDIR_SLASH)IRLiteralVariableAccess.$(O) \
+    $(OUTDIR_SLASH)IRTempAccess.$(O) \
+    $(OUTDIR_SLASH)IRInstVarRead.$(O) \
+    $(OUTDIR_SLASH)IRInstVarStore.$(O) \
+    $(OUTDIR_SLASH)IRLiteralVariableRead.$(O) \
+    $(OUTDIR_SLASH)IRLiteralVariableStore.$(O) \
+    $(OUTDIR_SLASH)IRTempRead.$(O) \
+    $(OUTDIR_SLASH)IRTempStore.$(O) \
+    $(OUTDIR_SLASH)extensions.$(O) \
 
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.init	Thu Oct 30 22:18:24 2014 +0000
@@ -0,0 +1,27 @@
+#
+# DO NOT EDIT
+#
+# make uses this file (Makefile) only, if there is no
+# file named "makefile" (lower-case m) in the same directory.
+# My only task is to generate the real makefile and call make again.
+# Thereafter, I am no longer used and needed.
+#
+# MACOSX caveat:
+#   as filenames are not case sensitive (in a default setup),
+#   we cannot use the above trick. Therefore, this file is now named
+#   "Makefile.init", and you have to execute "make -f Makefile.init" to
+#   get the initial makefile.  This is now also done by the toplevel CONFIG
+#   script.
+
+.PHONY: run
+
+run: makefile
+	$(MAKE) -f makefile
+
+#only needed for the definition of $(TOP)
+include Make.proto
+
+makefile: mf
+
+mf:
+	$(TOP)/rules/stmkmf
--- a/abbrev.stc	Thu Oct 30 21:43:54 2014 +0000
+++ b/abbrev.stc	Thu Oct 30 22:18:24 2014 +0000
@@ -1,38 +1,38 @@
 # automagically generated by the project definition
 # this file is needed for stc to be able to compile modules independently.
 # it provides information about a classes filename, category and especially namespace.
-IRBuilder IRBuilder ctu:ircompiler 'NewCompiler-IR' 0
-IRBuilderTest IRBuilderTest ctu:ircompiler 'NewCompiler-IR-Tests' 1
-IRBytecodeGenerator IRBytecodeGenerator ctu:ircompiler 'NewCompiler-Bytecode' 0
-IRFunction IRFunction ctu:ircompiler 'NewCompiler-IR' 0
-IRInstruction IRInstruction ctu:ircompiler 'NewCompiler-IR' 0
-IRInterpreter IRInterpreter ctu:ircompiler 'NewCompiler-IR' 0
-IRSequence IRSequence ctu:ircompiler 'NewCompiler-IR' 0
-IRStackCount IRStackCount ctu:ircompiler 'NewCompiler-Bytecode' 0
-IRTransformTest IRTransformTest ctu:ircompiler 'NewCompiler-IR-Tests' 1
-cvut_stx_goodies_newcompiler cvut_stx_goodies_newcompiler ctu:ircompiler '* Projects & Packages *' 3
-IRAccess IRAccess ctu:ircompiler 'NewCompiler-IR' 0
-IRClosure IRClosure ctu:ircompiler 'NewCompiler-IR' 0
-IRConstant IRConstant ctu:ircompiler 'NewCompiler-IR' 0
-IRDecompiler IRDecompiler ctu:ircompiler 'NewCompiler-IR' 0
-IRDup IRDup ctu:ircompiler 'NewCompiler-IR' 0
-IRJump IRJump ctu:ircompiler 'NewCompiler-IR' 0
-IRLine IRLine ctu:ircompiler 'NewCompiler-IR' 0
-IRMethod IRMethod ctu:ircompiler 'NewCompiler-IR' 0
-IRPop IRPop ctu:ircompiler 'NewCompiler-IR' 0
-IRPrinter IRPrinter ctu:ircompiler 'NewCompiler-IR' 0
-IRReturn IRReturn ctu:ircompiler 'NewCompiler-IR' 0
-IRSend IRSend ctu:ircompiler 'NewCompiler-IR' 0
-IRTranslator IRTranslator ctu:ircompiler 'NewCompiler-IR' 0
-IRBlockReturnTop IRBlockReturnTop ctu:ircompiler 'NewCompiler-IR' 0
-IRInstVarAccess IRInstVarAccess ctu:ircompiler 'NewCompiler-IR' 0
-IRJumpIf IRJumpIf ctu:ircompiler 'NewCompiler-IR' 0
-IRJumpOverBlock IRJumpOverBlock ctu:ircompiler 'NewCompiler-IR' 0
-IRLiteralVariableAccess IRLiteralVariableAccess ctu:ircompiler 'NewCompiler-IR' 0
-IRTempAccess IRTempAccess ctu:ircompiler 'NewCompiler-IR' 0
-IRInstVarRead IRInstVarRead ctu:ircompiler 'NewCompiler-IR' 0
-IRInstVarStore IRInstVarStore ctu:ircompiler 'NewCompiler-IR' 0
-IRLiteralVariableRead IRLiteralVariableRead ctu:ircompiler 'NewCompiler-IR' 0
-IRLiteralVariableStore IRLiteralVariableStore ctu:ircompiler 'NewCompiler-IR' 0
-IRTempRead IRTempRead ctu:ircompiler 'NewCompiler-IR' 0
-IRTempStore IRTempStore ctu:ircompiler 'NewCompiler-IR' 0
+IRBuilder IRBuilder ctu:ircompiler 'IR Compiler-IR' 0
+IRBuilderTest IRBuilderTest ctu:ircompiler 'IR Compiler-Tests' 1
+IRBytecodeGenerator IRBytecodeGenerator ctu:ircompiler 'IR Compiler-Bytecode' 0
+IRFunction IRFunction ctu:ircompiler 'IR Compiler-IR' 0
+IRInstruction IRInstruction ctu:ircompiler 'IR Compiler-IR' 0
+IRInterpreter IRInterpreter ctu:ircompiler 'IR Compiler-IR' 0
+IRSequence IRSequence ctu:ircompiler 'IR Compiler-IR' 0
+IRStackCount IRStackCount ctu:ircompiler 'IR Compiler-Bytecode' 0
+IRTransformTest IRTransformTest ctu:ircompiler 'IR Compiler-Tests' 1
+ctu_ircompiler ctu_ircompiler ctu:ircompiler '* Projects & Packages *' 3
+IRAccess IRAccess ctu:ircompiler 'IR Compiler-IR' 0
+IRClosure IRClosure ctu:ircompiler 'IR Compiler-IR' 0
+IRConstant IRConstant ctu:ircompiler 'IR Compiler-IR' 0
+IRDecompiler IRDecompiler ctu:ircompiler 'IR Compiler-IR' 0
+IRDup IRDup ctu:ircompiler 'IR Compiler-IR' 0
+IRJump IRJump ctu:ircompiler 'IR Compiler-IR' 0
+IRLine IRLine ctu:ircompiler 'IR Compiler-IR' 0
+IRMethod IRMethod ctu:ircompiler 'IR Compiler-IR' 0
+IRPop IRPop ctu:ircompiler 'IR Compiler-IR' 0
+IRPrinter IRPrinter ctu:ircompiler 'IR Compiler-IR' 0
+IRReturn IRReturn ctu:ircompiler 'IR Compiler-IR' 0
+IRSend IRSend ctu:ircompiler 'IR Compiler-IR' 0
+IRTranslator IRTranslator ctu:ircompiler 'IR Compiler-IR' 0
+IRBlockReturnTop IRBlockReturnTop ctu:ircompiler 'IR Compiler-IR' 0
+IRInstVarAccess IRInstVarAccess ctu:ircompiler 'IR Compiler-IR' 0
+IRJumpIf IRJumpIf ctu:ircompiler 'IR Compiler-IR' 0
+IRJumpOverBlock IRJumpOverBlock ctu:ircompiler 'IR Compiler-IR' 0
+IRLiteralVariableAccess IRLiteralVariableAccess ctu:ircompiler 'IR Compiler-IR' 0
+IRTempAccess IRTempAccess ctu:ircompiler 'IR Compiler-IR' 0
+IRInstVarRead IRInstVarRead ctu:ircompiler 'IR Compiler-IR' 0
+IRInstVarStore IRInstVarStore ctu:ircompiler 'IR Compiler-IR' 0
+IRLiteralVariableRead IRLiteralVariableRead ctu:ircompiler 'IR Compiler-IR' 0
+IRLiteralVariableStore IRLiteralVariableStore ctu:ircompiler 'IR Compiler-IR' 0
+IRTempRead IRTempRead ctu:ircompiler 'IR Compiler-IR' 0
+IRTempStore IRTempStore ctu:ircompiler 'IR Compiler-IR' 0
--- a/bc.mak	Thu Oct 30 21:43:54 2014 +0000
+++ b/bc.mak	Thu Oct 30 22:18:24 2014 +0000
@@ -15,7 +15,7 @@
 #    bmake clobber - clean all
 #
 # Historic Note:
-#  this used to contain only rules to make with borland 
+#  this used to contain only rules to make with borland
 #    (called via bmake, by "make.exe -f bc.mak")
 #  this has changed; it is now also possible to build using microsoft visual c
 #    (called via vcmake, by "make.exe -f bc.mak -DUSEVC")
@@ -30,11 +30,11 @@
 !INCLUDE Make.spec
 
 LIBNAME=libctu_ircompiler
-RESFILES=newcompiler.res
+RESFILES=ircompiler.$(RES)
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libcompat -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libtool
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libcompat -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libwidg
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -48,32 +48,30 @@
 
 !INCLUDE $(TOP)\rules\stdRules_bc
 
-# build all prerequisite packages for this package
+# build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
-	pushd ..\..\..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\goodies\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libdb & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libdb\libodbc & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libdb\libsqlite & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\libcompat & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\..\stx\librun & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\stx\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\stx\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
 
 
+
+
+test: $(TOP)\goodies\builder\reports\NUL
+	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
+	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
+        
+clean::
+	del *.$(CSUFFIX)
+
+
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
 $(OUTDIR)IRBuilder.$(O) IRBuilder.$(H): IRBuilder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)IRBytecodeGenerator.$(O) IRBytecodeGenerator.$(H): IRBytecodeGenerator.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -82,32 +80,41 @@
 $(OUTDIR)IRInterpreter.$(O) IRInterpreter.$(H): IRInterpreter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)IRSequence.$(O) IRSequence.$(H): IRSequence.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)IRStackCount.$(O) IRStackCount.$(H): IRStackCount.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRAccess.$(O) IRAccess.$(H): IRAccess.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRClosure.$(O) IRClosure.$(H): IRClosure.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRConstant.$(O) IRConstant.$(H): IRConstant.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRDecompiler.$(O) IRDecompiler.$(H): IRDecompiler.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRDup.$(O) IRDup.$(H): IRDup.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRJump.$(O) IRJump.$(H): IRJump.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRLine.$(O) IRLine.$(H): IRLine.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRMethod.$(O) IRMethod.$(H): IRMethod.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRPop.$(O) IRPop.$(H): IRPop.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRPrinter.$(O) IRPrinter.$(H): IRPrinter.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRReturn.$(O) IRReturn.$(H): IRReturn.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRSend.$(O) IRSend.$(H): IRSend.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRTranslator.$(O) IRTranslator.$(H): IRTranslator.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRReturn.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRInstVarAccess.$(O) IRInstVarAccess.$(H): IRInstVarAccess.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRJump.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRJump.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRLiteralVariableAccess.$(O) IRLiteralVariableAccess.$(H): IRLiteralVariableAccess.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRTempAccess.$(O) IRTempAccess.$(H): IRTempAccess.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstVarAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstVarAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRTempAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRTempAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libcomp\ByteCodeCompiler.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(STCHDR)
+$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)IRAccess.$(O) IRAccess.$(H): IRAccess.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRClosure.$(O) IRClosure.$(H): IRClosure.st $(INCLUDE_TOP)\ctu\ircompiler\IRFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRConstant.$(O) IRConstant.$(H): IRConstant.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRDecompiler.$(O) IRDecompiler.$(H): IRDecompiler.st $(INCLUDE_TOP)\ctu\ircompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRDup.$(O) IRDup.$(H): IRDup.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRJump.$(O) IRJump.$(H): IRJump.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRLine.$(O) IRLine.$(H): IRLine.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRMethod.$(O) IRMethod.$(H): IRMethod.st $(INCLUDE_TOP)\ctu\ircompiler\IRFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRPop.$(O) IRPop.$(H): IRPop.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRPrinter.$(O) IRPrinter.$(H): IRPrinter.st $(INCLUDE_TOP)\ctu\ircompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRReturn.$(O) IRReturn.$(H): IRReturn.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRSend.$(O) IRSend.$(H): IRSend.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRTranslator.$(O) IRTranslator.$(H): IRTranslator.st $(INCLUDE_TOP)\ctu\ircompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRReturn.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRInstVarAccess.$(O) IRInstVarAccess.$(H): IRInstVarAccess.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRJump.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRJump.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRLiteralVariableAccess.$(O) IRLiteralVariableAccess.$(H): IRLiteralVariableAccess.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRTempAccess.$(O) IRTempAccess.$(H): IRTempAccess.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstVarAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstVarAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRTempAccess.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRTempAccess.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libcomp\ByteCodeCompiler.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
+
+# **Must be at end**
+
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+!IFDEF HGROOT
+$(OUTDIR)ctu_ircompiler.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- a/bmake.bat	Thu Oct 30 21:43:54 2014 +0000
+++ b/bmake.bat	Thu Oct 30 22:18:24 2014 +0000
@@ -3,6 +3,10 @@
 @REM type bmake, and wait...
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
-make.exe -N -f bc.mak %*
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+make.exe -N -f bc.mak  %DEFINES% %*
 
 
--- a/ctu_ircompiler.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/ctu_ircompiler.st	Thu Oct 30 22:18:24 2014 +0000
@@ -7,26 +7,60 @@
 	category:'* Projects & Packages *'
 !
 
+!ctu_ircompiler class methodsFor:'documentation'!
+
+extensionsVersion_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
 
 !ctu_ircompiler class methodsFor:'description'!
 
-preRequisites
-    "list all required packages.
-     This list can be maintained manually or (better) generated and
-     updated by scanning the superclass hierarchies and looking for
-     global variable accesses. (the browser has a menu function for that)
-     Howevery, often too much is found, and you may want to explicitely
-     exclude individual packages in the #excludedFromPrerequisites method."
+excludedFromPreRequisites
+    "list packages which are to be explicitely excluded from the automatic constructed
+     prerequisites list. If empty, everything that is found along the inheritance of any of
+     my classes is considered to be a prerequisite package."
+
+    ^ #(
+    )
+!
+
+mandatoryPreRequisites
+    "list packages which are mandatory as a prerequisite.
+     This are packages containing superclasses of my classes and classes which
+     are extended by myself.
+     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
+     This method is generated automatically,
+     by searching along the inheritance chain of all of my classes."
 
     ^ #(
-        #'stx:goodies/refactoryBrowser/parser'    "RBReturnNode - referenced by IRDecompiler>>addReturn:from: "
-        #'stx:goodies/sunit'    "TestAsserter - superclass of IRTransformTest "
-        #'stx:libbasic'    "Link - superclass of IRSend "
-        #'stx:libbasic2'    "OrderedDictionary - referenced by IRBytecodeGenerator>>initialize "
-        #'stx:libcomp'    "Parser - superclass of extended ByteCodeCompiler "
-        #'stx:libcompat'    "Preferences - referenced by IRDecompiler>>removeClosureCreation: "
-        #'stx:libtool'    "Tools::Inspector2Tab - referenced by IRFunction>>inspector2TabIRCode "
-        #'stx:libwidg'    "TextView - referenced by IRFunction>>inspector2TabIRCode "
+        #'stx:goodies/sunit'    "TestAsserter - superclass of IRBuilderTest"
+        #'stx:libbasic'    "Behavior - extended"
+        #'stx:libcomp'    "ByteCodeCompiler - extended"
+    )
+!
+
+referencedPreRequisites
+    "list packages which are a prerequisite, because they contain
+     classes which are referenced by my classes.
+     We do not need these packages as a prerequisite for loading or compiling.
+     This method is generated automatically,
+     by searching all classes (and their packages) which are referenced by my classes."
+
+    ^ #(
+        #'stx:goodies/refactoryBrowser/parser'    "RBArrayNode - referenced by IRDecompiler>>endCase:"
+        #'stx:libcompat'    "Preferences - referenced by IRDecompiler>>addReturn:from:"
+        #'stx:libtool'    "Tools::Inspector2Tab - referenced by IRFunction>>inspector2TabIRCode"
+        #'stx:libwidg'    "ScrollableView - referenced by IRFunction>>inspector2TabIRCode"
+    )
+!
+
+subProjects
+    "list packages which are known as subprojects.
+     The generated makefile will enter those and make there as well.
+     However: they are not forced to be loaded when a package is loaded;
+     for those, redefine requiredPrerequisites."
+
+    ^ #(
     )
 ! !
 
@@ -79,8 +113,8 @@
 !
 
 extensionMethodNames
-    "lists the extension methods which are to be included in the project.
-     Entries are 2-element array literals, consisting of class-name and selector."
+    "list class/selector pairs of extensions.
+     A correponding method with real names must be present in my concrete subclasses"
 
     ^ #(
         ByteCodeCompiler literalArray:
@@ -146,13 +180,19 @@
 !ctu_ircompiler class methodsFor:'documentation'!
 
 version
-    ^ '$Id$'
+    ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/ctu_ircompiler.st,v 1.4 2009/10/08 12:00:46 fm Exp$'
 !
 
 version_CVS
-    ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/ctu_ircompiler.st,v 1.4 2009/10/08 12:00:46 fm Exp '
+    ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/ctu_ircompiler.st,v 1.4 2009/10/08 12:00:46 fm Exp$'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 !
 
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/extensions.st	Thu Oct 30 21:43:54 2014 +0000
+++ b/extensions.st	Thu Oct 30 22:18:24 2014 +0000
@@ -30,6 +30,7 @@
 
 !ctu_ircompiler class methodsFor:'documentation'!
 
-extensionsVersion_SVN
-    ^ '$Id::                                                                                                                        $'
+extensionsVersion_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
--- a/ircompiler.rc	Thu Oct 30 21:43:54 2014 +0000
+++ b/ircompiler.rc	Thu Oct 30 22:18:24 2014 +0000
@@ -3,8 +3,8 @@
 // automagically generated from the projectDefinition: ctu_ircompiler.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,0,1
-  PRODUCTVERSION  6,2,3,1
+  FILEVERSION     6,2,32767,32767
+  PRODUCTVERSION  6,2,4,0
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "CVUT FEI & Mathieu Suen\0"
       VALUE "FileDescription", "Smalltalk/X Bytecode generation library based on Squeak's NewCompiler (LIB)\0"
-      VALUE "FileVersion", "6.2.0.1\0"
+      VALUE "FileVersion", "6.2.32767.32767\0"
       VALUE "InternalName", "ctu:ircompiler\0"
       VALUE "LegalCopyright", "Copyright Jan Vrany & Mathieu Suen 2008\0"
       VALUE "ProductName", "NewCompiler\0"
-      VALUE "ProductVersion", "6.2.3.1\0"
-      VALUE "ProductDate", "Mon, 29 Oct 2012 10:43:04 GMT\0"
+      VALUE "ProductVersion", "6.2.4.0\0"
+      VALUE "ProductDate", "Thu, 30 Oct 2014 22:12:43 GMT\0"
     END
 
   END
--- a/libInit.cc	Thu Oct 30 21:43:54 2014 +0000
+++ b/libInit.cc	Thu Oct 30 22:18:24 2014 +0000
@@ -13,16 +13,16 @@
 
 #if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
 DLL_EXPORT void _libctu_ircompiler_Init() INIT_TEXT_SECTION;
-// DLL_EXPORT void _libctu_ircompiler_InitDefinition() INIT_TEXT_SECTION;
+DLL_EXPORT void _libctu_ircompiler_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-// void _libctu_ircompiler_InitDefinition(pass, __pRT__, snd)
-// OBJ snd; struct __vmData__ *__pRT__; {
-// __BEGIN_PACKAGE2__("libctu_ircompiler__DFN", _libctu_ircompiler_InitDefinition, "ctu:ircompiler");
-// _ctu_137ircompiler_Init(pass,__pRT__,snd);
+void _libctu_ircompiler_InitDefinition(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("libctu_ircompiler__DFN", _libctu_ircompiler_InitDefinition, "ctu:ircompiler");
+_ctu_137ircompiler_Init(pass,__pRT__,snd);
 
-// __END_PACKAGE__();
-// }
+__END_PACKAGE__();
+}
 
 void _libctu_ircompiler_Init(pass, __pRT__, snd)
 OBJ snd; struct __vmData__ *__pRT__; {
--- a/mingwmake.bat	Thu Oct 30 21:43:54 2014 +0000
+++ b/mingwmake.bat	Thu Oct 30 22:18:24 2014 +0000
@@ -3,6 +3,14 @@
 @REM type mingwmake, and wait...
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
-make.exe -N -f bc.mak -DUSEMINGW=1 %*
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
+@pushd ..\..\stx\rules
+@call find_mingw.bat
+@popd
+make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
 
--- a/vcmake.bat	Thu Oct 30 21:43:54 2014 +0000
+++ b/vcmake.bat	Thu Oct 30 22:18:24 2014 +0000
@@ -5,8 +5,16 @@
 @REM -------
 
 @if not defined VSINSTALLDIR (
-    call ..\..\..\..\stx\rules\vcsetup.bat
+    pushd ..\..\stx\rules
+    call vcsetup.bat
+    popd
 )
-make.exe -N -f bc.mak -DUSEVC %*
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
 
+
+