Merge jv
authorHG Automerge
Sat, 26 Nov 2016 22:23:14 +0000
branchjv
changeset 1482 cd9667ab2acd
parent 1481 4a4686007f8f (diff)
parent 1480 cbdb205a8ee9 (current diff)
child 1483 87e6026f8982
Merge
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgautomerge	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,11 @@
+[automerge]
+# Automatically merge pulled changes from specified mercurial branch (if exists) 
+# to specified mercurial branch (if exists). The syntax is 
+# 
+# automerge = <from-branch>:<to branch>. 
+#
+# The example below will merge changed from branch `default` to branch `jv`. 
+# If merge fails, issue a warning but proceed. Optional. 
+#
+# automerge = default:jv
+automerge = default:jv
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,55 @@
+syntax: glob
+*.chg
+*~
+*.orig
+*.o
+*.obj
+*.c
+*.so
+*.sc
+*Init.c
+*.H
+*.STH
+*/makefile
+*/docs/output/*
+*/docs/*.xml.profiled
+
+objbc/*
+objvc/*
+objmingw/*
+*.res
+*-Test.xml
+*.base
+*.orig
+*.local
+*.other
+makefile
+
+# Compilation artifacts
+stx.exe
+stx.com
+stx
+buildDate.h
+modulList.*
+
+# Maintained by rakefiles for now (unless fully automatic
+# dependency extractor is implemented)
+modules.stx
+
+resources/stx
+packages/*.dll
+packages/*.so
+modules/*
+libstx_*.dll
+libstx_*.so
+librun.dll
+librun.so
+symbols.stc
+
+st.chg
+
+# Support libraries used on Windows
+libgcc_s_dw2-1.dll
+X11.dll
+Xext.dll
+
--- a/Make.proto	Thu Nov 24 16:34:43 2016 +0100
+++ b/Make.proto	Sat Nov 26 22:23:14 2016 +0000
@@ -117,7 +117,8 @@
 
 
 # ---------------------- end additional stuff --------------------
-
+INCLUDE_TOP=$(TOP)/..
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/helpers -I$(INCLUDE_TOP)/stx/libwidg3 -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libjavascript -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/refactoring -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libhtml -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libtool2 -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/changes -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/browser -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint -I$(INCLUDE_TOP)/stx/libboss -I$(INCLUDE_TOP)/stx/libwidg2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libui
 
 #
 # default target: create the TARGET (usually smalltalk)
@@ -157,7 +158,7 @@
 MY_ADDITIONAL_CLASSES=Foo
 MY_ADDITIONAL_LIBS=$(TOP)/../myClasses/libFoo.a
 
-mySmalltalk: $(MY_ADDITIONAL_OBJECTS)
+mySmalltalk: $(COMMON_OBJS) $(MY_ADDITIONAL_OBJECTS)
 	@echo "making special smalltalk ..."
 	@$(MAKE) linkTarget \
 		LIBOBJS="$(LIBOBJS) $(EXTRA_UI_OBJ)" \
@@ -165,8 +166,8 @@
 		LINK_LIBOBJS="$(LINK_LIBOBJS) $(EXTRA_LINK_UI_OBJ)" \
 		LINK_LIBRUN="$(LINK_LIBRUN)" \
 		LIBRUN="$(LIBRUN)" \
-		ADDITIONAL_OBJS=$(MY_ADDITIONAL_OBJECTS) \
-		ADDITIONAL_CLASSES=$(MY_ADDITIONAL_CLASSES) \
+		ADDITIONAL_OBJS="$(COMMON_OBJS) $(MY_ADDITIONAL_OBJECTS)" \
+		ADDITIONAL_CLASSES="$(COMMON_CLASSES) $(MY_ADDITIONAL_CLASSES)" \
 		ADDITIONAL_LIBS=$(MY_ADDITIONAL_LIBS) \
 		LIBLIST="$(LIBLIST)"
 	@$(MAKE) removeLinkLibs
@@ -176,7 +177,7 @@
 # rules below. Which one is controlled by the
 # architecture-specific definition file.
 #
-$(TARGET)_shared:
+$(TARGET)_shared: $(COMMON_OBJS)
 	@echo "making shared library linked smalltalk ..."
 	echo EXTRA_LINK_UI_OBJ = $(EXTRA_LINK_UI_OBJ)
 	$(MAKE) linkTarget \
@@ -184,11 +185,11 @@
 		LINK_LIBOBJS="$(LINK_LIBOBJS) $(EXTRA_LINK_UI_OBJ)" \
 		LINK_LIBRUN=$(LINK_LIBRUN) \
 		LIBRUN=$(LIBRUN) \
-		ADDITIONAL_OBJS=$(ADDITIONAL_OBJS) \
-		ADDITIONAL_CLASSES=$(ADDITIONAL_CLASSES) \
+		ADDITIONAL_OBJS="$(COMMON_OBJS) $(ADDITIONAL_OBJS)" \
+		ADDITIONAL_CLASSES="$(COMMON_CLASSES) $(ADDITIONAL_CLASSES)" \
 		LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)"
 
-$(TARGET)_static: $(STATIC_LIBRUN)
+$(TARGET)_static: $(COMMON_OBJS) $(STATIC_LIBRUN)
 	@echo "making statically linked smalltalk ..."
 	@$(MAKE) linkTarget \
 		rebaseLibsRule=$(rebaseLibsRule_static) \
@@ -197,13 +198,13 @@
 		LINK_LIBOBJS="$(STATIC_LIBOBJS) $(STATIC_EXTRA_UI_OBJ)" \
 		LINK_LIBRUN="$(STATIC_LIBRUN)" \
 		LIBRUN="$(STATIC_LIBRUN)" \
-		ADDITIONAL_OBJS=$(STATIC_ADDITIONAL_OBJS) \
-		ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \
+		ADDITIONAL_OBJS="$(COMMON_OBJS) $(STATIC_ADDITIONAL_OBJS)" \
+		ADDITIONAL_CLASSES="$(COMMON_CLASSES) $(STATIC_ADDITIONAL_CLASSES)" \
 		EXTRA_LIBS="$(STATIC_EXTRA_LIBS)" \
 		LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)"
 	@$(MAKE) removeLinkLibs
 
-$(TARGET)_fullstatic: $(STATIC_LIBRUN)
+$(TARGET)_fullstatic: $(COMMON_OBJS) $(STATIC_LIBRUN)
 	if [ -f $(LIBRUNDIR)/librun.a ]; then \
 	    echo "librun.a already made."; \
 	else \
@@ -216,8 +217,8 @@
 		LINK_LIBOBJS="$(STATIC_LIBOBJS) $(STATIC_EXTRA_UI_OBJ)" \
 		LINK_LIBRUN="$(STATIC_LIBRUN)" \
 		LIBRUN="$(STATIC_LIBRUN)" \
-		ADDITIONAL_OBJS=$(STATIC_ADDITIONAL_OBJS) \
-		ADDITIONAL_CLASSES=$(STATIC_ADDITIONAL_CLASSES) \
+		ADDITIONAL_OBJS="$(COMMON_OBJS) $(STATIC_ADDITIONAL_OBJS)" \
+		ADDITIONAL_CLASSES="$(COMMON_CLASSES) $(STATIC_ADDITIONAL_CLASSES)" \
 		LIBLIST="$(LIBLIST) $(EXTRA_UI_CLASSES)" \
 		MATHLIB="$(STATIC_MATHLIB)" \
 		EXTRA_LIBS="$(STATIC_EXTRA_LIBS)" \
--- a/Make.spec	Thu Nov 24 16:34:43 2016 +0100
+++ b/Make.spec	Sat Nov 26 22:23:14 2016 +0000
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_projects_smalltalk at 2012-01-20 12:23:14.489.
+# automagically generated from the projectDefinition: stx_projects_smalltalk.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -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,12 +51,14 @@
 STCWARNINGS=-warnNonStandard
 
 COMMON_CLASSES= \
+	SmalltalkStartup \
 	stx_projects_smalltalk \
 
 
 
 
 COMMON_OBJS= \
+    $(OUTDIR_SLASH)SmalltalkStartup.$(O) \
     $(OUTDIR_SLASH)stx_projects_smalltalk.$(O) \
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.init	Sat Nov 26 22:23:14 2016 +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/SmalltalkStartup.st	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,106 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+               2016-now by Jan Vrany <jan.vrany@fit.cvut.cz>
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:projects/smalltalk' }"
+
+"{ NameSpace: Smalltalk }"
+
+StandaloneStartup subclass:#SmalltalkStartup
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Smalltalk'
+!
+
+!SmalltalkStartup class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+               2016-now by Jan Vrany <jan.vrany@fit.cvut.cz>
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    Smalltalk/X IDE startup.
+
+    For historical reasons, IDE startup is not actually implemented as
+    a StandaloneStartup class as for Smalltalk/X-based applications.
+    Instead, the Smalltalk>>start reads smalltalk.rc and startup procedure
+    is defined there.
+
+    In order to reduce a number of .rc script hackery, functionality will be
+    incrementally moved from those scripts to this class and scripts will be
+    changed to call methods in this class. Eventually we will reach the point
+    when scripts will be empty and all functionality will be here. Let's hope.
+
+    [author:]
+        Jan Vrany <jan.vrany@fit.cvut.cz>
+
+    [instance variables:]
+
+    [class variables:]
+
+    [see also:]
+
+"
+! !
+
+!SmalltalkStartup class methodsFor:'startup-to be redefined'!
+
+main:argv
+
+    "/ Due to a historical reasons (see this class's comment), this 
+    "/ method is called from `smalltalk.rc` startup script manually. 
+    "/ Hopefully at some point we will move all the code from there
+    "/ to here. Hopefully...
+
+    | optparser unparsed |
+
+    optparser := CmdLineParser new.
+    optparser ignoreUnknownOptions: true.
+    optparser on:#('--package-path PATH') do:[:pp |  
+        (pp asCollectionOfSubstringsSeparatedBy: OperatingSystem pathSeparator) reverseDo:[:e |
+            Smalltalk packagePath addFirst: e  
+        ]
+    ].
+    unparsed := optparser parse: argv.
+    argv isOrderedCollection ifTrue:[
+        argv removeAll; addAll: unparsed.
+    ].
+
+    "
+    SmalltalkStartup main: #('-I' '--quick' '--package-path' '/home/some/packages') asOrderedCollection.
+    Smalltalk packagePath
+    "
+
+    "Created: / 28-06-2016 / 23:43:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 29-06-2016 / 18:50:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 30-06-2016 / 09:32:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkStartup class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/abbrev.stc	Thu Nov 24 16:34:43 2016 +0100
+++ b/abbrev.stc	Sat Nov 26 22:23:14 2016 +0000
@@ -1,1 +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.
+SmalltalkStartup SmalltalkStartup stx:projects/smalltalk '* uncategorized *' 1
 stx_projects_smalltalk stx_projects_smalltalk stx:projects/smalltalk '* Projects & Packages *' 3
--- a/bc.mak	Thu Nov 24 16:34:43 2016 +0100
+++ b/bc.mak	Sat Nov 26 22:23:14 2016 +0000
@@ -1,225 +1,177 @@
 # $Header$
 #
-# DO NOT EDIT
-# automagically generated from the projectDefinition: stx_projects_smalltalk at 2012-01-20 12:23:14.604.
+# DO NOT EDIT 
+# automagically generated from the projectDefinition: stx_projects_smalltalk.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
 #
 # 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")
 #
+# Rules found here:
+#   bmake 
+#       - build everything, incl. a self installing exe for deployment
+#   bmake exe
+#       - only build the executable; to be executed and tested here
+#   bmake setup
+#       - make the self installing exe (assuming that the exe is already present)
+#   bmake clean
+#       - remove everything that is not needed to execute
+#   bmake clobber
+#       - remove everything that cannot be reconstructed by bmake
+#
+# For a 64bit build, replace bmake by mingwmake.
 
-TOP=..\..
+TOP=..\..       
 INCLUDE_TOP=$(TOP)\..
 
-# CFLAGS_CONSOLE=""
-# CFLAGS_NOCONSOLE=""
-# CFLAGS_APPTYPE=""
+# An old file, used as a dummy target for FORCE if we do not want
+#   re-make libraries. Windows make does not work if we redefine FORCE=   (empty string)
+# OLD_FILE=bmake.bat
+OLD_FILE="c:\windows\win.ini"
 
-!if defined(USEMINGW32) || defined(USEMINGW64)
-CFLAGS_LOCAL=-DSTARTUP_CLASS="\"Smalltalk\"" -DSTARTUP_SELECTOR="\"start\"" -DUSE_MODULE_TABLE
-!else
-CFLAGS_LOCAL=$(CFLAGS_APPTYPE) -DSTARTUP_CLASS="\"Smalltalk\"" -DSTARTUP_SELECTOR="\"start\"" -DUSE_MODULE_TABLE
+#dummy target to force a build
+!ifndef FORCE
+FORCE=$(OLD_FILE)
 !endif
 
+CFLAGS_LOCAL=$(CFLAGS_APPTYPE) \
+ -DSTARTUP_CLASS="\"Smalltalk\"" \
+ -DSTARTUP_SELECTOR="\"start\"" \
+ -DUSE_MODULE_TABLE
+
 #
 
 !INCLUDE $(TOP)\rules\stdHeader_bc
 !INCLUDE Make.spec
 
-!ifdef USEBC
-
-# CFLAGS1= -WD -w-pro -w-ccc -w-rch -w-aus -w-par -x- -r- -k -y -v -vi- -c -tWDR
-CFLAGS1= -w-pro -w-ccc -w-rch -w-aus -w-par -x- -r- -k -y -v -vi- -c
-CFLAGS_CONSOLE=-tWC -tWR -D_NO_VCL;WIN32
-CFLAGS_NOCONSOLE=-tWR -D_NO_VCL;WIN32GUI;WIN32
-LFLAGS_CONSOLE=-ap
-LFLAGS_NOCONSOLE=-aa
-CRT_STARTUP_CONSOLE=c0x32.obj
-CRT_STARTUP_NOCONSOLE=c0w32.obj
-
-!else
-! ifdef USEVC
-CRT_STARTUP_CONSOLE=
-CRT_STARTUP_NOCONSOLE=
-! endif
-!endif
-
 OBJS= $(COMMON_OBJS) $(WIN32_OBJS)
 
 
 
 #
-LIBNAME=dummy
+APPNAME=libstx_projects_smalltalk
+LIBNAME=libstx_projects_smalltalk
+MODULE_PATH=projects\smalltalk
 STCOPT="+optinline"
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\helpers -I$(INCLUDE_TOP)\stx\libwidg3 -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libjavascript -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\refactoring -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libhtml -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libtool2 -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\changes -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\browser -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint -I$(INCLUDE_TOP)\stx\libboss -I$(INCLUDE_TOP)\stx\libwidg2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libui
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic
 LOCALDEFINES=
 GLOBALDEFINES=
 
 STCLOCALOPT='-package=$(PACKAGE)' $(LOCALDEFINES) $(LOCALINCLUDES)  $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) $(COMMONSYMFLAG) -varPrefix=$(LIBNAME)
 
-!ifdef USEBC
-
-LINKER=$(BCB)\BIN\ilink32
-# LFLAGS = -L$(LIBDIR);$(BCB)\lib;$(DEBUGLIBPATH) -H:0x400000 -Hc:0x100000 -S:0x40000 -Sc:0x10000 -ap -Tpe -x -Gn -v -Ao:0x10000
-LFLAGS = -L$(LIBDIR);$(BCB)\lib -S:0x40000 -Sc:0x10000 $(LFLAGS_APPTYPE) -Tpe -x -Gn -v -Ao:0x10000
-
-!else
-! ifdef USEVC
-
-LINKER = $(LINK32)
-CRT_STARTUP=
-RT_LIB =
-LFLAGS = /LARGEADDRESSAWARE /nologo /DEBUG /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT
-
-! else
-!  ifdef USEMINGW64
+LFLAGS=$(APP_LFLAGS)
 
-LINKER = $(LINK32)
-CRT_STARTUP=
-RT_LIB =
-# LFLAGS = /LARGEADDRESSAWARE /nologo /DEBUG /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT
-
-!  else
-!   ifdef USEMINGW32
-
-LINKER = $(LINK32)
-CRT_STARTUP=
-RT_LIB =
-# LFLAGS = /LARGEADDRESSAWARE /nologo /DEBUG /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT
-
-!   else
-error error - unsupported compiler
-!   endif
-!  endif
-! endif
+PROJECT_NOCONSOLE= stx.exe
+PROJECT_CONSOLE= stx.com
+ALLOBJFILES= main.$(O)
+!ifdef USETCC
+RESFILES=
+!else
+RESFILES= smalltalkWinRC.$(RES)
 !endif
 
-PROJECT_NOCONSOLE=stx.exe
-PROJECT_CONSOLE=stx.com
-ALLOBJFILES=main.obj
-RESFILES=smalltalkWinRC.$(RES)
-ALLOBJ=$(CRT_STARTUP) $(ALLOBJFILES) $(OBJS)
+ALLOBJ= $(ALLOBJFILES) $(OBJS)
 DEFFILE=$(TOP)\rules\bc_exe.def
 
-LIBFILES=$(LIBDIR)\librun.lib
+LIBFILES=$(LIBDIR_LIBRUN)\librun.lib
+ALLLIB=$(LIBFILES) $(APP_IMPORTLIBS) $(APP_RT_LIB)
 
-!ifdef USEBC
-ALLLIB=$(LIBFILES) import32.lib $(RT_LIB)
-!endif
-
-!ifdef USEVC
-ALLLIB=$(LIBFILES) kernel32.lib libcmt.lib
+!if defined(USEMINGW32)
+RT_DLL=libgcc_s_dw2-1.dll
 !endif
 
 REQUIRED_LIBS=librun.dll  \
  libstx_libbasic.dll \
- libstx_goodies_refactoryBrowser_helpers.dll \
- libstx_goodies_refactoryBrowser_parser.dll \
  libstx_libbasic2.dll \
  libstx_libcomp.dll \
- libstx_libview.dll \
+ libstx_goodies_refactoryBrowser_parser.dll \
  libstx_libbasic3.dll \
- libstx_libview2.dll \
+ libstx_libview.dll \
+ libstx_goodies_refactoryBrowser_helpers.dll \
  libstx_libboss.dll \
- libstx_libjavascript.dll \
+ libstx_libui.dll \
  libstx_goodies_refactoryBrowser_changes.dll \
+ libstx_libview2.dll \
  libstx_goodies_sunit.dll \
- libstx_libui.dll \
  libstx_libwidg.dll \
- libstx_libview3.dll \
  libstx_libhtml.dll \
  libstx_libwidg2.dll \
- libstx_libwidg3.dll \
+ libstx_libcompat.dll \
  libstx_libtool.dll \
- libstx_libcompat.dll \
- libstx_goodies_refactoryBrowser_refactoring.dll \
+ libstx_libwidg3.dll \
+ libstx_goodies_refactoryBrowser_browser.dll \
+ libstx_libjavascript.dll \
  libstx_libtool2.dll \
- libstx_goodies_refactoryBrowser_browser.dll \
  libstx_goodies_refactoryBrowser_lint.dll \
- libstx_libsvn.dll \
- libstx_libscm_common.dll \
- libstx_libscm_mercurial.dll \
+ libstx_goodies_refactoryBrowser_refactoring.dll \
 
 
-# REQUIRED_FILES=cs3245.dll X11.dll Xext.dll symbols.stc $(REQUIRED_LIBS)
-REQUIRED_FILES=$(RT_DLL) X11.dll Xext.dll symbols.stc $(REQUIRED_LIBS)
+REQUIRED_FILES=$(RT_DLL) $(X11_DLL) $(XEXT_DLL) symbols.stc $(REQUIRED_LIBS)
 
 REQUIRED_SUPPORT_DIRS=RESOURCEFILES
 
-target: exe postBuildCleanup
+target: exe postBuildCleanup 
 
 # the executable, all required files and a self-installing-installer-exe
-ALL:: prereq exe postBuildCleanup setup
+ALL:: prereq ALL_NP
 
-exe:  newBuildDate noConsoleApp consoleApp $(REQUIRED_SUPPORT_DIRS)
+# all, but no prereqs
+ALL_NP:: exe $(REQUIRED_SUPPORT_DIRS) postBuildCleanup setup
+
+exe:  newBuildDate $(REQUIRED_LIBS) noConsoleApp consoleApp registerApplication
 
 # the executable only
 # with console
-
 consoleApp: $(REQUIRED_LIBS)
-	echo "making consoleApp"
-	-del main.obj
-	$(MAKE) -N -f bc.mak \
-		$(USE_ARG) \
+	-del main.$(O)
+	$(MAKE) -N -f bc.mak $(USE_ARG) \
 		MAKE_BAT=$(MAKE_BAT) \
 		PROJECT=$(PROJECT_CONSOLE) \
-		CFLAGS_APPTYPE="$(CFLAGS_CONSOLE)" \
-		LFLAGS_APPTYPE="$(LFLAGS_CONSOLE)"  \
-		CRT_STARTUP="$(CRT_STARTUP_CONSOLE)" theExe
+		CFLAGS_APPTYPE=" -DWIN32GUI $(CFLAGS_CONSOLE)" \
+		LFLAGS_APPTYPE=" $(LFLAGS_CONSOLE)" \
+		CRT_STARTUP=" $(CRT_STARTUP_CONSOLE)" theExe
 
 # without console
 noConsoleApp: $(REQUIRED_LIBS)
-	echo "making noCosnoleApp"
-	-del main.obj
-	$(MAKE) -N -f bc.mak \
-		$(USE_ARG) \
+	-del main.$(O)
+	$(MAKE) -N -f bc.mak $(USE_ARG) \
 		MAKE_BAT=$(MAKE_BAT) \
 		PROJECT=$(PROJECT_NOCONSOLE) \
-		CFLAGS_APPTYPE="$(CFLAGS_NOCONSOLE) -DWIN_LOGFILE="\\"\"smalltalk.log\\"\""" \
-		LFLAGS_APPTYPE="$(LFLAGS_NOCONSOLE)"  \
-		CRT_STARTUP="$(CRT_STARTUP_NOCONSOLE)" theExe
+		CFLAGS_APPTYPE=" -DWIN32GUI $(CFLAGS_NOCONSOLE) -DWIN_LOGFILE="\\"\"smalltalk.log\\"\""" \
+		LFLAGS_APPTYPE=" $(LFLAGS_NOCONSOLE)" \
+		CRT_STARTUP=" $(CRT_STARTUP_NOCONSOLE)" theExe
 
 # the executable only (internal target; needs some defines)
-theExe: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT)
+theExe: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT) 
 
-# 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 ..\..\goodies\refactoryBrowser\helpers & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\goodies\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libjavascript & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\goodies\refactoryBrowser\changes & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libview3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libwidg3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libcompat & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\goodies\refactoryBrowser\refactoring & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libtool2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\goodies\refactoryBrowser\browser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\goodies\refactoryBrowser\lint & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\librun & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	$(MAKE) -N -f bc.mak $(USE_ARG) FORCE=FORCE_BUILD $(REQUIRED_LIBS)
 
+FORCE_BUILD:
+	@rem Dummy target to force a build
 
 # a nullsoft installable delivery
 # This uses the Nullsoft Installer Package and works in Windows only
+
+!if defined(USEMINGW64)
+
+setup: $(PROJECT) postBuildCleanup smalltalk.nsi 
+	$(MAKENSIS) /DOBJ_DIR=objmingw /DSETUP_NAME=Smalltalk/XSetup64 smalltalk.nsi
+        
+
+!else
+
 setup: $(PROJECT) postBuildCleanup smalltalk.nsi
-	$(MAKENSIS) smalltalk.nsi
+	$(MAKENSIS) /DOBJ_DIR=objbc /DSETUP_NAME=Smalltalk/XSetup smalltalk.nsi
+        
+
+!endif
 
 newBuildDate:
 	del buildDate.h
@@ -300,7 +252,7 @@
 libtool2_RESOURCES: resources\stx\libtool2\NUL
 	-copy $(TOP)\libtool2\resources\*.rs resources\stx\libtool2\*.*
 
-libview_RESOURCES: resources\stx\libview\NUL
+libview_RESOURCES: resources\stx\libview\NUL 
 	-copy $(TOP)\libview\resources\*.rs resources\stx\libview\*.*
 
 libview2_RESOURCES: resources\stx\libview2\NUL
@@ -350,233 +302,210 @@
 libstx_libbasic.dll: ..\..\libbasic\$(OBJDIR)\libstx_libbasic.dll
 	copy ..\..\libbasic\$(OBJDIR)\libstx_libbasic.dll *.*
 
-..\..\libbasic\$(OBJDIR)\libstx_libbasic.dll:
-	pushd ..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libbasic\$(OBJDIR)\libstx_libbasic.dll: $(FORCE)
+	pushd ..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+libstx_libbasic2.dll: ..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll
+	copy ..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll *.*
 
-libstx_goodies_refactoryBrowser_helpers.dll: ..\..\goodies\refactoryBrowser\helpers\$(OBJDIR)\libstx_goodies_refactoryBrowser_helpers.dll
-	copy ..\..\goodies\refactoryBrowser\helpers\$(OBJDIR)\libstx_goodies_refactoryBrowser_helpers.dll *.*
+..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll: $(FORCE)
+	pushd ..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
-..\..\goodies\refactoryBrowser\helpers\$(OBJDIR)\libstx_goodies_refactoryBrowser_helpers.dll:
-	pushd ..\..\goodies\refactoryBrowser\helpers & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+libstx_libcomp.dll: ..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll
+	copy ..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll *.*
+
+..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll: $(FORCE)
+	pushd ..\..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_goodies_refactoryBrowser_parser.dll: ..\..\goodies\refactoryBrowser\parser\$(OBJDIR)\libstx_goodies_refactoryBrowser_parser.dll
 	copy ..\..\goodies\refactoryBrowser\parser\$(OBJDIR)\libstx_goodies_refactoryBrowser_parser.dll *.*
 
-..\..\goodies\refactoryBrowser\parser\$(OBJDIR)\libstx_goodies_refactoryBrowser_parser.dll:
-	pushd ..\..\goodies\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libbasic2.dll: ..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll
-	copy ..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll *.*
-
-..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll:
-	pushd ..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libcomp.dll: ..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll
-	copy ..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll *.*
-
-..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll:
-	pushd ..\..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libview.dll: ..\..\libview\$(OBJDIR)\libstx_libview.dll
-	copy ..\..\libview\$(OBJDIR)\libstx_libview.dll *.*
-
-..\..\libview\$(OBJDIR)\libstx_libview.dll:
-	pushd ..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\goodies\refactoryBrowser\parser\$(OBJDIR)\libstx_goodies_refactoryBrowser_parser.dll: $(FORCE)
+	pushd ..\..\goodies\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_libbasic3.dll: ..\..\libbasic3\$(OBJDIR)\libstx_libbasic3.dll
 	copy ..\..\libbasic3\$(OBJDIR)\libstx_libbasic3.dll *.*
 
-..\..\libbasic3\$(OBJDIR)\libstx_libbasic3.dll:
-	pushd ..\..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libbasic3\$(OBJDIR)\libstx_libbasic3.dll: $(FORCE)
+	pushd ..\..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+libstx_libview.dll: ..\..\libview\$(OBJDIR)\libstx_libview.dll
+	copy ..\..\libview\$(OBJDIR)\libstx_libview.dll *.*
 
-libstx_libview2.dll: ..\..\libview2\$(OBJDIR)\libstx_libview2.dll
-	copy ..\..\libview2\$(OBJDIR)\libstx_libview2.dll *.*
+..\..\libview\$(OBJDIR)\libstx_libview.dll: $(FORCE)
+	pushd ..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
-..\..\libview2\$(OBJDIR)\libstx_libview2.dll:
-	pushd ..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+libstx_goodies_refactoryBrowser_helpers.dll: ..\..\goodies\refactoryBrowser\helpers\$(OBJDIR)\libstx_goodies_refactoryBrowser_helpers.dll
+	copy ..\..\goodies\refactoryBrowser\helpers\$(OBJDIR)\libstx_goodies_refactoryBrowser_helpers.dll *.*
+
+..\..\goodies\refactoryBrowser\helpers\$(OBJDIR)\libstx_goodies_refactoryBrowser_helpers.dll: $(FORCE)
+	pushd ..\..\goodies\refactoryBrowser\helpers & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_libboss.dll: ..\..\libboss\$(OBJDIR)\libstx_libboss.dll
 	copy ..\..\libboss\$(OBJDIR)\libstx_libboss.dll *.*
 
-..\..\libboss\$(OBJDIR)\libstx_libboss.dll:
-	pushd ..\..\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libboss\$(OBJDIR)\libstx_libboss.dll: $(FORCE)
+	pushd ..\..\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
-libstx_libjavascript.dll: ..\..\libjavascript\$(OBJDIR)\libstx_libjavascript.dll
-	copy ..\..\libjavascript\$(OBJDIR)\libstx_libjavascript.dll *.*
+libstx_libui.dll: ..\..\libui\$(OBJDIR)\libstx_libui.dll
+	copy ..\..\libui\$(OBJDIR)\libstx_libui.dll *.*
 
-..\..\libjavascript\$(OBJDIR)\libstx_libjavascript.dll:
-	pushd ..\..\libjavascript & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libui\$(OBJDIR)\libstx_libui.dll: $(FORCE)
+	pushd ..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_goodies_refactoryBrowser_changes.dll: ..\..\goodies\refactoryBrowser\changes\$(OBJDIR)\libstx_goodies_refactoryBrowser_changes.dll
 	copy ..\..\goodies\refactoryBrowser\changes\$(OBJDIR)\libstx_goodies_refactoryBrowser_changes.dll *.*
 
-..\..\goodies\refactoryBrowser\changes\$(OBJDIR)\libstx_goodies_refactoryBrowser_changes.dll:
-	pushd ..\..\goodies\refactoryBrowser\changes & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\goodies\refactoryBrowser\changes\$(OBJDIR)\libstx_goodies_refactoryBrowser_changes.dll: $(FORCE)
+	pushd ..\..\goodies\refactoryBrowser\changes & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+libstx_libview2.dll: ..\..\libview2\$(OBJDIR)\libstx_libview2.dll
+	copy ..\..\libview2\$(OBJDIR)\libstx_libview2.dll *.*
+
+..\..\libview2\$(OBJDIR)\libstx_libview2.dll: $(FORCE)
+	pushd ..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_goodies_sunit.dll: ..\..\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll
 	copy ..\..\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll *.*
 
-..\..\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll:
-	pushd ..\..\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libui.dll: ..\..\libui\$(OBJDIR)\libstx_libui.dll
-	copy ..\..\libui\$(OBJDIR)\libstx_libui.dll *.*
-
-..\..\libui\$(OBJDIR)\libstx_libui.dll:
-	pushd ..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll: $(FORCE)
+	pushd ..\..\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_libwidg.dll: ..\..\libwidg\$(OBJDIR)\libstx_libwidg.dll
 	copy ..\..\libwidg\$(OBJDIR)\libstx_libwidg.dll *.*
 
-..\..\libwidg\$(OBJDIR)\libstx_libwidg.dll:
-	pushd ..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libview3.dll: ..\..\libview3\$(OBJDIR)\libstx_libview3.dll
-	copy ..\..\libview3\$(OBJDIR)\libstx_libview3.dll *.*
-
-..\..\libview3\$(OBJDIR)\libstx_libview3.dll:
-	pushd ..\..\libview3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libwidg\$(OBJDIR)\libstx_libwidg.dll: $(FORCE)
+	pushd ..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_libhtml.dll: ..\..\libhtml\$(OBJDIR)\libstx_libhtml.dll
 	copy ..\..\libhtml\$(OBJDIR)\libstx_libhtml.dll *.*
 
-..\..\libhtml\$(OBJDIR)\libstx_libhtml.dll:
-	pushd ..\..\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libhtml\$(OBJDIR)\libstx_libhtml.dll: $(FORCE)
+	pushd ..\..\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_libwidg2.dll: ..\..\libwidg2\$(OBJDIR)\libstx_libwidg2.dll
 	copy ..\..\libwidg2\$(OBJDIR)\libstx_libwidg2.dll *.*
 
-..\..\libwidg2\$(OBJDIR)\libstx_libwidg2.dll:
-	pushd ..\..\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libwidg2\$(OBJDIR)\libstx_libwidg2.dll: $(FORCE)
+	pushd ..\..\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+libstx_libcompat.dll: ..\..\libcompat\$(OBJDIR)\libstx_libcompat.dll
+	copy ..\..\libcompat\$(OBJDIR)\libstx_libcompat.dll *.*
+
+..\..\libcompat\$(OBJDIR)\libstx_libcompat.dll: $(FORCE)
+	pushd ..\..\libcompat & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+libstx_libtool.dll: ..\..\libtool\$(OBJDIR)\libstx_libtool.dll
+	copy ..\..\libtool\$(OBJDIR)\libstx_libtool.dll *.*
+
+..\..\libtool\$(OBJDIR)\libstx_libtool.dll: $(FORCE)
+	pushd ..\..\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_libwidg3.dll: ..\..\libwidg3\$(OBJDIR)\libstx_libwidg3.dll
 	copy ..\..\libwidg3\$(OBJDIR)\libstx_libwidg3.dll *.*
 
-..\..\libwidg3\$(OBJDIR)\libstx_libwidg3.dll:
-	pushd ..\..\libwidg3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libwidg3\$(OBJDIR)\libstx_libwidg3.dll: $(FORCE)
+	pushd ..\..\libwidg3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+libstx_goodies_refactoryBrowser_browser.dll: ..\..\goodies\refactoryBrowser\browser\$(OBJDIR)\libstx_goodies_refactoryBrowser_browser.dll
+	copy ..\..\goodies\refactoryBrowser\browser\$(OBJDIR)\libstx_goodies_refactoryBrowser_browser.dll *.*
 
-libstx_libtool.dll: ..\..\libtool\$(OBJDIR)\libstx_libtool.dll
-	copy ..\..\libtool\$(OBJDIR)\libstx_libtool.dll *.*
+..\..\goodies\refactoryBrowser\browser\$(OBJDIR)\libstx_goodies_refactoryBrowser_browser.dll: $(FORCE)
+	pushd ..\..\goodies\refactoryBrowser\browser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+libstx_libjavascript.dll: ..\..\libjavascript\$(OBJDIR)\libstx_libjavascript.dll
+	copy ..\..\libjavascript\$(OBJDIR)\libstx_libjavascript.dll *.*
 
-..\..\libtool\$(OBJDIR)\libstx_libtool.dll:
-	pushd ..\..\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+..\..\libjavascript\$(OBJDIR)\libstx_libjavascript.dll: $(FORCE)
+	pushd ..\..\libjavascript & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+libstx_libtool2.dll: ..\..\libtool2\$(OBJDIR)\libstx_libtool2.dll
+	copy ..\..\libtool2\$(OBJDIR)\libstx_libtool2.dll *.*
 
-libstx_libcompat.dll: ..\..\libcompat\$(OBJDIR)\libstx_libcompat.dll
-	copy ..\..\libcompat\$(OBJDIR)\libstx_libcompat.dll *.*
+..\..\libtool2\$(OBJDIR)\libstx_libtool2.dll: $(FORCE)
+	pushd ..\..\libtool2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
-..\..\libcompat\$(OBJDIR)\libstx_libcompat.dll:
-	pushd ..\..\libcompat & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+libstx_goodies_refactoryBrowser_lint.dll: ..\..\goodies\refactoryBrowser\lint\$(OBJDIR)\libstx_goodies_refactoryBrowser_lint.dll
+	copy ..\..\goodies\refactoryBrowser\lint\$(OBJDIR)\libstx_goodies_refactoryBrowser_lint.dll *.*
+
+..\..\goodies\refactoryBrowser\lint\$(OBJDIR)\libstx_goodies_refactoryBrowser_lint.dll: $(FORCE)
+	pushd ..\..\goodies\refactoryBrowser\lint & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 libstx_goodies_refactoryBrowser_refactoring.dll: ..\..\goodies\refactoryBrowser\refactoring\$(OBJDIR)\libstx_goodies_refactoryBrowser_refactoring.dll
 	copy ..\..\goodies\refactoryBrowser\refactoring\$(OBJDIR)\libstx_goodies_refactoryBrowser_refactoring.dll *.*
 
-..\..\goodies\refactoryBrowser\refactoring\$(OBJDIR)\libstx_goodies_refactoryBrowser_refactoring.dll:
-	pushd ..\..\goodies\refactoryBrowser\refactoring & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libtool2.dll: ..\..\libtool2\$(OBJDIR)\libstx_libtool2.dll
-	copy ..\..\libtool2\$(OBJDIR)\libstx_libtool2.dll *.*
-
-..\..\libtool2\$(OBJDIR)\libstx_libtool2.dll:
-	pushd ..\..\libtool2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libsvn.dll: ..\..\libsvn\$(OBJDIR)\libstx_libsvn.dll
-	copy ..\..\libsvn\$(OBJDIR)\libstx_libsvn.dll *.*
-
-..\..\libsvn\$(OBJDIR)\libstx_libsvn.dll:
-	pushd ..\..\libsvn & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libscm_common.dll: ..\..\libscm\common\$(OBJDIR)\libstx_libscm_common.dll
-	copy ..\..\libscm\common\$(OBJDIR)\libstx_libscm_common.dll *.*
+..\..\goodies\refactoryBrowser\refactoring\$(OBJDIR)\libstx_goodies_refactoryBrowser_refactoring.dll: $(FORCE)
+	pushd ..\..\goodies\refactoryBrowser\refactoring & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
-..\..\libscm\common\$(OBJDIR)\libstx_libscm_common.dll:
-	pushd ..\..\libscm\common & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_libscm_mercurial.dll: ..\..\libscm\mercurial\$(OBJDIR)\libstx_libscm_mercurial.dll
-	copy ..\..\libscm\mercurial\$(OBJDIR)\libstx_libscm_mercurial.dll *.*
-
-..\..\libscm\mercurial\$(OBJDIR)\libstx_libscm_mercurial.dll:
-	pushd ..\..\libscm\mercurial & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_goodies_refactoryBrowser_browser.dll: ..\..\goodies\refactoryBrowser\browser\$(OBJDIR)\libstx_goodies_refactoryBrowser_browser.dll
-	copy ..\..\goodies\refactoryBrowser\browser\$(OBJDIR)\libstx_goodies_refactoryBrowser_browser.dll *.*
-
-..\..\goodies\refactoryBrowser\browser\$(OBJDIR)\libstx_goodies_refactoryBrowser_browser.dll:
-	pushd ..\..\goodies\refactoryBrowser\browser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-
-libstx_goodies_refactoryBrowser_lint.dll: ..\..\goodies\refactoryBrowser\lint\$(OBJDIR)\libstx_goodies_refactoryBrowser_lint.dll
-	copy ..\..\goodies\refactoryBrowser\lint\$(OBJDIR)\libstx_goodies_refactoryBrowser_lint.dll *.*
-
-..\..\goodies\refactoryBrowser\lint\$(OBJDIR)\libstx_goodies_refactoryBrowser_lint.dll:
-	pushd ..\..\goodies\refactoryBrowser\lint & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+      
 
 
-
-
-sources\NUL:
+sources\NUL: 
 	mkdir sources
 
 show:
 	@echo LFLAGS= $(LFLAGS)
 	@echo ALLOBJ= $(ALLOBJ)
 	@echo PROJECT= $(PROJECT)
+	@echo APP_IMPORTLIBS= $(APP_IMPORTLIBS)
 	@echo ALLLIB= $(ALLLIB)
 	@echo DEFFILE= $(DEFFILE)
 	@echo ALLRES= $(ALLRES)
 
 !ifdef USEBC
 
-$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
-	@echo ************************************
-	@echo linking console executable: $(PROJECT_CONSOLE)
-	@echo ************************************
-	$(LINKER) $(LFLAGS) $(ALLOBJ), $(PROJECT_CONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES)
+$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
+	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ), $(PROJECT_CONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES)
 
-$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
-	@echo ************************************
-	@echo linking windows executable: $(PROJECT_NOCONSOLE)
-	@echo ************************************
-	$(LINKER) $(LFLAGS) $(ALLOBJ), $(PROJECT_NOCONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES)
+$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
+	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ), $(PROJECT_NOCONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES)
 
 !else
 ! ifdef USEVC
 
-$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
-	@echo ************************************
-	@echo linking console executable: $(PROJECT_CONSOLE)
-	@echo ************************************
-	$(LINKER) $(LFLAGS) $(ALLOBJ) /OUT:"$(PROJECT_CONSOLE)" \
+$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
+	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) /OUT:"$(PROJECT_CONSOLE)" \
 	    /MANIFEST /MANIFESTFILE:"$(PROJECT_CONSOLE).manifest" \
 	    /PDB:"$(PROJECT_CONSOLE).pdb" \
 	    /SUBSYSTEM:CONSOLE $(ALLLIB) $(RESFILES)
 
-$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
-	@echo ************************************
-	@echo linking windows executable: $(PROJECT_NOCONSOLE)
-	@echo ************************************
-	$(LINKER) $(LFLAGS) $(ALLOBJ) /OUT:"$(PROJECT_NOCONSOLE)" \
+$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
+	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) /OUT:"$(PROJECT_NOCONSOLE)" \
 	    /MANIFEST /MANIFESTFILE:"$(PROJECT_NOCONSOLE).manifest" \
 	    /PDB:"$(PROJECT_NOCONSOLE).pdb" \
-	    /SUBSYSTEM:CONSOLE $(ALLLIB) $(RESFILES)
+	    /SUBSYSTEM:WINDOWS $(ALLLIB) $(RESFILES)
 
 ! else
-!  if defined( USEMINGW64 ) || defined( USEMINGW32 )
+!  ifdef USELCC
 
-$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
-	@echo ************************************
-	@echo linking console executable: $(PROJECT_CONSOLE)
-	@echo ************************************
-	$(LINKER) $(LFLAGS_CONSOLE) $(ALLOBJ) \
-	     $(ALLLIB) $(RESFILES) -o "$(PROJECT_CONSOLE)"
+$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
+	$(APP_LINKER) -subsystem console $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES)
 
-$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
-	@echo ************************************
-	@echo linking windows executable: $(PROJECT_NOCONSOLE)
-	@echo ************************************
-	$(LINKER) $(LFLAGS_NOCONSOLE) $(ALLOBJ) \
-	     $(ALLLIB) $(RESFILES) -o "$(PROJECT_NOCONSOLE)"
+$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
+	$(APP_LINKER) -subsystem windows $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(RESFILES)
 
 !  else
+!   ifdef USETCC
+
+$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
+	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES)
+
+$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
+	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(RESFILES)
+
+!   else
+!    if defined(USEMINGW32) || defined(USEMINGW64)
+
+$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) show
+	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES)
+
+$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) show
+	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(APP_IMPORTLIBS) $(RESFILES)
+
+!    else
 error error error
+!    endif
+!   endif
 !  endif
 ! endif
 !endif
@@ -588,26 +517,43 @@
 #
 smalltalkWin.$(RES): smalltalkWin.rc smalltalk.ico
 
-main.obj: buildDate.h main.c bc.mak
+main.$(O): buildDate.h main.c bc.mak
 
 main.c: $(TOP)\librun\main.c
 	copy $(TOP)\librun\main.c main.c
 
-librun.dll: $(TOP)\librun\$(OBJDIR)\librun.dll
-	copy $(TOP)\librun\$(OBJDIR)\librun.dll librun.dll
+# now in stdRules.
+#buildDate.h: $(GENDATE_UTILITIY)
+#        $(GENDATE_UTILITIY)
 
-cs3245.dll: $(TOP)\support\win32\borland\cs3245.dll
-	copy $(TOP)\support\win32\borland\cs3245.dll cs3245.dll
+librun.dll: $(TOP)\librun\$(OBJDIR_LIBRUN)\librun.dll
+	copy $(TOP)\librun\$(OBJDIR_LIBRUN)\librun.dll librun.dll
+
+!ifdef USEBC      
+#cs3245.dll
+$(RT_DLL): $(TOP)\support\win32\borland\$(RT_DLL)
+	copy $(TOP)\support\win32\borland\$(RT_DLL) $(RT_DLL)
 
 X11.dll: $(TOP)\support\win32\X11.dll
 	copy $(TOP)\support\win32\X11.dll X11.dll
 
 Xext.dll: $(TOP)\support\win32\Xext.dll
 	copy $(TOP)\support\win32\Xext.dll Xext.dll
+!endif
+
+!if defined(USEMINGW32)
+$(RT_DLL): $(MINGW_DIR)\bin\$(RT_DLL)
+	-copy $(MINGW_DIR)\bin\$(RT_DLL) $(RT_DLL)
+	-copy $(MINGW_DIR)\bin\libwinpthread-1.dll libwinpthread-1.dll
+!endif
 
 symbols.stc: $(TOP)\include\symbols.stc
 	copy $(TOP)\include\symbols.stc symbols.stc
 
+
+
+
+
 clean::
 	-del genDate.exe genDate.com
 	-del c0x32.dll
@@ -617,22 +563,31 @@
 	-del install_smalltalk.exe
 	-del stx.lib
 	-del stx.dll
-	-del cs3245.dll
+	-del $(RT_DLL)
 	-del $(REQUIRED_FILES)
 	-del main.c
 	-del *.log
-	-del *.res
+	-del *.$(RES)
 	-rmdir /S /Q resources
-	-rmdir /S /Q objbc
+	-rmdir /S /Q $(OBJDIR)
 
 clobber:: clean
 	-del *.dll *.exe *.com
 
-# stupid win-make does not allow empty - therefore echo something
 postBuildCleanup::
-	@-echo "postbuild cleanup"
+	@rem  stupid win-make does not allow empty
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)stx_projects_smalltalk.$(O) stx_projects_smalltalk.$(H): stx_projects_smalltalk.st $(INCLUDE_TOP)\stx\libbasic\ApplicationDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)SmalltalkStartup.$(O) SmalltalkStartup.$(C) SmalltalkStartup.$(H): SmalltalkStartup.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\StandaloneStartup.$(H) $(STCHDR)
+$(OUTDIR)stx_projects_smalltalk.$(O) stx_projects_smalltalk.$(C) stx_projects_smalltalk.$(H): stx_projects_smalltalk.st $(INCLUDE_TOP)\stx\libbasic\ApplicationDefinition.$(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)stx_projects_smalltalk.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- a/bmake.bat	Thu Nov 24 16:34:43 2016 +0100
+++ b/bmake.bat	Sat Nov 26 22:23:14 2016 +0000
@@ -1,8 +1,14 @@
 @REM -------
-@REM make using borland bcc
+@REM make using Borland bcc32
 @REM type bmake, and wait...
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
-make.exe -N -f bc.mak %*
+@SET DEFINES=
+
+make.exe -N -f bc.mak  %DEFINES% %*
+
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
 
 
--- a/display.rc	Thu Nov 24 16:34:43 2016 +0100
+++ b/display.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -345,6 +345,8 @@
 "/      ].
 "/    ].
     View defaultStyle:style.
+    View readStyleSheetAndUpdateAllStyleCaches.
     'display.rc [info]: no style set - default to ' infoPrint. style infoPrintCR.
+
 ]
 !
--- a/h_win32.rc	Thu Nov 24 16:34:43 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-"*
- * Encoding: iso8859-1
- *
- * $Header$
- *
- * MIMEType: application/x-smalltalk-source
- *
- * ST/X startup configuration file - for win95, win98 and winNT OS.
- *
- * DONT add site specific things here - use your own h_xxx.rc file instead
- * where xxx stands for your hostname(s)
- *"
-!
-"/ look in registry for LibDir ...
-|k rel curr libDir|
-
-rel := Smalltalk versionString.
-k := Win32OperatingSystem registryEntry key:('HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\',rel).
-k isNil ifTrue:[
-    k := Win32OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X'.
-    k notNil ifTrue:[
-	curr := k valueNamed:'CurrentVersion'.
-	curr isString ifTrue:[
-	    k close.
-	    k := Win32OperatingSystem registryEntry key:('HKEY_LOCAL_MACHINE\Software\eXept\Smalltalk/X\',curr).
-	]
-    ]
-].
-k notNil ifTrue:[
-    libDir := k valueNamed:'LibDir'.
-    (libDir notNil and:[libDir asFilename exists]) ifTrue:[
-	(Smalltalk systemPath includes:(libDir asFilename pathName)) ifFalse:[
-	    Smalltalk systemPath addFirst:(libDir asFilename pathName).
-	    Smalltalk flushPathCaches
-	]
-    ].
-    k close.
-].
-!
-
-|incl libs tryPathesForBin path usedCompiler
- bccPath msvcPath mingw64Path mingw32Path
- searchedLibraries
- linkCommand linkArgs ccCommand ccCompilationOptions
- |
-
-false "Smalltalk wasStartedFromImage" ifFalse:[
-
-    incl := #(
-		'-I..\..\include'
-		"/ '-I..\..\libopengl'
-	    ).
-
-    tryPathesForBin := [:pathes |
-	|foundPath|
-	pathes do:[:eachPath |
-	    |thisPath|
-
-	    (thisPath := eachPath asFilename) exists ifTrue:[
-		foundPath := thisPath
-	    ].
-	].
-	foundPath
-    ].
-
-    "/
-    "/ right now, stx can be used with one of:
-    "/     - borland C-compiler (bcc32).
-    "/     - visual studio C (actually: SDK) (msc)
-    "/     - mingw64 gcc
-
-    "/ uncomment one of the following to enforce a compiler
-    "/ bccPath := 'C:\borland\bcc55\bin'.
-    "/ msvcPath := 'C:\Programme\Microsoft Visual Studio 10.0\VC\bin'.
-    "/ mingw64Path := 'C:\mingw64\bin'.
-    "/ mingw32Path := 'C:\mingw\bin'.
-
-    "/ or take a look what we find installed:
-    path := (OperatingSystem getEnvironment:'PATH') asCollectionOfSubstringsSeparatedBy:$;.
-    ExternalBytes sizeofPointer == 8 ifTrue:[
-	mingw64Path := path detect:[:d | d asLowercase includesString:'mingw'] ifNone:nil.
-	mingw64Path isNil ifTrue:[
-	    mingw64Path := tryPathesForBin value:
-			    #(
-				'C:\Programme\mingw64\bin'
-				'C:\Programme\mingw-w64\mingw64\bin'
-				'C:\Programme\mingw-w64\mingw\bin'
-				'C:\Programs\mingw64\bin'
-				'C:\Programs\mingw-w64\mingw64\bin'
-				'C:\Programs\mingw-w64\mingw\bin'
-				'C:\Program Files\mingw64\bin'
-				'C:\Program Files\mingw-w64\mingw64\bin'
-				'C:\Program Files\mingw-w64\mingw\bin'
-				'C:\mingw64\bin'
-				'C:\mingw-w64\mingw64\bin'
-			    ).
-	].
-    ] ifFalse:[
-	mingw32Path := path detect:[:d | d asLowercase includesString:'mingw'] ifNone:nil.
-	mingw32Path isNil ifTrue:[
-	    mingw32Path := tryPathesForBin value:
-			    #(
-				'C:\Programme\mingw\bin'
-				'C:\Programme\mingw-w32\mingw32\bin'
-				'C:\Programme\mingw-w32\mingw\bin'
-				'C:\Programs\mingw\bin'
-				'C:\Programs\mingw-w32\mingw32\bin'
-				'C:\Programs\mingw-w32\mingw\bin'
-				'C:\Program Files\mingw\bin'
-				'C:\Program Files\mingw-w32\mingw32\bin'
-				'C:\Program Files\mingw-w32\mingw\bin'
-				'C:\mingw\bin'
-				'C:\mingw-w32\mingw32\bin'
-				'C:\mingw-w32\mingw\bin'
-			    ).
-	].
-
-	bccPath := path detect:[:d | d asLowercase includesString:'borland'] ifNone:nil.
-	bccPath isNil ifTrue:[
-	    bccPath := tryPathesForBin value:
-			    #(
-				'C:\Programme\borland\bcc55\bin'
-				'C:\Programs\borland\bcc55\bin'
-				'C:\Program Files\borland\bcc55\bin'
-				'C:\borland\bcc55\bin'
-			    ).
-	].
-
-	msvcPath isNil ifTrue:[
-	    msvcPath := tryPathesForBin value:
-			    #(
-				'C:\Programme\Microsoft Visual Studio 11.0\VC\bin'
-				'C:\Programme\Microsoft Visual Studio 10.0\VC\bin'
-				'C:\Programme\Microsoft Visual Studio 9.0\VC\bin'
-				'C:\Programme\Microsoft Visual Studio 8.0\VC\bin'
-				'C:\Program Files\Microsoft Visual Studio 11.0\VC\bin'
-				'C:\Program Files\Microsoft Visual Studio 10.0\VC\bin'
-				'C:\Program Files\Microsoft Visual Studio 9.0\VC\bin'
-				'C:\Program Files\Microsoft Visual Studio 8.0\VC\bin'
-			    ).
-	].
-    ].
-
-    bccPath notNil ifTrue:[
-	"/ borland
-	ExternalBytes sizeofPointer == 8 ifTrue:[
-	    'host.rc [info]: ignore bcc32 compiler (cannot be used with 64 bit architecture)' infoPrintCR.
-	] ifFalse:[
-	    'host.rc [info]: setup for borland bcc32 compiler' infoPrintCR.
-	    bccPath := bccPath asFilename.
-	    "/ 'host.rc [info]: bccPath=' infoPrint. bccPath infoPrintCR.
-	    ccCommand := (bccPath / 'bcc32') pathName.
-	    linkCommand := (bccPath / 'ilink32') pathName.
-	    bccPath := bccPath directory.
-	    'host.rc [info]: bccPath=' infoPrint. bccPath pathName infoPrintCR.
-
-	    libs := #(
-		    '-L..\..\lib\bc'
-		    ).
-
-	    incl := incl copyWith: ( '-I',(bccPath / 'include') pathName ).
-	    libs := libs copyWith: ( '-L',(bccPath  / 'lib') pathName ).
-	    (bccPath / 'lib' / 'psdk') exists ifTrue:[
-		libs := libs copyWith: ( '-L',(bccPath / 'lib' / 'psdk') pathName ).
-	    ].
-	    ccCompilationOptions := '-w-'.
-	    searchedLibraries := #('import32.lib' 'odbc32.lib' 'glu32.lib' 'opengl32.lib').
-
-	    libs := libs asStringWith:Character space.
-	    linkArgs := (libs , ' -r -c -ap -Tpd -Gi -w-dup').
-	    incl := incl asStringWith:Character space.
-	    usedCompiler := 'bcc'.
-	].
-    ].
-
-    (usedCompiler isNil and:[msvcPath notNil]) ifTrue:[
-	"/ msvc
-	ExternalBytes sizeofPointer == 8 ifTrue:[
-	    'host.rc [info]: ignore msvc compiler (cannot be used with 64 bit architecture)' infoPrintCR.
-	] ifFalse:[
-	    'host.rc [info]: setup for msvc compiler' infoPrintCR.
-	    msvcPath := msvcPath asFilename.
-	    ccCommand := (msvcPath / 'cl') pathName.
-	    linkCommand := (msvcPath / 'ilink32') pathName.
-	    ccCompilationOptions := '/O1'.
-	    searchedLibraries := #('import32.lib' 'odbc32.lib' 'glu32.lib' 'opengl32.lib').
-
-	    libs := #(
-		    '-L..\..\lib\vc'
-		    ).
-	    libs := libs asStringWith:Character space.
-	    linkArgs := (libs).
-	    incl := incl asStringWith:Character space.
-	    usedCompiler := 'msvc'.
-	].
-    ].
-
-    usedCompiler isNil ifTrue:[
-	ExternalBytes sizeofPointer == 8 ifTrue:[
-	    mingw64Path notNil ifTrue:[
-		"/ mingw64
-		'host.rc [info]: setup for mingw64 compiler' infoPrintCR.
-		mingw64Path := mingw64Path asFilename.
-		ccCommand := (mingw64Path / 'gcc') pathName.
-		linkCommand := (mingw64Path / 'gcc') pathName.
-		mingw64Path := mingw64Path directory.
-		ccCompilationOptions := ''.
-		searchedLibraries := #('-lodbc32' '-lglu32' '-lopengl32').
-
-		libs := {
-			    '-L..\..\lib\mingw' .
-			    ( '-L',(mingw64Path / 'lib') pathName ) .
-			}.
-		libs := libs asStringWith:Character space.
-		linkArgs := (libs).
-		incl := incl asStringWith:Character space.
-		usedCompiler := 'mingw'.
-	    ].
-	] ifFalse:[
-	    mingw32Path notNil ifTrue:[
-		"/ mingw32
-		'host.rc [info]: setup for mingw32 compiler' infoPrintCR.
-		mingw32Path := mingw32Path asFilename.
-		ccCommand := (mingw32Path / 'gcc') pathName.
-		linkCommand := (mingw32Path / 'gcc') pathName.
-		mingw32Path := mingw32Path directory.
-		ccCompilationOptions := ''.
-		searchedLibraries := #('-lodbc32' '-lglu32' '-lopengl32').
-
-		libs := {
-			    '-L..\..\lib\mingw' .
-			    ( '-L',(mingw32Path / 'lib') pathName ) .
-			}.
-		libs := libs asStringWith:Character space.
-		linkArgs := (libs).
-		incl := incl asStringWith:Character space.
-		usedCompiler := 'mingw'.
-	    ].
-	].
-    ].
-
-    usedCompiler notNil ifTrue:[
-	ParserFlags ccPath:ccCommand.
-	ParserFlags linkCommand:linkCommand.
-	ParserFlags stcCompilationIncludes: incl.
-	ParserFlags stcCompilationDefines: ''.
-	ParserFlags stcCompilationOptions: '+optinline +inlineNew'.
-	ParserFlags ccCompilationOptions: ccCompilationOptions.
-	ParserFlags searchedLibraries:searchedLibraries.
-	ParserFlags linkArgs: linkArgs.
-    ]
-].
-
-!
--- a/host.rc	Thu Nov 24 16:34:43 2016 +0100
+++ b/host.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -33,81 +33,6 @@
     ].
 ].
 
-"------------------------------------------------------------------------"
-"/ default compiler setup;
-"/ can be rechanged in a h_xxx file.
-"/
-
-(Smalltalk wasStartedFromImage not and:[ Smalltalk isPlugin not ])
-ifTrue:[
-    Compiler stcCompilation:#default.
-    Compiler stcCompilationOptions:'+optinline +inlineNew'.
-
-    "/
-    "/ setup for gcc (which is OK for most systems);
-    "/ Notice that this setup may be changed by an OS-specific h_xxx file
-    "/
-    conf := Smalltalk configuration.
-    (conf includesString:'gcc') ifTrue:[
-	Compiler ccPath:'gcc'
-    ] ifFalse:[
-	Compiler ccPath:'cc'
-    ].
-    Compiler ccCompilationOptions:'-O'.
-
-    (conf includesString:'amd64_mode32') ifTrue:[
-	((ObjectFileLoader linkArgs ? '') includesString:'-m32') ifFalse:[
-	    ObjectFileLoader linkArgs:((ObjectFileLoader linkArgs ? '') , ' -m32 -m elf_i386').
-	].
-	(Compiler ccCompilationOptions includesString:'-m32') ifFalse:[
-	    Compiler ccCompilationOptions:(Compiler ccCompilationOptions , ' -m32').
-	].
-	((Compiler stcCompilationDefines ? '') includesString:'-D__amd64_mode32__') ifFalse:[
-	    Compiler stcCompilationDefines:((Compiler stcCompilationDefines ? ''), ' -D__amd64_mode32__').
-	].
-    ].
-
-
-    includes := ''.
-    incDir := Smalltalk getSystemFileName:'include/stc.h'.
-    incDir notNil ifTrue:[ incDir := incDir asFilename directoryName ].
-
-    incDir notNil ifTrue:[
-	includes := includes , '-I' , incDir asFilename pathName , ' '
-    ] ifFalse:[
-	('../../../stx/include' asFilename exists) ifTrue:[
-	    "/ running in a development environment...
-	    includes := includes , '-I../../../stx/include '.
-	] ifFalse:[
-	    ('../../include' asFilename exists) ifTrue:[
-		"/ running in a development environment...
-		includes := includes , '-I../../include '.
-	    ] ifFalse:[
-		"/ if this is a production program, dont care for a warning
-		(Smalltalk isStandAloneApp or:[Smalltalk isHeadless])
-		ifFalse:[
-		    'host.rc [warning]: no >>include<< directory found along your path.' infoPrintCR.
-		    'host.rc [warning]: this might affect stc-compilation from within the browser.' infoPrintCR.
-		]
-	    ]
-	]
-    ].
-
-    Compiler stcCompilationIncludes:includes.
-
-    "/
-    "/ for myself: preset flags, so that we can accept GLXWorkstation code
-    "/ You probably will never do this.
-    "/
-    (Display notNil and:[Display supportsGLDrawing]) ifTrue:[
-	sysType = 'irix' ifTrue:[
-	    Compiler stcCompilationDefines:'-DGLX'.
-	] ifFalse:[
-	    Compiler stcCompilationIncludes:'-I../../include -I../../support/VGL/vogl/src'.
-	    Compiler stcCompilationDefines:'-DVGL'.
-	]
-    ].
-].
 
 "/
 "/ try systemType-specific setup
--- a/mingwmake.bat	Thu Nov 24 16:34:43 2016 +0100
+++ b/mingwmake.bat	Sat Nov 26 22:23:14 2016 +0000
@@ -1,8 +1,23 @@
 @REM -------
-@REM make using mingw compiler
+@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%"
 
-@call ..\..\rules\find_mingw.bat
-make.exe -N -f bc.mak %USEMINGW_ARG% %*
+@pushd ..\..\rules
+@call find_mingw.bat
+@popd
+make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
+
+
+@IF "%%1" EQU "exe" exit /b 0
+@IF "%%1" EQU "setup" exit /b 0
+@IF "%%1" EQU "pluginSetup" exit /b 0
+
+@IF "%1" EQU "test" exit /b 0
+
+
--- a/modules.c	Thu Nov 24 16:34:43 2016 +0100
+++ b/modules.c	Sat Nov 26 22:23:14 2016 +0000
@@ -8,11 +8,13 @@
  */
 typedef void (*vf)();
 
