Added new package for Smalltalk/X specific benchmarks.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 28 Feb 2014 16:09:24 +0000
changeset 200 74d0deae135b
parent 199 72e22dd2bade
child 201 5d3664715a89
Added new package for Smalltalk/X specific benchmarks.
s/benchmarks/Make.proto
s/benchmarks/bc.mak
s/benchmarks/benchmarks.rc
s/benchmarks/bmake.bat
s/benchmarks/game/Make.proto
s/benchmarks/game/bc.mak
s/benchmarks/game/game.rc
s/benchmarks/jv_calipel_s_benchmarks.st
s/benchmarks/lccmake.bat
s/benchmarks/micro/BenchmarkPerform.st
s/benchmarks/micro/Make.proto
s/benchmarks/micro/bc.mak
s/benchmarks/micro/micro.rc
s/benchmarks/mingwmake.bat
s/benchmarks/stx/BenchmarkStXMicro.st
s/benchmarks/stx/Make.proto
s/benchmarks/stx/Make.spec
s/benchmarks/stx/Makefile.init
s/benchmarks/stx/abbrev.stc
s/benchmarks/stx/bc.mak
s/benchmarks/stx/bmake.bat
s/benchmarks/stx/jv_calipel_s_benchmarks_stx.st
s/benchmarks/stx/lccmake.bat
s/benchmarks/stx/libInit.cc
s/benchmarks/stx/mingwmake.bat
s/benchmarks/stx/stx.rc
s/benchmarks/stx/vcmake.bat
s/benchmarks/vcmake.bat
--- a/s/benchmarks/Make.proto	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/Make.proto	Fri Feb 28 16:09:24 2014 +0000
@@ -21,7 +21,7 @@
 INCLUDE_TOP=$(TOP)/..
 
 # subdirectories where targets are to be made:
-SUBDIRS= game micro
+SUBDIRS= game stx micro
 
 
 # subdirectories where Makefiles are to be made:
@@ -121,7 +121,7 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)jv_calipel_s_benchmarks.$(O) jv_calipel_s_benchmarks.$(H): jv_calipel_s_benchmarks.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)jv_calipel_s_benchmarks.$(O) jv_calipel_s_benchmarks.$(H): jv_calipel_s_benchmarks.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/s/benchmarks/bc.mak	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/bc.mak	Fri Feb 28 16:09:24 2014 +0000
@@ -67,7 +67,7 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)jv_calipel_s_benchmarks.$(O) jv_calipel_s_benchmarks.$(H): jv_calipel_s_benchmarks.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)jv_calipel_s_benchmarks.$(O) jv_calipel_s_benchmarks.$(H): jv_calipel_s_benchmarks.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/s/benchmarks/benchmarks.rc	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/benchmarks.rc	Fri Feb 28 16:09:24 2014 +0000
@@ -23,9 +23,9 @@
       VALUE "FileVersion", "6.2.32767.32767\0"
       VALUE "InternalName", "jv:calipel/s/benchmarks\0"
       VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
-      VALUE "ProductName", "ProductName\0"
+      VALUE "ProductName", "LibraryName\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Tue, 11 Jun 2013 00:09:31 GMT\0"
+      VALUE "ProductDate", "Fri, 28 Feb 2014 16:08:06 GMT\0"
     END
 
   END
--- a/s/benchmarks/bmake.bat	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/bmake.bat	Fri Feb 28 16:09:24 2014 +0000
@@ -17,6 +17,13 @@
 @cd ..
 
 @echo "***********************************"
+@echo "Buildung jv/calipel/s/benchmarks/stx
+@echo "***********************************"
+@cd stx
+@call bmake %1 %2
+@cd ..
+
+@echo "***********************************"
 @echo "Buildung jv/calipel/s/benchmarks/micro
 @echo "***********************************"
 @cd micro
