--- /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
+
+