+extern void _SmalltalkStartup_Init();
 extern void _stx_137projects_137smalltalk_Init();
 
 
 static vf modules[] = {
-    _stx_137projects_137smalltalk_Init,
+    _SmalltalkStartup_Init,
+_stx_137projects_137smalltalk_Init,
 
     (vf)0
 };
--- a/modules.stx	Thu Nov 24 16:34:43 2016 +0100
+++ b/modules.stx	Sat Nov 26 22:23:14 2016 +0000
@@ -1,45 +1,43 @@
-# $Header$
-#
-# DO NOT EDIT
-# automagically generated from the projectDefinition: stx_projects_smalltalk.
-#
-# Warning: once you modify this file, do not rerun
-# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
-#
-# This file is (currently) only used with win-95 / win-NT versions of STX.
-# It lists the dll's which are to be loaded at startup time.
-# Notice, lines starting with a "#" are comments.
-# Lines starting with a "*" are treated as comments by the VM, but are usually loaded
-# by the application at the very beginning.
-#
-# All classes loaded at startup time will be present as precompiled classes.
-# Others might be autoloaded.
-#
-libstx_libbasic
-libstx_goodies_refactoryBrowser_helpers
-libstx_goodies_refactoryBrowser_parser
-libstx_libbasic2
-libstx_libcomp
-libstx_libview
-libstx_libbasic3
-libstx_libview2
-libstx_libboss
-libstx_libjavascript
-libstx_goodies_refactoryBrowser_changes
-libstx_goodies_sunit
-libstx_libui
-libstx_libwidg
-libstx_libview3
-libstx_libhtml
-libstx_libwidg2
-libstx_libwidg3
-libstx_libtool
-libstx_libcompat
-libstx_goodies_refactoryBrowser_refactoring
-libstx_libtool2
-libstx_goodies_refactoryBrowser_browser
-libstx_goodies_refactoryBrowser_lint
-libstx_libscm_common
-libstx_libscm_mercurial
-
-
+libstx_libbasic
+libstx_libbasic2
+libstx_libview
+libstx_libview2
+libstx_libwidg
+libstx_libwidg2
+libstx_libui
+libstx_libdb_libsqlite
+libstx_libbasic3
+libstx_libcomp
+libstx_goodies_refactoryBrowser_parser
+libstx_goodies_refactoryBrowser_helpers
+libstx_goodies_refactoryBrowser_changes
+libstx_libboss
+libstx_libtool
+libstx_libview3
+libstx_libtool2
+libstx_libcompat
+libstx_goodies_refactoryBrowser_browser
+libstx_goodies_sunit
+libstx_goodies_refactoryBrowser_lint
+libstx_goodies_refactoryBrowser_refactoring
+libstx_libhtml
+libstx_libwidg3
+libstx_libjavascript
+libstx_goodies_regex
+libstx_goodies_smallsense
+libstx_goodies_smallsense_refactoring_custom
+libstx_goodies_xml_vw
+libstx_libsvn
+libstx_goodies_petitparser
+libstx_libjava
+libstx_libjava_tools
+libstx_libjava_experiments
+libstx_goodies_loggia
+libstx_goodies_communication
+libstx_goodies_monticello
+libstx_goodies_cypress
+libstx_libscm_common
+libstx_libscm_mercurial
+libstx_libscm_mercurial_monticello
+libstx_goodies_ring
+libstx_goodies_libcairo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc.d/00-fixup-environment.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,25 @@
+Smalltalk isStandAloneApp ifFalse:[
+
+| userHome stxUserHome stxUserPackageDir |
+userHome := Filename homeDirectory.
+(userHome exists not or:[userHome isWritable not]) ifTrue:
+	[('User home directory does not exists or is not writable ('
+		,userHome name
+			,'). Exitting') errorPrintCR.
+	Smalltalk exit: 1].
+
+stxUserHome := userHome / '.smalltalk'.
+
+stxUserHome exists ifFalse:
+	[stxUserHome makeDirectory.
+	(stxUserHome / ('p_',OperatingSystem getLoginName,'.rc')) writeStream
+		nextPutAll:'"User-specific startup script"';
+		cr;
+		close].
+
+
+stxUserHome isDirectory ifFalse:
+	[(stxUserHome name,' is not directory. Exitting')
+		errorPrintCR.
+	Smalltalk exit: 1].
+]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc.d/01-update-xterm-title.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,30 @@
+| xtermTitleUpdater |
+xtermTitleUpdater := [
+(((OperatingSystem getEnvironment:'TERM')  = 'xterm')
+    or: [((OperatingSystem getEnvironment:'TERM')  = 'rxvt')])
+    ifTrue:
+	[Stdout
+	    nextPutAll: #[8r033 8r135 8r060 8r073] asString;
+	    nextPutAll: 'Smalltalk/X ';
+	    nextPutAll: Smalltalk versionString.
+	ObjectMemory imageName ifNotNil:
+		[| image |
+		image := ObjectMemory imageName.
+		(image includes: $/) ifTrue:
+		    [image := image copyFrom: (image lastIndexOf: $/) + 1].
+		Stdout
+		    nextPutAll: ' - ';
+		    nextPutAll: image].
+	Stdout
+	    nextPut: 8r007 asCharacter]].
+
+
+Smalltalk addStartBlock: xtermTitleUpdater.
+Smalltalk addImageStartBlock: xtermTitleUpdater.
+ObjectMemory addDependent:
+    (Smalltalk at: #XTermTitleUpdater put:
+	(InterestConverter
+	    destination: xtermTitleUpdater
+	    selector: #value
+	    aspect: #finishedSnapshot)).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc.d/03-stc-setup.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,4 @@
+modulesDir := Filename homeDirectory / '.smalltalk' / 'binary-modules'.
+modulesDir asFilename exists ifFalse:[modulesDir asFilename makeDirectory].
+Compiler stcModulePath:modulesDir.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc.d/75-dev-setup.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,51 @@
+"Show local sources"
+
+Class tryLocalSourceFirst: true.
+
+!
+
+"Activate history manager"
+
+Smalltalk addStartBlock:[HistoryManager activate]
+
+!
+
+"Add SmalltalkXProjects to package path"
+
+| projectsDir |
+
+projectsDir := Filename homeDirectory  / 'SmalltalkXProjects'.
+projectsDir exists ifFalse:[
+    Filename homeDirectory isWritable ifTrue:[
+    	projectsDir makeDirectory. 
+    ].
+].
+projectsDir isDirectory ifTrue:[
+	Smalltalk packagePath: (Smalltalk packagePath asOrderedCollection addFirst: projectsDir pathName; yourself)
+].
+
+!
+
+"Set up CVS & Mercurial Source Code Managers"
+
+| setupCVS setupHG |
+
+setupCVS := OperatingSystem canExecuteCommand: 'cvs'.
+setupHG  := OperatingSystem canExecuteCommand: 'hg'.
+
+setupCVS ifTrue:[
+	SourceCodeManager := CVSSourceCodeManager. 
+	CVSSourceCodeManager
+		shownInBrowserMenus: true;
+		repositoryInfoPerModule:
+			(Dictionary new 
+				add: 'stx' -> ':pserver:cvs@cvs.smalltalk-x.de:/cvs/stx';
+				yourself).
+].
+
+setupHG ifTrue:[
+	HGSourceCodeManager
+		shownInBrowserMenus: true.
+].
+
+UserPreferences default sourceCodeManagementMenyLayout: #inline.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc.d/80-theme-setup.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,3 @@
+OperatingSystem isUNIXlike ifTrue:[
+    View defaultStyle:#Adwaita.
+]
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc.d/90-default-preferences.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,20 @@
+UserPreferences default
+	showBookmarkBar: true;
+	showGlobalHistory: false;
+	sortAndIndentClassesByInheritance: true;
+	useInPlaceSearchInBrowserLists: true;
+	runLintChecksInBackground: true;
+
+	showAcceptCancelBarInBrowser: true;
+	codeView2ShowAcceptCancel: true;
+
+	changeSetBrowserClass: Tools::ChangeSetBrowser2;
+	changesBrowserClass:   Tools::ChangeSetBrowser2;
+
+	autoDefineWorkspaceVariables: true;
+	eclipseStyleMenus:true;
+
+	at: #jsKeywordColor put: (Color red:33.0 green:33.0 blue:0.0);
+	at: #jsKeywordEmphasis put: #bold;
+	
+	yourself.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc.d/90-font-setup.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,22 @@
+OperatingSystem isUNIXlike ifTrue:[
+    | fontNormal fontMonospace |
+
+    fontNormal    := XftFontDescription family: 'Sans'      size: 10.
+    fontMonospace := XftFontDescription family: 'Monospace' size: 10.
+
+
+    SimpleView            defaultFont: fontNormal.
+    CheckLabel            defaultFont: fontNormal.
+    CheckBox              defaultFont: fontNormal.
+    CheckLabel            defaultFont: fontNormal.
+    Button                defaultFont: fontNormal.
+    Toggle                defaultFont: fontNormal.
+    SelectionInListView   defaultFont: fontNormal.
+    MenuView              defaultFont: fontNormal.
+    MenuPanel             defaultFont: fontNormal.
+    NoteBookView          defaultFont: fontNormal.
+    PullDownMenu          defaultFont: fontNormal.
+    TextView              defaultFont: fontNormal.
+    EditTextView          defaultFont: fontNormal.
+    CodeView              defaultFont: fontMonospace.
+]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rc.d/90-smallsense-setup.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,10 @@
+(Smalltalk at:#stx_goodies_smallsense) notNil ifTrue:[
+    (Smalltalk at:#stx_goodies_smallsense) swizzle.
+
+    UserPreferences default
+    	smallSenseEnabled: true;
+    	smallSenseBackgroundLintEnabled: true;
+    	smallSenseBackgroundTypingEnabled: true;
+    	smallSenseNewDialogsEnabled: true;
+    	smallSenseCompletionEnabled: true.
+].
\ No newline at end of file
--- a/smalltalk	Thu Nov 24 16:34:43 2016 +0100
+++ b/smalltalk	Sat Nov 26 22:23:14 2016 +0000
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 # $Header$
 #
@@ -27,22 +27,25 @@
 # all other args go to stx & the user classes
 #
 
-STX=stx
-STX_BINDIR=.
+STX_EXE=stx
+STX_BIN_DIR=$(dirname $0)
 DEBUGGER=
 
-
-if test -x `dirname $0`/stx; then
-    STX_BINDIR=`dirname $0`
-    STX=$STX_BINDIR/stx
-#    cd $STX_BINDIR
+if ! test -f "$STX_BIN_DIR/Make.proto"; then
+	# Running in Smalltalk/X jv-branch deployment mode
+	VERSION=6.2.6
+    STX_HOME="$STX_BIN_DIR/.."
+	STX_TOPDIR="$STX_HOME/lib/smalltalkx/$VERSION"
+	STX_LIBDIR="$STX_TOPDIR/lib"
+	STX_PACKAGEDIR="$STX_TOPDIR%/packages"
+	STX_EXE="$STX_TOPDIR/bin/stx-bin"
 fi
 
 if [ "$STX_LIBDIR" != "" ]
 then
     if [ ! -f $STX_LIBDIR/smalltalk.rc ]
     then
-       echo "smalltalk [warning]: ignore wrong STX_LIBDIR setting"
+       echo "smalltalk [warning]: ignore wrong STX_LIBDIR setting ($STX_LIBDIR)"
        STX_LIBDIR=""
     fi
 fi
@@ -80,26 +83,6 @@
     fi
 fi
 
-if test -z "$STX_PACKAGEDIR"
-then
-    if [ -d ../packages ]
-    then
-        STX_PACKAGEDIR=`cd .. ; pwd`
-    else
-        if [ -d $STX_LIBDIR/../packages ]
-        then
-            STX_PACKAGEDIR=`cd $STX_LIBDIR/../packages ; pwd`
-        else
-            if [ -f $STX_BINDIR/smalltalk.rc ]
-            then
-                STX_PACKAGEDIR=`cd $STX_BINDIR/../../.. ; pwd`
-            fi
-        fi
-    fi
-fi
-
-
-
 if test -z "$STX_TOPDIR"
 then
     if [ -f ../lib/smalltalk.rc ]
@@ -110,9 +93,9 @@
        then
            STX_TOPDIR=`cd $STX_LIBDIR/.. ; pwd`
        else
-           if [ -f $STX_BINDIR/smalltalk.rc ]
+           if [ -f $STX_BIN_DIR/smalltalk.rc ]
            then
-              STX_TOPDIR=`cd $STX_BINDIR/../.. ; pwd`
+              STX_TOPDIR=`cd $STX_BIN_DIR/../.. ; pwd`
            fi
        fi
     fi
@@ -120,17 +103,16 @@
 
 # echo STX_LIBDIR is $STX_LIBDIR
 # echo STX_TOPDIR is $STX_TOPDIR
-# echo STX_PACKAGEDIR is $STX_PACKAGEDIR
 
-export STX_LIBDIR STX_PACKAGEDIR STX_TOPDIR
+export STX_LIBDIR STX_TOPDIR
 
-# echo STX is $STX
+# echo STX is $STX_EXE
 
 
 if [ "$1" = "--help" ]
 then    
     echo "
-usage: smalltalk [-x prog] [-X dir] [--ldd] [--gdb] 
+usage: $(basename $0) [-x prog] [-X dir] [--ldd] [--gdb] 
 
 args to startup script:
    -x prog ................ use prog instead of stx as executable
@@ -138,38 +120,39 @@
    --ldd .................. show which shared libraries are used
    --gdb .................. run with gdb-Debugger (type r in debugger to start)
    --cgdb ................. run with cgdb-Debugger (type r in debugger to start)
-   --callgrind ............ run under callgrind profiler tool
+   --callgrind ............ run under callgrind profiler tool with profiling off -
+                            use this to profile some benchmark
+   --callgrind-startup .... run under callgrind profiler tool with profiling on
+                            - use this to profile VM startup
    --stap SCRIPT .......... run given systemtap script, passing stx command as 
                             stap -c 'stx ...' Systemtap may not be compiled in.
 "
-    exec $STX --help
-    exit 0
 fi
 
 if [ "$1" = "-x" ]
 then
     shift
-    STX=$1
+    STX_EXE=$1
     shift
 fi
 
 if [ "$1" = "-X" ]
 then
     shift
-    STX=$1/stx
+    STX_EXE=$1/stx
     shift
 fi
 
 if [ "$1" = "--gdb" ]
 then
     shift
-    DEBUGGER=gdb
+    DEBUGGER="gdb --args"
 fi
 
 if [ "$1" = "--cgdb" ]
 then
     shift
-    DEBUGGER=cgdb
+    DEBUGGER="cgdb --args"
 fi
 
 if [ "$1" = "--callgrind" ]
@@ -178,6 +161,13 @@
     DEBUGGER="valgrind --tool=callgrind --instr-atstart=no"
 fi
 
+if [ "$1" = "--callgrind-startup" ]
+then
+    shift
+    DEBUGGER="valgrind --tool=callgrind"
+fi
+
+
 if [ "$1" = "--stap" ]
 then
     shift
@@ -248,19 +238,19 @@
     SHLIB_PATH=$STX_LIBDIR:$STX_LIBDIR/lib:$SHLIB_PATH
     fi
 else
-    STX_LIBDIR=$STX_BINDIR
+    STX_LIBDIR=$STX_BIN_DIR
 fi
 
 #
-# and in STX_BINDIR
+# and in STX_BIN_DIR
 #
 
-if [ "$STX_BINDIR" != "" ]
+if [ "$STX_BIN_DIR" != "" ]
 then
-    if [ "$STX_BINDIR" != "/usr/local/bin" ]
+    if [ "$STX_BIN_DIR" != "/usr/local/bin" ]
     then
-    LD_LIBRARY_PATH=$STX_BINDIR:$LD_LIBRARY_PATH
-    SHLIB_PATH=$STX_BINDIR:$SHLIB_PATH
+    LD_LIBRARY_PATH=$STX_BIN_DIR:$LD_LIBRARY_PATH
+    SHLIB_PATH=$STX_BIN_DIR:$SHLIB_PATH
     fi
 fi
 
@@ -284,7 +274,7 @@
 # debugging which stx & shared libs are used ...
 #
 whichOne=`/bin/sh -c "type $STX"`
-if [ "$STX" = "stx" ]
+if [ "$STX_EXE" = "stx" ]
 then
   if [ -f stx ]
   then
@@ -330,7 +320,7 @@
 #     echo "Please be patient - hp systems are very slow."
 # fi
 
-PATH=$PATH:$STX_BINDIR
+PATH=$PATH:$STX_BIN_DIR
 export PATH
 # echo PATH is $PATH
 # echo DISPLAY is $DISPLAY
@@ -339,11 +329,11 @@
 
 if [ ! -z "$STAPSCRIPT" ]; then
     echo "$STX_TOPDIR/stx/hacking/tapset"
-    CMD="$STX $@"
+    CMD="$STX_EXE $@"
     echo "$CMD"
     exec stap --unprivileged $STAPSCRIPT -I "$STX_TOPDIR/hacking/tapset" -c "$CMD"
 fi
 
 
 
-exec $DEBUGGER $STX ${1+"$@"}
+exec $DEBUGGER $STX_EXE ${1+"$@"}
--- a/smalltalk.bat	Thu Nov 24 16:34:43 2016 +0100
+++ b/smalltalk.bat	Sat Nov 26 22:23:14 2016 +0000
@@ -1,26 +1,33 @@
 @echo off
-:
 : $Header$
-:
 : startup script for smalltalk
 : actually, simply calls stx, passing all arguments.
-:
-:
+
 : In previous versions, smalltalk used to be the executable itself.
 : This lead to problems on systems, where things like the PATH
 : or STX_LIBDIR should be set in advance.
 : Now, here is a place to do such things ...
-:
 
 if {%1}=={--help} goto usage
 
-:
+
 : change the line below, if
 : the support stuff is not found in the
 : directory where stx.com / stx.exe resides ...
 : STX_LIB_DIR=<path_to_support_files>
+set STX_BIN_DIR=%~dp0
+if exist %STX_BIN_DIR%\stx-bin.com (
+	set VERSION=6.2.6
+	set STX_HOME=%STX_BIN_DIR%\..
+	set STX_TOPDIR=%STX_HOME%\lib\smalltalkx\%VERSION%
+	set STX_LIBDIR=%STX_TOPDIR%\lib
+	set STX_EXE=%STX_BIN_DIR%\stx-bin.com
+) else (
+	set STX_EXE=%STX_BIN_DIR%\stx.com
+)
 
-stx %1 %2 %3 %4 %5 %6 %7 %8 %9 %10
+
+%STX_EXE% %1 %2 %3 %4 %5 %6 %7 %8 %9 %10
 goto end
 
 :usage
@@ -28,6 +35,6 @@
 echo usage: smalltalk stx-args
 echo.
 echo STX args:
-stx --help
+%STX_EXE% --help
 
 :end
--- a/smalltalk.nsi	Thu Nov 24 16:34:43 2016 +0100
+++ b/smalltalk.nsi	Sat Nov 26 22:23:14 2016 +0000
@@ -3,17 +3,25 @@
 
 !define PRODUCT_NAME "Smalltalk/X"
 !define PRODUCT_FILENAME "SmalltalkX"
-!define PRODUCT_VERSION "6.2.1.1"
+!define PRODUCT_VERSION "6.2.5.0"
 !define PRODUCT_PUBLISHER "eXept Software AG"
 !define PRODUCT_WEB_SITE "http://www.exept.de"
 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_FILENAME}"
 !define PRODUCT_UNINST_ROOT_KEY "HKLM"
 
+;
+; SETUP_NAME can come from makefile as either setup or setup64
+;
+!if "${SETUP_NAME}" == ""
+SETUP_NAME="Smalltalk/XSetup"
+!endif
+
 !define STX_ROOT "..\..\.."
 
 SetCompressor /solid lzma
 
 !include "MUI2.nsh"
+!include "x64.nsh"
 
 ; MUI Settings
 
@@ -58,13 +66,13 @@
 VIProductVersion "${PRODUCT_VERSION}.0"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}"
-VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "6.2.1.41"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "6.2.32767.32767"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${PRODUCT_NAME} Installer"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${PRODUCT_VERSION}"
-VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright Claus Gittinger 1988-2012\nCopyright eXept Software AG 1998-2012"
 
 
-OutFile "SmalltalkXSetup.exe"
+OutFile "${SETUP_NAME}.exe"
 InstallDir "$PROGRAMFILES\stx"
 ShowInstDetails show
 ShowUnInstDetails show
@@ -85,16 +93,9 @@
   File "symbols.stc"
   File "*.stx"
   File "*.rc"
-  File /r "resources"
+  File /r /x CVS /x ".*" resources
 
-  File "*.wsp"
-  File /x CVS "${STX_ROOT}\stx\projects\smalltalk\patches"
-  File /r /x CVS "${STX_ROOT}\stx\include"
-  File /x CVS "${STX_ROOT}\stx\libview\styles\*"
-SetOutPath "$INSTDIR\bin\doc"
-  File /r /x CVS "${STX_ROOT}\stx\doc\online"
-SetOutPath "$INSTDIR\bin\source"
-  File /r /x CVS /x "not*" "${STX_ROOT}\stx\*.st"
+
 
 
 
@@ -151,7 +152,7 @@
   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
 SectionEnd
 
-LangString appOpen ${LANG_GERMAN}  "Mit Smalltalk/X ffnen"
+LangString appOpen ${LANG_GERMAN}  "Mit Smalltalk/X ffnen"
 LangString appOpen ${LANG_ENGLISH} "Open with Smalltalk/X"
 
 LangString DESC_Section1 ${LANG_ENGLISH} "Program components of Smalltalk/X"
@@ -185,7 +186,7 @@
 
 Function un.onInit
 !insertmacro MUI_UNGETLANGUAGE
-  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Mchten Sie Smalltalk/X und alle seine Komponenten deinstallieren?" IDYES +2
+  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Mchten Sie Smalltalk/X und alle seine Komponenten deinstallieren?" IDYES +2
   Abort
 FunctionEnd
 
@@ -207,5 +208,6 @@
   DeleteRegKey HKCR "Stx.SmalltalkX.1"
 
 
+
   SetAutoClose true
 SectionEnd
--- a/smalltalk.rc	Thu Nov 24 16:34:43 2016 +0100
+++ b/smalltalk.rc	Sat Nov 26 22:23:14 2016 +0000
@@ -34,10 +34,6 @@
 "/***************************************************************
 |cpu enableJIT|
 
-"/ (Smalltalk commandLineArguments includes:'--quick') ifFalse:[
-"/     'smalltalk.rc [info]: initial startup (snapshot image restart is faster)...' infoPrintCR.
-"/ ].
-
 "/
 "/ the JIT translator is (was) known to work with the following
 "/ architectures:
@@ -144,42 +140,12 @@
     Smalltalk systemPath addFirst:Filename currentDirectory pathName.
 ].
 