--- a/s/benchmarks/game/Make.proto	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/game/Make.proto	Fri Feb 28 16:09: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/libbasic -I$(INCLUDE_TOP)/stx/goodies/sunit
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
 
 
 # if you need any additional defines for embedded C code,
@@ -125,7 +125,7 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)jv_calipel_s_benchmarks_game.$(O) jv_calipel_s_benchmarks_game.$(H): jv_calipel_s_benchmarks_game.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)jv_calipel_s_benchmarks_game.$(O) jv_calipel_s_benchmarks_game.$(H): jv_calipel_s_benchmarks_game.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/s/benchmarks/game/bc.mak	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/game/bc.mak	Fri Feb 28 16:09:24 2014 +0000
@@ -34,7 +34,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\sunit
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -71,7 +71,7 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)jv_calipel_s_benchmarks_game.$(O) jv_calipel_s_benchmarks_game.$(H): jv_calipel_s_benchmarks_game.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)jv_calipel_s_benchmarks_game.$(O) jv_calipel_s_benchmarks_game.$(H): jv_calipel_s_benchmarks_game.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/s/benchmarks/game/game.rc	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/game/game.rc	Fri Feb 28 16:09:24 2014 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
       VALUE "ProductName", "LibraryName\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Sun, 14 Jul 2013 18:36:44 GMT\0"
+      VALUE "ProductDate", "Fri, 28 Feb 2014 16:08:09 GMT\0"
     END
 
   END
--- a/s/benchmarks/jv_calipel_s_benchmarks.st	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/jv_calipel_s_benchmarks.st	Fri Feb 28 16:09:24 2014 +0000
@@ -40,8 +40,6 @@
      exclude individual packages in the #excludedFromPreRequisites method."
 
     ^ #(
-        #'jv:calipel/s/benchmarks/micro'
-        #'jv:calipel/s/benchmarks/game'
     )
 !
 
@@ -53,6 +51,7 @@
 
     ^ #(
         #'jv:calipel/s/benchmarks/game'
+        #'jv:calipel/s/benchmarks/stx'
         #'jv:calipel/s/benchmarks/micro'
     )
 ! !
@@ -102,16 +101,12 @@
 productName
     "Return a product name which will appear in <lib>.rc"
 
-    ^ 'ProductName'
+    ^ 'LibraryName'
 ! !
 
 !jv_calipel_s_benchmarks class methodsFor:'documentation'!
 
 version_HG
     ^ '$Changeset: <not expanded> $'
-!
-
-version_MC
-    ^ 'CalipeL_S-Benchmarks-JanVrany.1 b5f61090-c9d7-11e2-a959-606720e43e2c 2013-05-31T10:51:48 JanVrany'
 ! !
 
--- a/s/benchmarks/lccmake.bat	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/lccmake.bat	Fri Feb 28 16:09:24 2014 +0000
@@ -13,6 +13,13 @@
 @cd ..
 
 @echo "***********************************"
+@echo "Buildung jv/calipel/s/benchmarks/stx
+@echo "***********************************"
+@cd stx
+@call lccmake %1 %2
+@cd ..
+
+@echo "***********************************"
 @echo "Buildung jv/calipel/s/benchmarks/micro
 @echo "***********************************"
 @cd micro
--- a/s/benchmarks/micro/BenchmarkPerform.st	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/micro/BenchmarkPerform.st	Fri Feb 28 16:09:24 2014 +0000
@@ -12,24 +12,18 @@
 
 documentation
 "
- Replace 'Object', 'NewClass1' and
- the empty string arguments by true values.
+    Simple benchmark to measure performance of Object>>perform:
 
- Install (or change) the class by 'accepting',
- either via the menu or the keyboard (usually CMD-A).
-
- You can also change the category simply by editing
- the categoryString and accepting.
+    TBW...
 
