Reduced dependencies
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 05 Oct 2015 18:09:30 +0100
changeset 24 f07f2a2a8148
parent 23 c9db5d8c9d2e
child 25 0ab1d8f0f793
Reduced dependencies Due to some error, the dependencies of stx:goodies/cypress were too much and basically nonsense (Why it did depend on exept:libsrypt? Who knows...)
.hgignore
CypressModel.st
Make.proto
Make.spec
Makefile.init
abbrev.stc
bc.mak
bmake.bat
extensions.st
libInit.cc
mingwmake.bat
stx_goodies_cypress.st
vcmake.bat
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Mon Oct 05 18:09:30 2015 +0100
@@ -0,0 +1,16 @@
+
+syntax: glob
+*Init.c   
+makefile
+*.so
+*.H
+*.o
+*.STH
+*.sc
+objbc
+objvc
+*.class
+java/libs/*.jar
+java/libs-src/*.jar
+*-Test.xml
+st.chg
--- a/CypressModel.st	Tue Oct 02 09:26:03 2012 +0000
+++ b/CypressModel.st	Mon Oct 05 18:09:30 2015 +0100
@@ -1,5 +1,7 @@
 "{ Package: 'stx:goodies/cypress' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#CypressModel
 	instanceVariableNames:'name properties'
 	classVariableNames:''
@@ -80,6 +82,12 @@
 
 !CypressModel class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/Make.proto	Tue Oct 02 09:26:03 2012 +0000
+++ b/Make.proto	Mon Oct 05 18:09:30 2015 +0100
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libcompat -I$(INCLUDE_TOP)/exept/expecco -I$(INCLUDE_TOP)/exept/expecco/reportGenerator -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/monticello -I$(INCLUDE_TOP)/exept/httpPortal/widgets -I$(INCLUDE_TOP)/exept/libcrypt -I$(INCLUDE_TOP)/exept/workflow -I$(INCLUDE_TOP)/stx/libdb/libodbc -I$(INCLUDE_TOP)/exept/expecco/manifestApi -I$(INCLUDE_TOP)/stx/goodies/simpleServices -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/goodies/webServer -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libhtml -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libtool2 -I$(INCLUDE_TOP)/exept/osi/asn1 -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libwidg2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libdb/libsqlite
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libcomp
 
 
 # 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
 
-stx_goodies_cypress.o: stx_goodies_cypress.st .svnversion 
+stx_goodies_cypress.o: stx_goodies_cypress.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=.stx_goodies_cypress.svn $(C_RULE);
 	sed -i -e "s/\".stx_goodies_cypress.svn.st\");/\"\stx_goodies_cypress.st\");/g" .stx_goodies_cypress.svn.c
 	$(MAKE) .stx_goodies_cypress.svn.$(O)
-	@mv .stx_goodies_cypress.svn.$(O) stx_goodies_cypress.$(O) 
+	@mv .stx_goodies_cypress.svn.$(O) stx_goodies_cypress.$(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**'))
+stx_goodies_cypress.$(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,68 +121,15 @@
 # add more postMake actions here
 postMake:: cleanjunk
 
-prereq: $(REQUIRED_SUPPORT_DIRS)
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
 	cd ../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../soap/wsdl && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../regex && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../refactoryBrowser/helpers && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../refactoryBrowser/parser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../authentication && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/zipWithSignature && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/ctypes && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../postscript && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/pdf && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../net && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libview3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libjavascript && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/osi/asn1 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../refactoryBrowser/changes && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../xml/vw && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../simpleServices && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/libcrypt && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../xml/stx && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libwidg3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/expecco/manifestApi && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../webServer && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/ctypes/inspector && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libcompat && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libtool2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../refactoryBrowser/refactoring && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../communication && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../webServer/htmlTree && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../webServer/ui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../xml/yaxo && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../webServer/comanche && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../monticello && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/httpPortal && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../xml/xmlrpc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../soap && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/httpPortal/widgets && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../xml/xmlrpc/server && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../soap/xmlsig && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../soap/xe && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../soap/spray && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/workflow && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../soap/spray/auth && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/expecco && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/../exept/expecco/reportGenerator && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+
+
 
+# build all packages containing referenced classes for this package
+# they are not needed to compile the package (but later, to load it)
+references:
 
 
 cleanjunk::
@@ -183,7 +146,7 @@
 $(OUTDIR)CypressAbstractReaderWriter.$(O) CypressAbstractReaderWriter.$(H): CypressAbstractReaderWriter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)CypressJSONReader.$(O) CypressJSONReader.$(H): CypressJSONReader.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)CypressModel.$(O) CypressModel.$(H): CypressModel.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)stx_goodies_cypress.$(O) stx_goodies_cypress.$(H): stx_goodies_cypress.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)stx_goodies_cypress.$(O) stx_goodies_cypress.$(H): stx_goodies_cypress.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 $(OUTDIR)CypressAbstractReader.$(O) CypressAbstractReader.$(H): CypressAbstractReader.st $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)CypressAbstractWriter.$(O) CypressAbstractWriter.$(H): CypressAbstractWriter.st $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)CypressClass.$(O) CypressClass.$(H): CypressClass.st $(INCLUDE_TOP)/stx/goodies/cypress/CypressModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -192,8 +155,8 @@
 $(OUTDIR)CypressRepository.$(O) CypressRepository.$(H): CypressRepository.st $(INCLUDE_TOP)/stx/goodies/cypress/CypressModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)CypressFileTreeReader.$(O) CypressFileTreeReader.$(H): CypressFileTreeReader.st $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractReader.$(H) $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)CypressReader.$(O) CypressReader.$(H): CypressReader.st $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractReader.$(H) $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)CypressWriter.$(O) CypressWriter.$(H): CypressWriter.st $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractWriter.$(H) $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Array.$(H) $(INCLUDE_TOP)/stx/libbasic/Boolean.$(H) $(INCLUDE_TOP)/stx/libbasic/Character.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/PackageId.$(H) $(INCLUDE_TOP)/stx/libbasic/Symbol.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)CypressWriter.$(O) CypressWriter.$(H): CypressWriter.st $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)/stx/goodies/cypress/CypressAbstractWriter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/Array.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Boolean.$(H) $(INCLUDE_TOP)/stx/libbasic/Character.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/PackageId.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/Symbol.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/Make.spec	Tue Oct 02 09:26:03 2012 +0000
+++ b/Make.spec	Mon Oct 05 18:09:30 2015 +0100
@@ -42,6 +42,7 @@
 #  -warnNonStandard : no warnings about ST/X extensions
 #  -warnEOLComments : no warnings about EOL comment extension
 #  -warnPrivacy     : no warnings about privateClass extension
+#  -warnUnused      : no warnings about unused variables
 #
 # ********** OPTIONAL: MODIFY the next line(s) ***
 # STCWARNINGS=-warn
@@ -50,38 +51,38 @@
 STCWARNINGS=-warnNonStandard
 
 COMMON_CLASSES= \
+	CypressAbstractReaderWriter \
+	CypressJSONReader \
+	CypressModel \
 	stx_goodies_cypress \
-	CypressAbstractReaderWriter \
-	CypressModel \
+	CypressAbstractReader \
+	CypressAbstractWriter \
 	CypressClass \
 	CypressMethod \
 	CypressPackage \
 	CypressRepository \
-	CypressAbstractWriter \
-	CypressWriter \
-	CypressJSONReader \
-	CypressAbstractReader \
 	CypressFileTreeReader \
 	CypressReader \
+	CypressWriter \
 
 
 
 
 COMMON_OBJS= \
-    $(OUTDIR)stx_goodies_cypress.$(O) \
-    $(OUTDIR)CypressAbstractReaderWriter.$(O) \
-    $(OUTDIR)CypressModel.$(O) \
-    $(OUTDIR)CypressClass.$(O) \
-    $(OUTDIR)CypressMethod.$(O) \
-    $(OUTDIR)CypressPackage.$(O) \
-    $(OUTDIR)CypressRepository.$(O) \
-    $(OUTDIR)CypressAbstractWriter.$(O) \
-    $(OUTDIR)CypressWriter.$(O) \
-    $(OUTDIR)CypressJSONReader.$(O) \
-    $(OUTDIR)CypressAbstractReader.$(O) \
-    $(OUTDIR)CypressFileTreeReader.$(O) \
-    $(OUTDIR)CypressReader.$(O) \
-    $(OUTDIR)extensions.$(O) \
+    $(OUTDIR_SLASH)CypressAbstractReaderWriter.$(O) \
+    $(OUTDIR_SLASH)CypressJSONReader.$(O) \
+    $(OUTDIR_SLASH)CypressModel.$(O) \
+    $(OUTDIR_SLASH)stx_goodies_cypress.$(O) \
+    $(OUTDIR_SLASH)CypressAbstractReader.$(O) \
+    $(OUTDIR_SLASH)CypressAbstractWriter.$(O) \
+    $(OUTDIR_SLASH)CypressClass.$(O) \
+    $(OUTDIR_SLASH)CypressMethod.$(O) \
+    $(OUTDIR_SLASH)CypressPackage.$(O) \
+    $(OUTDIR_SLASH)CypressRepository.$(O) \
+    $(OUTDIR_SLASH)CypressFileTreeReader.$(O) \
+    $(OUTDIR_SLASH)CypressReader.$(O) \
+    $(OUTDIR_SLASH)CypressWriter.$(O) \
+    $(OUTDIR_SLASH)extensions.$(O) \
 
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.init	Mon Oct 05 18:09:30 2015 +0100
@@ -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	Tue Oct 02 09:26:03 2012 +0000
+++ b/abbrev.stc	Mon Oct 05 18:09:30 2015 +0100
@@ -1,16 +1,16 @@
 # 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.
+CypressAbstractReaderWriter CypressAbstractReaderWriter stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
+CypressJSONReader CypressJSONReader stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
+CypressModel CypressModel stx:goodies/cypress 'Cypress-New-Model' 0
 stx_goodies_cypress stx_goodies_cypress stx:goodies/cypress '* Projects & Packages *' 3
-CypressAbstractReaderWriter CypressAbstractReaderWriter stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
-CypressModel CypressModel stx:goodies/cypress 'Cypress-New-Model' 0
+CypressAbstractReader CypressAbstractReader stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
+CypressAbstractWriter CypressAbstractWriter stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
 CypressClass CypressClass stx:goodies/cypress 'Cypress-New-Model' 0
 CypressMethod CypressMethod stx:goodies/cypress 'Cypress-New-Model' 0
 CypressPackage CypressPackage stx:goodies/cypress 'Cypress-New-Model' 0
 CypressRepository CypressRepository stx:goodies/cypress 'Cypress-New-Model' 0
-CypressAbstractWriter CypressAbstractWriter stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
-CypressWriter CypressWriter stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
-CypressJSONReader CypressJSONReader stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
-CypressAbstractReader CypressAbstractReader stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
 CypressFileTreeReader CypressFileTreeReader stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
 CypressReader CypressReader stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
+CypressWriter CypressWriter stx:goodies/cypress 'Cypress-New-Reader & Writer' 0
--- a/bc.mak	Tue Oct 02 09:26:03 2012 +0000
+++ b/bc.mak	Mon Oct 05 18:09:30 2015 +0100
@@ -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,12 @@
 !INCLUDE Make.spec
 
 LIBNAME=libstx_goodies_cypress
-RESFILES=cypress.res
+MODULE_PATH=goodies\cypress
+RESFILES=cypress.$(RES)
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libcompat -I$(INCLUDE_TOP)\exept\expecco -I$(INCLUDE_TOP)\exept\expecco\reportGenerator -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\monticello -I$(INCLUDE_TOP)\exept\httpPortal\widgets -I$(INCLUDE_TOP)\exept\libcrypt -I$(INCLUDE_TOP)\exept\workflow -I$(INCLUDE_TOP)\stx\libdb\libodbc -I$(INCLUDE_TOP)\exept\expecco\manifestApi -I$(INCLUDE_TOP)\stx\goodies\simpleServices -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\goodies\webServer -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libhtml -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libtool2 -I$(INCLUDE_TOP)\exept\osi\asn1 -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libwidg2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libdb\libsqlite
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libcomp
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -48,78 +49,29 @@
 
 !INCLUDE $(TOP)\rules\stdRules_bc
 
-# build all prerequisite packages for this package
+# build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
 	pushd ..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\soap\wsdl & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\regex & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\refactoryBrowser\helpers & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\authentication & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\zipWithSignature & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libdb & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\ctypes & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\postscript & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libdb\libsqlite & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libdb\libodbc & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\pdf & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\net & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libview3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libjavascript & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\osi\asn1 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\refactoryBrowser\changes & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\xml\vw & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\simpleServices & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\libcrypt & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\xml\stx & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libwidg3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\expecco\manifestApi & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\webServer & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\ctypes\inspector & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libcompat & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libtool2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\refactoryBrowser\refactoring & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\communication & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\webServer\htmlTree & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\webServer\ui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\xml\yaxo & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\webServer\comanche & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\monticello & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\httpPortal & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\xml\xmlrpc & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\soap & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\httpPortal\widgets & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\xml\xmlrpc\server & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\soap\xmlsig & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\soap\xe & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\soap\spray & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\workflow & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\soap\spray\auth & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\expecco & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\exept\expecco\reportGenerator & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\librun & $(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)CypressAbstractReaderWriter.$(O) CypressAbstractReaderWriter.$(H): CypressAbstractReaderWriter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)CypressJSONReader.$(O) CypressJSONReader.$(H): CypressJSONReader.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)CypressModel.$(O) CypressModel.$(H): CypressModel.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)stx_goodies_cypress.$(O) stx_goodies_cypress.$(H): stx_goodies_cypress.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)stx_goodies_cypress.$(O) stx_goodies_cypress.$(H): stx_goodies_cypress.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
 $(OUTDIR)CypressAbstractReader.$(O) CypressAbstractReader.$(H): CypressAbstractReader.st $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)CypressAbstractWriter.$(O) CypressAbstractWriter.$(H): CypressAbstractWriter.st $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)CypressClass.$(O) CypressClass.$(H): CypressClass.st $(INCLUDE_TOP)\stx\goodies\cypress\CypressModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -128,7 +80,16 @@
 $(OUTDIR)CypressRepository.$(O) CypressRepository.$(H): CypressRepository.st $(INCLUDE_TOP)\stx\goodies\cypress\CypressModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)CypressFileTreeReader.$(O) CypressFileTreeReader.$(H): CypressFileTreeReader.st $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractReader.$(H) $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)CypressReader.$(O) CypressReader.$(H): CypressReader.st $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractReader.$(H) $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)CypressWriter.$(O) CypressWriter.$(H): CypressWriter.st $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractWriter.$(H) $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Array.$(H) $(INCLUDE_TOP)\stx\libbasic\Boolean.$(H) $(INCLUDE_TOP)\stx\libbasic\Character.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\Number.$(H) $(INCLUDE_TOP)\stx\libbasic\ArithmeticValue.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\PackageId.$(H) $(INCLUDE_TOP)\stx\libbasic\Symbol.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)CypressWriter.$(O) CypressWriter.$(H): CypressWriter.st $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractReaderWriter.$(H) $(INCLUDE_TOP)\stx\goodies\cypress\CypressAbstractWriter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\ArithmeticValue.$(H) $(INCLUDE_TOP)\stx\libbasic\Array.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Boolean.$(H) $(INCLUDE_TOP)\stx\libbasic\Character.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\Number.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\PackageId.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\Symbol.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(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)stx_goodies_cypress.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- a/bmake.bat	Tue Oct 02 09:26:03 2012 +0000
+++ b/bmake.bat	Mon Oct 05 18:09:30 2015 +0100
@@ -3,6 +3,11 @@
 @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/extensions.st	Tue Oct 02 09:26:03 2012 +0000
+++ b/extensions.st	Mon Oct 05 18:09:30 2015 +0100
@@ -235,6 +235,7 @@
 
 !stx_goodies_cypress class methodsFor:'documentation'!
 
-extensionsVersion_SVN
-    ^ '$Id::                                                                                                                        $'
-! !
\ No newline at end of file
+extensionsVersion_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
--- a/libInit.cc	Tue Oct 02 09:26:03 2012 +0000
+++ b/libInit.cc	Mon Oct 05 18:09:30 2015 +0100
@@ -13,16 +13,16 @@
 
 #if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
 DLL_EXPORT void _libstx_goodies_cypress_Init() INIT_TEXT_SECTION;
-// DLL_EXPORT void _libstx_goodies_cypress_InitDefinition() INIT_TEXT_SECTION;
+DLL_EXPORT void _libstx_goodies_cypress_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-// void _libstx_goodies_cypress_InitDefinition(pass, __pRT__, snd)
-// OBJ snd; struct __vmData__ *__pRT__; {
-// __BEGIN_PACKAGE2__("libstx_goodies_cypress__DFN", _libstx_goodies_cypress_InitDefinition, "stx:goodies/cypress");
-// _stx_137goodies_137cypress_Init(pass,__pRT__,snd);
+void _libstx_goodies_cypress_InitDefinition(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("libstx_goodies_cypress__DFN", _libstx_goodies_cypress_InitDefinition, "stx:goodies/cypress");
+_stx_137goodies_137cypress_Init(pass,__pRT__,snd);
 
-// __END_PACKAGE__();
-// }
+__END_PACKAGE__();
+}
 
 void _libstx_goodies_cypress_Init(pass, __pRT__, snd)
 OBJ snd; struct __vmData__ *__pRT__; {
--- a/mingwmake.bat	Tue Oct 02 09:26:03 2012 +0000
+++ b/mingwmake.bat	Mon Oct 05 18:09:30 2015 +0100
@@ -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 ..\..\rules
+@call find_mingw.bat
+@popd
+make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
 
--- a/stx_goodies_cypress.st	Tue Oct 02 09:26:03 2012 +0000
+++ b/stx_goodies_cypress.st	Mon Oct 05 18:09:30 2015 +0100
@@ -1,5 +1,7 @@
 "{ Package: 'stx:goodies/cypress' }"
 
+"{ NameSpace: Smalltalk }"
+
 LibraryDefinition subclass:#stx_goodies_cypress
 	instanceVariableNames:''
 	classVariableNames:''
@@ -18,40 +20,42 @@
     )
 !
 
-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."
+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."
 
     ^ #(
-        #'exept:expecco'
-        #'exept:expecco/manifestApi'
-        #'exept:expecco/reportGenerator'
-        #'exept:httpPortal/widgets'
-        #'exept:libcrypt'
-        #'exept:osi/asn1'
-        #'exept:workflow'
-        #'stx:goodies/monticello'
-        #'stx:goodies/simpleServices'
-        #'stx:goodies/sunit'
-        #'stx:goodies/webServer'
-        #'stx:libbasic'    "Object - superclass of CypressJSONReader "
-        #'stx:libbasic2'
-        #'stx:libbasic3'
-        #'stx:libcomp'
-        #'stx:libcompat'
-        #'stx:libdb/libodbc'
-        #'stx:libdb/libsqlite'
-        #'stx:libhtml'
-        #'stx:libtool'
-        #'stx:libtool2'
-        #'stx:libview'
-        #'stx:libview2'
-        #'stx:libwidg'
-        #'stx:libwidg2'
+        #'stx:libbasic'    "ArithmeticValue - 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 compiling or loading,
+     however, a class from it may be referenced during execution and having it
+     unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
+     includes explicit checks for the package being present.
+     This method is generated automatically,
+     by searching all classes (and their packages) which are referenced by my classes."
+
+    ^ #(
+        #'stx:libbasic3'    "ChangeSet - referenced by CypressModel>>asChangeSet"
+        #'stx:libcomp'    "Parser - referenced by CypressMethod>>source:"
+    )
+!
+
+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."
+
+    ^ #(
     )
 ! !
 
@@ -65,25 +69,25 @@
 
     ^ #(
         "<className> or (<className> attributes...) in load order"
+        CypressAbstractReaderWriter
+        CypressJSONReader
+        CypressModel
         #'stx_goodies_cypress'
-        CypressAbstractReaderWriter
-        CypressModel
+        CypressAbstractReader
+        CypressAbstractWriter
         CypressClass
         CypressMethod
         CypressPackage
         CypressRepository
-        CypressAbstractWriter
-        CypressWriter
-        CypressJSONReader
-        CypressAbstractReader
         CypressFileTreeReader
         CypressReader
+        CypressWriter
     )
 !
 
 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"
 
     ^ #(
         CharacterArray withLineEndings:
@@ -176,6 +180,11 @@
 
 !stx_goodies_cypress class methodsFor:'documentation'!
 
+version_HG
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
--- a/vcmake.bat	Tue Oct 02 09:26:03 2012 +0000
+++ b/vcmake.bat	Mon Oct 05 18:09:30 2015 +0100
@@ -5,8 +5,17 @@
 @REM -------
 
 @if not defined VSINSTALLDIR (
-    call ..\..\rules\vcsetup.bat
+    pushd ..\..\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% %*
+
+
+