-(path := OperatingSystem getEnvironment:'STX_PACKAGEPATH') notNil ifTrue:[
-    Smalltalk packagePath:(path asCollectionOfSubstringsSeparatedBy:$:).
-    'smalltalk.rc [info]: setting packagePath from STX_PACKAGEPATH' infoPrintCR.
-] ifFalse:[
-    "/
-    "/ if running in the development environment,
-    "/ only use the local packages.
-    "/
-    (pathOfSTXExecutable notNil
-    and:[(pathOfSTXExecutable construct:'../../../stx/projects/smalltalk') exists]) ifTrue:[
-	Smalltalk packagePath removeAll; add:(pathOfSTXExecutable construct:'../../..') pathName.
-	'smalltalk.rc [info]: setting packagePath for local operation' infoPrintCR.
-    ] ifFalse:[
-	(pathOfCurrentDir construct:'../../../stx/projects/smalltalk') exists ifTrue:[
-	    Smalltalk packagePath removeAll; add:(pathOfCurrentDir construct:'../../..') pathName.
-	    'smalltalk.rc [info]: setting packagePath for local operation' infoPrintCR.
-	]
-    ].
-
-    "/
-    "/ any additional local packages ?.
-    "/
-    'packages' asFilename exists ifTrue:[
-	(Smalltalk packagePath includes:'packages' asFilename pathName) ifFalse:[
-	    Smalltalk packagePath addFirst:'packages' asFilename pathName.
-	].
-    ].
-].
-
 "/ 'systemPath: ' errorPrint. Smalltalk systemPath errorPrintCR.