- To be nice to others (and yourself later), do not forget to
- add some documentation; preferably under the classes documentation
- protocol.
- (see the `create documentation stubs' item in the methodList menu;
-  switch from instance to class to find this menu item.)
+    [author:]
+        Jan Vrany <jan.vrany@fit.cvut.cz>
 
- Notice, that ST/X uses the convention to document the class using
- comment-only class methods (however, ST80 comments are supported and
- can be changed via the class-documentation menu).
+    [instance variables:]
+
+    [class variables:]
+
+    [see also:]
 
 "
 ! !
@@ -111,30 +105,6 @@
     "Modified: / 10-06-2013 / 21:53:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-!BenchmarkPerform methodsFor:'accessing'!
-
-recdistrib
-    ^ recdistrib
-!
-
-recdistrib:aSymbol
-    <parameter: #recdistrib type: #Symbol default: #uniform values: #(#sequential #uniform #normal)>
-    recdistrib := aSymbol.
-
-    "Modified: / 01-08-2013 / 20:16:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-seldistrib
-    ^ seldistrib
-!
-
-seldistrib:aSymbol
-    <parameter: #seldistrib type: #Symbol default: #uniform values: #(#sequential #uniform #normal)>
-    seldistrib := aSymbol.
-
-    "Modified: / 01-08-2013 / 20:17:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
 !BenchmarkPerform methodsFor:'benchmarks'!
 
 benchmark0
@@ -464,6 +434,28 @@
     nselectors := anInteger.
 
     "Modified: / 20-07-2013 / 01:07:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+recdistrib
+    ^ recdistrib
+!
+
+recdistrib:aSymbol
+    <parameter: #recdistrib type: #Symbol default: #uniform values: #(#sequential #uniform #normal)>
+    recdistrib := aSymbol.
+
+    "Modified: / 01-08-2013 / 20:16:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+seldistrib
+    ^ seldistrib
+!
+
+seldistrib:aSymbol
+    <parameter: #seldistrib type: #Symbol default: #uniform values: #(#sequential #uniform #normal)>
+    seldistrib := aSymbol.
+
+    "Modified: / 01-08-2013 / 20:17:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !BenchmarkPerform methodsFor:'running'!
--- a/s/benchmarks/micro/Make.proto	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/micro/Make.proto	Fri Feb 28 16:09:24 2014 +0000
@@ -122,7 +122,7 @@
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
 $(OUTDIR)BenchmarkPerform.$(O) BenchmarkPerform.$(H): BenchmarkPerform.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)jv_calipel_s_benchmarks_micro.$(O) jv_calipel_s_benchmarks_micro.$(H): jv_calipel_s_benchmarks_micro.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)jv_calipel_s_benchmarks_micro.$(O) jv_calipel_s_benchmarks_micro.$(H): jv_calipel_s_benchmarks_micro.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/s/benchmarks/micro/bc.mak	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/micro/bc.mak	Fri Feb 28 16:09:24 2014 +0000
@@ -68,7 +68,7 @@
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
 $(OUTDIR)BenchmarkPerform.$(O) BenchmarkPerform.$(H): BenchmarkPerform.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)jv_calipel_s_benchmarks_micro.$(O) jv_calipel_s_benchmarks_micro.$(H): jv_calipel_s_benchmarks_micro.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)jv_calipel_s_benchmarks_micro.$(O) jv_calipel_s_benchmarks_micro.$(H): jv_calipel_s_benchmarks_micro.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/s/benchmarks/micro/micro.rc	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/micro/micro.rc	Fri Feb 28 16:09:24 2014 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
       VALUE "ProductName", "LibraryName\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Sat, 20 Jul 2013 11:19:41 GMT\0"
+      VALUE "ProductDate", "Fri, 28 Feb 2014 16:08:11 GMT\0"
     END
 
   END
--- a/s/benchmarks/mingwmake.bat	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/mingwmake.bat	Fri Feb 28 16:09:24 2014 +0000
@@ -21,6 +21,13 @@
 @cd ..
 
 @echo "***********************************"
+@echo "Buildung jv/calipel/s/benchmarks/stx
+@echo "***********************************"
+@cd stx
+@call mingwmake %1 %2
+@cd ..
+
+@echo "***********************************"
 @echo "Buildung jv/calipel/s/benchmarks/micro
 @echo "***********************************"
 @cd micro
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/BenchmarkStXMicro.st	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,76 @@
+"{ Package: 'jv:calipel/s/benchmarks/stx' }"
+
+Object subclass:#BenchmarkStXMicro
+	instanceVariableNames:'iterations'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'CalipeL-S-Benchmarks-St/X'
+!
+
+!BenchmarkStXMicro class methodsFor:'documentation'!
+
+documentation
+"
+    Various micro-benchmarks specific to Smalltalk/X.
+
+    [author:]
+        Jan Vrany <jan.vrany@fit.cvut.cz>
+
+    [instance variables:]
+
+    [class variables:]
+
+    [see also:]
+
+"
+! !
+
+!BenchmarkStXMicro class methodsFor:'running'!
+
+run
+    ^ (BenchmarkSuite class:self) run
+
+    "Created: / 10-06-2013 / 21:53:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+run: benchmark
+    ^ (BenchmarkInstance class:self selector:benchmark) run
+
+    "Created: / 31-05-2013 / 10:39:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 10-06-2013 / 21:53:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkStXMicro methodsFor:'benchmarks'!
+
+bench_Smalltalk_allProjectIDs
+    iterations timesRepeat:[
+        Smalltalk allProjectIDs.  
+    ].
+
+    "
+    BenchmarkStXMicro run: #bench_Smalltalk_allProjectIDs
+    "
+
+    "Created: / 28-02-2014 / 15:54:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkStXMicro methodsFor:'parameters'!
+
+iterations
+    ^ iterations
+!
+
+iterations:anInteger
+    <parameter: 'How many interations in outer loop' type: #Integer default: 100>
+    iterations := anInteger.
+
+    "Modified: / 28-02-2014 / 16:00:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkStXMicro class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/Make.proto	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,128 @@
+# $Header$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: jv_calipel_s_benchmarks_stx.
+#
+# Warning: once you modify this file, do not rerun
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# The Makefile as generated by this Make.proto supports the following targets:
+#    make         - compile all st-files to a classLib
+#    make clean   - clean all temp files
+#    make clobber - clean all
+#
+# This file contains definitions for Unix based platforms.
+# It shares common definitions with the win32-make in Make.spec.
+
+#
+# position (of this package) in directory hierarchy:
+# (must point to ST/X top directory, for tools and includes)
+TOP=../../../../../stx
+INCLUDE_TOP=$(TOP)/..
+
+# subdirectories where targets are to be made:
+SUBDIRS=
+
+
+# subdirectories where Makefiles are to be made:
+# (only define if different from SUBDIRS)
+# ALLSUBDIRS=
+
+REQUIRED_SUPPORT_DIRS=
+
+# if your embedded C code requires any system includes,
+# add the path(es) here:,
+# ********** OPTIONAL: MODIFY the next lines ***
+# LOCALINCLUDES=-Ifoo -Ibar
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic
+
+
+# if you need any additional defines for embedded C code,
+# add them here:,
+# ********** OPTIONAL: MODIFY the next lines ***
+# LOCALDEFINES=-Dfoo -Dbar -DDEBUG
+LOCALDEFINES=
+
+LIBNAME=libjv_calipel_s_benchmarks_stx
+STCLOCALOPT='-package=$(PACKAGE)' -I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -headerDir=.  -varPrefix=$(LIBNAME)
+
+
+# ********** OPTIONAL: MODIFY the next line ***
+# additional C-libraries that should be pre-linked with the class-objects
+LD_OBJ_LIBS=
+LOCAL_SHARED_LIBS=
+
+
+# ********** OPTIONAL: MODIFY the next line ***
+# additional C targets or libraries should be added below
+LOCAL_EXTRA_TARGETS=
+
+OBJS= $(COMMON_OBJS) $(UNIX_OBJS)
+
+
+
+all:: preMake classLibRule postMake
+
+pre_objs::  
+
+
+
+
+
+
+# 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**'))
+jv_calipel_s_benchmarks_stx.$(O): $(shell hg root)/.hg/dirstate
+endif
+
+
+
+
+# run default testsuite for this package
+test: $(TOP)/goodies/builder/reports
+	$(MAKE) -C $(TOP)/goodies/builder/reports
+	$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
+
+
+
+# add more install actions here
+install::
+
+# add more install actions for aux-files (resources) here
+installAux::
+
+# add more preMake actions here
+preMake::
+
+# add more postMake actions here
+postMake:: cleanjunk
+
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
+	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+
+
+
+# build all packages containing referenced classes for this package
+# they are nor needed to compile the package
+references:
+
+
+cleanjunk::
+	-rm -f *.s *.s2
+
+clean::
+	-rm -f *.o *.H
+
+clobber:: clean
+	-rm -f *.so *.dll
+
+
+# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
+$(OUTDIR)BenchmarkStXMicro.$(O) BenchmarkStXMicro.$(H): BenchmarkStXMicro.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)jv_calipel_s_benchmarks_stx.$(O) jv_calipel_s_benchmarks_stx.$(H): jv_calipel_s_benchmarks_stx.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+
+# ENDMAKEDEPEND --- do not remove this line
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/Make.spec	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,64 @@
+# $Header$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: jv_calipel_s_benchmarks_stx.
+#
+# 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=jv
+MODULE_DIR=calipel/s/benchmarks/stx
+PACKAGE=$(MODULE):$(MODULE_DIR)
+
+
+# Argument(s) to the stc compiler (stc --usage).
+#  -headerDir=. : 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=+optspace3
+
+
+# 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=-warnNonStandard
+
+COMMON_CLASSES= \
+	BenchmarkStXMicro \
+	jv_calipel_s_benchmarks_stx \
+
+
+
+
+COMMON_OBJS= \
+    $(OUTDIR_SLASH)BenchmarkStXMicro.$(O) \
+    $(OUTDIR_SLASH)jv_calipel_s_benchmarks_stx.$(O) \
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/Makefile.init	Fri Feb 28 16:09: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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/abbrev.stc	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,5 @@
+# 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.
+BenchmarkStXMicro BenchmarkStXMicro jv:calipel/s/benchmarks/stx 'CalipeL-S-Benchmarks-St/X' 0
+jv_calipel_s_benchmarks_stx jv_calipel_s_benchmarks_stx jv:calipel/s/benchmarks/stx '* Projects & Packages *' 3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/bc.mak	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,82 @@
+# $Header$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: jv_calipel_s_benchmarks_stx.
+#
+# Warning: once you modify this file, do not rerun
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# Notice, that the name bc.mak is historical (from times, when only borland c was supported).
+# This file contains make rules for the win32 platform using either borland-bcc or visual-c.
+# It shares common definitions with the unix-make in Make.spec.
+# The bc.mak supports the following targets:
+#    bmake         - compile all st-files to a classLib (dll)
+#    bmake clean   - clean all temp files
+#    bmake clobber - clean all
+#
+# Historic Note:
+#  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")
+#
+TOP=..\..\..\..\..\stx
+INCLUDE_TOP=$(TOP)\..
+
+
+
+!INCLUDE $(TOP)\rules\stdHeader_bc
+
+!INCLUDE Make.spec
+
+LIBNAME=libjv_calipel_s_benchmarks_stx
+RESFILES=stx.$(RES)
+
+
+
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic
+LOCALDEFINES=
+
+STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
+LOCALLIBS=
+
+OBJS= $(COMMON_OBJS) $(WIN32_OBJS)
+
+ALL::  classLibRule
+
+classLibRule: $(OUTDIR) $(OUTDIR)$(LIBNAME).dll
+
+!INCLUDE $(TOP)\rules\stdRules_bc
+
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
+	pushd ..\..\..\..\..\stx\libbasic & $(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)BenchmarkStXMicro.$(O) BenchmarkStXMicro.$(H): BenchmarkStXMicro.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)jv_calipel_s_benchmarks_stx.$(O) jv_calipel_s_benchmarks_stx.$(H): jv_calipel_s_benchmarks_stx.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(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)jv_calipel_s_benchmarks_stx.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/bmake.bat	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,12 @@
+@REM -------
+@REM make using Borland bcc32
+@REM type bmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+@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% %*
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/jv_calipel_s_benchmarks_stx.st	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,111 @@
+"{ Package: 'jv:calipel/s/benchmarks/stx' }"
+
+LibraryDefinition subclass:#jv_calipel_s_benchmarks_stx
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'* Projects & Packages *'
+!
+
+
+!jv_calipel_s_benchmarks_stx class methodsFor:'description'!
+
+excludedFromPreRequisites
+    "list all packages which should be ignored in the automatic
+     preRequisites scan. See #preRequisites for more."
+
+    ^ #(
+    )
+!
+
+mandatoryPreRequisites
+    "list all required mandatory packages.
+     Packages are mandatory, if they contain superclasses of the package's classes
+     or classes which are extended by this package.
+     This list can be maintained manually or (better) generated and
+     updated by scanning the superclass hierarchies
+     (the browser has a menu function for that)"
+
+    ^ #(
+        #'stx:libbasic'    "LibraryDefinition - superclass of jv_calipel_s_benchmarks_stx "
+    )
+!
+
+referencedPreRequisites
+    "list all packages containing classes referenced by the packages's members.
+     This list can be maintained manually or (better) generated and
+     updated by looking for global variable accesses
+     (the browser has a menu function for that)
+     However, often too much is found, and you may want to explicitely
+     exclude individual packages in the #excludedFromPreRequisites method."
+
+    ^ #(
+        #'jv:calipel/s'    "BenchmarkInstance - referenced by BenchmarkStXMicro class>>run: "
+    )
+!
+
+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"
+
+    ^ #(
+    )
+! !
+
+!jv_calipel_s_benchmarks_stx class methodsFor:'description - contents'!
+
+classNamesAndAttributes
+    "lists the classes which are to be included in the project.
+     Each entry in the list may be: a single class-name (symbol),
+     or an array-literal consisting of class name and attributes.
+     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
+
+    ^ #(
+        "<className> or (<className> attributes...) in load order"
+        BenchmarkStXMicro
+        #'jv_calipel_s_benchmarks_stx'
+    )
+!
+
+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."
+
+    ^ #(
+    )
+! !
+
+!jv_calipel_s_benchmarks_stx class methodsFor:'description - project information'!
+
+companyName
+    "Return a companyname which will appear in <lib>.rc"
+
+    ^ 'My Company'
+!
+
+description
+    "Return a description string which will appear in vc.def / bc.def"
+
+    ^ 'Class Library'
+!
+
+legalCopyright
+    "Return a copyright string which will appear in <lib>.rc"
+
+    ^ 'My CopyRight or CopyLeft'
+!
+
+productName
+    "Return a product name which will appear in <lib>.rc"
+
+    ^ 'LibraryName'
+! !
+
+!jv_calipel_s_benchmarks_stx class methodsFor:'documentation'!
+
+version_HG
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/lccmake.bat	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,8 @@
+@REM -------
+@REM make using lcc compiler
+@REM type lccmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+make.exe -N -f bc.mak -DUSELCC=1 %*
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/libInit.cc	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,35 @@
+/*
+ * $Header$
+ *
+ * DO NOT EDIT
+ * automagically generated from the projectDefinition: jv_calipel_s_benchmarks_stx.
+ */
+#define __INDIRECTVMINITCALLS__
+#include <stc.h>
+
+#ifdef WIN32
+# pragma codeseg INITCODE "INITCODE"
+#endif
+
+#if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
+DLL_EXPORT void _libjv_calipel_s_benchmarks_stx_Init() INIT_TEXT_SECTION;
+DLL_EXPORT void _libjv_calipel_s_benchmarks_stx_InitDefinition() INIT_TEXT_SECTION;
+#endif
+
+void _libjv_calipel_s_benchmarks_stx_InitDefinition(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("libjv_calipel_s_benchmarks_stx__DFN", _libjv_calipel_s_benchmarks_stx_InitDefinition, "jv:calipel/s/benchmarks/stx");
+_jv_137calipel_137s_137benchmarks_137stx_Init(pass,__pRT__,snd);
+
+__END_PACKAGE__();
+}
+
+void _libjv_calipel_s_benchmarks_stx_Init(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("libjv_calipel_s_benchmarks_stx", _libjv_calipel_s_benchmarks_stx_Init, "jv:calipel/s/benchmarks/stx");
+_BenchmarkStXMicro_Init(pass,__pRT__,snd);
+_jv_137calipel_137s_137benchmarks_137stx_Init(pass,__pRT__,snd);
+
+
+__END_PACKAGE__();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/mingwmake.bat	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,16 @@
+@REM -------
+@REM make using mingw gnu compiler
+@REM type mingwmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+@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% %*
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/stx.rc	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,37 @@
+//
+// DO NOT EDIT
+// automagically generated from the projectDefinition: jv_calipel_s_benchmarks_stx.
+//
+VS_VERSION_INFO VERSIONINFO
+  FILEVERSION     6,2,32767,32767
+  PRODUCTVERSION  6,2,3,0
+#if (__BORLANDC__)
+  FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
+  FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
+  FILEOS          VOS_NT_WINDOWS32
+  FILETYPE        VFT_DLL
+  FILESUBTYPE     VS_USER_DEFINED
+#endif
+
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "040904E4"
+    BEGIN
+      VALUE "CompanyName", "My Company\0"
+      VALUE "FileDescription", "Class Library (LIB)\0"
+      VALUE "FileVersion", "6.2.32767.32767\0"
+      VALUE "InternalName", "jv:calipel/s/benchmarks/stx\0"
+      VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
+      VALUE "ProductName", "LibraryName\0"
+      VALUE "ProductVersion", "6.2.3.0\0"
+      VALUE "ProductDate", "Fri, 28 Feb 2014 16:08:14 GMT\0"
+    END
+
+  END
+
+  BLOCK "VarFileInfo"
+  BEGIN                               //  Language   |    Translation
+    VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
+  END
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/stx/vcmake.bat	Fri Feb 28 16:09:24 2014 +0000
@@ -0,0 +1,20 @@
+@REM -------
+@REM make using Microsoft Visual C compiler
+@REM type vcmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+
+@if not defined VSINSTALLDIR (
+    pushd ..\..\..\..\..\stx\rules
+    call vcsetup.bat
+    popd
+)
+@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% %*
+
+
+
+
--- a/s/benchmarks/vcmake.bat	Fri Feb 28 15:38:34 2014 +0000
+++ b/s/benchmarks/vcmake.bat	Fri Feb 28 16:09:24 2014 +0000
@@ -25,6 +25,13 @@
 @cd ..
 
 @echo "***********************************"
+@echo "Buildung jv/calipel/s/benchmarks/stx
+@echo "***********************************"
+@cd stx
+@call vcmake %1 %2
+@cd ..
+
+@echo "***********************************"
 @echo "Buildung jv/calipel/s/benchmarks/micro
 @echo "***********************************"
 @cd micro