-"/ 'packagePath: ' errorPrint. Smalltalk packagePath errorPrintCR.
-Smalltalk packagePath isEmpty ifTrue:[
-    'smalltalk.rc [warning]: packagePath is empty' errorPrintCR.
-].
 
 Smalltalk flushPathCaches.
+
+SmalltalkStartup main: Smalltalk commandLineArguments ? #().
+
 !
 
 "/ look fore one ore more --loadPackage arguments
@@ -631,7 +597,14 @@
     rcD := syspath asFilename / 'rc.d'.
     rcD exists ifTrue:[
 	rcD directoryContentsAsFilenames do:[:each|
-	    each suffix = 'rc' ifTrue:[ rcDFiles add: each]
+	    each suffix = 'rc' ifTrue:[
+	        | eachAbs |
+
+	        eachAbs := each asAbsoluteFilename.
+	        (rcDFiles includes: eachAbs) ifFalse:[
+	    	    rcDFiles add: eachAbs.
+	    	]
+	    ]
 	].
     ].
 ].
--- a/stx_projects_smalltalk.st	Thu Nov 24 16:34:43 2016 +0100
+++ b/stx_projects_smalltalk.st	Sat Nov 26 22:23:14 2016 +0000
@@ -1,5 +1,6 @@
 "
  COPYRIGHT (c) Claus Gittinger / 2006 by eXept Software AG
+               2016-now by Jan Vrany <jan.vrany@fit.cvut.cz>
               All Rights Reserved
 
  This software is furnished under a license and may be used
@@ -25,6 +26,7 @@
 copyright
 "
  COPYRIGHT (c) Claus Gittinger / 2006 by eXept Software AG
+               2016-now by Jan Vrany <jan.vrany@fit.cvut.cz>
               All Rights Reserved
 
  This software is furnished under a license and may be used
@@ -97,6 +99,19 @@
     ^ true "actually, we do both the console and the non-console app (see additionalTargets_bc_dot_mak)"
 !
 
+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:libbasic'    "ApplicationDefinition - superclass of stx_projects_smalltalk"
+    )
+!
+
 preRequisites
     ^ #(
         #'stx:libbasic'    
@@ -128,8 +143,31 @@
     "Modified: / 13-01-2012 / 13:03:52 / cg"
 !
 
+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."
+
+    ^ #(
+    )
+!
+
 splashFileName
     ^ 'stx_splash'
+!
+
+subProjects
+    "list packages which are known as subprojects.
+     This method is generated automatically; however, when generating automatically,
+     packages are only added - never removed, unless listed in #excludedFromSubProjects."
+
+    ^ #(
+)
 ! !
 
 !stx_projects_smalltalk class methodsFor:'description - building'!
@@ -158,13 +196,24 @@
 !stx_projects_smalltalk 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"
+        SmalltalkStartup
         #'stx_projects_smalltalk'
     )
 !
 
 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.
+     A correponding method with real names must be present in my concrete subclasses
+     if it has extensions."
+
     ^ #(
     )
 !
@@ -173,7 +222,7 @@
     "names of files which should NOT be generated (because they are hand-maintained)"
     "do NOT overwrite the hand-written Make.proto for now"
 
-    ^ #( 'Make.proto' )
+    ^ #( 'Make.proto' 'modules.stx' )
 
     "Modified: / 21-12-2010 / 11:37:05 / cg"
 ! !
@@ -228,5 +277,9 @@
 
 version_CVS
     ^ '$Header$'
+!
+
+version_HG
+    ^ '$Changeset: <not expanded> $'
 ! !
 
Binary file stx_splash.bmp has changed
Binary file stx_splash.gif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stx_splash.svg	Sat Nov 26 22:23:14 2016 +0000
@@ -0,0 +1,664 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="397"
+   height="294"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.5 r10040"
+   version="1.0"
+   sodipodi:docname="splash-smalltalkx.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="splash-smalltalkx-6.2.5.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 147 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="397 : 147 : 1"
+       inkscape:persp3d-origin="198.5 : 98 : 1"
+       id="perspective2907" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="262.90591"
+       x2="108.09431"
+       y1="262.90591"
+       x1="72.838028"
+       id="linearGradient4090"
+       xlink:href="#linearGradient4084"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="256.16028"
+       x2="82.349434"
+       y1="285.42984"
+       x1="96.672188"
+       id="linearGradient4082"
+       xlink:href="#linearGradient4076"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="249.10719"
+       x2="84.808182"
+       y1="266.65515"
+       x1="94.96212"
+       id="linearGradient4074"
+       xlink:href="#linearGradient4068"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="87.7379"
+       x2="4.3037248"
+       y1="142.40312"
+       x1="67.514305"
+       id="linearGradient4066"
+       xlink:href="#linearGradient4060"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="72.744072"
+       x2="-17.401899"
+       y1="132.14407"
+       x1="28.386497"
+       id="linearGradient4058"
+       xlink:href="#linearGradient4052"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="20.843706"
+       x2="107.47573"
+       y1="72.065445"
+       x1="14.813214"
+       id="linearGradient4050"
+       xlink:href="#linearGradient4044"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="30.545286"
+       x2="143.88383"
+       y1="20.214853"
+       x1="52.450821"
+       id="linearGradient4042"
+       xlink:href="#linearGradient4036"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.527567"
+       x2="133.49377"
+       y1="15.905828"
+       x1="94.339935"
+       id="linearGradient4034"
+       xlink:href="#linearGradient4028"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="36.84824"
+       x2="132.3204"
+       y1="17.474043"
+       x1="152.12041"
+       id="linearGradient4026"
+       xlink:href="#linearGradient4020"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="35.574669"
+       x2="126.55051"
+       y1="18.827097"
+       x1="182.26526"
+       id="linearGradient4018"
+       xlink:href="#linearGradient4012"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="33.08577"
+       x2="136.08949"
+       y1="47.290119"
+       x1="205.38948"
+       id="linearGradient4010"
+       xlink:href="#linearGradient4004"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="37.452351"
+       x2="152.2177"
+       y1="121.38713"
+       x1="236.0696"
+       id="linearGradient4002"
+       xlink:href="#linearGradient3996"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="51.495544"
+       x2="151.19965"
+       y1="144.89989"
+       x1="219.53423"
+       id="linearGradient3994"
+       xlink:href="#linearGradient3988"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="84.486374"
+       x2="119.56202"
+       y1="155.5081"
+       x1="168.0098"
+       id="linearGradient3986"
+       xlink:href="#linearGradient3980"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="74.334793"
+       x2="56.296555"
+       y1="168.60001"
+       x1="117.62566"
+       id="linearGradient3978"
+       xlink:href="#linearGradient3972"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3972"
+       inkscape:collect="always">
+      <stop
+         id="stop3974"
+         offset="0"
+         style="stop-color:#5573ea;stop-opacity:1;" />
+      <stop
+         id="stop3976"
+         offset="1"
+         style="stop-color:#5573ea;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3980"
+       inkscape:collect="always">
+      <stop
+         id="stop3982"
+         offset="0"
+         style="stop-color:#e6ea55;stop-opacity:1;" />
+      <stop
+         id="stop3984"
+         offset="1"
+         style="stop-color:#e6ea55;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3988"
+       inkscape:collect="always">
+      <stop
+         id="stop3990"
+         offset="0"
+         style="stop-color:#ea5566;stop-opacity:1;" />
+      <stop
+         id="stop3992"
+         offset="1"
+         style="stop-color:#ea5566;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3996"
+       inkscape:collect="always">
+      <stop
+         id="stop3998"
+         offset="0"
+         style="stop-color:#ea55e7;stop-opacity:1;" />
+      <stop
+         id="stop4000"
+         offset="1"
+         style="stop-color:#ea55e7;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4004"
+       inkscape:collect="always">
+      <stop
+         id="stop4006"
+         offset="0"
+         style="stop-color:#eaa455;stop-opacity:1;" />
+      <stop
+         id="stop4008"
+         offset="1"
+         style="stop-color:#eaa455;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4012"
+       inkscape:collect="always">
+      <stop
+         id="stop4014"
+         offset="0"
+         style="stop-color:#55e0ea;stop-opacity:1;" />
+      <stop
+         id="stop4016"
+         offset="1"
+         style="stop-color:#55e0ea;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4020">
+      <stop
+         id="stop4022"
+         offset="0"
+         style="stop-color:#ea55df;stop-opacity:1;" />
+      <stop
+         id="stop4024"
+         offset="1"
+         style="stop-color:#ea55df;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4028"
+       inkscape:collect="always">
+      <stop
+         id="stop4030"
+         offset="0"
+         style="stop-color:#55ea8c;stop-opacity:1;" />
+      <stop
+         id="stop4032"
+         offset="1"
+         style="stop-color:#55ea8c;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4036"
+       inkscape:collect="always">
+      <stop
+         id="stop4038"
+         offset="0"
+         style="stop-color:#6455ea;stop-opacity:1;" />
+      <stop
+         id="stop4040"
+         offset="1"
+         style="stop-color:#6455ea;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4044"
+       inkscape:collect="always">
+      <stop
+         id="stop4046"
+         offset="0"
+         style="stop-color:#ea5561;stop-opacity:1;" />
+      <stop
+         id="stop4048"
+         offset="1"
+         style="stop-color:#ea5561;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4052"
+       inkscape:collect="always">
+      <stop
+         id="stop4054"
+         offset="0"
+         style="stop-color:#ea9c55;stop-opacity:1;" />
+      <stop
+         id="stop4056"
+         offset="1"
+         style="stop-color:#ea9c55;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4060"
+       inkscape:collect="always">
+      <stop
+         id="stop4062"
+         offset="0"
+         style="stop-color:#55ea56;stop-opacity:1;" />
+      <stop
+         id="stop4064"
+         offset="1"
+         style="stop-color:#55ea56;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4068"
+       inkscape:collect="always">
+      <stop
+         id="stop4070"
+         offset="0"
+         style="stop-color:#e7793a;stop-opacity:1;" />
+      <stop
+         id="stop4072"
+         offset="1"
+         style="stop-color:#e7793a;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4076"
+       inkscape:collect="always">
+      <stop
+         id="stop4078"
+         offset="0"
+         style="stop-color:#e7793a;stop-opacity:1;" />
+      <stop
+         id="stop4080"
+         offset="1"
+         style="stop-color:#e7793a;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4084"
+       inkscape:collect="always">
+      <stop
+         id="stop4086"
+         offset="0"
+         style="stop-color:#efa57a;stop-opacity:1;" />
+      <stop
+         id="stop4088"
+         offset="1"
+         style="stop-color:#efa57a;stop-opacity:0;" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.5275583"
+     inkscape:cx="181.73863"
+     inkscape:cy="172.40779"
+     inkscape:document-units="px"
+     inkscape:current-layer="g2929"
+     width="397px"
+     height="294px"
+     inkscape:window-width="1600"
+     inkscape:window-height="834"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     showgrid="true"
+     inkscape:window-maximized="1"
+     inkscape:showpageshadow="false"
+     borderlayer="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3094"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       dotted="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="background"
+     sodipodi:insensitive="true">
+    <rect
+       style="fill:#fffcfc;fill-opacity:1;stroke:none"
+       id="rect2492"
+       width="398"
+       height="294"
+       x="0"
+       y="-3.2204057e-14"
+       ry="0" />
+  </g>
+  <g
+     inkscape:label="ballon"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="display:inline"
+     sodipodi:insensitive="true">
+    <g
+       id="g2944"
+       transform="translate(0.4285667,-8.5000031)">
+      <g
+         sodipodi:insensitive="true"
+         style="display:none"
+         inkscape:label="image"
+         id="g2946">
+        <image
+           sodipodi:absref="/home/jv/Private/Projects/SmalltalkX/sources/jv1_x32_lin/build/misc/distutils/src/lib/balloon.png"
+           xlink:href="balloon.png"
+           width="254"
+           height="297"
+           id="image1945"
+           x="0"
+           y="0" />
+      </g>
+      <g
+         style="display:inline"
+         inkscape:label="colors"
+         id="layer3">
+        <g
+           id="g2413">
+          <path
+             style="fill:url(#linearGradient4042);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 48.576909,32.237323 C 64.522007,4.79693 121.81308,21.669065 133.12297,33.349771 126.44829,30.754059 86.214741,19.25876 48.576909,32.237323 z"
+             id="path3935"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient4050);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 12.236933,86.747286 C 11.309889,12.398662 112.54267,23.337737 132.01052,34.091403 80.281683,32.793547 31.148553,48.738638 12.236933,86.747286 z"
+             id="path3937"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient4058);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 134.11115,34.181473 C -29.66706,35.095335 -0.63667582,146.02414 43.342689,192.2284 9.2558288,116.1885 46.534157,55.944617 134.11115,34.181473 z"
+             id="path3939"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient4066);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 133.8646,34.462219 C -6.3038665,69.689746 17.057542,196.50885 86.770959,239.1527 44.868747,165.3603 102.71605,57.823632 133.8646,34.462219 z"
+             id="path3941"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient3978);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 134.23541,33.720587 C 52.655877,117.89584 67.859345,229.88229 92.333205,240.63596 130.52725,240.26514 150.18051,84.522389 134.23541,33.720587 z"
+             id="path3943"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient3986);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 134.97705,34.091403 C 156.69951,101.0486 118.65454,235.65784 99.644517,240.66386 121.15689,245.29327 157.42185,226.96052 181.10644,183.42287 220.65182,110.72948 152.49685,50.481089 134.97705,34.091403 z"
+             id="path3945"
+             sodipodi:nodetypes="ccsc" />
+          <path
+             style="fill:url(#linearGradient3994);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 136.46031,34.091404 C 235.09739,122.34563 178.36254,208.00415 140.91011,229.8823 277.74124,182.04702 245.10942,70.802195 136.46031,34.091404 z"
+             id="path3947"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient4002);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 135.34786,33.720586 C 192.82435,53.744655 235.4682,91.197078 231.76005,147.93194 256.97554,123.82889 263.65023,47.069965 135.34786,33.720586 z"
+             id="path3949"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient4010);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 136.0895,33.349772 c 54.88078,4.449793 84.54606,25.586309 96.78299,39.67732 C 232.01964,45.512635 178.3074,21.263126 136.0895,33.349772 z"
+             id="path3951"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient4018);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 135.34787,32.608139 c 29.29447,-5.191425 45.23956,-1.112448 60.0722,2.966528 -9.64121,-20.024068 -48.20609,-17.799171 -60.0722,-2.966528 z"
+             id="path3953"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient4026);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 126.81909,15.179784 c 5.19143,6.303872 5.56225,9.641218 8.15796,17.799171 7.41632,-9.270401 12.23692,-9.270401 21.87814,-12.23693 -8.89958,-11.1244828 -21.50732,-9.270402 -30.0361,-5.562241 z"
+             id="path3955"
+             sodipodi:nodetypes="cccc" />
+          <path
+             style="fill:url(#linearGradient4034);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="M 87.883415,17.775496 C 105.31176,18.146312 125.70665,25.93345 133.49378,32.978955 130.89807,21.854473 131.6397,22.225289 125.33582,14.438151 109.39073,9.2467262 97.895439,9.2467264 87.883415,17.775496 z"
+             id="path3957"
+             sodipodi:nodetypes="cccc" />
+          <path
+             sodipodi:nodetypes="csc"
+             id="path3961"
+             d="m 103.48707,262.55445 c -1.31146,13.06293 -26.473437,3.76043 -25.270099,-2.85793 1.770378,-9.73708 25.721349,-6.31752 25.270099,2.85793 z"
+             style="fill:url(#linearGradient4074);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" />
+          <path
+             style="fill:url(#linearGradient4082);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 73.253202,264.96113 c -6.016691,23.01383 29.481778,34.14471 32.339708,6.76877 -5.41502,3.91085 -20.306329,7.8217 -32.339708,-6.76877 z"
+             id="path3968"
+             sodipodi:nodetypes="ccc" />
+          <path
+             style="fill:url(#linearGradient4090);fill-opacity:1;fill-rule:evenodd;stroke:none"
+             d="m 84.384078,250.97232 c -8.573783,0.60167 -13.236718,9.17546 -10.980459,12.1838 4.211683,10.98046 26.774271,17.14757 33.543051,5.11418 1.05292,-4.51251 3.00834,-7.22002 -3.15877,-13.68796 -1.805,-10e-6 -4.813348,0.15042 -6.167104,0.30083 4.963764,2.10584 9.025034,6.76877 3.760434,12.93588 -7.22003,4.51252 -29.331367,-2.55709 -21.960921,-11.43171 3.459596,-2.85793 9.175452,-2.85793 10.679625,-2.85793 -2.707511,-1.20333 -4.061266,-1.80501 -5.715856,-2.55709 z"
+             id="path3970"
+             sodipodi:nodetypes="ccccccccc" />
+        </g>
+      </g>
+      <g
+         sodipodi:insensitive="true"
+         style="display:inline"
+         inkscape:label="lines"
+         id="layer2">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1950"
+           d="M 134.46929,33.937985 C 67.683575,12.723699 8.2248302,36.319164 12.310544,86.997735"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1952"
+           d="M 133.0872,34.138974 C 33.678097,30.619502 -39.714485,91.977285 45.221229,195.69157"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1954"
+           d="M 133.49529,33.937985 C -23.647565,75.580842 35.357142,214.5 81.714286,234.92857"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1961"
+           d="M 134.2,34.1 C 64.9,102.3 60.5,208.45 88.55,239.25"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1963"
+           d="m 134.75,34.1 c 17.6,85.25 -12.1,195.25 -36.3,206.8"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1965"
+           d="M 134.62375,33.486875 C 250.09816,132.94094 162.25,239.25 107.25,242"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1967"
+           d="M 134.44105,33.458174 C 230.25614,62.154106 293.158,175.39882 137.96207,231.55"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1969"
+           d="m 134.37984,33.486875 c 111.65,9.35 132.19588,78.844225 95.93906,116.890155"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1971"
+           d="m 134.22775,33.580609 c 53.9,-13.75 99.84522,16.696425 98.74522,40.896425"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1973"
+           d="m 134.4401,33.490691 c 13.36627,-18.525722 52.51672,-16.327174 61.34231,2.521514"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1975"
+           d="m 48.4,31.9 c 12.65,-20.35 55.85895,-19.001315 86.10895,1.898685"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="csc"
+           id="path1977"
+           d="M 88.008004,17.216273 C 97.060628,8.101312 118.92159,10.022713 126.5,15.95 c 6.0397,4.723818 4.76635,9.016168 8.06635,17.816168"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:inline" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path1980"
+           d="m 126.10669,15.64462 c 12.74593,-5.8581371 26.48793,-3.317586 31.09738,5.613517"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path2868"
+           d="m 75.57793,232.19628 c -5.228662,20.59776 35.01619,34.06553 38.9773,9.03133"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path2870"
+           d="m 73.35971,264.67736 c -5.892451,27.60944 32.43291,31.06102 32.11602,6.25961"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cc"
+           id="path2878"
+           d="m 78.714708,261.66692 c 9.031324,-3.01044 20.312977,2.05977 22.372762,5.86243"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="csc"
+           id="path3959"
+           d="m 103.48707,262.55445 c -1.31146,13.06293 -26.473437,3.76043 -25.270099,-2.85793 1.770378,-9.73708 25.721349,-6.31752 25.270099,2.85793 z"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cccc"
+           id="path3964"
+           d="m 84.684913,251.12274 c -6.167108,0.75209 -11.281294,4.81335 -11.732546,8.42337 -1.65459,14.28963 29.180943,23.01383 34.445553,7.67127 1.35376,-5.56543 0.30083,-9.02503 -4.06127,-12.78546"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      </g>
+    </g>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="text"
+     style="display:inline">
+    <g
+       style="fill:#006770;fill-opacity:1;stroke:none"
+       id="g3086"
+       transform="matrix(0.03703442,0,0,-0.03703442,262.26747,262.27188)">
+      <path
+         style="fill:#006770;fill-opacity:1"
+         id="path3088"
+         d="M 934,1382 C 818,1286 671,1119 541,937 469,837 465,837 429,928 c -22,56 -63,122 -77,122 -4,0 -12,-15 -18,-34 -9,-29 -7,-44 11,-93 12,-32 32,-74 44,-93 11,-19 21,-43 21,-53 0,-11 -40,-76 -89,-145 C 221,489 103,305 73,245 37,175 16,83 28,55 35,41 44,30 50,30 c 5,0 27,35 49,78 60,119 343,562 359,562 5,0 36,-46 69,-102 78,-131 277,-398 298,-398 16,0 -4,40 -91,180 -94,154 -214,377 -214,400 0,17 118,187 208,300 42,52 132,150 201,218 105,103 123,126 115,140 -20,32 -50,25 -110,-26 z" />
+    </g>
+    <g
+       id="g2929"
+       transform="translate(-20,0)">
+      <text
+         sodipodi:linespacing="100%"
+         id="text2986"
+         y="247.65831"
+         x="164.53458"
+         style="font-size:29.15999985px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial"
+         xml:space="preserve"><tspan
+           y="247.65831"
+           x="164.53458"
+           id="tspan2988"
+           sodipodi:role="line">Smalltalk/</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text3101"
+         y="247.64407"
+         x="328.38602"
+         style="font-size:29.15999985px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial"
+         xml:space="preserve"><tspan
+           y="247.64407"
+           x="328.38602"
+           id="tspan3103"
+           sodipodi:role="line">6.2.5ϐ</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-size:16.03800011px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#bcbcbc;fill-opacity:1;stroke:none;font-family:URW Bookman L;-inkscape-font-specification:URW Bookman L"
+       x="239.68925"
+       y="281.34622"
+       id="text2917"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan2919"
+         x="239.68925"
+         y="281.34622">unofficial jv branch</tspan></text>
+  </g>
+</svg>
--- a/vcmake.bat	Thu Nov 24 16:34:43 2016 +0100
+++ b/vcmake.bat	Sat Nov 26 22:23:14 2016 +0000
@@ -1,10 +1,27 @@
 @REM -------
-@REM make using microsoft visual c
+@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 (
-	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% %*
+
+
+@IF "%%1" EQU "exe" exit /b 0
+@IF "%%1" EQU "setup" exit /b 0
+@IF "%%1" EQU "pluginSetup" exit /b 0
+
+@IF "%1" EQU "test" exit /b 0
+
+